/* Creative Space Studio — shared design system (extends the locked Project Haven story-page language) */
:root{
  --ivory:#F6F1E8; --ivory-2:#EFE8DB; --ink:#241F1B; --muted:#6E655A;
  --teal:#164C48; --teal-deep:#0F3A37; --line:#DDD3C4; --sand:#C99A6A;
  --wa:#25D366;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);
  font-family:Inter,system-ui,sans-serif;font-weight:300;line-height:1.75;-webkit-font-smoothing:antialiased}
h1,h2,h3,.serif{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;line-height:1.08}
img{display:block;width:100%;height:100%;object-fit:cover}
a{color:inherit;text-decoration:none}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px}
.narrow{max-width:780px;margin:0 auto}
.eyebrow{font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--teal);font-weight:500}
.muted{color:var(--muted)}
.center{text-align:center}

/* header */
header.site{position:fixed;top:0;left:0;right:0;z-index:60;transition:.4s;padding:22px 0;color:#fff}
header.site.solid{background:var(--ivory);color:var(--ink);box-shadow:0 1px 0 var(--line);padding:13px 0}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;line-height:1}
.brand img{width:auto;height:40px;object-fit:contain;transition:.4s}
/* transparent-over-hero header: logo reversed to white */
header.site .brand img{filter:brightness(0) invert(1)}
/* solid header (scrolled / interior pages): full-colour logo */
header.site.solid .brand img{filter:none;height:34px}
.menu{display:flex;align-items:center;gap:30px;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.menu a{opacity:.85} .menu a:hover,.menu a.active{opacity:1}
/* hamburger (mobile only) */
.burger{display:none;width:42px;height:42px;border:0;background:transparent;color:inherit;cursor:pointer;
  flex-direction:column;align-items:center;justify-content:center;gap:5px;position:relative;z-index:80}
.burger span{display:block;width:22px;height:2px;background:currentColor;transition:.3s}
.burger.open span{background:var(--ink)}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:9px;padding:15px 30px;font-family:Inter;font-size:13px;
  letter-spacing:.12em;text-transform:uppercase;font-weight:500;transition:.25s;cursor:pointer;border:0}
