/* ============================================================
   FORMA — Edge-style theme (dark editorial · FORMA palette · NHG)
   Shared across index / about / projects / services / contact
   ============================================================ */
@font-face{font-family:'NHG';font-weight:300;font-display:swap;src:url("fonts/NeueHaasGrotDisp-35Thin-Trial.otf");}
@font-face{font-family:'NHG';font-weight:400;font-display:swap;src:url("fonts/NeueHaasGrotDisp-45Light-Trial.otf");}
@font-face{font-family:'NHG';font-weight:500;font-display:swap;src:url("fonts/NeueHaasGrotDisp-55Roman-Trial.otf");}
@font-face{font-family:'NHG';font-weight:600;font-display:swap;src:url("fonts/NeueHaasGrotDisp-65Medium-Trial.otf");}
@font-face{font-family:'NHG';font-weight:700;font-display:swap;src:url("fonts/NeueHaasGrotDisp-75Bold-Trial.otf");}

:root{
  /* FORMA palette (unchanged) */
  --cream:#F2EEE7;--cream-2:#E4DED4;--panel:#CAC4BA;
  --ink:#242320;--ink-soft:#4F473E;--muted:#8C8478;
  --line:#DBD4C9;--navy:#242320;--brown:#4F473E;--greige:#CAC4BA;--white:#fff;
  --font:'NHG','Helvetica Neue',Helvetica,Arial,sans-serif;
  /* Edge light canvas in FORMA's warm off-white (V4 light variant) */
  --dark:#F2EEE7;--dark-soft:#E4DED4;--line-dark:rgba(36,35,32,.12);
  --on-dark:#242320;--on-dark-mute:rgba(36,35,32,.62);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--font);background:var(--dark);color:var(--on-dark);-webkit-font-smoothing:antialiased;line-height:1.6;font-weight:400;overflow-x:hidden;letter-spacing:.012em;}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{font-weight:300;letter-spacing:-.02em;line-height:1.02;}

.wrap{width:min(1360px,92vw);margin:0 auto;}
.narrow{width:min(880px,92vw);margin:0 auto;}
.eyebrow{font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--on-dark-mute);font-weight:500;}
.muted{color:var(--on-dark-mute);}
.center{text-align:center;}

/* ---- Buttons ---- */
.btn{display:inline-flex;align-items:center;gap:12px;border:1px solid var(--line-dark);color:var(--on-dark);border-radius:0;padding:15px 34px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;transition:.35s;cursor:pointer;background:none;}
.btn:hover{background:var(--on-dark);color:var(--cream);}
.btn .arw{transition:.35s;}
.btn:hover .arw{transform:translateX(4px);}
.btn-fill{background:var(--on-dark);color:var(--cream);border-color:var(--on-dark);}
.btn-fill:hover{background:transparent;color:var(--on-dark);}

/* ---- Header ---- */
header{position:fixed;top:0;left:0;right:0;z-index:60;padding:26px 0;transition:.4s;}
header .wrap{display:flex;align-items:center;justify-content:space-between;}
.brand{font-size:19px;letter-spacing:.44em;font-weight:400;padding-left:.44em;}
header nav.hnav{display:flex;gap:34px;align-items:center;}
header nav.hnav a{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:400;opacity:.82;transition:.3s;}
header nav.hnav a:hover,header nav.hnav a.active{opacity:1;}
header nav.hnav a.cta{border:1px solid var(--line-dark);border-radius:0;padding:9px 20px;opacity:1;}
header nav.hnav a.cta:hover{background:var(--on-dark);color:var(--cream);border-color:var(--on-dark);}
header.scrolled{background:rgba(242,238,231,.86);backdrop-filter:blur(14px);padding:16px 0;border-bottom:1px solid var(--line-dark);}
.menu-toggle{display:none;background:none;border:0;color:var(--on-dark);font-size:12px;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;font-weight:500;}

