:root{--ink:#182522;--paper:#f2efe7;--sand:#ded4c0;--gold:#b78d3d;--green:#344b46;--white:#fff;--serif:'Italiana',serif;--sans:'Inter',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:300}img{display:block;width:100%}a{color:inherit;text-decoration:none}.nav{position:fixed;left:0;top:0;width:100%;height:92px;padding:14px 4vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;z-index:20;color:white;transition:.35s ease;border-bottom:1px solid rgba(255,255,255,.18)}.nav.scrolled,.nav-solid{background:rgba(20,31,29,.92);backdrop-filter:blur(12px)}.brand img{width:62px;height:62px;object-fit:contain}.nav-links{display:flex;gap:34px;font-size:12px;letter-spacing:.14em;text-transform:uppercase}.book-link{justify-self:end;font-size:12px;letter-spacing:.15em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:5px}.menu-btn{display:none;background:none;border:0;color:inherit;font:inherit}.hero{height:100svh;min-height:720px;position:relative;overflow:hidden;background:#111}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,12,11,.58),rgba(8,12,11,.12) 62%,rgba(8,12,11,.18)),linear-gradient(0deg,rgba(8,12,11,.25),transparent 45%)}.hero-copy{position:absolute;left:7vw;bottom:12vh;color:#fff;max-width:850px}.eyebrow{font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-weight:500;margin-bottom:24px}.light{color:rgba(255,255,255,.8)}h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0}.hero h1{font-size:clamp(64px,8vw,138px);line-height:.87;letter-spacing:-.03em}.hero-copy p{max-width:560px;line-height:1.65;font-size:16px;margin:28px 0}.text-link{display:inline-flex;align-items:center;gap:16px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;padding-bottom:6px;border-bottom:1px solid currentColor}.light-link{color:white}.scroll-cue{position:absolute;right:4vw;bottom:4vh;color:white;font-size:10px;letter-spacing:.18em;text-transform:uppercase;transform:rotate(90deg);transform-origin:right bottom}.intro{position:relative;padding:160px 8vw 150px;overflow:hidden}.intro-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:10vw;align-items:start}.intro h2,.experience h2,.story h2,.estate-copy .lead,.detail-intro h2{font-size:clamp(48px,6vw,92px);line-height:.96;letter-spacing:-.025em}.intro-copy{font-size:17px;line-height:1.8;max-width:560px;padding-top:40px}.shell-mark{position:absolute;right:-3vw;top:20px;width:420px;opacity:.06}.shell-mark svg{fill:none;stroke:var(--green);stroke-width:1.6}.wide-image{height:88vh;min-height:680px;position:relative;background-image:var(--bg);background-size:cover;background-position:center;display:flex;align-items:flex-end}.wide-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(9,15,14,.46),transparent 55%)}.image-label{position:relative;z-index:1;color:white;padding:0 7vw 8vh}.image-label h2{font-size:clamp(64px,8vw,126px);line-height:.9}.estate-copy{padding:110px 8vw 130px;display:grid;grid-template-columns:.7fr 1.6fr 1fr;gap:5vw;align-items:start}.estate-copy .lead{font-size:clamp(36px,4vw,58px);line-height:1.05}.stat-row{display:flex;gap:35px;padding-top:10px}.stat-row div{display:flex;flex-direction:column}.stat-row span{font-family:var(--serif);font-size:58px}.stat-row small{font-size:10px;letter-spacing:.14em;text-transform:uppercase}.retreat-card{height:100vh;min-height:760px;position:relative;color:#fff;overflow:hidden}.retreat-photo{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 1.2s ease}.retreat-card:hover .retreat-photo{transform:scale(1.025)}.retreat-card:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,15,14,.65),rgba(9,15,14,.06) 65%)}.retreat-info{position:absolute;z-index:2;left:7vw;bottom:11vh;max-width:640px}.retreat-info h2{font-size:clamp(76px,9vw,150px);line-height:.85}.retreat-info p{max-width:520px;line-height:1.7;font-size:15px;margin:26px 0}.experience{padding:150px 5vw;background:#e8e3d8}.experience-heading{padding:0 3vw 100px}.experience h2 em{font-weight:400}.editorial-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.tile,.text-tile{min-height:520px;position:relative;overflow:hidden}.tile img{height:100%;object-fit:cover;transition:.6s ease}.tile:hover img{transform:scale(1.015)}.tile figcaption{position:absolute;left:26px;bottom:24px;color:white;font-size:12px;letter-spacing:.14em;text-transform:uppercase}.tile figcaption span{opacity:.7;margin-right:12px}.tall{grid-row:span 2;min-height:1056px}.wide{grid-column:span 2;height:72vh}.text-tile{padding:60px;background:#20322e;color:white;display:flex;flex-direction:column;justify-content:end}.text-tile h3{font-size:50px;line-height:1.05}.text-tile p{line-height:1.7;max-width:480px}.night-section{height:100vh;min-height:760px;position:relative;background:#101615}.night-section img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.night-section:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,12,11,.7),rgba(8,12,11,.15))}.night-copy{position:absolute;z-index:2;left:7vw;bottom:11vh;color:white;max-width:620px}.night-copy h2{font-size:clamp(65px,7.5vw,118px);line-height:.9}.night-copy p{line-height:1.7;max-width:480px}.story{display:grid;grid-template-columns:1.2fr 1fr;min-height:850px}.story-photo img{height:100%;object-fit:cover}.story-copy{padding:12vw 8vw;display:flex;flex-direction:column;justify-content:center}.story-copy p{font-size:16px;line-height:1.8;max-width:560px;margin:28px 0}.book{height:86vh;min-height:680px;position:relative;color:white;display:grid;place-items:center;text-align:center;overflow:hidden}.book-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(10,14,13,.5),rgba(10,14,13,.55)),url('assets/coast-sunset.jpg');background-size:cover;background-position:center}.book-content{position:relative;z-index:2;max-width:820px;padding:40px}.book-logo{width:120px;margin:0 auto 35px}.book h2{font-size:clamp(64px,8vw,122px);line-height:.9}.book p{line-height:1.7}.book-actions{display:flex;justify-content:center;gap:12px;margin-top:36px}.book-actions a{border:1px solid rgba(255,255,255,.7);padding:16px 24px;font-size:11px;letter-spacing:.16em;text-transform:uppercase}.book-actions a:first-child{background:white;color:var(--ink)}footer{background:#16221f;color:#d9d3c6;padding:60px 6vw;display:grid;grid-template-columns:1fr auto 1fr;gap:30px;font-size:12px;line-height:1.7}.footer-links{display:flex;gap:24px}footer>div:last-child{text-align:right}.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform .9s ease}.reveal.visible{opacity:1;transform:none}
.detail-page{background:#efece4}.detail-hero{height:92vh;min-height:690px;background-size:cover;background-position:center;position:relative}.detail-title{position:absolute;left:7vw;bottom:10vh;color:white;z-index:2}.detail-title h1{font-size:clamp(88px,12vw,180px);line-height:.8}.detail-title p{font-size:17px;letter-spacing:.06em}.detail-intro{display:grid;grid-template-columns:1fr 1fr;gap:10vw;padding:140px 8vw}.detail-intro>div:last-child{font-size:17px;line-height:1.85;padding-top:30px}.detail-gallery{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 10px}.detail-gallery img{height:72vh;object-fit:cover}.detail-feature{padding:120px 9vw 150px;max-width:1200px}.detail-feature .lead{font-family:var(--serif);font-size:clamp(46px,5vw,78px);line-height:1.05}.compact{height:70vh}
@media(max-width:900px){.nav{height:76px;padding:9px 20px;grid-template-columns:1fr auto}.brand img{width:52px;height:52px}.nav-links,.book-link{display:none}.menu-btn{display:block}.nav.open .nav-links{display:flex;position:absolute;top:76px;left:0;right:0;background:#182522;padding:28px 20px 34px;flex-direction:column;gap:22px}.hero{min-height:650px}.hero-copy{left:7vw;right:7vw;bottom:10vh}.hero h1{font-size:clamp(58px,16vw,92px)}.intro{padding:100px 7vw}.intro-grid,.estate-copy,.story,.detail-intro{grid-template-columns:1fr}.intro-copy{padding-top:0}.shell-mark{width:280px;right:-80px}.wide-image{height:75vh;min-height:560px}.estate-copy{padding:80px 7vw}.stat-row{justify-content:space-between}.retreat-card{height:84vh;min-height:640px}.retreat-info{right:7vw;bottom:8vh}.retreat-info h2{font-size:clamp(70px,20vw,110px)}.experience{padding:100px 12px}.experience-heading{padding:0 16px 60px}.editorial-grid{grid-template-columns:1fr}.tall{grid-row:auto;min-height:620px}.wide{grid-column:auto;height:560px}.tile,.text-tile{min-height:520px}.night-section{height:80vh;min-height:620px}.night-copy{right:7vw}.story-photo{min-height:560px}.story-copy{padding:100px 7vw}.book{height:72vh;min-height:620px}.book-actions{flex-direction:column}.book-actions a{width:100%}footer{grid-template-columns:1fr;text-align:left}footer>div:last-child{text-align:left}.detail-hero{height:80vh}.detail-title h1{font-size:clamp(76px,23vw,120px)}.detail-intro{padding:100px 7vw}.detail-gallery{grid-template-columns:1fr}.detail-gallery img{height:60vh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.retreat-photo,.tile img{transition:none}}

/* V3 refinements */
.fish-muted{filter:saturate(.58) brightness(1.02) contrast(.96)}
.experience-heading{position:relative;overflow:visible}
.experience-lineart{position:absolute;right:2vw;bottom:28px;width:min(34vw,520px);opacity:.14;pointer-events:none}
.experience-lineart svg{width:100%;height:auto;display:block}
.experience-lineart .fish-stroke,.experience-lineart .leaf-stroke{fill:none;stroke:var(--green);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.experience-lineart .leaf-stroke{stroke-width:1.6}
@media(max-width:900px){.experience-lineart{position:relative;right:auto;bottom:auto;width:min(82vw,430px);margin:34px 0 -8px auto;opacity:.12}}

/* V4 — cinematic scroll motion for The Sapphire Experience */
.motion-image img{
  --motion-y:0px;
  --motion-scale:1.08;
  transform:translate3d(0,var(--motion-y),0) scale(var(--motion-scale));
  will-change:transform;
  transition:transform .18s linear;
}
.motion-image:hover img{
  transform:translate3d(0,var(--motion-y),0) scale(calc(var(--motion-scale) + .012));
}
.experience-lineart{
  --lineart-y:0px;
  transform:translate3d(0,var(--lineart-y),0);
  will-change:transform;
}
@media(max-width:900px){
  .motion-image img{--motion-scale:1.06;}
}
@media(prefers-reduced-motion:reduce){
  .motion-image img,.motion-image:hover img,.experience-lineart{transform:none!important;will-change:auto;}
}


/* V5 — italic brand text */
.brand-italic{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:0;text-transform:none}
.book h2 .brand-italic{font-size:.9em}
footer .brand-italic{font-size:1.04em}
