/* Fabulous V4. Photography from the original site, warm editorial rhythm. */
:root,html[data-theme=light]{--background:#f3efe5;--surface:#faf7f0;--raised:#e9e3d7;--text:#242823;--muted:#5d6258;--gold:#806536;--gold-active:#705629;--border:#d6d0c3;--control:#968f7e;--background-rgb:243,239,229;--surface-rgb:250,247,240;--accent-soft:#eae3d3;--gps-accent:#766039;--gps-choice-selected:#eee7d7;--gps-choice-line:#9b8253;--gps-scene-top:#efeee6;--gps-scene-center:#faf6eb;--gps-scene-bottom:#dfdfd2;--gps-arrow:#806536;--gps-arrow-shadow:#80653644;--action-bg:#242823;--action-hover:#3c4439;--action-text:#faf7f0}
html[data-theme=dark]{--background:#0b0d0e;--surface:#151819;--raised:#202627;--text:#f3efe5;--muted:#b6b9b3;--gold:#c7ae76;--gold-active:#e1c991;--border:#343c3c;--control:#74827d;--background-rgb:11,13,14;--surface-rgb:21,24,25;--accent-soft:#2c2b24;--gps-accent:#c7ae76;--gps-choice-selected:#302d24;--gps-choice-line:#a28b5f;--gps-arrow:#c7ae76;--action-bg:#f3efe5;--action-text:#171a18;--action-hover:#dcd2bd}
.page-home .header{background:rgba(var(--background-rgb),.94)}
.gps-intro-photo{position:absolute;inset:0 0 0 43%;margin:0;z-index:1;opacity:0;pointer-events:none;transition:opacity .65s ease;overflow:hidden}
.gps-intro-photo picture,.gps-intro-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.gps-intro-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(var(--background-rgb),1),rgba(var(--background-rgb),0) 37%),linear-gradient(0deg,#0b0d0e75,transparent 38%)}
.gps-intro-photo figcaption{position:absolute;z-index:2;right:6vw;bottom:150px;color:#f3efe5;text-align:right;max-width:250px}
.gps-intro-photo figcaption span{display:block;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#eee5cf}
.gps-intro-photo figcaption strong{display:block;font:32px/1.1 var(--serif);margin-top:12px;font-weight:400}
.gps-journey[data-guide-current=intro] .gps-intro-photo{opacity:1}
.gps-panels{z-index:3}
.gps-scene-wash{z-index:1}
.gps-topline{z-index:4}
.gps-journey[data-guide-current=intro] .gps-topline>[data-guide-progress]{color:#f3efe5;text-shadow:0 1px 8px #000}
.gps-journey[data-guide-current=intro] .gps-position,.gps-journey[data-guide-current=intro] .gps-world-labels,.gps-journey[data-guide-current=intro] .gps-map-caption{opacity:0}
.gps-intro h1{font-family:var(--sans);font-size:clamp(62px,6.4vw,96px);line-height:1.05;letter-spacing:-.075em;margin-top:26px;white-space:nowrap}
.gps-intro h1 span{font-family:var(--serif);font-size:1.22em;font-style:italic;letter-spacing:-.035em;font-weight:400}
.gps-intro-copy{font-size:16px;line-height:1.75;margin-block:25px 27px;max-width:34ch}
.gps-intro .gps-primary{font-size:13px;padding:16px 24px}
.gps-direct-link{display:inline-flex;gap:18px;align-items:center;font-size:12px;min-height:44px;border-bottom:1px solid var(--border);margin-top:10px;color:var(--text)}
.gps-scroll-cue{margin-top:17px;font-size:11px}
.gps-journey[data-journey-ready=true] .gps-intro .gps-signature{margin-top:22px;font-size:26px}
.gps-panel h2{font-family:var(--serif);letter-spacing:-.025em;font-size:clamp(38px,3.9vw,57px);line-height:1.04}
.gps-choice strong{font-size:13px;line-height:1.4}.gps-choice small{font-size:11px;line-height:1.45}
.gps-continue{border:1px solid var(--control);border-radius:100px;min-height:44px;padding:9px 16px;font-size:12px;color:var(--text);background:var(--surface)}
.gps-continue:disabled{opacity:.4;cursor:default}.gps-continue:hover:not(:disabled){background:var(--raised)}
.gps-selection-hint{font-size:10px;margin-top:8px;text-align:right;color:var(--muted)}
.gps-focus{margin-top:12px;padding:12px 0;border-block:1px solid var(--border);font-size:12px;line-height:1.7;color:var(--text)}
.gps-focus:empty{display:none}
.heritage-intro,.heritage-universes,.heritage-method,.heritage-studio,.heritage-faq,.heritage-closing{max-width:1600px;padding-inline:8.5vw;color:var(--text)}
.heritage-intro{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:9%;padding-block:120px}
.heritage-intro h2{font:400 clamp(70px,7.5vw,116px)/.92 var(--serif);margin:28px 0 35px;letter-spacing:-.04em}
.heritage-lead{font-size:20px;line-height:1.55!important;color:var(--text)!important;margin-bottom:22px}
.heritage-intro-text>p:not(.heritage-lead){font-size:14px;line-height:1.9;max-width:44ch}
.heritage-intro .text-link{margin-top:28px;font-size:12px}
.heritage-light{position:relative;margin:0;align-self:stretch;min-height:510px;overflow:hidden;border-radius:3px}
.heritage-light picture,.heritage-light img{display:block;width:100%;height:100%;object-fit:cover;object-position:48% 50%}
.heritage-light:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 50%,#0b0d0e9c)}
.heritage-light figcaption{position:absolute;z-index:1;left:30px;bottom:30px;color:#f3efe5;font:italic 38px var(--serif)}
.heritage-light figcaption span{display:block;font:11px var(--sans);margin-top:8px;color:#eee7d7}
.heritage-universes{padding-block:100px 88px;border-block:1px solid var(--border)}
.heritage-section-head h2{font:400 clamp(42px,4.5vw,68px)/1.04 var(--serif);letter-spacing:-.025em;margin:22px 0}
.heritage-section-head>p{font-size:14px}
.heritage-universe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:48px}
.heritage-universe-image{display:block;position:relative;aspect-ratio:4/5;overflow:hidden;background:#171a18}
.heritage-universe-image picture,.heritage-universe-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .65s ease}
.heritage-universe-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0b0d0ebd,transparent 42%)}
.heritage-universe-image:hover img{transform:scale(1.04)}
.heritage-image-index{position:absolute;z-index:1;left:22px;bottom:22px;color:#f3efe5;font-size:13px;letter-spacing:.05em}
.heritage-image-arrow{position:absolute;z-index:1;bottom:19px;right:20px;display:grid;place-items:center;width:36px;height:36px;border:1px solid #f3efe57c;border-radius:50%;color:#f3efe5}
.heritage-universe h3{font:400 clamp(27px,2.6vw,38px)/1.12 var(--serif);letter-spacing:-.02em;margin-block:28px 17px;max-width:16ch}
.heritage-universe>p{font-size:13px;line-height:1.85;min-height:96px;max-width:38ch}
.heritage-service-links{margin-top:24px;border-top:1px solid var(--border)}
.heritage-service-links a{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;min-height:48px;border-bottom:1px solid var(--border)}
.heritage-service-links a:hover{color:var(--gold)}
.heritage-demo-note{font-size:11px;margin-top:35px;max-width:74ch;line-height:1.8}
.heritage-method{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding-block:110px}
.heritage-method h2{font:400 clamp(56px,6vw,88px)/.98 var(--serif);margin:25px 0;letter-spacing:-.025em}
.heritage-method>div>p{font-size:14px;max-width:37ch;line-height:1.85}.heritage-method .text-link{font-size:12px;margin-top:24px}
.heritage-method ol{list-style:none;margin:0;padding:0}
.heritage-method li{display:flex;align-items:baseline;gap:23px;border-bottom:1px solid var(--border);padding:24px 0}.heritage-method li:first-child{border-top:1px solid var(--border)}
.heritage-method li>span{font-size:11px;color:var(--gold)}.heritage-method h3{font:400 35px/1.1 var(--serif)}.heritage-method li p{font-size:12px;margin-top:10px}
.heritage-studio{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:9%;padding-block:30px 110px}
.heritage-studio-image{display:block;aspect-ratio:4/5;overflow:hidden}.heritage-studio-image img{display:block;width:100%;height:100%;object-fit:cover}
.heritage-studio h2{font:400 clamp(36px,3.5vw,54px)/1.1 var(--serif);letter-spacing:-.02em;margin-block:25px 28px}
.heritage-studio-text>p{font-size:14px;line-height:1.9;margin-bottom:19px;max-width:45ch}.heritage-studio .text-link{font-size:12px;margin-top:10px}
.heritage-faq{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-block:80px 100px;border-top:1px solid var(--border)}
.heritage-faq .faq{padding-top:18px}.heritage-faq .faq summary{font-size:13px}.heritage-faq .faq p{font-size:13px;line-height:1.85}
.heritage-closing{text-align:center;padding-block:100px 110px;border-top:1px solid var(--border)}
.heritage-closing h2{font:400 clamp(60px,6.5vw,98px)/.99 var(--serif);margin-block:25px 27px;letter-spacing:-.025em}.heritage-closing>p{font-size:14px}.heritage-closing .button{font-size:13px;margin-top:30px}.heritage-mail{display:block;font-size:12px;margin:18px auto 0;width:fit-content;min-height:44px;padding:10px 0}
.page-hero.has-heritage{display:grid;grid-template-columns:1.22fr 1fr;column-gap:9%;align-items:center;position:relative;min-height:540px}
.page-hero.has-heritage>.eyebrow,.page-hero.has-heritage>h1,.page-hero.has-heritage>.lead,.page-hero.has-heritage>.button{grid-column:1}
.page-hero.has-heritage>h1{font-size:clamp(44px,5.5vw,78px);line-height:1.03}.page-hero.has-heritage>.lead{font-size:16px;line-height:1.85}.page-hero.has-heritage>.button{justify-self:start}
.page-hero-image{grid-column:2;grid-row:1/6;align-self:stretch;min-height:400px;display:block;overflow:hidden}.page-hero-image img{display:block;width:100%;height:100%;object-fit:cover}
.page-home .footer{background:var(--surface)}
.gps-journey:not([data-journey-ready=true]) .gps-actions,.gps-journey:not([data-journey-ready=true]) .gps-intro>button,.gps-journey:not([data-journey-ready=true]) .gps-progress,.gps-journey:not([data-journey-ready=true]) .gps-result-actions button,.gps-journey:not([data-journey-ready=true]) .gps-own-words{display:none}
.gps-journey:not([data-journey-ready=true]) .gps-intro-photo{display:none}
@media(min-width:1600px){.heritage-intro,.heritage-universes,.heritage-method,.heritage-studio,.heritage-faq,.heritage-closing{padding-inline:136px}}
@media(max-width:1000px){.gps-intro h1{font-size:clamp(57px,7vw,76px)}.heritage-intro,.heritage-universes,.heritage-method,.heritage-studio,.heritage-faq,.heritage-closing{padding-inline:5.5vw}.heritage-universe-grid{gap:20px}.heritage-universe>p{min-height:125px}.page-hero.has-heritage{column-gap:5%}}
@media(max-width:767px){
 .gps-intro-photo{inset:0 -25% 0 15%;opacity:0}.gps-intro-photo:after{background:linear-gradient(90deg,rgba(var(--background-rgb),.98),rgba(var(--background-rgb),.6) 65%,rgba(var(--background-rgb),.25)),linear-gradient(0deg,rgba(var(--background-rgb),.92),transparent 28%)}
 .gps-intro-photo figcaption{display:none}.gps-journey[data-guide-current=intro] .gps-topline>[data-guide-progress]{color:var(--muted);text-shadow:none}
 .gps-intro h1{font-size:clamp(38px,12vw,74px);line-height:1.04;margin-top:22px}.gps-intro-copy{font-size:14px;line-height:1.8;margin-block:22px 24px}.gps-intro .gps-primary{font-size:12px}.gps-scroll-cue{font-size:10px;margin-top:15px}.gps-direct-link{font-size:11px;margin-top:4px}.gps-journey[data-journey-ready=true] .gps-intro .gps-signature{margin-top:15px;font-size:24px}
 .gps-panel h2{font-size:38px}.gps-choice strong{font-size:12px}.gps-choice small{font-size:10px}.gps-selection-hint{font-size:9px}.gps-focus{font-size:11px}
 .heritage-intro,.heritage-universes,.heritage-method,.heritage-studio,.heritage-faq,.heritage-closing{padding-inline:6vw}
 .heritage-intro{grid-template-columns:1fr;gap:35px;padding-block:66px}.heritage-intro h2{font-size:85px;margin-block:23px 27px}.heritage-lead{font-size:19px}.heritage-intro-text>p:not(.heritage-lead){font-size:14px;max-width:none}.heritage-light{min-height:0;aspect-ratio:4/5}.heritage-light figcaption{left:24px;bottom:24px;font-size:35px}
 .heritage-universes{padding-block:60px 50px}.heritage-section-head h2{font-size:43px}.heritage-universe-grid{grid-template-columns:1fr;gap:44px;margin-top:35px}.heritage-universe-image{aspect-ratio:5/4}.heritage-universe h3{font-size:34px;max-width:20ch;margin-top:23px}.heritage-universe>p{min-height:0;max-width:none;font-size:14px}.heritage-service-links{margin-top:22px}.heritage-service-links a{font-size:12px}.heritage-demo-note{margin-top:30px;font-size:11px}
 .heritage-method{grid-template-columns:1fr;gap:35px;padding-block:65px}.heritage-method h2{font-size:65px}.heritage-method h3{font-size:32px}.heritage-method li p{font-size:12px}
 .heritage-studio{grid-template-columns:1fr;gap:32px;padding-block:0 65px}.heritage-studio-image{aspect-ratio:5/4}.heritage-studio h2{font-size:38px}.heritage-studio-text>p{font-size:14px}
 .heritage-faq{grid-template-columns:1fr;gap:10px;padding-block:55px}.heritage-faq .faq{padding-top:0}.heritage-faq .faq summary{font-size:14px}
 .heritage-closing{padding-block:65px 70px}.heritage-closing h2{font-size:59px}.heritage-closing>p{font-size:13px}
 .page-hero.has-heritage{display:block;min-height:0}.page-hero.has-heritage>h1{font-size:52px}.page-hero-image{min-height:0;aspect-ratio:5/3;margin-top:30px}
}
@media(prefers-reduced-motion:reduce){.gps-intro-photo,.heritage-universe-image img{transition:none}}

/* A readable, non-interactive alternative when scripts are unavailable. */
.gps-journey:not([data-journey-ready=true]) .gps-choices input,.gps-journey:not([data-journey-ready=true]) .gps-key,.gps-journey:not([data-journey-ready=true]) .gps-check{display:none}
.gps-journey:not([data-journey-ready=true]) .gps-choice{pointer-events:none;cursor:default}
.gps-journey:not([data-journey-ready=true]) .gps-world,.gps-journey:not([data-journey-ready=true]) .gps-scene-wash,.gps-journey:not([data-journey-ready=true]) .gps-topline{display:none}
.gps-journey:not([data-journey-ready=true]) .gps-panels{margin-inline:auto;width:min(640px,88vw);padding-block:55px}

section[id]{scroll-margin-top:90px}
@media(max-width:767px){section[id]{scroll-margin-top:76px}}