/* ---- Home hero ---- */
.hero{padding:190px 0 60px;}
.hero-top{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;}
.hero h1{font-size:clamp(46px,8.4vw,124px);font-weight:300;letter-spacing:-.035em;line-height:.96;}
.hero .place{font-size:clamp(15px,1.5vw,19px);color:var(--on-dark-mute);font-weight:300;max-width:none;white-space:nowrap;text-align:right;padding-bottom:14px;}
.socials{display:flex;gap:12px;}
.socials a{width:40px;height:40px;border:1px solid var(--line-dark);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:10px;letter-spacing:.1em;color:var(--on-dark-mute);transition:.3s;}
.socials a:hover{background:var(--on-dark);color:var(--cream);border-color:var(--on-dark);}
.socials a svg{width:17px;height:17px;fill:currentColor;display:block;}
.hero-figure{margin-top:52px;position:relative;height:800px;overflow:hidden;border-radius:4px;}
.hero-figure video,.hero-figure img{width:100%;height:100%;object-fit:cover;}
.hero-figure::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(36,35,32,.10),rgba(36,35,32,.30));}
.hero-lead{display:flex;justify-content:space-between;gap:60px;align-items:flex-start;margin-top:46px;flex-wrap:wrap;}
.hero-lead p{font-size:clamp(18px,1.9vw,24px);font-weight:300;max-width:640px;color:var(--on-dark);line-height:1.4;}

/* ---- Inner-page hero (text-led, Edge style) ---- */
.page-hero{padding:200px 0 90px;border-bottom:1px solid var(--line-dark);}
.page-hero .eyebrow{display:block;margin-bottom:34px;}
.page-hero h1{font-size:clamp(40px,6.4vw,96px);font-weight:300;letter-spacing:-.03em;line-height:1.0;max-width:1100px;}
.page-hero .lead{margin-top:34px;font-size:clamp(18px,2vw,26px);font-weight:300;color:var(--on-dark);max-width:940px;line-height:1.35;}

/* ---- Section shell ---- */
.section{padding:120px 0;border-top:1px solid var(--line-dark);}
.section.no-rule{border-top:0;}
.sec-head{display:flex;justify-content:space-between;align-items:baseline;gap:30px;flex-wrap:wrap;margin-bottom:64px;}
/* Title on the left, eyebrow on the right (only when both are present) */
.sec-head:has(.eyebrow):has(.sec-title){flex-direction:row-reverse;}
.sec-title{font-size:clamp(32px,5vw,64px);font-weight:300;letter-spacing:-.03em;}
.sec-title .dot{color:var(--muted);}
.sec-head .eyebrow{padding-bottom:6px;}

/* ---- About split layout ---- */
.about-split{display:grid;grid-template-columns:1fr 1.8fr;gap:80px;align-items:start;}
.about-left{display:flex;flex-direction:column;min-height:400px;}
.about-left .sec-title{margin-bottom:auto;}
.about-left .socials{padding-top:48px;}
.about-right .big{font-size:clamp(19px,2.1vw,28px);font-weight:300;line-height:1.4;letter-spacing:-.02em;color:var(--on-dark);}
.about-right .body{color:var(--on-dark-mute);font-weight:300;font-size:16px;line-height:1.65;margin-top:0;}
.about-inline-stats{display:flex;gap:60px;margin:52px 0 44px;}
.about-inline-stats .stat{padding:0;background:none;}
.stat .n{font-size:clamp(40px,5vw,68px);font-weight:300;letter-spacing:-.03em;line-height:1;}
.stat .l{margin-top:12px;font-size:13px;font-weight:300;color:var(--on-dark-mute);}
@media(max-width:1000px){.about-split{grid-template-columns:1fr;gap:44px;}.about-left{min-height:auto;}.about-left .socials{padding-top:28px;}}

/* ---- Painpoints -> solutions ---- */
.pains{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line-dark);border:1px solid var(--line-dark);margin-top:10px;}
.pain{background:var(--dark);padding:44px 40px;}
.pain .p{font-size:clamp(19px,2vw,26px);font-weight:300;letter-spacing:-.02em;color:var(--on-dark);}
.pain .s{margin-top:16px;color:var(--on-dark-mute);font-weight:300;font-size:15px;display:flex;gap:12px;}
.pain .s .arw{color:var(--muted);flex:0 0 auto;}

/* ---- Projects (cards, home) ---- */
.proj{display:grid;grid-template-columns:repeat(2,1fr);gap:26px 30px;}
.proj article{cursor:default;}
.proj .ph{overflow:hidden;height:480px;border-radius:4px;margin-bottom:22px;}
.proj .ph img{width:100%;height:100%;object-fit:cover;transition:transform 1s ease;}
.proj article:hover .ph img{transform:scale(1.05);}
.proj .meta{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line-dark);padding-top:18px;}
.proj h3{font-size:clamp(24px,2.5vw,32px);font-weight:300;}
.proj .yr{color:var(--on-dark-mute);font-size:13px;letter-spacing:.1em;}
.proj p{color:var(--on-dark-mute);font-weight:300;font-size:15px;margin:14px 0 16px;max-width:440px;}
.proj .more{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--on-dark);border-bottom:1px solid var(--line-dark);padding-bottom:4px;transition:.3s;}
.proj article:hover .more{border-color:var(--on-dark);}

