/* ===== Esthetics by Skylin — shared styles ===== */
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&display=swap');

:root{
  --cream:#f2e9db; --cream-2:#eaddc8; --sand:#e3d3bd;
  --terra:#a85a30; --terra-deep:#8f4a26;
  --olive:#5f6142; --olive-deep:#474930;
  --espresso:#2f2619; --ink:#2c241c; --muted:#7a6c5b;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Poppins',sans-serif;background:var(--cream);color:var(--ink);font-weight:300;line-height:1.75;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::after{content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:multiply}
img{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,h4{font-weight:400;line-height:1.12;letter-spacing:.005em}
.thin{font-weight:300}
.eyebrow{font-weight:500;text-transform:uppercase;letter-spacing:.4em;font-size:.66rem;color:var(--terra)}

.btn{display:inline-block;font-weight:500;text-transform:uppercase;letter-spacing:.24em;font-size:.68rem;padding:1.1em 2.5em;border:1px solid var(--espresso);color:var(--espresso);text-decoration:none;border-radius:40px;transition:all .4s ease;background:transparent}
.btn:hover{background:var(--espresso);color:var(--cream)}
.btn-terra{border-color:var(--terra);color:#fff;background:var(--terra)}
.btn-terra:hover{background:var(--terra-deep);border-color:var(--terra-deep)}
.btn-light{border-color:rgba(255,255,255,.9);color:#fff}
.btn-light:hover{background:var(--cream);color:var(--espresso);border-color:var(--cream)}

section{padding:clamp(4rem,9vw,8rem) clamp(1.5rem,6vw,7rem);position:relative;overflow:hidden}
.wrap{max-width:1120px;margin:0 auto;position:relative;z-index:2}

/* textured backgrounds (nature textures, no faces) */
.bg-cream{background:var(--cream)}
.bg-cream2{background:var(--cream-2)}
.bg-espresso{background-image:linear-gradient(rgba(37,29,19,.9),rgba(37,29,19,.93)),url('images/water_texture.jpg');background-size:cover;background-position:center;color:var(--cream)}
.bg-terra{background-image:linear-gradient(rgba(150,74,38,.82),rgba(143,74,38,.88)),url('images/water_texture.jpg');background-size:cover;background-position:center;color:#fff}
.bg-olive{background-image:linear-gradient(rgba(64,66,44,.9),rgba(64,66,44,.94)),url('images/water_texture.jpg');background-size:cover;background-position:center;color:var(--cream)}

/* celestial accents */
.spark{position:absolute;pointer-events:none;z-index:1;opacity:.9}
.spark svg{width:100%;height:100%;display:block}
.sun-accent{position:absolute;pointer-events:none;z-index:1;opacity:.5}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:.85rem clamp(1.2rem,5vw,4rem);transition:background .4s ease,box-shadow .4s ease}
nav.scrolled{background:rgba(242,233,219,.94);backdrop-filter:blur(10px);box-shadow:0 1px 0 rgba(47,38,25,.07)}
.nleft{display:flex;align-items:center;gap:.85rem}
.back{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.8);color:#fff;text-decoration:none;font-size:1.05rem;line-height:1;text-shadow:0 1px 6px rgba(0,0,0,.4);transition:all .3s ease;flex:0 0 auto}
.back:hover{background:#fff;color:var(--espresso);border-color:#fff;text-shadow:none}
nav.scrolled .back{color:var(--espresso);border-color:rgba(47,38,25,.35)}
nav.scrolled .back:hover{background:var(--espresso);color:var(--cream);border-color:var(--espresso)}
.home{display:flex;align-items:center;gap:.7rem;text-decoration:none}
.home img{width:44px;height:44px;object-fit:contain;transition:transform .5s ease}
.home:hover img{transform:rotate(-8deg) scale(1.06)}
.home span{font-weight:400;font-size:.98rem;letter-spacing:.06em;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.4)}
nav.scrolled .home span,nav.scrolled .links a{color:var(--espresso);text-shadow:none}
.links{display:flex;gap:1.9rem;align-items:center}
.links a{text-decoration:none;text-transform:uppercase;letter-spacing:.2em;font-size:.64rem;font-weight:400;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.4);padding-bottom:3px;border-bottom:1px solid transparent}
.links a.active{border-color:currentColor}
.links a.nav-book{border:1px solid currentColor;padding:.7em 1.35em;border-radius:30px}
@media(max-width:820px){.home span{display:none}.links a:not(.nav-book){display:none}}

/* HOME HERO — whole photo, no crop */
.herohome{display:grid;grid-template-columns:.92fr 1.08fr;min-height:100vh}
.herohome .txt{background-image:linear-gradient(rgba(37,29,19,.9),rgba(37,29,19,.93)),url('images/water_texture.jpg');background-size:cover;background-position:center;color:var(--cream);display:flex;align-items:center;padding:clamp(5.5rem,10vw,7rem) clamp(1.8rem,5vw,4.5rem)}
.herohome .txt .inner{max-width:460px}
.herohome .eyebrow{color:#f0d3ba;margin-bottom:1.2rem}
.herohome h1{font-size:clamp(2.8rem,6vw,4.7rem);color:#fff;font-weight:400;line-height:1.05}
.herohome .sub{margin-top:1rem;text-transform:uppercase;letter-spacing:.32em;font-size:.72rem;color:rgba(255,255,255,.85)}
.herohome .cta{margin-top:2.2rem;display:flex;gap:1rem;flex-wrap:wrap}
.herohome .pic{position:relative;min-height:100vh;overflow:hidden}
.herohome .pic::before{content:"";position:absolute;inset:0;background:url('images/hero.jpg') center/cover;filter:blur(24px) brightness(.6);transform:scale(1.18)}
.herohome .pic img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain}
@media(max-width:860px){.herohome{grid-template-columns:1fr;min-height:auto}.herohome .pic{min-height:78vh;order:-1}.herohome .txt{padding-top:5.5rem}}

/* PAGE HEADER */
.pagehead{min-height:60vh;display:flex;align-items:flex-end;position:relative;color:#fff}
.pagehead.textured{background-image:linear-gradient(rgba(150,74,38,.88),rgba(143,74,38,.92)),url('images/water_texture.jpg');background-size:cover;background-position:center;align-items:flex-end}
.pagehead.textured-dark{background-image:linear-gradient(rgba(37,29,19,.85),rgba(37,29,19,.9)),url('images/water_texture.jpg');background-size:cover;background-position:center;align-items:flex-end}
.pagehead.tall{min-height:100vh}
.pagehead .bg{position:absolute;inset:0;background-size:cover;background-position:center}
.pagehead .scrim{position:absolute;inset:0;background:linear-gradient(0deg,rgba(25,18,12,.82),rgba(25,18,12,.28) 55%,rgba(25,18,12,.5))}
.pagehead .inner{position:relative;z-index:2;padding:clamp(2.5rem,7vw,5rem) clamp(1.5rem,6vw,7rem);max-width:900px}
.pagehead h1{font-size:clamp(2.7rem,8vw,5.4rem);color:#fff;font-weight:400;text-shadow:0 2px 26px rgba(0,0,0,.4)}
.pagehead .eyebrow{color:#f0d3ba;margin-bottom:1rem;text-shadow:0 1px 10px rgba(0,0,0,.5)}
.pagehead .sub{margin-top:1rem;text-transform:uppercase;letter-spacing:.36em;font-size:.72rem;color:rgba(255,255,255,.9);text-shadow:0 1px 10px rgba(0,0,0,.5)}
.pagehead .cta{margin-top:2.2rem;display:flex;gap:1rem;flex-wrap:wrap}

/* bits */
.lead{font-size:1.05rem;color:var(--muted);max-width:56ch}
.center{text-align:center}
.sec-head{max-width:640px;margin:0 auto 3rem}
.sec-head.center{text-align:center}
.sec-head h2{font-size:clamp(2rem,5vw,3.2rem);margin:.7rem 0 .6rem;font-weight:400}

/* feature */
.feature{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,6vw,5.5rem);align-items:center}
.feature.narrow{grid-template-columns:.9fr 1.1fr}
@media(max-width:860px){.feature,.feature.narrow{grid-template-columns:1fr;gap:2.4rem}}
.feature .ph{position:relative}
.feature .ph img.main{width:100%;border-radius:8px;box-shadow:0 30px 60px -34px rgba(47,38,25,.55)}
.feature h2{font-size:clamp(2rem,4.6vw,3.1rem);margin:.6rem 0 1.2rem;font-weight:400}
.feature p{color:var(--muted);margin-bottom:1.05rem;max-width:44ch}
.bg-espresso .feature p,.bg-olive .feature p,.bg-terra .feature p{color:rgba(242,233,219,.85)}
.signature{font-weight:400;font-style:italic;font-size:1.3rem;color:var(--terra);margin-top:1rem}
.bg-olive .signature,.bg-espresso .signature{color:#f0d3ba}
.decal-accent{position:absolute;pointer-events:none;z-index:1}

/* values */
.values-row{display:flex;gap:1.6rem;justify-content:center;align-items:center;flex-wrap:wrap;text-align:center}
.values-row span.v{font-weight:300;font-size:clamp(1.05rem,2.6vw,1.55rem);letter-spacing:.03em}
.values-row .sep{width:16px;height:16px;color:#f0d3ba;flex:0 0 auto}
@media(max-width:640px){.values-row{flex-direction:column;gap:.5rem}.values-row .sep{display:none}}

/* service cards */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}
@media(max-width:820px){.svc-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.svc-grid{grid-template-columns:1fr}}
.svc{background:var(--cream);border-radius:12px;overflow:hidden;transition:transform .4s ease,box-shadow .4s ease}
.svc:hover{transform:translateY(-6px);box-shadow:0 26px 44px -30px rgba(47,38,25,.5)}
.svc .ph{aspect-ratio:4/5;overflow:hidden}
.svc .ph img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.svc:hover .ph img{transform:scale(1.06)}
.svc .body{padding:1.4rem 1.4rem 1.7rem}
.svc h3{font-size:1.25rem;margin:0 0 .5rem;font-weight:400}
.svc p{color:var(--muted);font-size:.88rem;line-height:1.65}

/* menu list (services page) */
.menu{max-width:760px;margin:0 auto}
.menu-item{display:grid;grid-template-columns:1fr auto;gap:1rem 2rem;align-items:baseline;padding:1.5rem 0;border-bottom:1px solid rgba(47,38,25,.14)}
.menu-item:last-child{border-bottom:none}
.menu-item .mi-name{font-size:1.3rem;font-weight:400}
.menu-item .mi-desc{grid-column:1/-1;color:var(--muted);font-size:.95rem;max-width:60ch}
.menu-item .mi-tag{font-size:.62rem;text-transform:uppercase;letter-spacing:.22em;color:var(--terra);white-space:nowrap;font-weight:500}

/* gallery */
.group{margin-bottom:clamp(2.5rem,6vw,4.5rem)}
.group .glabel{display:flex;align-items:center;gap:.8rem;margin-bottom:1.6rem}
.group .glabel h3{font-size:clamp(1.4rem,3.2vw,2rem);font-weight:400}
.group .glabel .star{width:18px;height:18px;color:var(--terra);flex:0 0 auto}
.masonry{columns:3;column-gap:1rem}
.masonry.two{columns:2}
@media(max-width:820px){.masonry{columns:2}}
@media(max-width:480px){.masonry,.masonry.two{columns:1}}
.masonry img{width:100%;margin-bottom:1rem;border-radius:7px;break-inside:avoid;transition:filter .5s ease,transform .5s ease}
.masonry img:hover{filter:brightness(1.05);transform:scale(1.01)}

/* pull quote */
.pull{text-align:center}
.pull p{font-weight:300;font-size:clamp(1.8rem,5vw,3.3rem);line-height:1.22;max-width:19ch;margin:0 auto}
.pull .small{text-transform:uppercase;letter-spacing:.28em;font-size:.68rem;margin-top:1.4rem;opacity:.9}

/* testimonial */
.testi{text-align:center}
.testi .stars{letter-spacing:.5em;font-size:1rem;margin-bottom:1.3rem;color:var(--terra)}
.testi blockquote{font-weight:300;font-size:clamp(1.35rem,3.4vw,2.1rem);line-height:1.45;max-width:28ch;margin:0 auto}
.testi cite{display:block;margin-top:1.6rem;font-style:normal;text-transform:uppercase;letter-spacing:.28em;font-size:.66rem;opacity:.82}

/* cta / book */
.cta-band{text-align:center}
.cta-band .badge{width:92px;margin:0 auto 1.5rem;border-radius:50%;box-shadow:0 12px 30px -12px rgba(0,0,0,.5)}
.cta-band h2{font-size:clamp(2.2rem,6.5vw,4.2rem);margin:.4rem 0 1rem;color:inherit;font-weight:400}
.cta-band p{max-width:42ch;margin:0 auto 2rem;opacity:.92}
.loc{margin-top:2.8rem;display:flex;gap:2.6rem;justify-content:center;flex-wrap:wrap;font-size:.82rem;letter-spacing:.04em;opacity:.92}
.loc strong{display:block;font-style:italic;font-weight:400;font-size:1.05rem;margin-bottom:.25rem}
.loc a{text-decoration:underline;text-underline-offset:3px}

/* instagram button */
.ig-link{display:inline-flex;align-items:center;gap:.55rem;text-decoration:none;font-weight:500;text-transform:uppercase;letter-spacing:.18em;font-size:.72rem}
.ig-link svg{width:24px;height:24px;flex:0 0 auto}

/* footer */
footer{background:var(--espresso);color:rgba(242,233,219,.6);text-align:center;padding:3.2rem 1.5rem 3.4rem;font-size:.72rem;letter-spacing:.08em;position:relative}
footer .fmark{width:42px;margin:0 auto 1.1rem;opacity:.9}
footer .fnav{margin:.3rem 0 1.2rem;display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap;text-transform:uppercase;letter-spacing:.2em;font-size:.64rem}
footer .fnav a{color:var(--cream);text-decoration:none;opacity:.85}
footer .ig-link{color:var(--cream);justify-content:center;margin:.2rem 0 1rem}
footer .fine{margin-top:.6rem;opacity:.7}

.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s ease,transform .9s ease}
.reveal.in{opacity:1;transform:none}
