/* Lantern v6: warm light, deep tidal greens, and directional scene choreography. */
:root{--ink:#13263a;--deep:#0c1828;--paper:#f8f6f1;--sand:#e7efef;--teal:#2f7f7a;--gold:#9f8ac7;--muted:#4f6070;--aqua:#79c8bc;--arrival:cubic-bezier(.16,1,.3,1);--spring:cubic-bezier(.2,1.25,.4,1)}
body{overflow-x:clip}
/* Contain off-screen entrances without creating a scroll container or breaking sticky copy. */
main{overflow-x:clip}
.header{background:#f8f8f5f2;backdrop-filter:blur(16px)}
.header:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,#399c96,var(--gold));transform:scaleX(var(--reading-progress,0));transform-origin:left;pointer-events:none}
.hero-shade{background:linear-gradient(90deg,#06272fee 0%,#083238bd 35%,#06303915 78%),linear-gradient(0deg,#082a32cc,transparent 50%)}
.hero h1{max-width:1050px;letter-spacing:-.015em;line-height:1.08}
.headline-line{display:block}
.hero h1 em,.page-hero h1 em{color:#9fded5;background:linear-gradient(105deg,#79c8bc 10%,#8aa9d6 52%,#b9abd5);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.hero .eyebrow{display:inline-block;border:1px solid #fff3;border-radius:100px;padding:9px 16px;background:#092e3770;backdrop-filter:blur(8px)}
.location-strip{background:linear-gradient(105deg,#0c2538,#224e5a);color:#dce9e7;border-top:1px solid #bce5d626}
.intro h2 em,.partners h2 em{color:#227976}
.section-marker{color:#286c69}.section-marker div{background:linear-gradient(90deg,#398d83,var(--gold),transparent)}
.program-intro{border-left:3px solid #65b3a3;padding-left:22px}
.principles{gap:16px;perspective:1200px}
.principles>div{position:relative;padding:30px 24px;border:1px solid #cfddd1;border-radius:8px;background:linear-gradient(135deg,#f7faf3,#e8f1e8);box-shadow:0 9px 25px #163e3610}
.principles>div:nth-child(2){background:#daeae6}.principles>div:nth-child(3){background:#e8e6f0;border-color:#d0c9df}.principles>div:nth-child(4){background:linear-gradient(135deg,#153f49,#30375c);border-color:#284f59;color:#f5f7f6}.principles>div:nth-child(4) p{color:#d3e1dc}
.values-line{border:0;padding:23px 26px;background:#ecf0e7;border-radius:4px;color:#315950}
.homes{position:relative;background:radial-gradient(ellipse at 100% 0,#d6e7e5,transparent 52%),linear-gradient(135deg,#f3f6f5,#e9e8f1);isolation:isolate}
.homes:before{content:'';position:absolute;inset:20px 25px auto auto;width:230px;height:230px;border:1px solid #739d8a38;border-radius:50%;box-shadow:0 0 0 32px #739d8a0d,0 0 0 65px #739d8a08;z-index:-1;pointer-events:none}
.home-grid{gap:24px;perspective:1400px}
.home-card{padding:14px 14px 24px;background:#fafbfa;border:1px solid #ffffffb8;border-radius:12px;box-shadow:0 15px 38px -26px #173f3c88}
.home-photo{margin-bottom:24px;border-radius:7px;overflow:hidden;background:#276c6b;isolation:isolate}
.home-photo:after{content:'';position:absolute;inset:0;background:var(--aqua);pointer-events:none;transform:scaleX(0);transform-origin:right;z-index:2}
.home-card:nth-child(2) .home-photo:after{background:var(--gold);transform-origin:bottom}
.home-card:nth-child(3) .home-photo:after{background:#408c86;transform-origin:left}
.home-card>.eyebrow,.home-card>h3,.home-card>p{margin-left:12px;margin-right:12px}
.home-card h3{font-size:27px}.home-card .circle-arrow{background:#fffaf0;box-shadow:0 5px 15px #09272f30}
.support{position:relative;isolation:isolate;background:radial-gradient(ellipse at 0% 30%,#245e60 0%,transparent 65%),linear-gradient(135deg,#092931,#103b43);border-block:1px solid #4b7d73}
.support:before{content:'';position:absolute;left:-220px;top:90px;width:480px;height:480px;border-radius:50%;border:1px solid #cfe7d51f;box-shadow:0 0 0 45px #cfe7d508,0 0 0 90px #cfe7d505;z-index:-1;pointer-events:none}
.support-title h2 em{color:#f4c780}.support-title p:not(.eyebrow){color:#d0e2dc}
.support-list article{padding:27px 24px;margin-bottom:12px;border:1px solid #88b4ac35!important;background:linear-gradient(115deg,#ffffff0c,#ffffff02);border-radius:6px}
.support-list article:nth-child(even){border-left:3px solid #79c8bc!important}.support-list article:nth-child(odd){border-left:3px solid #9f8ac7!important}
.steps{gap:24px}.steps article{position:relative;padding:28px;border:1px solid #d5dfdd;background:#f1f4f3;border-radius:8px}.steps article:nth-child(2){background:#e1eeeb}.steps article:nth-child(3){background:#eae7f1;border-color:#d4cde1}
.steps article>span{font-weight:600;font-size:45px;margin-bottom:25px;color:#25716c}.steps article:after{content:'';position:absolute;inset:0 auto auto 0;height:4px;width:100%;background:linear-gradient(90deg,#72b9a9,var(--gold));border-radius:8px 8px 0 0;transform-origin:left}
.faq{background:linear-gradient(120deg,#d6e8dd,#edf0e5)}.questions details{border-color:#abc8b8}.questions details[open]{background:#ffffff65;border-radius:4px}.questions details[open] .answer{padding:0 20px 8px}.questions details[open] summary{padding-inline:20px;color:#185a57}
.partner-options article{padding:24px!important;margin-bottom:16px;border:1px solid #d1ddd4!important;border-radius:6px;background:linear-gradient(100deg,#f4f7ef,#e8f0e8)}
.resident-summary{position:relative;margin-bottom:65px;padding:52px!important;background:linear-gradient(110deg,#e1efed,#ece8f3);border:1px solid #c8d9d7;border-radius:8px;box-shadow:12px 12px 0 #c7dce0}
.resident-summary:before{content:'';position:absolute;left:0;top:0;bottom:0;width:5px;background:#ba8c45;border-radius:8px 0 0 8px}
.closing{position:relative;isolation:isolate;overflow:clip;background:linear-gradient(115deg,#0b303a,#185653 80%,#286c60);padding-block:110px}
.closing:before,.closing:after{content:'';position:absolute;right:-12%;top:-50%;width:650px;height:650px;border:1px solid #c7e3d044;border-radius:50%;z-index:-1;pointer-events:none}
.closing:after{right:-5%;top:-35%;background:radial-gradient(circle,#a99bd71c,transparent 65%);border-color:#a99bd766;box-shadow:0 0 0 45px #79c8bc10}
.closing h2{max-width:920px}.closing h2 em{color:#f6c981}
.page-hero{position:relative;isolation:isolate;overflow:clip;background:radial-gradient(ellipse at 100% 20%,#28716c66,transparent 55%),linear-gradient(115deg,#092b35,#15454c);padding-bottom:90px}
.page-hero:before{content:'';position:absolute;width:430px;height:430px;right:-80px;top:-190px;border:1px solid #a3d5c032;border-radius:50%;box-shadow:0 0 0 40px #a3d5c00a,0 0 0 80px #a3d5c006;z-index:-1}
.page-hero:after{content:'';position:absolute;bottom:0;left:0;height:5px;width:100%;background:linear-gradient(90deg,#6db7a7,var(--gold),transparent);transform-origin:left}
.content-section{padding:0 0 0 26px;border-left:2px solid #a4c7b4}.content-section:nth-child(even){border-color:#dcb16e}.content-section h2{color:#175754}
.note{background:#edf0e4;border-color:#397f70;border-radius:0 6px 6px 0}
.property-story{gap:65px}.gallery-frame{position:relative;overflow:hidden;border-radius:8px;background:#3e8e82;box-shadow:14px 14px 0 #dce8d9;isolation:isolate}.gallery-frame>img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.gallery-frame:after{content:'';position:absolute;inset:0;background:var(--gold);transform:scaleX(0);transform-origin:right;pointer-events:none}
.property-story:nth-child(even) .gallery-frame{order:2;box-shadow:-14px 14px 0 #ece0c9}.property-story:nth-child(even) .gallery-frame:after{background:var(--aqua);transform-origin:left}
.button{position:relative;isolation:isolate;overflow:hidden;border-radius:5px;background:linear-gradient(110deg,#79c8bc,#a99bd7);box-shadow:0 4px 0 #193c5930}
.button.compact{background:linear-gradient(100deg,#123c47,#25675f)}
.button:before{content:'';position:absolute;inset:0;z-index:-1;background:#ffffff38;transform:translateX(-110%) skewX(-20deg);transition:transform .6s var(--arrival)}
.button:hover:before,.button:focus-visible:before{transform:translateX(0)}
.button span,.text-link span{display:inline-block}.brand-emblem{transition:transform .65s var(--spring),filter .65s}
.brand-lockup:hover .brand-emblem{transform:rotate(-9deg) scale(1.07);filter:drop-shadow(0 4px 8px #226c6b33)}
@media(max-width:800px){.property-story:nth-child(even) .gallery-frame{order:0}.home-card{display:block}.home-photo{margin-bottom:24px}.home-card{max-width:620px;margin-inline:auto;width:100%}.support-list article{padding:24px 20px}.resident-summary{padding:32px!important}.closing{padding-block:80px}.page-hero{padding-bottom:65px}}
@media(max-width:540px){.hero .eyebrow{font-size:10px;padding:8px 11px}.principles>div{padding:25px}.steps article{padding:26px 24px 26px 70px}.steps article>span{left:22px;top:23px;font-size:30px}.content-section{padding-left:18px}.property-story{gap:40px}.hero h1{font-size:clamp(36px,9.3vw,49px)}}

@media(prefers-reduced-motion:no-preference){
  .motion-ready .reveal{--dx:0px;--dy:0px;--turn:0deg;--zoom:1;opacity:0;transform:translate3d(var(--dx),var(--dy),0) rotate(var(--turn)) scale(var(--zoom));transition:transform 1.35s var(--arrival),opacity .75s ease,clip-path 1.25s var(--arrival);transition-delay:var(--delay,0ms);will-change:auto}
  .motion-ready .reveal[data-motion=left]{--dx:-150px}
  .motion-ready .reveal[data-motion=right]{--dx:150px}
  .motion-ready .reveal[data-motion=rise]{--dy:75px}
  .motion-ready .reveal[data-motion=zoom]{--zoom:.82;--dy:20px}
  .motion-ready .reveal[data-motion=fan-left]{--dx:-65px;--dy:25px;--turn:-8deg;transform-origin:left bottom}
  .motion-ready .reveal[data-motion=fan-right]{--dx:65px;--dy:25px;--turn:8deg;transform-origin:right bottom}
  .motion-ready .reveal[data-motion=step]{--dx:-100px;--dy:25px;--turn:-3deg}
  .motion-ready .reveal[data-motion=wipe]{clip-path:inset(0 100% 0 0);opacity:1}
  .motion-ready .reveal[data-motion=line]{--dx:-40px}
  .motion-ready .reveal.visible{opacity:1;transform:none;clip-path:inset(-40px -40px -40px -40px)}
  .hero-enter{animation:none}.hero h1,.page-hero h1{animation:none}
  .headline-line{animation:headline-left 1.45s var(--arrival) both;animation-delay:calc(.18s + var(--line-index)*.2s)}
  .headline-line:nth-child(even){animation-name:headline-right}
  .hero .eyebrow{animation:headline-left 1.2s var(--arrival) .1s both}
  .hero-description{animation:headline-right 1.4s var(--arrival) .35s both}
  .hero .actions{animation:headline-left 1.3s var(--arrival) .5s both}
  .hero-image{animation:image-arrival 1.9s var(--arrival) both}
  .hero:after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,#092b35,#246c64);z-index:3;pointer-events:none;animation:diagonal-open 1.2s var(--arrival) both}
  .page-hero .eyebrow,.page-hero .page-intro{animation:headline-left 1.3s var(--arrival) .2s both}
  .page-hero:after{animation:draw-line 1.8s var(--arrival) both}
  .page-hero:before{animation:orbit-arrival 2s var(--arrival) both}
  .motion-ready .section-marker div{transform:scaleX(0);transform-origin:left;transition:transform 1.7s var(--arrival) .15s}
  .motion-ready .section-marker.visible div{transform:scaleX(1)}
  .motion-ready .home-photo:after,.motion-ready .gallery-frame:after{transform:scaleX(1);transition:transform 1.4s var(--arrival);transition-delay:calc(var(--delay,0ms) + .12s)}
  .motion-ready .home-card.visible .home-photo:after,.motion-ready .gallery-frame.visible:after{transform:scaleX(0)}
  .motion-ready .home-card:nth-child(2) .home-photo:after{transform:scaleY(1)}
  .motion-ready .home-card.visible:nth-child(2) .home-photo:after{transform:scaleY(0)}
  .motion-ready .home-photo img,.motion-ready .gallery-frame img{scale:1.16;transition:scale 1.8s var(--arrival)}
  .motion-ready .visible .home-photo img,.motion-ready .gallery-frame.visible img{scale:1}
  .steps article:after{transform:scaleX(0);transition:transform 1.4s var(--arrival) .3s}.steps article.visible:after{transform:scaleX(1)}
  .home-photo{transition:transform .55s var(--spring),box-shadow .55s}.home-photo img{transition:transform 1s var(--arrival)}
  .button{transition:transform .4s var(--spring),box-shadow .4s}.button:hover{transform:translateY(-5px);box-shadow:0 12px 24px #09272f30}.button:hover span{transform:translate(7px,-5px)}
  .text-link span{transition:transform .4s var(--spring)}.text-link:hover span{transform:translate(8px,-3px) rotate(10deg)}
  .questions details[open] .answer{animation:answer-slide .5s var(--arrival)}
  .questions summary{transition:color .3s,padding .4s}.questions summary:hover{padding-left:12px;color:#21695f}
  @media(hover:hover) and (pointer:fine){.home-card:hover .home-photo{transform:perspective(800px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-7px);box-shadow:0 18px 28px -18px #0e373a88}.home-card:hover img{transform:scale(1.09)}.home-card:hover .circle-arrow{transform:rotate(45deg) scale(1.15)}}
  @media(max-width:1050px){.header nav.open{animation:menu-sweep .65s var(--arrival) both}.header nav.open>a{animation:headline-right .65s var(--arrival) both;animation-delay:var(--menu-delay)}}
  @media(max-width:600px){.motion-ready .reveal[data-motion=left]{--dx:-64px}.motion-ready .reveal[data-motion=right]{--dx:64px}.motion-ready .reveal[data-motion=fan-left]{--dx:-45px;--turn:-4deg}.motion-ready .reveal[data-motion=fan-right]{--dx:45px;--turn:4deg}.motion-ready .reveal[data-motion=step]{--dx:-64px}.motion-ready .reveal[data-motion=zoom]{--zoom:.92}.motion-ready .reveal{transition-duration:1.05s,.6s,1s}}
  @keyframes headline-left{from{opacity:0;transform:translateX(-100px);clip-path:inset(0 100% 0 0)}to{opacity:1;transform:none;clip-path:inset(-10% -5% -10% -5%)}}
  @keyframes headline-right{from{opacity:0;transform:translateX(100px)}to{opacity:1;transform:none}}
  @keyframes diagonal-open{from{clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}to{clip-path:polygon(100% 0,100% 0,100% 0,100% 0)}}
  @keyframes image-arrival{from{scale:1.15;filter:brightness(.65)}to{scale:1;filter:brightness(1)}}
  @keyframes draw-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}
  @keyframes orbit-arrival{from{transform:translate(100px,-80px) scale(.6);opacity:0}to{transform:none;opacity:1}}
  @keyframes menu-sweep{from{clip-path:inset(0 0 0 100%);opacity:0}to{clip-path:inset(0);opacity:1}}
  @keyframes answer-slide{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}
}
@media(prefers-reduced-motion:reduce){.motion-ready .reveal{opacity:1!important;transform:none!important;clip-path:none!important}.hero:after,.home-photo:after,.gallery-frame:after{display:none}.headline-line{animation:none}.brand-lockup:hover .brand-emblem,.button:hover,.home-card:hover .home-photo{transform:none!important}.home-photo img,.gallery-frame img{scale:1!important}.steps article:after{transform:none}}