/* ---- Project rows (projects page) ---- */
.prow{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding:70px 0;border-top:1px solid var(--line-dark);}
.prow:first-of-type{border-top:0;}
.prow.flip{direction:rtl;}
.prow.flip>*{direction:ltr;}
.prow .ph{height:min(60vh,560px);overflow:hidden;border-radius:4px;}
.prow .ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s ease;}
.prow:hover .ph img{transform:scale(1.04);}
.prow .idx{font-size:12px;letter-spacing:.22em;color:var(--muted);}
.prow h2{font-size:clamp(30px,3.6vw,52px);font-weight:300;margin:22px 0 10px;letter-spacing:-.03em;}
.prow .loc{color:var(--on-dark-mute);font-size:13px;letter-spacing:.14em;text-transform:uppercase;}
.prow p{color:var(--on-dark-mute);font-weight:300;margin:22px 0 26px;max-width:460px;}
.prow .tags{display:flex;flex-wrap:wrap;gap:10px;}
.prow .tags span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark-mute);border:1px solid var(--line-dark);border-radius:999px;padding:7px 15px;}

/* ---- Process (3 step) ---- */
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-dark);border:1px solid var(--line-dark);}
.work-step{background:var(--dark);padding:48px 38px;min-height:280px;display:flex;flex-direction:column;}
.work-step .n{font-size:12px;letter-spacing:.24em;color:var(--muted);font-weight:500;margin-bottom:32px;}
.work-step h3{font-size:clamp(26px,2.6vw,34px);font-weight:300;margin:0 0 16px;}
.work-step p{color:var(--on-dark-mute);font-weight:300;font-size:15px;}
.work-cta{margin-top:56px;display:flex;justify-content:center;}

/* ---- Expertise two columns ---- */
.exp-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;}
.exp-col{border-top:1px solid var(--line-dark);}
.exp-col h3{font-size:clamp(26px,3vw,40px);font-weight:300;padding-bottom:26px;border-bottom:1px solid var(--line-dark);margin-bottom:8px;}
.exp-col a{display:flex;justify-content:space-between;align-items:center;padding:22px 0;border-bottom:1px solid var(--line-dark);font-size:clamp(16px,1.6vw,20px);font-weight:300;transition:.3s;}
.exp-col a:hover{padding-left:14px;}
.exp-col a .plus{display:none;}

/* ---- Values / studio cards ---- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-dark);border:1px solid var(--line-dark);}
.cards.two{grid-template-columns:1fr 1fr;}
.card{background:var(--dark);padding:44px 38px;min-height:230px;}
.card h3{font-size:clamp(22px,2.3vw,30px);font-weight:300;margin-bottom:16px;}
.card p{color:var(--on-dark-mute);font-weight:300;font-size:15px;}
.card .n{font-size:12px;letter-spacing:.24em;color:var(--muted);display:block;margin-bottom:20px;}

/* ---- Guides / philosophy list ---- */
.guides{border-top:1px solid var(--line-dark);}
.guide{display:grid;grid-template-columns:1fr 2fr;gap:40px;padding:34px 0;border-bottom:1px solid var(--line-dark);align-items:baseline;}
.guide h3{font-size:clamp(20px,2.2vw,30px);font-weight:300;letter-spacing:-.02em;}
.guide p{color:var(--on-dark-mute);font-weight:300;font-size:clamp(15px,1.6vw,18px);}
@media(max-width:700px){.guide{grid-template-columns:1fr;gap:12px;}}

/* ---- Split feature (approach / studio / abroad) ---- */
.feature{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;}
.feature.flip{direction:rtl;}
.feature.flip>*{direction:ltr;}
.feature .ph{height:min(62vh,560px);overflow:hidden;border-radius:4px;}
.feature .ph img{width:100%;height:100%;object-fit:cover;}
.feature .eyebrow{display:block;margin-bottom:20px;}
.feature h2{font-size:clamp(28px,3.6vw,48px);font-weight:300;letter-spacing:-.02em;margin-bottom:24px;}
.feature p{color:var(--on-dark-mute);font-weight:300;margin-bottom:16px;max-width:88%;}
.feature p em{font-style:normal;color:var(--on-dark);}
.feature ul{list-style:none;margin:20px 0 30px;}
.feature li{padding:13px 0;border-bottom:1px solid var(--line-dark);font-size:15px;font-weight:300;color:var(--on-dark);display:flex;gap:14px;}
.feature li::before{content:"—";color:var(--muted);}

