/* V2: preserve the approved light editorial identity. Layer 20 is the masthead. */
/* A single footer baseline: copyright left, localized legal navigation right. */
.footer-bottom{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px 32px;padding-top:16px}
.footer-copyright{margin:0}
.footer-bottom .footer-legal{justify-content:flex-end;gap:4px 24px;border:0;padding:0;margin:0}
.footer-legal a{white-space:nowrap}
@media(max-width:767px){.footer-bottom{grid-template-columns:minmax(0,1fr);gap:12px}.footer-bottom .footer-legal{justify-content:flex-start;gap:0 20px}}
html{scroll-padding-top:100px}
.site-header{position:sticky;top:0;background:var(--canvas);border-bottom:1px solid var(--line)}
.header-inner{height:76px;gap:28px}
.site-header .wordmark-name{font-size:34px;letter-spacing:-.055em}
.site-header .wordmark-sub{font-size:8px;letter-spacing:.12em;margin-top:5px}
.desktop-nav{margin-inline:auto;gap:28px}
.desktop-nav a{position:relative;font-size:13px;font-weight:500;padding:12px 0}
.desktop-nav a::after{content:'';position:absolute;bottom:6px;left:0;right:0;height:1px;background:var(--raspberry);transform:scaleX(0);transform-origin:left;transition:transform 200ms var(--ease)}
.desktop-nav a[aria-current=page]::after,.desktop-nav a:focus-visible::after{transform:scaleX(1)}
.header-actions{gap:20px;margin-left:0}
.language-nav{gap:0;border:1px solid var(--line);border-radius:7px;background:var(--white);padding:2px}
.language-nav .divider{display:none}
.language-nav a{font-size:10px;min-width:44px;min-height:44px;border-radius:4px;color:var(--muted)}
.language-nav a[aria-current=true]{background:var(--sky);color:var(--ink);font-weight:700}
.header-cta{min-height:44px;padding:11px 16px;gap:14px}
.header-cta svg{width:17px;height:17px}
.menu-toggle{background:var(--white);border-color:var(--line);border-radius:7px}
.mobile-nav{position:absolute;top:100%;inset-inline:0;background:var(--canvas);max-height:calc(100dvh - 76px);overflow-y:auto;padding:12px var(--gutter) 28px;box-shadow:0 18px 32px color-mix(in srgb,var(--ink) 6%,transparent)}
.mobile-nav>a:not(.button){font-family:var(--display);font-size:26px;padding:13px 0;border-bottom:1px solid var(--line)}
.mobile-nav .button{margin-top:22px}
.site-header:has([aria-expanded=true]){box-shadow:0 8px 32px color-mix(in srgb,var(--ink) 6%,transparent)}
.article-body h2,.article-body h3{scroll-margin-top:16px}
@media(hover:hover) and (pointer:fine){.desktop-nav a:hover::after{transform:scaleX(1)}.language-nav a:hover{background:var(--sky)}}
@media(min-width:960px) and (max-width:1100px){.header-inner{gap:20px}.desktop-nav{gap:18px}.header-actions{gap:16px}.header-cta{font-size:11px;padding-inline:13px}}
@media(max-width:959px){.header-inner{height:72px}.header-actions{margin-left:auto}.mobile-nav{max-height:calc(100dvh - 72px)}}
@media(max-width:767px){.header-inner{height:70px;gap:12px}.site-header .wordmark-name{font-size:30px}.site-header .wordmark-sub{font-size:7px;letter-spacing:.08em}.header-actions{gap:12px}.mobile-nav{max-height:calc(100dvh - 70px)}}
@media(max-width:359px){.header-inner{width:calc(100% - 32px)}.header-actions{gap:8px}.site-header .wordmark-name{font-size:28px}}
@media(min-width:768px){.site-header .wordmark{flex-direction:row;align-items:center;gap:14px}.site-header .wordmark-name{font-size:37px}.site-header .wordmark-sub{font-size:9px;line-height:1.55;max-width:92px;border-left:1px solid var(--line);padding-left:14px;margin-top:0}}

