@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/fraunces-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(/assets/fonts/inter-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
*{box-sizing:border-box}body{margin:0;background-color:var(--brand-sand);color:#26271f}a{color:inherit}img{max-width:100%;height:auto}.header{padding:0 5%;display:flex;align-items:center;justify-content:space-between;background-color:var(--brand-sand);border-bottom:1px solid #b7a888}.brand{width:140px;height:125px;overflow:hidden;display:grid;place-items:center}.brand img{width:140px}nav{display:flex;align-items:center;gap:30px}nav a{text-decoration:none}.button{display:inline-block;background:#26271f;color:#faf6ed;text-decoration:none;text-transform:uppercase;padding:16px 24px;border:1px solid #26271f}.hero{display:grid;grid-template-columns:1.02fr 1fr}.hero-copy{padding:65px 8% 70px 10%}.hero h1{}.hero p{max-width:560px}.eyebrow{text-transform:uppercase;color:#5f6047}.hero-image{height:100%;min-height:540px;width:100%;object-fit:cover;object-position:56% center}a:focus-visible,button:focus-visible{outline:3px solid #5f6047;outline-offset:5px}@media(max-width:800px){.header{flex-wrap:wrap;padding-bottom:15px}nav{gap:15px;flex-wrap:wrap}.hero{grid-template-columns:1fr}.hero-copy{padding:35px 6%}.hero-image{min-height:0;max-height:460px}.hero h1{}}:root{--brand-sand:#d8c39a;--sand:var(--brand-sand);--cream:#f2ead8;--charcoal:#26271f;--olive:#5f6047;--white:#faf6ed;--line:#d6ccb6}html{scroll-behavior:smooth}h1,h2,h3{}h2{}h3{}p{margin:0 0 20px}strong{}.button{cursor:pointer;transition:background .15s}.button:hover{background:var(--olive);border-color:var(--olive)}.button:active{transform:translateY(1px)}.header{min-height:126px}.nav-area{display:flex;align-items:flex-end;flex-direction:column;gap:8px}.header-contact{color:var(--olive)}.contact-missing>span{opacity:.85;margin-left:8px}.header nav a[aria-current=page]{text-decoration:underline;text-underline-offset:6px}.menu-toggle{display:none}.skip{position:absolute;left:20px;top:-100px;padding:10px;background:var(--charcoal);color:white;z-index:10}.skip:focus{top:10px}.hero-copy{padding-top:65px;padding-bottom:65px}.hero h1{}.hero .button{margin-top:14px}.hero-image{min-height:570px}.section{padding:80px max(6%,calc((100vw - 1280px)/2));border-bottom:1px solid var(--line)}.editorial{display:grid;grid-template-columns:1fr 1.35fr;gap:8%}.section-title{max-width:460px}.rule{display:block;width:48px;height:3px;background:var(--olive);margin-bottom:22px}.editorial p:last-child{margin-bottom:0}.process-section{background:var(--cream)}.process{list-style:none;padding:0;margin:40px 0;display:grid;grid-template-columns:repeat(6,1fr);gap:25px}.process li{position:relative;border-top:1px solid #b2a383;padding-top:20px}.process svg{width:36px;height:36px;margin:8px 0 20px;color:var(--olive)}.process h3{}.process h3 span{display:block;color:var(--olive);margin-bottom:6px}.process p{}.process-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px}.trust{background:var(--white)}.story{display:grid;grid-template-columns:1fr 1.35fr;gap:8%;background:var(--charcoal);color:var(--cream)}.story .eyebrow{color:var(--sand)}.story .button{border-color:var(--sand);margin-top:12px}.story-number{color:var(--sand);align-self:center}.story-number span{display:block;padding-left:14%}.pricing-teaser{background:var(--cream);display:grid;grid-template-columns:1fr 1.35fr;gap:8%}.price{margin:20px 0}.price small{display:block;margin-bottom:10px}.final-cta{padding:70px 6%;background-color:var(--brand-sand);display:flex;justify-content:space-between;align-items:center;gap:40px}.final-cta>div{max-width:760px}.final-cta h2{}.final-cta p{margin-bottom:10px}.final-cta .button{flex-shrink:0}footer{padding:55px 6% 25px;background:var(--charcoal);color:var(--cream)}.footer-top{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding-bottom:35px}.footer-brand{margin-bottom:10px}.footer-top nav{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 30px;align-content:start}.footer-top nav a:hover{text-decoration:underline}.footer-contact{display:flex;flex-direction:column;gap:10px}.disclaimer{border-top:1px solid #636452;padding-top:20px;max-width:none;margin:0;color:#d3cbb8}.page-intro{padding:70px max(6%,calc((100vw - 1120px)/2));background:var(--cream);border-bottom:1px solid var(--line)}.page-intro h1{}.page-intro p{max-width:780px}.page-intro p:last-child{margin-bottom:0}.reading{max-width:820px;margin:auto;padding:65px 30px}.reading.wide{max-width:1140px}.reading.prose{}.detail-step{display:grid;grid-template-columns:110px 1fr;gap:25px;border-bottom:1px solid var(--line);padding:38px 0}.detail-step:first-child{padding-top:0}.detail-step h2{}.detail-step p{max-width:780px}.step-number{color:var(--olive)}.callout{background:var(--cream);border-left:3px solid var(--olive);padding:35px;margin:45px 0}.callout h2{}.callout p:last-child{margin-bottom:0}.small{}.fee-row{display:grid;grid-template-columns:45px 1fr auto;gap:8px 24px;border-bottom:1px solid var(--line);padding:30px 0}.fee-index{color:var(--olive);padding-top:8px}.fee-row h2{}.fee-row>div{grid-column:2/4}.fee-row p{margin:0}.fee-amount{}.fee-total{display:flex;justify-content:space-between;padding:25px 0;margin-bottom:30px}.fee-total strong{}.contact-layout{display:grid;grid-template-columns:.8fr 1.3fr;gap:9%;padding:65px 6%;max-width:1400px;margin:auto}.contact-layout aside h2{}.contact-routes{display:flex;flex-direction:column;gap:18px;margin:28px 0 38px}.contact-routes .contact-missing>span{display:block;margin:0}.contact-layout form{position:relative}.form-notice{padding:18px;background:var(--cream);border-left:3px solid var(--olive);margin-bottom:25px}form>label,legend{display:block;margin:0 0 8px}label>span{color:var(--olive)}input:not([type=radio]),textarea{width:100%;padding:13px;background:#fffdf8;color:var(--charcoal);border:1px solid #958b76;border-radius:0;margin:0 0 25px}textarea{resize:vertical}input:focus-visible,textarea:focus-visible{outline:2px solid var(--olive);outline-offset:3px}fieldset{border:0;padding:0;margin:0 0 24px;min-width:0}.radios{display:flex;gap:12px 24px;flex-wrap:wrap}.radios label{}.radios input{accent-color:var(--olive);width:18px;height:18px;vertical-align:middle}.honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.text-button{background:none;border:0;border-bottom:1px solid currentColor;color:var(--charcoal);cursor:pointer;padding:4px 0}.text-button:hover{color:var(--olive)}#form-status{margin:18px 0}button:disabled{opacity:.6;cursor:wait}.timeline{list-style:none;padding:0;margin:40px 0}.timeline li{display:grid;grid-template-columns:65px 1fr;gap:20px;padding:24px 0;border-top:1px solid var(--line)}.timeline h2{}.timeline-index{color:var(--olive);border:1px solid var(--line);width:52px;height:52px;display:grid;place-items:center;border-radius:50%}.pending{color:#717060}.complete .timeline-index{background:var(--olive);color:white}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:20px 0}.document-thumb{display:block;max-width:180px}.journey-status{padding:20px;border-left:3px solid var(--olive);background:var(--cream)}.faq details{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;list-style:none;padding:25px 40px 25px 0;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';position:absolute;right:4px;top:22px;color:var(--olive)}.faq details[open] summary:after{content:'−'}.faq summary:focus-visible{outline:2px solid var(--olive);outline-offset:3px}.faq .answer{max-width:870px;padding:0 20px 18px 0}.faq .answer p{}.legal li{margin:7px 0}::selection{background-color:var(--brand-sand);color:var(--charcoal)}
@media(min-width:1600px){.hero-copy{padding-left:max(10%,calc((100vw - 1280px)/2))}}
@media(max-width:1050px){nav{gap:20px}.process{grid-template-columns:repeat(3,1fr)}.hero-copy{padding:45px 8%}.hero h1{}.hero-image{min-height:560px}.section{padding:60px 6%}.final-cta{align-items:flex-start;flex-direction:column;gap:22px}}
@media(max-width:800px){.header{padding:0 6%;min-height:100px}.brand{width:105px;height:100px}.brand img{width:105px}.menu-toggle{display:block;border:1px solid var(--olive);background:none;color:var(--charcoal);padding:10px 16px}.nav-area{display:none;width:100%;align-items:stretch;padding:5px 0 20px}.nav-area.open{display:flex}.nav-area nav{display:flex;flex-direction:column;align-items:stretch;gap:0}.nav-area nav a{padding:12px 0}.nav-area nav a.button{padding:14px;text-align:center;margin:8px 0}.header-contact{text-align:center}.hero-copy{padding:35px 6% 40px}.hero h1{}.hero-image{min-height:0;max-height:none;aspect-ratio:4/3;object-fit:contain}.hero{grid-template-columns:1fr}.editorial,.story,.pricing-teaser,.contact-layout{grid-template-columns:1fr;gap:25px}.story-number{display:flex;gap:12px}.story-number span{display:inline;padding:0}.section{padding:45px 6%}.section-title{max-width:none}.process{gap:18px}.process-bottom{align-items:flex-start;flex-direction:column}.page-intro{padding:45px 6%}.page-intro h1{}.reading{padding:40px 6%}.detail-step{grid-template-columns:48px 1fr;gap:15px}.step-number{}.detail-step h2{}.contact-layout{padding:40px 6%}.contact-layout aside{max-width:600px}.contact-routes{margin:20px 0}.footer-top{grid-template-columns:1fr;gap:35px}.fee-row{grid-template-columns:24px 1fr auto;gap:12px}.fee-row h2{}.fee-amount{}.fee-total{align-items:center}.fee-total strong{}.callout{padding:24px;margin:30px 0}.faq summary{}.final-cta{padding:45px 6%}h2{}}
@media(max-width:480px){.process{grid-template-columns:1fr;gap:12px}.process li{display:grid;grid-template-columns:42px 1fr;gap:0 18px;padding-top:16px}.process svg{grid-row:1/3;margin:6px 0}.process h3{}.process h3 span{display:inline;margin-right:6px}.process p{grid-column:2}.fee-row{grid-template-columns:24px 1fr}.fee-amount{grid-column:2}.fee-row>div{grid-column:2}.hero h1{}.button{max-width:100%;text-align:center}.gallery{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Brand refinement: direct transparent badge, sand surfaces, olive pill CTAs. */
body{background-color:var(--brand-sand)}
.header{background-color:var(--brand-sand);padding:0 6%;min-height:184px;gap:40px;border-bottom:1px solid rgba(38,39,31,.18)}
.brand{display:block;flex:0 0 190px;width:190px;height:auto;overflow:visible;background:transparent;border:0;box-shadow:none}
.brand img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;background:transparent;border:0;border-radius:0;box-shadow:none}
.nav-area{gap:12px;margin-left:auto}
.header nav{gap:32px;flex-wrap:nowrap}
.header-contact{padding-right:4px}
.page-intro{background-color:var(--brand-sand)}
.editorial,.process-section,.pricing-teaser,.contact-layout,.reading{background:var(--white)}
.story{background:var(--cream);color:var(--charcoal)}
.story .eyebrow{color:var(--olive)}
.story-number{color:var(--olive)}
.story .button,.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:54px;max-width:100%;padding:17px 26px;background:var(--olive);color:var(--white);border:0;border-radius:999px;box-shadow:none;text-transform:uppercase;text-align:left;text-decoration:none;vertical-align:middle;transition:background-color .18s ease}
.button>span{min-width:0}
.cta-arrow{display:block;flex:0 0 24px;width:24px;height:16px;transition:transform .18s ease}
.button:hover,.story .button:hover{background:#50513c;border:0}
.button:hover .cta-arrow{transform:translateX(3px)}
.button:active{transform:none}
.button:focus-visible{outline:2px solid var(--charcoal);outline-offset:5px}
.header .button{min-width:170px}
@media(max-width:1050px){.header{gap:24px}.header nav{gap:22px}.brand{flex-basis:165px;width:165px}.header{min-height:162px}.header .button{min-width:154px;padding:16px 22px}}
@media(max-width:800px){.header{padding:0 6%;min-height:150px;gap:0 24px;flex-wrap:wrap}.brand{flex:0 0 150px;width:150px;height:auto}.brand img{width:100%;height:auto}.nav-area{margin:0;gap:12px}.header nav{gap:0;flex-wrap:nowrap}.nav-area nav a.button{padding:17px 24px;text-align:left;margin:12px 0 4px}.button,.story .button{width:100%;padding:17px 24px;gap:20px;min-height:56px;text-align:left}.process-bottom{align-items:stretch}.story-number{}.final-cta>.button{align-self:stretch}.menu-toggle{border:1px solid var(--olive);border-radius:0;background:transparent}.header-contact{text-align:left;padding:0}.hero-copy{padding-top:28px}}
@media(prefers-reduced-motion:reduce){.button,.cta-arrow{transition:none}.button:hover .cta-arrow{transform:none}}

/* Homepage: cream content with matching sand header and closing banner. */
body:has(.hero){background-color:var(--white)}
body:has(.hero) .header,body:has(.hero) .final-cta{background-color:var(--brand-sand);background-image:none}
body:has(.hero) main,body:has(.hero) .section,body:has(.hero) footer{background-color:var(--white);background-image:none;color:var(--charcoal)}
body:has(.hero) .disclaimer{color:var(--charcoal);border-top-color:rgba(38,39,31,.18)}
.hero,.hero-copy{
 background-color:var(--white);
 background-image:none;
 opacity:1;
 filter:none;
 mix-blend-mode:normal}
.hero::before,.hero::after,.hero-copy::before,.hero-copy::after{
 content:none;
 background-color:transparent;
 background-image:none}

/* Genuine FJ40 photographs: text first, full uncropped portrait images. */
.story{grid-template-columns:.9fr 1.1fr;gap:7%;align-items:center}
.story-copy{min-width:0}
.story-photos{min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.story-photos img{display:block;height:auto;object-fit:contain;border:0;border-radius:0;box-shadow:none;filter:none}
.story-photo-main{width:82%}
.story-photo-secondary{width:52%;align-self:flex-end;margin-top:-56px;position:relative}
@media(max-width:800px){.story{grid-template-columns:1fr;gap:32px}.story-photos{gap:24px}.story-photo-main,.story-photo-secondary{width:100%;margin:0;align-self:stretch}}

/* Soft photographic edges, without a card, frame or colour treatment. */
body:has(.hero) .hero-image,body:has(.hero) .story-photos img{
 border-radius:8px;
 border:0;
 box-shadow:0 5px 18px rgba(38,39,31,.07)}

/* Shared editorial typography; no page-specific heading size exceptions. */
:root{
 --font-heading:'Fraunces',serif;
 --font-body:'Inter',sans-serif;
 --text-h1:4.25rem;
 --text-h2:3.25rem;
 --text-h3:2rem;
 --text-body:1.1875rem;
 --text-support:1.0625rem;
 --text-label:1rem;
 --text-small:.875rem;
 --heading-gap:1.5rem;
}
body{font-family:var(--font-body);font-size:var(--text-body);font-weight:400;line-height:1.6;letter-spacing:0;font-synthesis:none}
h1,h2,h3{font-family:var(--font-heading);font-weight:500;font-style:normal;font-optical-sizing:auto;letter-spacing:-.025em;text-transform:none;text-wrap:balance;overflow-wrap:normal;margin:0 0 var(--heading-gap)}
h1{font-size:var(--text-h1);line-height:1.02;max-width:20ch}
h2{font-size:var(--text-h2);line-height:1.08;max-width:25ch}
h3{font-size:var(--text-h3);line-height:1.12;max-width:28ch}
h1 strong,h2 strong,h3 strong{font-weight:inherit}
p{font-weight:400;line-height:1.6}
strong{font-weight:600}
.eyebrow{font-family:var(--font-body);font-size:var(--text-small);font-weight:500;line-height:1.5;letter-spacing:.12em;text-transform:uppercase;margin:0 0 1.25rem}
.header nav a,footer nav a{font-family:var(--font-body);font-size:var(--text-label);font-weight:500;line-height:1.5;letter-spacing:0}
.button,.story .button,.header nav .button{font-family:var(--font-body);font-size:var(--text-small);font-weight:600;line-height:1.45;letter-spacing:.08em;text-transform:uppercase}
.menu-toggle,.text-button{font-family:var(--font-body);font-size:var(--text-label);font-weight:500;line-height:1.5;letter-spacing:0}
input:not([type=radio]),textarea{font-family:var(--font-body);font-size:var(--text-support);font-weight:400;line-height:1.6;letter-spacing:0}
form>label,legend,.radios label{font-family:var(--font-body);font-size:var(--text-label);font-weight:500;line-height:1.5;letter-spacing:0}
.process p,footer,.form-notice,#form-status{font-size:var(--text-support);line-height:1.6}
.process h3 span{font-family:var(--font-body);font-size:var(--text-small);font-weight:500;line-height:1.5;letter-spacing:.08em}
.reading.prose,.faq .answer p{font-size:var(--text-body);line-height:1.6}
.small,.header-contact,.contact-missing>span,.disclaimer,label>span,.fee-index{font-family:var(--font-body);font-size:var(--text-small);font-weight:400;line-height:1.5;letter-spacing:0}
.faq summary{font-family:var(--font-heading);font-size:var(--text-h3);font-weight:500;line-height:1.2;letter-spacing:-.02em}
.faq summary:after{font-family:var(--font-body);font-size:1.5rem;font-weight:400;line-height:1.2}
.footer-brand{font-family:var(--font-body);font-size:1.25rem;font-weight:500;line-height:1.4;letter-spacing:.04em}
.price,.fee-total strong{font-family:var(--font-body);font-size:var(--text-h2);font-weight:500;line-height:1.1;letter-spacing:-.025em;font-variant-numeric:lining-nums tabular-nums}
.price small{font-family:var(--font-body);font-size:var(--text-support);font-weight:400;line-height:1.5;letter-spacing:0}
.fee-amount,.step-number,.timeline-index{font-family:var(--font-body);font-size:var(--text-h3);font-weight:500;line-height:1.2;letter-spacing:-.02em;font-variant-numeric:lining-nums tabular-nums}
@media(max-width:1050px){:root{--text-h1:2.875rem;--text-h2:2.5rem;--text-h3:1.8125rem;--text-body:1.125rem;--heading-gap:1.25rem}}
@media(max-width:600px){:root{--text-h1:2.375rem;--text-h2:2rem;--text-h3:1.6875rem;--text-body:1.125rem;--text-support:1rem;--heading-gap:1.25rem}}

/* Tighter split-layout photography. Mobile keeps its existing full-width flow. */
.hero-media{display:contents}
@media(min-width:801px){
 .hero-media{display:block;position:relative;min-width:0;margin-block:65px}
 .hero-media .hero-image{position:absolute;inset:0;width:100%;height:100%;min-height:0;max-height:none}
 .story{grid-template-columns:1.16fr .84fr;align-items:start}
 .story-photo-main{width:70%}
 .story-photo-secondary{width:34%;align-self:flex-start;margin-left:64%;margin-top:-22%}
}
@media(min-width:801px) and (max-width:1050px){
 .hero-media{margin-block:45px}
}