/* ---- Services stacked blocks ---- */
.svc-block{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding:80px 0;border-top:1px solid var(--line-dark);}
.svc-block:first-of-type{border-top:0;}
.svc-block.flip{direction:rtl;}
.svc-block.flip>*{direction:ltr;}
.svc-block .ph{height:min(60vh,520px);overflow:hidden;border-radius:4px;}
.svc-block .ph img{width:100%;height:100%;object-fit:cover;}
.svc-block .idx{font-size:12px;letter-spacing:.24em;color:var(--muted);}
.svc-block h2{font-size:clamp(28px,3.4vw,46px);font-weight:300;margin:20px 0 20px;letter-spacing:-.02em;}
.svc-block>div>p{color:var(--on-dark-mute);font-weight:300;margin-bottom:22px;max-width:520px;}
.svc-block h4{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:500;margin-bottom:14px;}
.svc-block ul{list-style:none;columns:2;column-gap:34px;}
.svc-block li{font-size:14px;color:var(--on-dark);font-weight:300;padding:5px 0;break-inside:avoid;display:flex;gap:10px;}
.svc-block li::before{content:"·";color:var(--muted);}
.svc-block .best{margin-top:20px;font-size:14px;color:var(--on-dark-mute);max-width:520px;}
.svc-block .best strong{color:var(--on-dark);font-weight:500;}

/* ---- Abroad feature (distinct panel) ---- */
.abroad-panel{background:var(--dark-soft);border:1px solid var(--line-dark);border-radius:6px;padding:clamp(40px,6vw,84px);margin-top:10px;}
.abroad-panel .feature{gap:60px;align-items:start;}
.abroad-panel .ph{border-radius:4px;}

/* ---- Add-ons ---- */
.addons{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-dark);border:1px solid var(--line-dark);}
.addon{background:var(--dark);padding:36px 32px;}
.addon h4{font-size:19px;font-weight:400;margin-bottom:10px;}
.addon p{color:var(--on-dark-mute);font-weight:300;font-size:14px;}

/* ---- Marquee ---- */
.marquee{padding:80px 0;border-top:1px solid var(--line-dark);overflow:hidden;}
.marquee-track{display:flex;gap:20px;width:max-content;animation:slide 40s linear infinite;}
.marquee:hover .marquee-track{animation-play-state:paused;}
.marquee-track a{flex:0 0 auto;display:block;position:relative;border-radius:4px;overflow:hidden;}
.marquee-track img{width:clamp(240px,26vw,380px);height:clamp(300px,32vw,460px);object-fit:cover;border-radius:4px;flex:0 0 auto;transition:transform .9s ease,opacity .3s ease;}
.marquee-track a:hover img{transform:scale(1.05);opacity:.82;}
@keyframes slide{from{transform:translateX(0);}to{transform:translateX(calc(-50% - 10px));}}
.mq-follow{display:flex;justify-content:center;margin-top:46px;}

/* ---- Manifesto ---- */
.manifesto{padding:150px 0;border-top:1px solid var(--line-dark);text-align:left;}
.manifesto blockquote{font-size:clamp(26px,4vw,52px);font-weight:300;letter-spacing:-.02em;line-height:1.18;max-width:1100px;margin:34px 0 0;}
.manifesto .sig{margin-top:44px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--on-dark-mute);}

/* ---- FAQ ---- */
.faq-acc{border-top:1px solid var(--line-dark);margin-top:20px;}
.faq-acc details{border-bottom:1px solid var(--line-dark);}
.faq-acc summary{list-style:none;cursor:pointer;padding:30px 0;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:clamp(18px,2vw,24px);font-weight:300;}
.faq-acc summary::-webkit-details-marker{display:none;}
.faq-acc summary::after{content:"+";font-size:26px;font-weight:300;color:var(--muted);transition:.3s;}
.faq-acc details[open] summary::after{transform:rotate(45deg);}
.faq-acc .body{padding:0 0 30px;color:var(--on-dark-mute);max-width:900px;font-weight:300;font-size:16px;}
.faq-acc .body a{color:var(--on-dark);text-decoration:underline;}
@keyframes accOpen{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:none;}}
.faq-acc details[open] .body{animation:accOpen .3s ease;}