/* Photography and section rhythm. Each image has intrinsic dimensions. */
.editorial-photo{overflow:hidden;border-radius:14px;background:var(--sky);isolation:isolate}
.editorial-photo picture,.editorial-photo img{width:100%;height:100%;display:block}
.editorial-photo img{object-fit:cover;aspect-ratio:3/2}
.hero{padding-block:48px 76px}
.hero-grid{gap:64px}
.hero-photo{overflow:hidden;border-radius:14px;box-shadow:var(--shadow)}
.hero-photo::before{display:none}
.hero-photo img{border-radius:0;height:570px}
.hero .eyebrow{line-height:1.75;max-width:400px}
.hero h1{line-height:1.13;padding-bottom:.04em}
.hero .lede{font-size:17px;line-height:1.85;max-width:480px}
.hero-fineprint{font-size:11px}






.concierge{padding-block:84px;background:var(--sky);border:0}
.concierge-story{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:76px;align-items:center}
.concierge-story .editorial-photo{aspect-ratio:5/4}
.concierge-story .body-copy h2{font-size:clamp(32px,3.2vw,46px);max-width:530px}
.concierge-story .body-copy p{font-size:15px;line-height:1.9;color:var(--muted)}
.pricing-story{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.55fr);gap:60px;align-items:center;text-align:left;margin-bottom:40px}
.pricing-story h2{max-width:570px}
.pricing-story .editorial-photo{max-height:190px;aspect-ratio:2.4/1;width:100%}
.price-card{border-radius:12px;box-shadow:0 8px 28px color-mix(in srgb,var(--ink) 3%,transparent)}
.price-card.annual{box-shadow:0 12px 38px color-mix(in srgb,var(--raspberry) 7%,transparent)}
.price-card .plan-index{margin-bottom:22px}
.website-feature{gap:76px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.website-feature .editorial-photo{aspect-ratio:1/1.06}
.website-feature .body-copy p{font-size:15px;line-height:1.9}
.faq-layout{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:76px}
.faq-layout .editorial-photo{margin-top:34px;max-width:360px;aspect-ratio:1.6/1}
.faq-layout h2{max-width:400px}
.faq-item summary{transition:color var(--quick)}
.closing{padding:64px 0;border-top:0}
.closing-inner{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1fr);gap:70px;align-items:center}
.closing .editorial-photo{aspect-ratio:1.45/1}
.closing h2{font-size:clamp(32px,3.4vw,46px)}
.closing p{font-size:16px}
.closing .button{margin-top:28px}
.intro-with-image>.container{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);gap:64px;align-items:center}
.intro-with-image h1{font-size:clamp(38px,4.2vw,58px)}
.intro-with-image .lede{font-size:17px}
.intro-with-image .editorial-photo{aspect-ratio:1.3/1}
.about-intro>.container{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:72px;align-items:center}
.about-intro h1{font-size:clamp(38px,4.3vw,60px)}
.about-intro .lede{font-size:17px;line-height:1.85}
.about-intro .editorial-photo{aspect-ratio:4/5}
.contact-layout>.contact-intro>.editorial-photo{margin-top:36px;aspect-ratio:1.8/1;max-width:460px}
.contact-layout h1{font-size:clamp(40px,4.3vw,62px)}
.contact-card{border-radius:14px;box-shadow:var(--shadow)}
.guide-card{border-radius:12px;padding:30px;transition:border-color var(--quick),box-shadow var(--quick)}
.guide-card .guide-index{font-family:var(--body);font-size:12px;margin-block:0 22px}
.process-step{position:relative;border-top:2px solid var(--line)}
.process-step::before{content:'';position:absolute;inset: -2px 0 auto;height:2px;background:var(--raspberry);transform:scaleX(.18);transform-origin:left}
@media(max-width:1100px){.hero-grid{gap:40px}.concierge-story,.website-feature,.faq-layout{gap:48px}.intro-with-image>.container{gap:40px}}
@media(max-width:959px){.hero-grid{gap:30px}.hero-photo img{height:540px}.concierge-story,.website-feature{gap:36px}.faq-layout{grid-template-columns:1fr 1.2fr;gap:36px}.closing-inner{gap:40px}.intro-with-image>.container{grid-template-columns:1.2fr .8fr;gap:32px}.intro-with-image h1{font-size:42px}.about-intro>.container{gap:40px}.contact-layout>.contact-intro>.editorial-photo{max-width:none;aspect-ratio:2.5/1}.contact-layout{max-width:680px}}
@media(max-width:767px){.hero{padding:28px 0 56px}.hero-grid{gap:32px}.hero-photo{margin:0}.hero-photo img{height:410px;object-position:center 48%}.hero .lede{font-size:16px}.concierge{padding-block:56px}.concierge-story,.website-feature,.founder-grid,.faq-layout{grid-template-columns:1fr;gap:32px}.concierge-story .editorial-photo{aspect-ratio:3/2}.concierge-story .body-copy{order:-1}.pricing-story{grid-template-columns:1fr;gap:26px;margin-bottom:30px}.pricing-story .editorial-photo{aspect-ratio:2.4/1;max-height:170px}.website-feature .editorial-photo{aspect-ratio:3/2}.website-feature .body-copy{order:-1}.faq-layout .editorial-photo{aspect-ratio:2.2/1;max-width:none;margin-top:26px}.closing-inner{grid-template-columns:1fr;gap:32px}.closing .editorial-photo{aspect-ratio:2.2/1}.closing{padding:48px 0}.intro-with-image>.container,.about-intro>.container{grid-template-columns:1fr;gap:28px}.intro-with-image h1{font-size:39px}.intro-with-image .editorial-photo,.about-intro .editorial-photo{aspect-ratio:2/1}.contact-layout>.contact-intro>.editorial-photo{aspect-ratio:1.8/1}.guide-card{padding:26px}.guide-card h2{font-size:28px}.process-step{padding-top:20px}}

