/* v10: owner-selected hero typography and level opening photo. */
.layered-hero{min-height:790px;height:calc(100svh - 134px);max-height:1120px;background:#092e37;isolation:isolate}
.layered-hero:after{display:none!important}
.hero-ambient{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 88% 12%,#8f80c54d,transparent 43%),radial-gradient(ellipse at 8% 84%,#54b5aa40,transparent 50%),linear-gradient(135deg,#0b1728 0%,#123942 54%,#202746 100%)}
.hero-word{position:absolute;z-index:1;left:-.03em;bottom:-.22em;white-space:nowrap;font-weight:750;font-size:clamp(150px,20vw,360px);line-height:1;color:transparent;-webkit-text-stroke:1px #adddcb20;letter-spacing:-.035em;pointer-events:none}
.hero-linework{position:absolute;z-index:1;width:800px;height:800px;max-width:none;right:-125px;top:-150px;opacity:.7;pointer-events:none}
.hero-photo-plane{position:absolute;z-index:2;right:-3%;top:17%;width:55%;height:68%;border:1px solid #c4e1c577;border-radius:180px 18px 18px 18px;overflow:hidden;box-shadow:-28px 28px 0 #4c928223,0 28px 60px #031c3977;transform:none;background:#174348}
.layered-hero .hero-image{position:absolute;inset:0;width:100%;height:100%;z-index:0;object-fit:cover;object-position:55% center;animation:none;will-change:auto}
.hero-photo-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0b313dd9,transparent 60%),linear-gradient(0deg,#082e3ac2,transparent 44%);z-index:1}
.photo-caption{position:absolute;z-index:2;right:9%;bottom:7%;font-size:15px;color:#f8f2e7;text-align:right;line-height:1.5}
.photo-caption>span{display:block;font-size:11px;letter-spacing:.17em;color:#9ed8d0;margin-bottom:5px;font-weight:650}
.layered-hero .hero-content{position:relative;z-index:4;padding-top:36px;padding-bottom:65px;width:min(1440px,88%);pointer-events:none}
.layered-hero .hero-content a{pointer-events:auto}
.layered-hero h1{max-width:710px;margin:0 0 24px;line-height:1;text-shadow:0 4px 28px #092d3780}
.layered-hero .hero-thriving{display:block;font-family:'Nunito','Source Sans 3',sans-serif;font-size:clamp(78px,8.4vw,136px);font-weight:800;line-height:.9;letter-spacing:.055em;color:#fff8e9}
.layered-hero .hero-surviving{display:block;margin-top:17px;font-family:'Chonburi',Georgia,serif;font-size:clamp(33px,3.45vw,56px);font-weight:400;line-height:1.15;letter-spacing:0;color:#91d5cb;background:linear-gradient(90deg,#9fddd3 0%,#78bec5 52%,#b4a2d5 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:none}
.layered-hero .hero-service{margin:30px 0 7px;font-family:'Nunito','Source Sans 3',sans-serif;font-size:clamp(25px,2.15vw,34px);font-weight:700;line-height:1.2;color:#f8f2e7}
.layered-hero .hero-locations{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0;font-family:'JetBrains Mono',monospace;font-size:clamp(13px,1.05vw,17px);font-weight:100;letter-spacing:.02em;color:#d7e7e1}
.layered-hero .hero-locations i{font-style:normal;color:#9f8ac7}
.layered-hero .hero-bottom{z-index:5;bottom:30px;color:#cde2d7;border-top:1px solid #b4dacc33;padding-top:20px;pointer-events:none}.layered-hero .hero-bottom a{pointer-events:auto}
.layered-hero .hero-bottom>span{font-size:10px;letter-spacing:.18em}

/* Persistent wayfinding: the long page behaves like a story with an always-available index. */
.journey-nav{position:fixed;right:20px;top:50%;translate:0 -50%;z-index:24;display:grid;width:76px;background:#0c1828eb;color:#f8f6f1;border:1px solid #94c6bf42;border-radius:999px;box-shadow:0 18px 55px #06111e3d;backdrop-filter:blur(18px);overflow:hidden}
.journey-index-toggle,.journey-controls a,.journey-top{appearance:none;border:0;background:transparent;color:inherit;font:700 11px/1 'Nunito',sans-serif;letter-spacing:.04em;text-align:center;cursor:pointer}
.journey-index-toggle{display:grid;place-items:center;gap:8px;padding:17px 8px 14px;border-bottom:1px solid #ffffff1b}
.journey-grid{display:grid;grid-template-columns:repeat(2,4px);gap:3px}.journey-grid i{display:block;width:4px;height:4px;background:#79c8bc;border-radius:50%}
.journey-position{display:grid;place-items:center;gap:4px;padding:14px 5px;color:#d8e6e4}.journey-current-number{font:400 14px/1 'Chonburi',serif;color:#b9abd5;white-space:nowrap}.journey-current-label{max-width:64px;font:100 9px/1.2 'JetBrains Mono',monospace;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.journey-controls{display:grid;grid-template-columns:1fr 1fr;border-block:1px solid #ffffff1b}.journey-controls a{display:grid;place-items:center;min-height:36px;font-size:16px}.journey-controls a+a{border-left:1px solid #ffffff1b}.journey-controls a:hover,.journey-index-toggle:hover,.journey-top:hover{background:#79c8bc22;color:#9fded5}
.journey-top{display:block;padding:13px 4px 15px;opacity:0;pointer-events:none;translate:0 8px;transition:opacity .25s,translate .25s,background .2s}.journey-nav.has-scrolled .journey-top{opacity:1;pointer-events:auto;translate:0}
.journey-panel{position:fixed;z-index:31;top:0;right:0;width:min(470px,92vw);height:100dvh;padding:34px;background:linear-gradient(155deg,#0b1728 0%,#143f49 63%,#2d3153 100%);color:#f8f6f1;box-shadow:-30px 0 80px #06111e55;translate:105% 0;transition:translate .55s cubic-bezier(.16,1,.3,1);overflow:auto}
.journey-panel.open{translate:0}.journey-panel-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;padding-bottom:28px;border-bottom:1px solid #ffffff2b}.journey-panel-head>div{display:grid;gap:5px}.journey-panel-head span{font:100 11px/1.2 'JetBrains Mono',monospace;letter-spacing:.12em;color:#9fded5}.journey-panel-head strong{font:800 clamp(27px,4vw,38px)/1.1 'Nunito',sans-serif}.journey-close{border:1px solid #ffffff42;border-radius:50%;width:43px;height:43px;background:transparent;color:white;font-size:27px;cursor:pointer}.journey-close:hover{background:#ffffff14}
.journey-panel-links{display:grid;margin:16px 0}.journey-panel-links a{display:grid;grid-template-columns:35px 1fr auto;gap:12px;align-items:center;padding:13px 4px;border-bottom:1px solid #ffffff1f;color:#dce9e7;font:700 16px/1.25 'Nunito',sans-serif}.journey-panel-links a::before{content:attr(data-number);font:100 11px/1 'JetBrains Mono',monospace;color:#9fded5}.journey-panel-links a::after{content:'↘';color:#b9abd5;transition:translate .2s}.journey-panel-links a:hover,.journey-panel-links a[aria-current=location]{color:white}.journey-panel-links a:hover::after{translate:4px 4px}.journey-panel-links a[aria-current=location]{background:linear-gradient(90deg,#79c8bc20,transparent)}
.journey-panel-actions{display:flex;justify-content:space-between;gap:20px;padding-top:20px;font:700 13px/1.3 'Nunito',sans-serif}.journey-panel-actions a{border-bottom:1px solid #ffffff55;padding-bottom:5px}
.journey-scrim{position:fixed;z-index:30;inset:0;border:0;background:#06111e80;opacity:0;pointer-events:none;transition:opacity .35s}.journey-scrim.open{opacity:1;pointer-events:auto}
body.index-open{overflow:hidden}
/* v16: simple Index / arrows / Top controls; no tiny counters or section names. */
@media(min-width:1051px){
  .journey-nav{width:82px;right:16px;background:linear-gradient(165deg,#193d49 0%,#101e33 55%,#333755 100%);border:1px solid #a1dacfaa;box-shadow:0 0 0 4px #10233720,0 18px 50px #06111e66,inset 0 1px 0 #ffffff20}
  .journey-index-toggle,.journey-top{font-size:16px;font-weight:800;letter-spacing:.01em;line-height:1.2}
  .journey-index-toggle{gap:12px;padding:25px 8px 23px;background:linear-gradient(180deg,#8ce0ce22,transparent)}
  .journey-grid{grid-template-columns:repeat(2,6px);gap:4px}.journey-grid i{width:6px;height:6px;background:#b3f0e2;border-radius:2px}
  .journey-controls{grid-template-columns:1fr}
  .journey-controls a{min-height:64px;font-size:26px}
  .journey-controls a+a{border-left:0;border-top:1px solid #ffffff1b}
  .journey-top{padding:23px 4px 26px;background:linear-gradient(180deg,transparent,#a69ad52b)}
  .journey-index-toggle:hover,.journey-controls a:hover,.journey-top:hover{background:#9cdec733;color:#fff}
  .journey-index-toggle:focus-visible,.journey-controls a:focus-visible,.journey-top:focus-visible{outline:3px solid #b9f5e7;outline-offset:-5px;border-radius:8px}
}
.difference-flow{position:relative;background:linear-gradient(145deg,#edf3f0 0%,#eeeaf4 100%);isolation:isolate;overflow:clip}
.difference-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}
.difference-heading{position:relative}.difference-heading>h2{font-size:clamp(44px,4.8vw,68px);line-height:1.08;margin-bottom:30px}.difference-heading h2 em{color:#24736c}.difference-heading>.lead{font-weight:650;color:#123f43;font-size:25px;margin-bottom:15px}.difference-heading>p:not(.lead){max-width:490px;color:#405d5b}
.difference-art{position:absolute;width:600px;height:600px;max-width:none;left:-270px;top:100px;z-index:-1;opacity:.23;pointer-events:none;filter:brightness(.65)}
.difference-points article{display:grid;grid-template-columns:34px 1fr;gap:20px;padding:24px 0;border-top:1px solid #a6c1b4}.difference-points article:last-child{border-bottom:1px solid #a6c1b4}.difference-points article>span{color:#347d6d;font-size:32px;line-height:1}.difference-points h3{font-size:25px;margin-bottom:12px}.difference-points p{margin:0;font-size:17px;color:#435d5c}
.costs-flow{position:relative;background:radial-gradient(circle at 90% 10%,#8978b64a,transparent 38%),linear-gradient(125deg,#10263b 0%,#174d53 58%,#253052 100%);color:#fff9ed;isolation:isolate;overflow:clip}
.costs-flow:after{content:'';position:absolute;inset:auto -100px -200px auto;width:700px;height:700px;z-index:-1;border:1px solid #d9be8744;border-radius:50%;box-shadow:0 0 0 60px #bdddc110,0 0 0 120px #bdddc108}
.costs-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.costs-grid h2{font-size:clamp(44px,4.8vw,68px);line-height:1.1;margin-bottom:30px}.costs-grid h2 em{color:#9ed8d0}.costs-grid .eyebrow{color:#b9abd5}.costs-grid .lead{color:#f2f0ea;font-size:23px}.costs-grid>div>p:not(.eyebrow,.lead){color:#d2e2dd;max-width:495px}
.inclusions-card{padding:45px;background:#fff9ed;color:#143d42;border-radius:8px;box-shadow:16px 16px 0 #b6dac533;rotate:1.5deg}.inclusions-card .eyebrow{color:#377b6b}.inclusions-card h3{font-size:32px;line-height:1.15}.inclusions-card ul{padding-left:22px;margin:25px 0}.inclusions-card li{padding-left:5px;margin-bottom:10px}.costs-grid .inclusions-card>p:not(.eyebrow){color:#4b6460;font-size:16px}.inclusions-card .text-link{font-size:15px}
.contact-flow{background:linear-gradient(145deg,#e6f0ed 0%,#ede9f3 100%);border-top:1px solid #b7c9cb}.contact-flow h2 em{color:#5e769e}.contact-flow-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.contact-tile{display:flex;flex-direction:column;gap:18px;padding:32px 26px;min-width:0;border-top:3px solid #7ebcb5;background:#fbfaf6;border-radius:6px;box-shadow:0 10px 35px #1b514410}.contact-tile:nth-child(2){background:linear-gradient(135deg,#173e4e,#31375f);color:#f8f2df;border-color:#9ed9c4}.contact-tile:nth-child(3){background:linear-gradient(145deg,#e6ddf0,#d5e8e5);border-color:#9f8ac7}.contact-tile>.eyebrow{font-size:11px}.contact-tile>strong{font-size:clamp(23px,2.2vw,32px);line-height:1.2;font-weight:650}.contact-tile>span:last-child{font-size:15px;overflow-wrap:anywhere}.contact-tile:hover{outline:2px solid #619b88;outline-offset:4px}
.header nav>a[aria-current=location]:not(.button):after{transform:scaleX(1)}
.chapter-index{padding-block:70px;display:grid;grid-template-columns:1fr 1.5fr;gap:65px}
.chapter-index h2{font-size:clamp(28px,3vw,40px);margin-bottom:18px}.chapter-index p{color:#425e5d}.chapter-index .eyebrow{color:#296b60;margin-bottom:16px}
.chapter-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-content:start}
.chapter-links a{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:12px 16px;border:1px solid #b8cabe;border-radius:5px;font-size:16px;background:#fffaf0;transition:background .2s,color .2s}
.chapter-links a:hover,.chapter-links a[aria-current=location]{background:linear-gradient(120deg,#1b4f55,#353b69);color:#fffaf0;border-color:#315b68}
.flow-sand{background:linear-gradient(145deg,#f2f0ea 0%,#e8efef 100%)}.flow-title{max-width:850px;margin-bottom:25px}.flow-intro{max-width:760px;font-size:21px;color:#425e5d}
.flow-extension{padding-top:75px}.flow-label{font-size:13px;letter-spacing:.1em;font-weight:700;border-top:1px solid currentColor;padding-top:28px;margin-bottom:32px;opacity:.85}
.flow-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;margin-top:35px;align-items:start;color:#153e43}
.flow-content>.content-section{max-width:none;min-width:0;margin:0;padding:32px;background:#fffaf0;border:1px solid #c4d3c7;border-top:3px solid #6b9e8c;border-radius:7px;box-shadow:0 12px 32px #123f4310}
.flow-content>.content-section:nth-child(even){border-top-color:#9f8ac7}
.flow-content h3{font-size:clamp(25px,2.2vw,32px);line-height:1.2;letter-spacing:0;margin:0 0 22px;color:#175754}
.flow-content h4{font-size:23px;line-height:1.25;font-weight:600;margin:0 0 12px;letter-spacing:0}
.flow-content p,.flow-content li,.flow-content dd{color:#425e5d;font-size:17px}.flow-content p:last-child{margin-bottom:0}
.flow-content p a:not(.button),.flow-content li a{text-decoration:underline;text-underline-offset:4px}.flow-content a{overflow-wrap:anywhere}
.flow-content .definition-list>div{grid-template-columns:1fr;gap:8px}.flow-content .definition-list{margin:0}
.flow-content>.property-stories,.flow-content>.contact-options{grid-column:1/-1;min-width:0}
.flow-content .property-story{margin-bottom:65px}.flow-content .property-story h3{font-size:clamp(30px,3vw,44px)}
.flow-content .contact-options{padding:32px;border-radius:7px;background:#fffaf0}
.flow-content .note{margin-top:24px}.flow-content .phase-list article:before{color:#286f64}
.flow-extension[id],.flow-chapter[id],.chapter-index[id]{scroll-margin-top:24px}
.flow-content .property-story[id]{scroll-margin-top:24px}
@media(max-width:800px){.chapter-index{grid-template-columns:1fr;gap:24px;padding-block:45px}.flow-content{grid-template-columns:1fr;gap:22px}.flow-extension{padding-top:45px}.flow-content>.content-section{padding:27px}.flow-content .property-story{gap:35px}.flow-intro{font-size:19px}}
@media(max-width:390px){.chapter-links{grid-template-columns:1fr}.flow-content>.content-section,.flow-content .contact-options{padding:24px}.chapter-links a{font-size:16px}}
@media(prefers-reduced-motion:no-preference){
  .layered-hero .hero-service{animation:headline-right 1.4s var(--arrival) .3s both}
  .layered-hero .hero-locations{animation:headline-left 1.4s var(--arrival) .4s both}
  /* Invisible elements reset instantly, and replay only after leaving the safety band. */
  .motion-ready .reveal:not(.visible){transition-duration:0s;transition-delay:0s}
  .layered-hero .hero-content{transform:translateY(calc(var(--scene-progress,0)*-70px))}
  .layered-hero .hero-photo-plane{transform:translate3d(calc(var(--scene-progress,0)*-30px),calc(var(--scene-progress,0)*115px),0) scale(calc(1 - var(--scene-progress,0)*.05))}
  .layered-hero .hero-linework{transform:translateY(calc(var(--scene-progress,0)*180px)) rotate(calc(-12deg + var(--scene-progress,0)*45deg))}
  .layered-hero .hero-word{transform:translateX(calc(var(--scene-progress,0)*-220px))}
  .difference-art{transform:translateY(calc(var(--drift,0)*-110px)) rotate(calc(var(--drift,0)*35deg))}
  .closing:before{transform:translateX(calc(var(--drift,0)*-120px))}.closing:after{transform:translateY(calc(var(--drift,0)*-95px))}
  .page-hero:before{translate:0 calc(var(--scene-progress,0)*90px)}
  .motion-ready .hero:not(.scene-visible) .headline-line,.motion-ready .hero:not(.scene-visible) .hero-enter:not(h1),.motion-ready .page-hero:not(.scene-visible) .headline-line{animation:none;opacity:0}
  .layered-hero .hero-photo-plane{clip-path:inset(-60px)}
  .motion-ready .layered-hero.scene-visible .hero-photo-plane{animation:photo-unfold 1.65s var(--arrival) both}
  @keyframes photo-unfold{from{opacity:0;clip-path:inset(0 0 100% 0)}to{opacity:1;clip-path:inset(-60px)}}
}
@media(min-width:1700px){.layered-hero .hero-photo-plane{right:3%;width:53%;top:12%;height:74%}.layered-hero .hero-content{max-width:1600px}}
@media(max-width:1100px) and (min-width:801px){.layered-hero{min-height:770px}.layered-hero .hero-photo-plane{width:60%;right:-13%;top:22%;height:65%}}
@media(max-width:800px){
  .layered-hero{height:auto;min-height:0;max-height:none;display:flex;flex-direction:column;align-items:stretch;padding-bottom:24px}
  .layered-hero .hero-content{order:1;padding-top:55px;padding-bottom:0;transform:none;pointer-events:auto}
  .layered-hero h1{max-width:650px;margin-bottom:22px}
  .layered-hero .hero-thriving{font-size:clamp(59px,14.5vw,104px)}.layered-hero .hero-surviving{font-size:clamp(27px,6.5vw,46px);margin-top:13px}
  .layered-hero .hero-service{font-size:clamp(23px,5vw,31px);margin-top:26px}.layered-hero .hero-locations{font-size:clamp(12px,2.6vw,15px);gap:8px 10px}
  .layered-hero .actions{margin-top:28px;gap:22px}
  .layered-hero .hero-photo-plane{order:2;position:relative;right:auto;top:auto;width:86%;height:320px;margin:45px auto 24px;border-radius:90px 12px 12px 12px;box-shadow:-12px 12px 0 #79b39320;transform:translateY(calc(var(--scene-progress,0)*30px))}
  .hero-photo-shade{background:linear-gradient(0deg,#082e3ace,transparent 65%)}.photo-caption{right:7%;bottom:7%;font-size:13px}.photo-caption>span{font-size:10px}
  .layered-hero .hero-linework{width:680px;height:680px;top:-180px;right:-330px;opacity:.42}
  .layered-hero .hero-word{font-size:150px;bottom:60px;left:-15px}
  .layered-hero .hero-bottom{order:3;position:relative;left:auto;bottom:auto;margin:22px auto 0;padding-top:22px}.layered-hero .hero-bottom>span{font-size:8px;letter-spacing:.08em;max-width:120px}
  .difference-grid,.costs-grid{grid-template-columns:1fr;gap:48px}.difference-heading>h2,.costs-grid h2{font-size:clamp(40px,7vw,55px)}.difference-points h3{font-size:23px}.difference-art{width:440px;height:440px;left:-190px;top:60px;opacity:.17}
  .inclusions-card{padding:30px;rotate:0deg;box-shadow:10px 10px 0 #b6dac533}.inclusions-card h3{font-size:29px}
  .contact-flow-grid{grid-template-columns:1fr}.contact-tile{padding:28px}.contact-tile>strong{font-size:30px}
}
@media(max-width:1050px){
  .journey-nav{right:50%;top:auto;bottom:14px;translate:50% 0;width:auto;grid-template-columns:auto auto auto;border-radius:999px;overflow:hidden}
  .journey-index-toggle{display:flex;padding:13px 17px;border:0;border-right:1px solid #ffffff1b}.journey-position{display:flex;gap:8px;padding:8px 14px}.journey-current-number{font-size:19px}.journey-current-label{max-width:130px;font-size:10px}.journey-controls{border-block:0;border-inline:1px solid #ffffff1b}.journey-controls a{min-width:40px;min-height:44px}.journey-top{padding:16px 15px;translate:8px 0}.journey-nav.has-scrolled .journey-top{translate:0}.footer{padding-bottom:82px}
}
@media(max-width:560px){.journey-nav{bottom:10px;max-width:calc(100vw - 20px)}.journey-index-toggle{padding-inline:14px}.journey-position{min-width:0;padding-inline:10px}.journey-current-label{max-width:92px}.journey-top{font-size:0;padding-inline:13px}.journey-top span{font-size:15px}.journey-panel{padding:25px 22px}.journey-panel-links a{font-size:15px}.journey-panel-actions{flex-direction:column;align-items:flex-start}}
@media(max-width:390px){.layered-hero .hero-thriving{font-size:clamp(49px,14.5vw,57px);letter-spacing:.035em}.layered-hero .hero-surviving{font-size:clamp(24px,7vw,28px)}.layered-hero .hero-locations{font-size:11px;gap:5px 7px}.layered-hero .hero-photo-plane{height:255px}.layered-hero .hero-content{padding-top:42px}.inclusions-card{padding:27px 23px}}
@media(prefers-reduced-motion:reduce){.hero-linework,.hero-word,.hero-photo-plane,.hero-content,.difference-art,.closing:before,.closing:after{transform:none!important;translate:none!important;animation:none!important}.hero-photo-plane{clip-path:none!important;opacity:1!important}.headline-line,.hero-enter{opacity:1!important}}

/* Font hierarchy based on the owner's Word study. */
h1,h2,h3,h4,.flow-title,.contact-tile>strong{font-family:'Nunito','Source Sans 3',sans-serif}
h1 em,h2 em,h3 em,.page-hero em{font-family:'Chonburi',Georgia,serif;font-weight:400}
.eyebrow,.section-marker,.flow-label,.photo-caption,.hero-bottom,.chapter-links{font-family:'JetBrains Mono',monospace}
.section-marker,.eyebrow,.flow-label{font-weight:100;letter-spacing:.08em}
.homes{background:linear-gradient(145deg,#e7efef 0%,#f2efe9 100%)}
.support{background:radial-gradient(circle at 0 0,#275867 0%,transparent 42%),linear-gradient(130deg,#102237,#1e2d49)}
.faq{background:linear-gradient(145deg,#e3efed,#ece9f2)}
.closing{background:radial-gradient(ellipse at 88% 100%,#6e5d984f 0%,transparent 58%),linear-gradient(125deg,#101f34,#17464d)}
.button:hover{background:linear-gradient(110deg,#9edbd2,#c0b4e4)}
