.home-page{--home-paper:#fff;background:var(--home-paper)}
.home-page h1,.home-page h2{font-family:inherit;font-weight:500;letter-spacing:-.035em;line-height:1.12}
.home-page h2{font-size:clamp(2.1rem,3.3vw,3.15rem)}
.home-page .eyebrow{font-size:.72rem;font-weight:500;letter-spacing:.13em}
.home-page .btn{border-radius:5px;padding:14px 25px;min-height:51px;font-weight:500}
.home-page .site-header{box-shadow:none}
.home-page .hero-stage{display:contents}
.home-page .landing-hero{padding:0;position:relative;isolation:isolate;overflow:hidden;background:var(--home-paper)}
.home-page .hero-inner{min-height:610px;display:flex;align-items:center;position:relative;z-index:1;padding-block:80px 70px}
.home-page .hero-copy{width:640px;max-width:55%;padding:0}
.home-page .hero-copy h1{font-size:clamp(2.8rem,4.35vw,3.85rem);font-weight:600;line-height:1.1;max-width:660px;letter-spacing:-.045em}
.home-page .hero-copy .lead{font-size:1.07rem;line-height:1.75;max-width:550px;margin-top:27px;color:#496171}
.home-page .hero-copy .actions{margin-top:32px}
.home-page .hero-scene{position:absolute;z-index:0;inset:0 0 80px 26%;pointer-events:none}
.home-page .hero-scene img{width:100%;height:100%;object-fit:cover;object-position:50% 62%;filter:none;opacity:1}
.home-page .hero-scene:after{content:'';position:absolute;inset:-1px;background:linear-gradient(90deg,var(--home-paper) 0%,rgba(255,255,255,.98) 10%,rgba(255,255,255,.82) 25%,rgba(255,255,255,.18) 52%,rgba(255,255,255,0) 72%),linear-gradient(180deg,rgba(255,255,255,.12) 0%,rgba(255,255,255,0) 18%,rgba(255,255,255,0) 65%,var(--home-paper) 100%)}
.home-page .hero-proof{position:relative;z-index:1}
.home-page .hero-proof .proof-strip{margin:0;padding:26px 0 30px;border-top:0;border-bottom:1px solid #d8e1e6}
.home-page .proof-number{font-family:inherit;font-size:2.05rem;letter-spacing:-.055em}
.home-page .proof-number.stars{font-family:Arial,sans-serif;font-size:1.1rem;letter-spacing:.05em}
.home-page .proof-item p{font-size:.8125rem}
.home-page .proof-item strong{font-weight:500}
.home-page .team-introduction{padding-top:48px;padding-bottom:90px}
.home-page .team-intro-grid{display:grid;grid-template-columns:.86fr 1.14fr;align-items:center;gap:55px;margin-bottom:55px}
.home-page .team-intro-copy .lead{margin:23px 0 18px;font-size:1.08rem;max-width:460px}
.home-page .team-intro-copy>p:not(.eyebrow):not(.lead){font-size:.9375rem;max-width:470px}
.home-page .team-intro-copy .text-link{margin-top:25px;font-size:.875rem}
.home-page .team-portrait{align-self:stretch;display:flex;align-items:center;position:relative;min-width:0;overflow:hidden}
.home-page .team-portrait img{width:100%;height:auto;object-fit:contain;display:block;mix-blend-mode:multiply;mask-image:linear-gradient(180deg,transparent 0%,#000 7%,#000 86%,transparent 100%),linear-gradient(90deg,transparent 0%,#000 5%,#000 95%,transparent 100%);mask-composite:intersect;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 7%,#000 86%,transparent 100%),linear-gradient(90deg,transparent 0%,#000 5%,#000 95%,transparent 100%);-webkit-mask-composite:source-in}
.home-page .guarantee-note{margin-top:33px;padding-top:23px}
.home-page .pale{background:#edf5fa}
.home-page .proof-section{padding-block:85px}
.home-page .proof-section blockquote{font-family:inherit;font-size:clamp(1.55rem,2.3vw,2.15rem);line-height:1.48;letter-spacing:-.025em}
.home-page .proof-section figure{border-left-color:#c8a96e}
.home-page .process-photo{border-radius:6px}
.home-page .price-card{border-radius:9px;background:white}
.home-page .price-card.featured{background:#edf3f6;border-top-color:var(--navy)}
.home-page .price{font-family:inherit;letter-spacing:-.035em}
.home-page .price span{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif}
@media(min-width:1500px){
  .home-page .hero-copy{max-width:54%}
  .home-page .hero-scene{left:32%}
}
@media(max-width:1100px){
  .home-page .hero-inner{min-height:570px;padding-block:65px}
  .home-page .hero-copy{max-width:60%}
  .home-page .hero-copy h1{font-size:3.1rem}
  .home-page .hero-copy .lead{max-width:440px;font-size:1.05rem}
  .home-page .hero-scene{left:23%}
  .home-page .team-intro-grid{gap:36px}
  .home-page .team-intro-copy h2{font-size:2.55rem}
}
@media(max-width:900px){
  .home-page .hero-inner{min-height:555px;padding-block:64px 110px}
  .home-page .hero-copy{max-width:77%}
  .home-page .hero-copy h1{font-size:3rem}
  .home-page .hero-copy .lead{max-width:440px}
  .home-page .hero-scene{left:16%;bottom:65px}
  .home-page .hero-scene:after{background:linear-gradient(90deg,var(--home-paper) 0%,rgba(255,255,255,.96) 15%,rgba(255,255,255,.78) 47%,rgba(255,255,255,.05) 100%),linear-gradient(180deg,rgba(255,255,255,.12),transparent 62%,var(--home-paper) 100%)}
  .home-page .team-intro-grid{grid-template-columns:.9fr 1.1fr;gap:28px}
  .home-page .team-intro-copy h2{font-size:2.15rem}
  .home-page .team-intro-copy .lead{font-size:1rem}
  .home-page .team-portrait{align-self:center}
  .home-page .team-introduction{padding-bottom:70px}
}
@media(max-width:680px){
  .home-page .hero-stage{display:block;position:relative;isolation:isolate}
  .home-page .hero-inner{min-height:0;display:block;padding-top:42px;padding-bottom:clamp(180px,56vw,360px)}
  .home-page .hero-copy{width:100%;max-width:100%}
  .home-page .hero-copy h1{font-size:clamp(1.8rem,7.9vw,2.7rem);line-height:1.1;letter-spacing:-.05em}
  .home-page .hero-copy .lead{font-size:1rem;line-height:1.65;max-width:350px;margin-top:21px}
  .home-page .hero-copy .actions{gap:20px;margin-top:25px}
  .home-page .hero-copy .text-link{font-size:.875rem;min-height:44px}
  .home-page .hero-scene{inset:auto 0 0;aspect-ratio:2048/1453;height:auto;opacity:1}
  .home-page .hero-scene img{object-fit:contain;object-position:center}
  .home-page .hero-scene:after{background:linear-gradient(180deg,var(--home-paper) 0%,rgba(255,255,255,.98) 25%,rgba(255,255,255,.65) 35%,rgba(255,255,255,.12) 48%,rgba(255,255,255,0) 62%,rgba(255,255,255,0) 78%,var(--home-paper) 100%),linear-gradient(90deg,rgba(255,255,255,.24),rgba(255,255,255,0) 22%,rgba(255,255,255,0) 85%,rgba(255,255,255,.14))}
  .home-page .hero-proof .proof-strip{padding:18px 0 23px;gap:16px}
  .home-page .hero-proof .proof-item:last-child{display:flex;grid-column:1/-1;gap:16px;border-left:0;border-top:1px solid var(--line);padding:17px 0 0}
  .home-page .hero-proof .proof-item:last-child .proof-number{margin-bottom:0}
  .home-page .proof-item p{font-size:.75rem}
  .home-page .proof-number{font-size:1.75rem}
  .home-page .proof-number.stars{font-size:1rem}
  .home-page .team-introduction{padding-top:27px;padding-bottom:55px}
  .home-page .team-intro-grid{display:flex;flex-direction:column;gap:20px;margin-bottom:35px}
  .home-page .team-portrait{order:-1;width:100%;max-width:500px;align-self:center}
  .home-page .team-intro-copy h2{font-size:2.25rem}
  .home-page .team-intro-copy .lead{font-size:1.0625rem}
  .home-page .team-intro-copy .text-link{margin-top:20px}
  .home-page .proof-section{padding-block:55px}
  .home-page .eyebrow{font-size:.65rem;letter-spacing:.1em}
}
.home-page .role-outline{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.home-page .role-outline rect{width:calc(100% - 2px);height:calc(100% - 2px);fill:none;stroke:var(--gold);stroke-width:1;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 850ms var(--ease)}
.home-page .booking-band .booking-subline{font-size:.9375rem;line-height:1.5;color:var(--gold);margin-top:16px;letter-spacing:.04em}
@media(prefers-reduced-motion:reduce){
  .home-page .role-outline rect{transition:none}
}
.home-page .hero-copy .hero-subline{margin-top:19px;font-size:1rem;line-height:1.5;letter-spacing:.04em;color:var(--gold);font-weight:700}
.home-page #why .team-intro-grid{grid-template-columns:1fr 1fr;gap:70px}
.home-page #why .team-intro-copy h2,.home-page #roles h2,.home-page #how h2{font-weight:600}
.home-page #why .team-intro-copy .eyebrow,.home-page #roles .eyebrow,.home-page #how .eyebrow{color:var(--navy);font-weight:600}
.home-page #why .team-intro-copy .lead{max-width:none;margin:28px 0;font-size:1.0625rem;line-height:1.75}
.home-page #why .team-responsibilities{display:grid;gap:18px}
.home-page #why .team-responsibility{border-left:2px solid var(--gold);padding:0 0 0 21px}
.home-page #why .team-responsibility .team-label{margin-bottom:9px;font-size:.6875rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.home-page #why .team-responsibility h3{font-size:1.25rem;font-weight:600;margin-bottom:9px}
.home-page #why .team-responsibility>p:last-child{font-size:.9375rem;line-height:1.65}
.home-page #why .team-intro-copy .text-link{margin-top:34px;font-weight:600}
.home-page #roles{background:#edf4f7}
.home-page #roles .roles-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:48px;margin-bottom:45px}
.home-page #roles .roles-heading .lead{font-size:1.05rem;line-height:1.75;max-width:365px}
.home-page #roles .roles-explorer{display:grid;grid-template-columns:minmax(235px,1fr) minmax(0,3fr);gap:27px}
.home-page #roles .role-tabs{display:grid;grid-template-rows:repeat(6,1fr);gap:5px;min-width:0}
.home-page #roles .role-tab{position:relative;display:grid;grid-template-columns:23px minmax(0,1fr) 18px;align-items:center;gap:12px;min-height:73px;padding:18px 16px;text-align:left;color:var(--navy);background:#e3edf2;border:1px solid #d0dfe8;border-radius:6px;font-size:.9rem;font-weight:600;line-height:1.4;transition:background var(--motion)}
.home-page #roles .role-tab::after{content:'';grid-column:3;width:9px;height:9px;border-right:3px solid currentColor;border-bottom:3px solid currentColor;border-radius:1px;transform:rotate(45deg) translateY(-2px);justify-self:center;opacity:0}
.home-page #roles .role-tab[aria-selected=true]::after{opacity:1}
.home-page #roles .role-tab[aria-selected=true]{background:#fff}
.home-page #roles .role-tab-number{font-size:.6875rem;font-weight:500;color:#5b7585;font-variant-numeric:tabular-nums}
.home-page #roles .role-tab-arrow{opacity:0;font-size:1.35rem;font-weight:400;line-height:1}
.home-page #roles .role-tab[aria-selected=true] .role-tab-arrow{opacity:1}
.home-page #roles .role-tab:hover .role-outline rect,.home-page #roles .role-tab:focus-visible .role-outline rect{stroke-dashoffset:0}
.home-page #roles .role-panels{min-width:0}
.home-page #roles .role-panel{display:grid;grid-template-columns:minmax(0,1.86fr) minmax(0,1fr);height:100%;min-height:463px;background:var(--navy);color:#fff;border-radius:6px;overflow:hidden}
.home-page #roles .role-panel-copy{display:flex;flex-direction:column;align-items:flex-start;padding:36px 33px;min-width:0}
.home-page #roles .role-panel-kicker{font-size:.6875rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--gold);line-height:1.5;margin-bottom:27px}
.home-page #roles .role-panel h3{font-size:clamp(1.65rem,2.25vw,2.15rem);font-weight:600;letter-spacing:-.03em;line-height:1.2;margin-bottom:21px;max-width:420px}
.home-page #roles .role-panel-description{font-size:.8125rem;line-height:1.6;color:#ccdce6;margin-bottom:30px}
.home-page #roles .role-panel .task-list{font-size:.9375rem;line-height:1.65;color:#f0f4f7;margin-bottom:35px}
.home-page #roles .role-panel .task-list li{padding:7px 0 7px 18px}
.home-page #roles .role-panel .task-list li:before{top:19px;width:6px;height:2px;background:var(--gold)}
.home-page #roles .role-panel .task-list li:before{top:15px;width:8px;height:8px;background:var(--gold);border:none;border-radius:50%;transform:none}
.home-page #roles .role-panel .text-link{margin-top:auto;font-size:.8125rem;gap:20px;padding-bottom:9px;color:#fff;border-bottom-color:#9badb9}
.home-page #roles .role-panel .text-link:hover{border-bottom-color:var(--gold)}
.home-page #roles .role-panel-photo{position:relative;min-width:0;background:#f7f6f6}
.home-page #roles .role-panel-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%}
.home-page #how{background:#fff;color:var(--navy)}
.home-page #how .process-layout{grid-template-columns:1fr 1fr;gap:80px}
.home-page #how .lead{max-width:none;font-size:1.0625rem;line-height:1.75}
.home-page #how .process-photo{aspect-ratio:2.3;object-position:center 45%;margin-top:36px}
.home-page #how .steps li{position:relative;grid-template-columns:46px minmax(0,1fr);gap:31px;border:0;padding:0 0 29px}
.home-page #how .steps li:last-child{padding-bottom:0}
.home-page #how .steps li:not(:last-child):after{content:'';position:absolute;width:1px;top:46px;bottom:0;left:22.5px;background:var(--line)}
.home-page #how .steps li:before{position:relative;z-index:1;width:46px;height:46px;border:1px solid var(--gold);border-radius:50%;background:#edf4f7;color:var(--navy);font-weight:600;font-size:.8125rem}
.home-page #how .steps h3{font-size:1.4rem;font-weight:600;margin:4px 0 11px}
.home-page #how .steps p{font-size:.9375rem;line-height:1.75;color:var(--muted)}
@media(max-width:1100px){
  .home-page #why .team-intro-grid{gap:40px}
  .home-page #roles .roles-heading{gap:30px}
  .home-page #roles .roles-heading .lead{max-width:310px;font-size:1rem}
  .home-page #roles .roles-explorer{grid-template-columns:minmax(215px,1fr) minmax(0,2.7fr);gap:20px}
  .home-page #roles .role-tab{padding-inline:13px;gap:8px;font-size:.85rem}
  .home-page #roles .role-panel-copy{padding:30px 26px}
  .home-page #roles .role-panel-kicker{margin-bottom:23px}
  .home-page #roles .role-panel .task-list{font-size:.875rem}
  .home-page #how .process-layout{gap:50px}
  .home-page #how .steps li{gap:22px}
}
@media(max-width:900px){
  .home-page #why .team-intro-grid{gap:30px}
  .home-page #roles .roles-heading{align-items:flex-start;flex-direction:column;gap:24px;margin-bottom:32px}
  .home-page #roles .roles-heading .lead{max-width:none}
  .home-page #roles .roles-explorer{grid-template-columns:minmax(0,1fr);gap:18px}
  .home-page #roles .role-tabs{display:flex;overflow-x:auto;gap:7px;padding:6px 6px 12px;margin:-6px;scroll-padding-inline:6px}
  .home-page #roles .role-tab{flex:0 0 222px;min-height:66px;padding:16px}
  .home-page #roles .role-panel{min-height:440px}
  .home-page #how .process-layout{grid-template-columns:1fr;gap:42px}
  .home-page #how .process-photo{max-width:640px}
  .home-page #how .steps li{padding-bottom:30px}
}
@media(max-width:680px){
  .home-page .hero-copy .hero-subline{font-size:.9375rem;margin-top:15px}
  .home-page #why .team-intro-grid{gap:28px}
  .home-page #why .team-intro-copy .lead{margin-block:23px}
  .home-page #why .team-responsibility{padding-left:18px}
  .home-page #why .team-intro-copy .text-link{margin-top:28px}
  .home-page #roles .roles-heading .lead br{display:none}
  .home-page #roles .role-tabs{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:none;gap:7px;overflow:visible;padding:0;margin:0}
  .home-page #roles .role-tab{width:100%;min-height:64px;flex:none}
  .home-page #roles .role-tab::after{opacity:1}
  .home-page #roles .role-tab[aria-expanded=true]::after{transform:rotate(225deg) translateY(-2px)}
  .home-page #roles .role-tab-arrow{opacity:1}
  .home-page #roles .role-tab[aria-expanded=true] .role-tab-arrow{transform:rotate(90deg)}
  .home-page #roles .role-panels{display:none}
  .home-page #roles .role-panel{height:auto}
  .home-page #roles .role-panel[hidden]{display:none!important}
  .home-page #roles .role-panel{grid-template-columns:minmax(0,1fr);min-height:0}
  .home-page #roles .role-panel-copy{padding:29px 25px 31px}
  .home-page #roles .role-panel h3{font-size:1.85rem}
  .home-page #roles .role-panel-description{margin-bottom:23px}
  .home-page #roles .role-panel .task-list{font-size:.9375rem;margin-bottom:28px}
  .home-page #roles .role-panel-photo{height:320px}
  .home-page #roles .role-panel-photo img{object-position:center 24%}
  .home-page #how .process-layout{gap:35px}
  .home-page #how .process-photo{margin-top:28px}
  .home-page #how .steps li{grid-template-columns:40px minmax(0,1fr);gap:20px;padding-bottom:28px}
  .home-page #how .steps li:before{width:40px;height:40px;font-size:.75rem}
  .home-page #how .steps li:not(:last-child):after{top:40px;left:19.5px}
  .home-page #how .steps h3{font-size:1.25rem;margin-top:4px}
}
.home-page #roles .role-foot{align-items:center;padding:20px 24px;border:1px solid #d5e1e8;border-left:3px solid var(--gold);border-radius:6px;background:#fff}
.home-page #roles .role-foot strong{font-size:1.0625rem;font-weight:700;color:var(--navy)}
.home-page #client-proof blockquote{font-size:clamp(1.2rem,1.65vw,1.55rem)}
@media(max-width:680px){
  .home-page #roles .role-foot{padding:18px 20px}
}

.home-page .pricing-assurance{display:block;margin-top:12px;color:var(--navy);font-weight:700;line-height:1.5}
.home-page .pricing-reassurance{display:block;margin-top:6px;color:var(--navy);font-size:.9375rem;line-height:1.5}