/* Benefits: one introduction, then one shared image/content baseline. */
.benefit-intro{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;align-items:start;max-width:none;margin-bottom:48px}
.benefit-intro h2{max-width:520px;text-wrap:balance}
.benefit-intro .lede{font-size:16px;line-height:1.85;margin:0;max-width:600px}
.benefit-intro .text-link{margin-top:20px}
.benefit-layout{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:48px;align-items:stretch}
.benefit-photo{position:relative;margin:0;min-height:100%;aspect-ratio:auto}
.benefit-photo picture{position:absolute;inset:0}
.benefit-photo img{aspect-ratio:auto;object-position:45% center}
.benefit-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 32px}
.benefit-list>.benefit-card{position:relative;display:grid;grid-template-rows:subgrid;grid-row:span 3;row-gap:12px;align-content:start;border-top:1px solid var(--line);border-bottom:0;padding:24px 0 16px}
.benefit-card::before{content:'';position:absolute;inset:-1px 0 auto;height:2px;background:var(--raspberry);transform:scaleX(.12);transform-origin:left;transition:transform 450ms var(--ease)}
.benefit-icon{border:0;background:none;width:28px;height:28px;border-radius:0;margin:0;justify-content:flex-start}
.benefit-list h3{font-size:17px;line-height:1.5;margin:0;text-wrap:balance;max-width:none}
.benefit-list p{font-size:14px;line-height:1.85;margin:0;text-wrap:pretty}
@media(max-width:1100px){.benefit-intro{gap:48px}.benefit-layout{grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:32px}.benefit-list{column-gap:24px}}
@media(max-width:959px){.benefit-intro{grid-template-columns:1fr 1.2fr;gap:32px}.benefit-layout{grid-template-columns:1fr}.benefit-photo{min-height:0;height:280px}.benefit-photo picture{position:static}.benefit-photo img{object-position:center 60%}.benefit-list{column-gap:40px}}
@media(max-width:599px){.benefit-intro{grid-template-columns:1fr;gap:24px;margin-bottom:32px}.benefit-intro .lede{font-size:15px}.benefit-photo{height:auto;aspect-ratio:3/2}.benefit-list{grid-template-columns:1fr;gap:0}.benefit-list>.benefit-card{grid-template-columns:28px minmax(0,1fr);grid-template-rows:auto auto;grid-row:auto;gap:12px 16px;padding:24px 0}.benefit-icon{grid-column:1;grid-row:1/3}.benefit-list h3,.benefit-list p{grid-column:2;max-width:none}.benefit-list p{font-size:15px}}

