*{box-sizing:border-box}
:root{--blue:#00313d;--rose:#c3b8b5;--cream:#d7d7cd;--green:#7f938e;--lilac:#bbb8ca;--ink:#404041;--sans:'Museo Sans Preview',Arial,sans-serif;--serif:'BioRhyme',Georgia,serif;--body-size:1.25rem;--small-size:1rem;--control-radius:8px}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--cream);color:var(--blue);font-family:var(--sans);font-size:var(--body-size);font-weight:500;line-height:1.5;letter-spacing:-.01em;text-align:left}
a{color:inherit;text-underline-offset:5px}
button,input{font:inherit;letter-spacing:inherit}
button,a,input{touch-action:manipulation}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p{margin:0;text-align:left}
h1,h2,h3{font-family:var(--sans);font-weight:700;line-height:1.04;letter-spacing:-.035em}
p{overflow-wrap:break-word}
button{cursor:pointer}
button:disabled{cursor:wait;opacity:.75}
:focus-visible{outline:3px solid var(--blue);outline-offset:5px}
.hero :focus-visible,.ana-section :focus-visible,.thankyou-hero :focus-visible{outline-color:var(--rose)}
.skip-link{position:fixed;top:8px;left:8px;z-index:20;padding:12px 20px;background:var(--cream);transform:translateY(-150%)}
.skip-link:focus{transform:translateY(0)}
.title-accent{font-family:var(--sans);font-weight:500;font-style:normal;letter-spacing:inherit;line-height:inherit}
.eyebrow{font-size:1rem;font-weight:700;letter-spacing:.02em;line-height:1.3}
.site-header{min-height:90px;background:var(--blue);color:var(--cream);display:flex;align-items:center;padding:20px max(5vw,calc((100vw - 1280px)/2))}
.identity{font-size:1.375rem;font-weight:700;line-height:1.15;letter-spacing:-.025em}
.identity span{display:block;font-size:var(--small-size);font-weight:500;margin-top:5px;letter-spacing:-.01em}
.text-link{display:inline-flex;align-items:center;gap:18px;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:6px;font-size:1.125rem;font-weight:700;max-width:100%}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:14px 22px;text-decoration:none;border:0;font-size:1.25rem;font-weight:700;line-height:1.25;text-align:center;border-radius:var(--control-radius);transition:background .18s ease,transform .18s ease}
.button-primary{background:var(--blue);color:var(--cream)}
.button-primary:hover{background:#104550}
.button-rose{background:var(--rose);color:var(--blue)}
.button-rose:hover{background:var(--cream)}
/* Shared reading scale and form. */
.hero{display:block;position:relative;isolation:isolate;background:var(--rose);color:var(--cream);scroll-margin-top:0}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--blue);border-radius:0 0 48px 48px}
.hero-layout{width:90%;max-width:1280px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr);gap:48px;align-items:end}
.hero-copy{min-width:0;padding:28px 0 44px}
.hero-copy h1{font-size:clamp(2.5rem,4.3vw,3.875rem);font-weight:500;line-height:1.02;margin:16px 0 18px}
.headline-lead{display:block}
.hero-copy h1 .title-accent{font-size:1em;color:var(--rose);font-weight:700}
.hero-intro{font-size:var(--body-size);line-height:1.45;max-width:32rem}
.delivery-promise{font-family:var(--sans);font-size:1.125rem;font-weight:700;line-height:1.35;color:var(--rose);margin-top:12px}
.hero-request{width:100%;max-width:32.5rem;margin:22px 0 0}
.signup-fields{display:grid;grid-template-columns:1fr;gap:12px}
.form-field{min-width:0}
.form-field label{display:block;font-size:var(--small-size);line-height:1.4;margin-bottom:6px}
.form-field input{width:100%;min-width:0;min-height:56px;padding:12px 14px;border:1px solid rgba(215,215,205,.65);border-radius:var(--control-radius);background:rgba(215,215,205,.04);color:var(--cream);font-size:1.25rem;line-height:1.3}
.form-field input::placeholder{color:rgba(215,215,205,.85);opacity:1}
.form-field input[aria-invalid=true]{border:2px solid var(--rose)}
.field-error{display:block;font-size:var(--small-size);font-weight:700;line-height:1.45;color:var(--rose);margin-top:6px}
.field-error:empty{display:none}
.hero-request .button{width:100%;margin-top:14px}
.consent{font-size:var(--small-size);line-height:1.45;margin-top:12px;color:var(--cream)}
.hero-portrait{display:flex;justify-content:flex-end;align-items:flex-end;align-self:end;min-width:0}
.hero-portrait img{width:min(100%,420px);height:auto;aspect-ratio:1024/1514;object-fit:cover;object-position:top}
/* B: an editorial lilac composition, title first, portrait left, form right. */
.variant-b .site-header{background:var(--lilac);color:var(--blue)}
.hero-b{color:var(--blue)}
.hero-b::before{background:var(--lilac)}
.hero-b-layout{display:block}
.hero-b-heading{padding-top:24px;max-width:1120px}
.hero-b-heading h1{font-size:clamp(2.5rem,5.2vw,4.25rem);font-weight:500;line-height:1.02;margin:14px 0 0}
.hero-b-heading .title-accent{font-weight:700;color:var(--blue)}
.hero-b-body{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-areas:"portrait form";gap:80px;align-items:end;margin-top:24px}
.hero-b-form-copy{grid-area:form;min-width:0;max-width:600px;padding:14px 0 40px}
.hero-b .hero-portrait{grid-area:portrait;justify-content:flex-start}
.hero-b .hero-portrait img{width:min(100%,400px)}
.hero-b .delivery-promise,.hero-b .consent,.hero-b .field-error{color:var(--blue)}
.hero-b .form-field input{background:var(--cream);color:var(--blue);border-color:rgba(0,49,61,.6)}
.hero-b .form-field input::placeholder{color:rgba(0,49,61,.75)}
.hero-b .form-field input[aria-invalid=true]{border:2px solid var(--blue)}
.hero-b .button{background:var(--blue);color:var(--cream)}
.hero-b .button:hover{background:#104550}
.hero-b :focus-visible{outline-color:var(--blue)}
.context-strip{background:var(--rose);display:grid;grid-template-columns:1fr 1fr;gap:48px;padding:44px max(5vw,calc((100vw - 1280px)/2))}
.context-strip h2{font-size:2rem;font-weight:500;line-height:1.08;align-self:center}
.context-strip h2 .title-accent{font-size:.9em}
.context-strip p{font-family:var(--serif);font-size:var(--body-size);line-height:1.5;max-width:620px}
.section-wrap{max-width:1408px;margin:0 auto;padding:76px 5vw}
.value-section{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.4fr);gap:56px}
.display-title{font-size:clamp(2.25rem,3.9vw,3.625rem);line-height:1.02;font-weight:500}
.display-title .title-accent{font-size:.9em;line-height:inherit}
.value-heading .display-title{margin-top:16px}
.value-heading>p:not(.eyebrow){font-family:var(--serif);font-size:var(--body-size);line-height:1.5;max-width:390px;margin-top:20px}
.value-heading .button{margin-top:22px}
.value-row{display:grid;grid-template-columns:36px minmax(0,1fr) 88px;gap:16px;align-items:center;padding:26px 0;border-bottom:1px solid rgba(0,49,61,.25)}
.value-row:first-child{padding-top:0}
.value-number{font-size:1.75rem;font-weight:700;letter-spacing:-.035em}
.value-row h3{font-size:1.5rem;line-height:1.1;margin-bottom:10px}
.value-row p{font-family:var(--serif);font-size:var(--body-size);line-height:1.5}
.value-row img{width:88px;max-height:120px;object-fit:contain}
.guide-section{position:relative;isolation:isolate;background:radial-gradient(ellipse at 18% 10%,rgba(255,255,255,.1),transparent 65%),radial-gradient(ellipse at 85% 95%,rgba(0,49,61,.03),transparent 65%),var(--lilac);display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.2fr);gap:64px;padding:76px max(5vw,calc((100vw - 1280px)/2))}
.guide-visual{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0}
.guide-visual>.eyebrow{max-width:360px;margin-bottom:22px}
.cover-display{position:relative;width:min(100%,360px);margin:0;transform:none}
.guide-cover{width:100%;height:auto;box-shadow:1px 2px 3px rgba(0,49,61,.06),6px 10px 22px rgba(0,49,61,.12);border:1px solid rgba(255,255,255,.25)}
.guide-caption{font-size:var(--small-size);line-height:1.4;margin-top:20px;max-width:360px}
.guide-content>.eyebrow{margin-bottom:16px}
.guide-content .display-title{font-size:2.75rem}
.guide-content .display-title strong{font-size:.92em}
.contents-list{list-style:none;padding:0;margin:24px 0}
.contents-list li{display:flex;gap:18px;border-top:1px solid rgba(0,49,61,.28);padding:20px 0}
.contents-list li>span{font-size:1.75rem;font-weight:700;line-height:1.1}
.contents-list li>div{min-width:0}
.contents-list h3{font-size:1.5rem;line-height:1.1;margin-bottom:8px}
.contents-list p{font-family:var(--serif);font-size:var(--body-size);line-height:1.5}
.ana-section{display:grid;grid-template-columns:1fr 1fr;background:var(--blue);color:var(--cream);padding:54px max(5vw,calc((100vw - 1280px)/2)) 0;gap:56px}
.ana-portrait{align-self:end;justify-self:center;position:relative;width:min(100%,390px);aspect-ratio:1024/1512;overflow:hidden;min-width:0}
.ana-portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top}
.ana-copy{align-self:center;padding:8px 0 48px;max-width:560px;min-width:0}
.ana-copy .display-title{font-size:3.75rem;font-weight:700;margin-top:16px}
.profession{font-family:var(--sans);font-weight:700;font-size:1.375rem;color:var(--rose);margin:14px 0 20px}
.ana-copy>p:not(.eyebrow):not(.profession){font-family:var(--serif);font-size:var(--body-size);line-height:1.5}
.ana-copy .ana-emphasis{padding-top:20px;margin-top:20px;border-top:1px solid var(--green);color:var(--rose)}
.closing-cta{background:var(--rose);padding:56px max(5vw,calc((100vw - 1280px)/2));text-align:left}
.closing-cta h2{font-size:3.0625rem;line-height:1.04;font-weight:500;margin:16px 0 24px;max-width:900px}
.closing-cta h2 .title-accent{font-size:.92em}
.closing-cta .button{background:var(--blue);color:var(--cream);min-width:320px}
.closing-cta .delivery-promise{color:var(--blue)}
.site-footer{background:var(--blue);color:var(--cream);padding:28px 5vw;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;font-size:var(--small-size);line-height:1.45}
.site-footer>span{font-weight:700}
.site-footer p{max-width:450px;text-align:left;line-height:1.45}
.thankyou-page .site-footer p{font-family:var(--serif);font-size:var(--body-size);line-height:1.5}
.site-footer a{min-height:44px;display:inline-flex;align-items:flex-start;white-space:nowrap}
.thankyou-hero{background:var(--blue);color:var(--cream);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:64px;min-height:610px;padding:60px max(5vw,calc((100vw - 1200px)/2))}
.thankyou-copy{align-self:center;min-width:0}
.thankyou-copy h1{font-size:clamp(3rem,5.8vw,5rem);line-height:1.02;font-weight:500;margin:22px 0}
.thankyou-copy h1 .title-accent{color:var(--rose);font-size:.92em}
.thankyou-copy>p:not(.eyebrow):not(.download-meta):not(.confirmation-note){font-family:var(--serif);font-size:var(--body-size);line-height:1.5;max-width:520px;margin-bottom:22px}
.download-meta{font-size:var(--small-size);line-height:1.4;letter-spacing:.01em;margin-top:16px}
.confirmation-note{font-family:var(--serif);font-size:var(--body-size);line-height:1.5;max-width:520px;margin-top:20px;color:var(--cream)}
.thankyou-cover{position:relative;isolation:isolate;align-self:center;justify-self:center;width:100%;max-width:450px;padding:40px;background:radial-gradient(ellipse at 18% 10%,rgba(255,255,255,.1),transparent 70%),var(--lilac)}
.thankyou-cover .cover-display{width:min(100%,300px);margin:0 auto}
.next-step{background:var(--rose);padding:54px max(5vw,calc((100vw - 1100px)/2))}
.next-step-content{display:grid;grid-template-columns:94px minmax(0,1fr);gap:28px;margin-top:22px;align-items:start}
.next-number{font-size:6rem;line-height:.95;font-weight:700;letter-spacing:-.055em}
.next-step-content h2{font-size:2.375rem;line-height:1.1;margin-bottom:16px}
.next-step-content p{font-family:var(--serif);font-size:var(--body-size);line-height:1.5;max-width:800px}
.next-step-note{margin-top:16px;font-weight:700}
.thankyou-ana{max-width:1100px;margin:auto;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px;align-items:center;padding:54px 5vw 0}
.thankyou-ana>img{width:min(100%,340px);height:auto;aspect-ratio:1024/1514;object-fit:cover;object-position:top;align-self:end;justify-self:end}
.thankyou-ana>div{min-width:0;max-width:520px;padding:20px 0 44px;align-self:center}
.thankyou-ana .display-title{font-size:3.375rem;line-height:1.04;margin:14px 0 18px}
.thankyou-ana p:not(.eyebrow):not(.author-signature){font-family:var(--serif);font-size:var(--body-size);line-height:1.5;max-width:480px}
.author-signature{font-size:1.5rem;font-weight:700;line-height:1.3;margin-top:22px}
.author-signature span{display:block;font-size:1.125rem;font-weight:500;margin-top:5px}
@media(max-width:1100px){
.hero-layout{gap:32px}.hero-b-body{gap:48px}.context-strip{gap:32px}.guide-section{gap:40px}.thankyou-hero{gap:40px}.thankyou-ana{gap:32px}.thankyou-ana>img{width:min(100%,300px)}.thankyou-ana .display-title{font-size:2.875rem}
.site-footer{flex-wrap:wrap}.site-footer p{flex:1;min-width:260px}
}
@media(max-width:980px){
.site-header{padding:18px 24px;min-height:86px}
.hero-layout{width:calc(100% - 48px);grid-template-columns:1fr;gap:0}
.hero-copy{padding:18px 0 0}.hero-copy h1{font-size:3rem}.hero-request{margin-top:20px}
.hero-portrait{justify-content:center;margin-top:24px}.hero-portrait img{width:min(100%,320px)}
.hero::before{border-radius:0 0 32px 32px}
.hero-b-heading{padding-top:18px}.hero-b-heading h1{font-size:3.125rem}
.hero-b-body{display:flex;flex-direction:column;gap:0;margin-top:20px}
.hero-b-form-copy{width:100%;max-width:600px;padding:0;align-self:flex-start}
.hero-b .hero-portrait{width:100%;justify-content:center;margin-top:24px}
.hero-b .hero-portrait img{width:min(100%,300px)}
.context-strip{grid-template-columns:1fr;gap:22px;padding:36px 24px}
.section-wrap{padding:56px 24px}.value-section{grid-template-columns:1fr;gap:32px}
.value-heading .display-title{font-size:3rem}.value-heading>p:not(.eyebrow){max-width:600px}
.value-heading .display-title br:first-of-type{display:none}
.guide-section{grid-template-columns:1fr;padding:56px 24px;gap:36px}
.guide-visual{align-items:center}.guide-visual>.eyebrow,.guide-caption{width:100%;text-align:center}
.guide-content{max-width:680px;width:100%}.guide-content .display-title{font-size:2.625rem}
.ana-section{grid-template-columns:1fr;padding:48px 24px 0;gap:24px}
.ana-copy{grid-row:1;padding:0;max-width:680px}.ana-copy .display-title{font-size:3.25rem}.ana-portrait{width:min(100%,330px)}
.closing-cta{padding:48px 24px}.closing-cta h2{font-size:2.625rem}.closing-cta .button{min-width:0;width:100%;max-width:440px}
.site-footer{flex-direction:column;gap:18px;padding:28px 24px}.site-footer p{flex:none;min-width:0;max-width:600px}
.thankyou-hero{grid-template-columns:1fr;padding:44px 24px 52px;gap:32px}
.thankyou-copy h1{font-size:4.25rem}.thankyou-cover{padding:32px;max-width:360px;justify-self:center}
.next-step{padding:44px 24px}.next-step-content{grid-template-columns:72px minmax(0,1fr);gap:20px}.next-number{font-size:4.5rem}
.thankyou-ana{grid-template-columns:1fr;padding:44px 24px 0;gap:24px}
.thankyou-ana>div{max-width:640px;width:100%;margin:0;padding:0}.thankyou-ana>img{width:min(100%,290px);justify-self:center}.thankyou-ana .display-title{font-size:2.75rem}
}
@media(max-width:600px){
.hero-copy h1{font-size:2.25rem}.hero-b-heading h1{font-size:2.375rem}
.hero-portrait img{width:min(100%,270px)}.hero-b .hero-portrait img{width:min(100%,270px)}
.context-strip h2{font-size:1.875rem}.value-heading .display-title{font-size:2.25rem}
.value-row{grid-template-columns:2rem minmax(0,1fr);gap:14px;align-items:start;padding:24px 0}
.value-number{font-size:1.5rem;line-height:1.1}.value-row img{grid-column:2;justify-self:end;width:64px;margin-top:0}.value-row h3{font-size:1.5rem;margin-bottom:8px}
.guide-content .display-title{font-size:2.25rem}.contents-list li{gap:14px}.contents-list li>span{font-size:1.5rem;flex:0 0 2rem}
.ana-copy .display-title{font-size:3rem}
.closing-cta h2{font-size:2.25rem}.thankyou-copy h1{font-size:3.625rem}
.next-step-content{grid-template-columns:1fr;gap:16px}.next-number{font-size:3.75rem}.next-step-content h2{font-size:2rem}
.thankyou-ana .display-title{font-size:2.5rem}
}
/* Mobile: align invitation and author text with reading columns; centre imagery and brief closing blocks. */
@media(max-width:600px){
.hero-copy>.eyebrow,.hero-copy h1,.hero-copy>.hero-intro,.hero-copy>.delivery-promise,.hero-b-heading>.eyebrow,.hero-b-heading h1,.hero-b-form-copy>.hero-intro,.hero-b-form-copy>.delivery-promise{text-align:left}
.hero-copy h1 br{display:none}
.hero-copy>.hero-intro,.hero-copy>.delivery-promise,.hero-b-form-copy>.hero-intro,.hero-b-form-copy>.delivery-promise{margin-left:0;margin-right:0}
.value-heading>.eyebrow,.value-heading .display-title{text-align:left}
.value-heading .display-title br{display:none}
.value-heading .button,.guide-content>.button{display:flex;width:100%;max-width:440px;margin-left:auto;margin-right:auto}
.guide-visual .cover-display{width:min(100%,300px)}
.ana-copy>.eyebrow,.ana-copy>.display-title,.ana-copy>.profession{text-align:left}
.closing-cta,.closing-cta>.eyebrow,.closing-cta h2,.closing-cta>.delivery-promise{text-align:center}
.closing-cta .button{display:flex;margin-left:auto;margin-right:auto}
.thankyou-copy>.eyebrow,.thankyou-copy h1,.thankyou-copy>.download-meta{text-align:left}
.thankyou-ana>div,.thankyou-ana .display-title,.thankyou-ana p{text-align:left}
.thankyou-ana p{margin-left:0;margin-right:0}
}
@media(max-width:380px){.hero-copy h1,.hero-b-heading h1{font-size:2.125rem}.button{padding:14px 16px}.identity{font-size:1.25rem}.thankyou-copy h1{font-size:3.25rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