.btn-teal{background:var(--teal);color:#fff} .btn-teal:hover{background:var(--teal-deep)}
.btn-ghost{border:1px solid currentColor;color:inherit;background:transparent}
.btn-ghost:hover{background:rgba(255,255,255,.1)}
.btn-wa{background:var(--wa);color:#0b3d1f} .btn-wa:hover{filter:brightness(.95)}
.btn-wa svg{width:18px;height:18px;fill:currentColor}

/* hero (shared) */
.hero{position:relative;min-height:88vh;display:flex;align-items:flex-end;color:#fff;overflow:hidden}
.hero .bg{position:absolute;inset:0;background:#2b2723}
.hero .bg img{transform:scale(1.05);animation:kb 20s ease-out forwards;filter:grayscale(.35) brightness(.72)}
@keyframes kb{to{transform:scale(1)}}
.hero::after{content:"";position:absolute;inset:0;background:
  linear-gradient(180deg,rgba(18,14,10,.5) 0%,rgba(18,14,10,.42) 45%,rgba(18,14,10,.82) 100%)}
.hero .inner{position:relative;z-index:2;padding-bottom:9vh;text-shadow:0 2px 34px rgba(0,0,0,.42)}
.hero h1{font-size:clamp(46px,7vw,96px);margin:.12em 0 .1em;max-width:16ch}
.hero .tag{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:clamp(19px,2.3vw,28px);opacity:.95;max-width:34ch}
.hero .cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}

/* page header (interior pages) */
.pagehead{padding:172px 0 60px;border-bottom:1px solid var(--line);text-align:center}
.pagehead h1{font-size:clamp(44px,6vw,78px);margin:.12em 0 0}

/* sections */
section{position:relative}
.pad{padding:110px 0}
.pad-sm{padding:72px 0}
h2.big{font-size:clamp(32px,4.6vw,58px)}
.lead p{font-size:19px;margin-top:14px}

/* accent band */
.band{background:var(--teal);color:#F3EEE4}
.band .eyebrow{color:var(--sand)}
.band a{color:#fff}

/* feature (image + text) */
.feature{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
.feature.rev .txt{order:2}
.feature .figure{aspect-ratio:4/3;overflow:hidden;box-shadow:0 30px 60px -30px rgba(30,20,10,.45)}
.feature h2{font-size:clamp(28px,3.4vw,44px);margin:.1em 0 .4em}

/* cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.card{background:#fff;border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column;transition:.3s}
.card:hover{transform:translateY(-4px);box-shadow:0 24px 48px -28px rgba(30,20,10,.4)}
.card .ph{aspect-ratio:4/3;overflow:hidden}
.card .body{padding:26px 26px 30px}
.card h3{font-size:26px;margin:0 0 8px}
.card .num{font-family:"Cormorant Garamond",serif;color:var(--sand);font-size:20px}

/* work grid */
.work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.work-card{position:relative;aspect-ratio:3/2;overflow:hidden;color:#fff}
/* odd card count: the newest (first) card spans the row as a wide feature, so no card sits orphaned */
.work-grid>.work-card:first-child:nth-last-child(odd){grid-column:1/-1;aspect-ratio:12/5}
.work-card img{transition:transform 1s ease}
.work-card:hover img{transform:scale(1.05)}
.work-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(20,15,10,.72))}
.work-card .cap{position:absolute;z-index:2;left:0;bottom:0;padding:28px}
.work-card .cap h3{font-size:32px;margin:0} .work-card .cap .m{font-size:12px;letter-spacing:.16em;text-transform:uppercase;opacity:.9;margin-top:6px}

/* testimonial */
.quote-lg{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:clamp(26px,3.6vw,42px);line-height:1.3;max-width:900px;margin:0 auto}
.byline{margin-top:24px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}

/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}
.cinfo dt{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:22px}
.cinfo dd{margin:4px 0 0;font-family:"Cormorant Garamond",serif;font-size:24px}
form.cf{display:grid;gap:14px}
form.cf input,form.cf textarea{font-family:Inter;font-size:15px;padding:14px 16px;border:1px solid var(--line);background:#fff;color:var(--ink);width:100%}
form.cf textarea{min-height:130px;resize:vertical}
form.cf .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
form.cf .cf-status{margin:4px 0 0;font-size:14px}
form.cf button:disabled{opacity:.6;cursor:default}
.contact-photo{aspect-ratio:4/5;overflow:hidden;box-shadow:0 30px 60px -30px rgba(30,20,10,.45)}

/* footer */
footer.site{background:var(--ink);color:#B9B0A3;padding:64px 0 40px;font-size:14px}
footer.site .top{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:34px}
footer.site a:hover{color:#fff}
footer.site .brand{color:#fff;display:block}
footer.site .brand img{width:auto;height:44px;object-fit:contain;filter:brightness(0) invert(1);opacity:.9;margin-bottom:8px}
footer.site .cols{display:flex;gap:60px;flex-wrap:wrap;text-align:right}
footer.site .copy{padding-top:24px;font-size:12px;letter-spacing:.04em;opacity:.7}

/* floating WhatsApp button — always on screen */
.wa-fab{position:fixed;right:22px;bottom:22px;z-index:90;width:58px;height:58px;border-radius:50%;
  background:var(--wa);display:flex;align-items:center;justify-content:center;
  box-shadow:0 12px 30px -8px rgba(0,0,0,.45);transition:transform .25s;animation:waPop .45s ease both}
.wa-fab::before{content:"";position:absolute;inset:0;border-radius:50%;background:var(--wa);z-index:-1;animation:waRing 2.6s ease-out infinite}
.wa-fab:hover{transform:scale(1.07)}
.wa-fab svg{width:31px;height:31px;fill:#fff}
@keyframes waPop{from{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}
@keyframes waRing{0%{opacity:.5;transform:scale(1)}70%,100%{opacity:0;transform:scale(1.6)}}
@media(max-width:900px){.wa-fab{width:54px;height:54px;right:16px;bottom:16px}}

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

@media(max-width:900px){
  .feature{grid-template-columns:1fr;gap:26px} .feature.rev .txt{order:0}
  .cards{grid-template-columns:1fr} .work-grid{grid-template-columns:1fr}
  .work-grid>.work-card:first-child:nth-last-child(odd){aspect-ratio:3/2}
  .contact-grid{grid-template-columns:1fr;gap:36px}
  .burger{display:flex}
  .menu{position:fixed;top:0;left:0;right:0;z-index:70;background:var(--ivory);color:var(--ink);
    flex-direction:column;align-items:stretch;gap:0;padding:76px 24px 26px;
    transform:translateY(-104%);transition:transform .38s ease;box-shadow:0 24px 50px -24px rgba(0,0,0,.35)}
  .menu.open{transform:translateY(0)}
  .menu a{padding:15px 2px;font-size:15px;letter-spacing:.06em;border-bottom:1px solid var(--line);opacity:1}
  .menu a.btn{margin-top:18px;border-bottom:0;justify-content:center}
  .pad{padding:72px 0}
  .wrap{padding:0 22px}
  footer.site .cols{text-align:left}
}