/* Feedback stays with the control; benefit rules connect the four ideas. */
.button svg,.text-link svg{transition:transform 250ms var(--ease)}
.button{transition:background 180ms,border-color 180ms,transform 180ms}
.text-link{position:relative}
.text-link::after{content:'';position:absolute;inset:auto 0 -1px;height:1px;background:var(--raspberry);transform:scaleX(0);transform-origin:left;transition:transform 300ms var(--ease)}
.guide-card,.price-card{box-shadow:none;transition:border-color 220ms,background-color 220ms}
.price-card.annual{box-shadow:none}
.pricing-inclusion-note{max-width:760px;margin:28px auto 0;padding:20px 28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink);font-size:14px;line-height:1.7;text-align:center;text-wrap:pretty}
.pricing-after .pricing-inclusion-note{margin-bottom:24px}
.guide-card:focus-within,.price-card:focus-within{border-color:var(--raspberry)}
.faq-item summary{transition:color 200ms,background-color 200ms}
.faq-item summary::after{content:'+';transition:transform 250ms var(--ease)}
.faq-item[open] summary::after{content:'+';transform:rotate(45deg)}
@media(hover:hover) and (pointer:fine){
 .button:hover{transform:translateY(-2px);box-shadow:none}
 .button:hover svg,.text-link:hover svg{transform:translateX(5px)}
 .text-link:hover::after{transform:scaleX(1)}
 .guide-card:hover,.price-card:hover{border-color:var(--raspberry);background-color:var(--canvas);box-shadow:none}
 .benefit-card:hover::before{transform:scaleX(1)}
 .benefit-card:hover h3{color:var(--raspberry)}
 .faq-item summary:hover{background-color:var(--canvas)}
}
.button:active{transform:translateY(1px);box-shadow:none}
/* All content is visible without JS. The observer adds finite entrance effects. */
@media(prefers-reduced-motion:no-preference){
 .hero-copy{animation:nomad-arrive 750ms var(--ease) both}
 [data-reveal].is-entering{animation:nomad-focus 650ms var(--ease) backwards;animation-delay:var(--entry-delay,0ms)}
 .benefit-card.is-entering{animation:nomad-arrive 700ms var(--ease) backwards;animation-delay:var(--entry-delay,0ms)}
 .benefit-card.is-entering::before{animation:nomad-rule 850ms var(--ease) backwards;animation-delay:var(--entry-delay,0ms)}
 .process-step.is-entering::before{animation:nomad-process 850ms var(--ease) backwards;animation-delay:var(--entry-delay,0ms)}
 .faq-item[open] .faq-answer{animation:nomad-answer 300ms var(--ease)}
 .mobile-nav:not([hidden]){animation:nomad-menu 180ms var(--ease) backwards}
 /* Native view timelines give the setup sequence a scroll-linked reading cue. */
 @supports(animation-timeline:view()){
  .process-grid{view-timeline-name:--setup-progress;view-timeline-axis:block}
  .process-step::before,.process-step.is-entering::before{animation:nomad-process linear both;animation-timeline:--setup-progress;animation-range:entry 20% cover 50%}
  .process-step:nth-child(2)::before{animation-range:entry 45% cover 60%}
  .process-step:nth-child(3)::before{animation-range:entry 70% cover 70%}
  .process-step:nth-child(4)::before{animation-range:entry 95% cover 80%}
 }
}
@keyframes nomad-arrive{from{opacity:.15;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes nomad-focus{from{opacity:.35}to{opacity:1}}
@keyframes nomad-rule{from{transform:scaleX(0)}to{transform:scaleX(.12)}}
@keyframes nomad-process{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes nomad-answer{from{opacity:.2;transform:translateY(-6px)}to{opacity:1;transform:none}}
@keyframes nomad-menu{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){
 .hero-copy,.hero-photo img,.editorial-photo img,[data-reveal],.faq-answer,.mobile-nav{opacity:1!important;transform:none!important;animation:none!important}
 .editorial-photo picture,.hero-photo picture,.button,.button svg,.text-link svg{transform:none!important;transition:none!important}
 .benefit-card::before,.process-step::before,.text-link::after,.faq-item summary::after{animation:none!important;transition:none!important}
 .benefit-photo::after{display:none!important}
}

/* Founder: the unchanged portrait blends into its own photographic backdrop.
   The face and biography lead; the experience statement belongs with the copy. */
.founder-section{--founder-backdrop:#161e19;background:var(--founder-backdrop);color:var(--canvas);border:0;padding:48px 0 0;overflow:hidden}
.founder-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:64px;align-items:center}
.founder-copy{position:relative;z-index:1;padding:32px 0 80px;max-width:560px}
.founder-copy .founder-byline{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;color:var(--canvas);font-size:14px;line-height:1.5;margin:0 0 32px}
.founder-byline span:first-child{font-weight:600}
.founder-byline span:last-child{font-size:12px;color:#c6d4cc;border-left:1px solid #64736a;padding-left:16px}
.founder-copy h2{color:var(--canvas);font-size:clamp(32px,3.5vw,46px);line-height:1.15;letter-spacing:-.025em;max-width:540px;margin:0 0 24px;text-wrap:balance}
.founder-copy>p:not(.founder-byline){font-size:15px;line-height:1.9;color:#c6d4cc;max-width:520px}
.founder-experience{display:flex;align-items:center;gap:24px;margin-top:32px;padding-top:24px;border-top:1px solid #415047;max-width:420px}
.founder-experience strong{font-family:var(--display);font-size:64px;line-height:1;letter-spacing:-.025em;color:var(--sky);font-weight:400;white-space:nowrap}
.founder-experience span{font-size:13px;line-height:1.75;max-width:230px;color:#c6d4cc;text-wrap:pretty}
.founder-copy .text-link{color:var(--canvas);border-color:#64736a;margin-top:32px;max-width:100%;font-size:13px;line-height:1.65}
.founder-copy .text-link::after{background:var(--sky)}
.founder-copy .text-link:focus-visible{outline-color:var(--sky)}
.founder-portrait{align-self:end;min-width:0;width:100%;max-width:520px;margin:0;overflow:hidden;padding-top:16px;mask-image:linear-gradient(to bottom,#000 78%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 78%,transparent 100%)}
.founder-portrait picture{display:block;width:100%}
.founder-portrait img{display:block;width:100%;height:auto;aspect-ratio:1122/1402;object-fit:contain;object-position:center;transform:translate3d(0,var(--image-parallax-y,0px),0)}
@media(max-width:1100px){.founder-grid{gap:32px}.founder-copy{padding-bottom:64px}.founder-copy h2{font-size:36px}}
@media(max-width:959px) and (min-width:768px){.founder-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.founder-copy h2{font-size:32px}.founder-copy>p:not(.founder-byline){font-size:14px}.founder-experience{gap:16px}.founder-experience strong{font-size:56px}.founder-experience span{font-size:12px}}
@media(max-width:767px){.founder-section{padding-block:48px}.founder-grid{grid-template-columns:minmax(0,1fr);gap:24px}.founder-copy{display:contents}.founder-copy .founder-byline{order:0;margin:0}.founder-copy h2{order:1;font-size:clamp(30px,7.5vw,40px);margin:0}.founder-portrait{order:2;width:min(100%,380px);margin-inline:auto;padding-top:0}.founder-copy>p:not(.founder-byline){order:3;font-size:15px;margin:0}.founder-experience{order:4;gap:24px;margin:0;padding-top:24px}.founder-experience strong{font-size:56px}.founder-experience span{font-size:12px}.founder-copy .text-link{order:5;justify-self:start;margin:0}}

/* Scroll-only travel inside a stationary frame. Fixed overscan is never animated. */
@media(prefers-reduced-motion:no-preference) and (min-width:768px){
 .editorial-photo img,.hero-photo img{transform:translate3d(0,var(--image-parallax-y,0px),0) scale(1.065)}
}
@media(prefers-reduced-motion:reduce){.founder-portrait img{transform:none!important}}