/* ---- Contact details row ---- */
.contact-details{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-dark);border:1px solid var(--line-dark);margin-top:10px;}
.contact-details.two{grid-template-columns:repeat(2,1fr);}
.cd{background:var(--dark);padding:40px 34px;}
.cd h4{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:500;margin-bottom:16px;}
.cd a,.cd p{display:block;color:var(--on-dark);font-weight:300;font-size:clamp(16px,1.6vw,20px);margin-bottom:6px;}
.cd a:hover{opacity:.7;}

/* ---- Quote form (on dark) ---- */
/* ---- Instagram 3x3 grid ---- */
.ig-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:10px;}
.ig-grid a{display:block;overflow:hidden;border-radius:4px;aspect-ratio:1/1;}
.ig-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1s ease,opacity .35s ease;}
.ig-grid a:hover img{transform:scale(1.06);opacity:.88;}

.contact-split{display:grid;grid-template-columns:1.35fr 1fr;gap:70px;align-items:stretch;}
.contact-split .form{width:100%;}
.contact-split .sec-head{margin-bottom:0;}
.contact-figure{overflow:hidden;border-radius:4px;}
.contact-figure img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;}
.form{width:min(1000px,100%);margin:56px 0 0;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:30px;}
.field{display:flex;flex-direction:column;}
.field.full{grid-column:1/-1;}
.field label{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--on-dark-mute);font-weight:500;margin-bottom:12px;}
.field label .opt{font-size:10px;letter-spacing:.14em;font-weight:400;color:var(--muted);text-transform:none;margin-left:8px;font-style:normal;}
.field input,.field select,.field textarea{background:transparent;border:0;border-bottom:1px solid var(--line-dark);color:var(--on-dark);font-family:var(--font);font-size:16px;padding:12px 0;font-weight:300;}
.field select option{color:#111;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--on-dark);}
.field input::placeholder,.field textarea::placeholder{color:rgba(36,35,32,.32);}
.field textarea{resize:vertical;min-height:96px;}
.form .actions{margin-top:10px;}
.form-note{font-size:16px;color:var(--on-dark-mute);margin-top:24px;}
.form-note a{color:var(--on-dark);text-decoration:underline;}
.form-status{margin-top:20px;font-size:14px;min-height:20px;color:#bfe0c6;}
.upload{position:relative;}
.upload input[type="file"]{position:absolute;opacity:0;width:.1px;height:.1px;overflow:hidden;pointer-events:none;}
.upload-label{display:flex;align-items:center;gap:16px;padding:20px 22px;cursor:pointer;border:1px dashed var(--line-dark);background:rgba(36,35,32,.02);transition:.25s;border-radius:4px;}
.upload-label:hover{border-color:rgba(36,35,32,.4);background:rgba(36,35,32,.05);}
.upload-label.is-dragover{border-color:var(--on-dark);background:rgba(36,35,32,.08);}
.upload-icon{flex-shrink:0;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(36,35,32,.08);color:var(--on-dark-mute);}
.upload-icon svg{width:20px;height:20px;}
.upload-text{display:flex;flex-direction:column;gap:4px;line-height:1.4;}
.upload-text strong{font-size:14px;font-weight:500;color:var(--on-dark);letter-spacing:.02em;}
.upload-text span{font-size:12px;color:var(--on-dark-mute);}
.upload-list{list-style:none;padding:0;margin:14px 0 0;display:flex;flex-direction:column;gap:8px;}
.upload-list li{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:rgba(36,35,32,.06);border-radius:999px;font-size:13px;color:var(--on-dark);}
.upload-list li .meta{font-size:11px;color:var(--on-dark-mute);margin-left:auto;margin-right:10px;letter-spacing:.04em;}
.upload-list li button{background:none;border:0;cursor:pointer;color:var(--on-dark-mute);font-size:16px;line-height:1;padding:0 2px;}
.upload-list li button:hover{color:var(--on-dark);}
.upload-list li.error{background:rgba(164,66,44,.18);color:#f6cdbd;}

/* ---- CTA band ---- */
.cta-band{text-align:center;}
.cta-band h2{font-size:clamp(30px,4vw,56px);font-weight:300;letter-spacing:-.02em;margin-bottom:22px;}
.cta-band p{color:var(--on-dark-mute);font-weight:300;max-width:560px;margin:0 auto 36px;}

/* ---- Email pill CTA ---- */
.email-pill{display:flex;align-items:center;justify-content:center;width:100%;padding:clamp(28px,4vw,52px) clamp(30px,5vw,80px);border:1px solid rgba(36,35,32,.22);border-radius:999px;font-size:clamp(20px,3.2vw,48px);font-weight:300;color:var(--on-dark);letter-spacing:-.01em;transition:.4s;}
.email-pill:hover{background:rgba(36,35,32,.05);border-color:rgba(36,35,32,.5);}

/* ============ Footer (dark) ============ */
footer{background:var(--dark);color:var(--on-dark);padding-top:60px;border-top:1px solid var(--line-dark);}
.foot-cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;padding-bottom:70px;}
.foot-cols h5{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--on-dark-mute);font-weight:600;margin-bottom:18px;}
.foot-cols a,.foot-cols p{display:block;color:var(--on-dark-mute);font-size:14px;margin-bottom:10px;font-weight:300;}
.foot-cols .socials a{display:inline-flex;width:40px;height:40px;margin-bottom:0;font-size:inherit;}
.foot-cols a:hover{color:var(--on-dark);}
.foot-blurb{font-size:15px;color:var(--on-dark-mute);max-width:340px;font-weight:300;}
.foot-wordmark{display:flex;justify-content:space-between;align-items:baseline;font-size:clamp(60px,21vw,330px);font-weight:300;letter-spacing:0;line-height:.82;padding:14px 0 0;color:var(--on-dark);margin-left:-0.045em;}
.foot-bar{border-top:1px solid var(--line-dark);padding:24px 0;display:flex;justify-content:space-between;font-size:12px;color:var(--on-dark-mute);letter-spacing:.04em;}

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

/* ---- Drawer ---- */
.drawer{position:fixed;inset:0;background:var(--dark);z-index:80;display:none;flex-direction:column;align-items:center;justify-content:center;gap:26px;}
.drawer.open{display:flex;}
.drawer a{font-size:18px;letter-spacing:.2em;text-transform:uppercase;font-weight:300;}
.drawer .close{position:absolute;top:26px;right:28px;font-size:28px;background:none;border:0;color:var(--on-dark);cursor:pointer;}

/* ---- Responsive ---- */
@media(max-width:1000px){
  .proj,.work-grid,.cards,.addons,.contact-details,.contact-details.two,.stats{grid-template-columns:1fr;}
  .stats.three{grid-template-columns:1fr;}
  .pains{grid-template-columns:1fr;}
  .cards.two{grid-template-columns:1fr;}
  .work-step{min-height:auto;}
  .work-step h3{margin:34px 0 14px;}
  .exp-grid,.about-grid,.feature,.svc-block,.prow,.contact-split{grid-template-columns:1fr;gap:36px;}
  .feature p{max-width:none;}
  .ig-grid{gap:8px;}
  .contact-figure{margin-top:0;}
  .contact-figure img{min-height:320px;height:320px;}
  .feature.flip,.svc-block.flip,.prow.flip{direction:ltr;}
  .prow .ph,.feature .ph,.svc-block .ph{height:340px;}
  .proj .ph{height:300px;}
}
@media(max-width:680px){
  header nav.hnav{display:none;}
  .menu-toggle{display:block;}
  .section{padding:80px 0;}
  .hero{padding:150px 0 40px;}
  .page-hero{padding:150px 0 60px;}
  .hero-top{flex-direction:column;align-items:flex-start;gap:20px;}
  .hero .place{text-align:left;max-width:none;padding-bottom:0;}
  .hero-lead{flex-direction:column;gap:30px;}
  /* mobile only: hero copy + button sit ABOVE the image */
  .hero .wrap{display:flex;flex-direction:column;}
  .hero-top{order:1;}
  .hero-lead{order:2;margin-top:34px;}
  .hero-figure{order:3;margin-top:44px;}
  .form-row{grid-template-columns:1fr;gap:26px;}
  .svc-block ul{columns:1;}
  .foot-cols{grid-template-columns:1fr;}
  /* section eyebrows + headlines: left-aligned, eyebrow on top (mobile) */
  .sec-head,.sec-head:has(.eyebrow):has(.sec-title){flex-direction:column;align-items:flex-start;text-align:left;gap:14px;}
  /* mobile only: Instagram section "Follow us" button drops BELOW the image grid */
  .section:has(.ig-grid) .wrap{display:flex;flex-direction:column;}
  .section:has(.ig-grid) .sec-head{display:contents;}
  .section:has(.ig-grid) .sec-head .sec-title{order:1;margin-bottom:34px;}
  .section:has(.ig-grid) .ig-grid{order:2;}
  .section:has(.ig-grid) .sec-head .btn{order:3;align-self:stretch;justify-content:center;margin-top:34px;}
}
