/*
Theme Name: Sathya Builders
Theme URI: https://sathyabuilders.co.in
Author: Sathya Builders
Author URI: https://sathyabuilders.co.in
Description: Built on Truth — a fast, lightweight custom theme for Sathya Builders, a residential & commercial construction company in Kannur, Kerala. Includes a Projects post type, Customizer-editable contact details and images, a built-in enquiry form, a floating WhatsApp button, and LocalBusiness SEO schema.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sathya
Tags: construction, business, custom-colors, custom-menu, custom-logo, featured-images, full-width-template, threaded-comments
*/

/* ===========================================================
   Sathya Builders — theme styles
   Built on Truth · Kannur, Kerala
=========================================================== */
:root{
  --ink:#1c1813;
  --ink-1:#211D17;
  --ink-2:#2c261e;
  --ink-3:#3b342a;
  --gold:#D8B257;
  --gold-2:#B68B3C;
  --clay:#B5713F;
  --clay-2:#8E5631;
  --bone:#F4F1EA;
  --bone-2:#ECE7DD;
  --bone-3:#E2DCCF;
  --line:#D8D1C2;
  --paper:#fbf8f2;

  --f-display:"Archivo",sans-serif;
  --f-black:"Archivo Black","Archivo",sans-serif;
  --f-serif:"Spectral",Georgia,serif;
  --f-mono:"JetBrains Mono",monospace;

  --gut:clamp(20px,6vw,110px);
  --maxw:1320px;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--f-display);
  background:var(--bone);
  color:var(--ink-1);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  line-height:1.5;
  overflow-x:hidden;
}
img{display:block;max-width:100%;height:auto;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gut);}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;}

/* ---------- shared type ---------- */
.eyebrow{
  font-family:var(--f-mono);font-size:12px;font-weight:500;
  letter-spacing:.34em;text-transform:uppercase;color:var(--gold-2);
  display:inline-flex;align-items:center;gap:.85em;
}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--gold);}
.eyebrow.on-dark{color:var(--gold);}
.h-xl{font-family:var(--f-black);font-weight:400;font-size:clamp(40px,7vw,104px);line-height:.92;letter-spacing:-.03em;margin:0;}
.h-lg{font-family:var(--f-black);font-weight:400;font-size:clamp(32px,5vw,68px);line-height:.95;letter-spacing:-.025em;margin:0;}
.h-md{font-family:var(--f-display);font-weight:800;font-size:clamp(24px,2.6vw,38px);line-height:1.05;letter-spacing:-.015em;margin:0;}
.lead{font-family:var(--f-serif);font-weight:300;font-size:clamp(18px,1.7vw,24px);line-height:1.5;letter-spacing:-.005em;margin:0;}
.gold{color:var(--gold);}
.clay{color:var(--clay-2);}

section{position:relative;}
.pad{padding-block:clamp(72px,11vw,168px);}
.dark{background:var(--ink-1);color:var(--bone);}
.bone2{background:var(--bone-2);}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.6em;
  font-family:var(--f-display);font-weight:700;font-size:15px;
  padding:15px 26px;border-radius:8px;border:1.5px solid transparent;
  cursor:pointer;transition:transform .35s var(--ease),background .3s,color .3s,border-color .3s;
  will-change:transform;white-space:nowrap;
}
.btn .arr{transition:transform .35s var(--ease);}
.btn:hover .arr{transform:translateX(4px);}
.btn-gold{background:var(--gold);color:var(--ink-1);}
.btn-gold:hover{background:var(--gold-2);transform:translateY(-2px);}
.btn-ink{background:var(--ink-1);color:var(--gold);}
.btn-ink:hover{transform:translateY(-2px);}
.btn-ghost{background:transparent;border-color:currentColor;color:inherit;}
.btn-ghost:hover{background:rgba(255,255,255,.06);transform:translateY(-2px);}
.hero-cta .btn-ghost,.cta .btn-ghost,.dark .btn-ghost{color:var(--bone);}
.btn-ghost.on-light{color:var(--ink-1);}
.btn-ghost.on-light:hover{background:rgba(28,24,19,.05);}

/* ---------- monogram + wordmark ---------- */
.mono{
  position:relative;background:var(--ink-1);border-radius:24%;
  display:grid;place-items:center;aspect-ratio:1;width:var(--m,46px);
  overflow:hidden;flex:none;box-shadow:inset 0 0 0 1px rgba(216,178,87,.3);
}
.mono::before{content:"";position:absolute;inset:11%;border:1.5px solid var(--gold);border-radius:16%;opacity:.85;}
.mono::after{content:"";position:absolute;left:26%;right:26%;bottom:22%;height:2px;background:var(--gold);}
.mono b{font-family:var(--f-black);font-weight:400;color:var(--gold);font-size:calc(var(--m,46px)*.6);line-height:1;margin-bottom:8%;}
.wordmark{display:flex;flex-direction:column;line-height:.88;}
.wm-name{font-family:var(--f-black);font-size:var(--w,21px);letter-spacing:.02em;}
.wm-sub{display:flex;align-items:center;gap:.6em;font-weight:600;font-size:calc(var(--w,21px)*.36);letter-spacing:.42em;color:var(--gold-2);margin-top:.34em;}
.wm-sub::before{content:"";width:1.4em;height:2px;background:currentColor;}
.on-dark .wm-name{color:var(--bone);}
.on-dark .wm-sub{color:var(--gold);}

/* block-S motif */
.blockS{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(5,1fr);gap:var(--bg,7px);width:var(--bs,120px);aspect-ratio:3/5;}
.blockS i{border-radius:2px;background:transparent;}
.blockS i.on{background:var(--bs-on,var(--gold));}

/* media fallback (when no image is set) */
.media-fallback{position:absolute;inset:0;display:grid;place-items:center;background:
  radial-gradient(120% 100% at 70% 0%, #2c261e 0%, #1c1813 70%);}
.media-fallback .blockS{--bs:clamp(60px,10vw,120px);--bs-on:rgba(216,178,87,.2);}

/* ===========================================================
   HEADER
=========================================================== */
.site-head{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:18px var(--gut);
  transition:background .4s var(--ease),padding .4s var(--ease),box-shadow .4s;
}
.admin-bar .site-head{top:32px;}
.site-head.solid{background:rgba(28,24,19,.92);backdrop-filter:blur(12px);padding-block:12px;box-shadow:0 1px 0 rgba(216,178,87,.15);}
.brand{display:flex;align-items:center;gap:14px;}
.nav{display:flex;align-items:center;gap:6px;list-style:none;margin:0;padding:0;}
.nav a{
  font-size:14px;font-weight:600;color:rgba(244,241,234,.82);
  padding:9px 15px;border-radius:7px;position:relative;transition:color .25s;
}
.nav a::after{content:"";position:absolute;left:15px;right:15px;bottom:5px;height:1.5px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease);}
.nav a:hover{color:#fff;}
.nav a:hover::after{transform:scaleX(1);}
.nav .head-cta{margin-left:14px;padding:11px 20px;font-size:14px;color:var(--ink-1);}
.nav .head-cta::after{display:none;}
.nav .head-cta:hover{color:var(--ink-1);}
.menu-btn{display:none;background:none;border:0;cursor:pointer;flex-direction:column;gap:5px;padding:8px;}
.menu-btn span{width:26px;height:2px;background:var(--bone);display:block;transition:.3s;}

/* ===========================================================
   HERO
=========================================================== */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:var(--ink);}
.hero-media{position:absolute;inset:0;z-index:0;overflow:hidden;}
.hero-img{position:absolute;inset:-4%;width:108%;height:108%;object-fit:cover;animation:kenburns 26s ease-in-out infinite alternate;}
@keyframes kenburns{from{transform:scale(1) translate(0,0);}to{transform:scale(1.12) translate(-1.5%,-1.5%);}}
.hero-scrim{position:absolute;inset:0;z-index:1;background:
  linear-gradient(180deg,rgba(20,17,13,.55) 0%,rgba(20,17,13,.15) 32%,rgba(20,17,13,.55) 72%,rgba(20,17,13,.96) 100%);}
.hero-scrim::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,17,13,.78) 0%,rgba(20,17,13,.25) 55%,transparent 100%);}
.hero-inner{position:relative;z-index:2;width:100%;padding-bottom:clamp(56px,8vw,104px);padding-top:140px;}
.hero h1{color:var(--bone);margin:22px 0 26px;max-width:15ch;}
.hero h1 em{font-style:normal;color:var(--gold);}
.hero .lead{color:rgba(244,241,234,.9);max-width:46ch;}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px;}
.hero-blockS{position:absolute;right:var(--gut);top:32%;z-index:2;--bs:clamp(70px,9vw,128px);--bs-on:rgba(216,178,87,.16);}
.scroll-cue{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);z-index:3;font-family:var(--f-mono);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:rgba(244,241,234,.6);display:flex;flex-direction:column;align-items:center;gap:10px;}
.scroll-cue .line{width:1px;height:42px;background:linear-gradient(var(--gold),transparent);animation:cue 2.2s ease-in-out infinite;}
@keyframes cue{0%,100%{transform:scaleY(.4);opacity:.4;transform-origin:top;}50%{transform:scaleY(1);opacity:1;transform-origin:top;}}
@media (max-height:780px){.scroll-cue{display:none;}}

/* ===========================================================
   INTRO / TRUST
=========================================================== */
.intro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,6vw,96px);align-items:center;}
.intro-copy p{color:#564e42;max-width:54ch;margin-top:18px;font-size:clamp(15px,1.1vw,17px);}
.intro-media{position:relative;}
.intro-media .media{position:relative;width:100%;height:clamp(360px,46vw,560px);border-radius:16px;overflow:hidden;}
.intro-media .media img{width:100%;height:100%;object-fit:cover;}
.intro-media .tagblock{position:absolute;left:-22px;bottom:-22px;background:var(--ink-1);color:var(--bone);padding:22px 26px;border-radius:12px;box-shadow:0 30px 60px -30px rgba(0,0,0,.5);}
.intro-media .tagblock .k{font-family:var(--f-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);}
.intro-media .tagblock .v{font-family:var(--f-serif);font-style:italic;font-size:22px;margin-top:6px;}

/* ===========================================================
   SERVICES
=========================================================== */
.svc-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-bottom:clamp(40px,5vw,64px);}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--ink-3);border:1px solid var(--ink-3);border-radius:16px;overflow:hidden;}
.svc{
  background:var(--ink-1);padding:clamp(28px,3vw,44px);min-height:280px;
  display:flex;flex-direction:column;position:relative;overflow:hidden;
  transition:background .4s var(--ease);
}
.svc-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:.55;transition:transform .7s var(--ease),opacity .4s;}
.svc:hover .svc-bg{transform:scale(1.07);opacity:.68;}
.svc-veil{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(28,24,19,.74) 0%,rgba(28,24,19,.62) 42%,rgba(20,17,13,.92) 100%);
  transition:background .45s var(--ease);}
.svc:hover .svc-veil{background:linear-gradient(180deg,rgba(28,24,19,.62) 0%,rgba(28,24,19,.5) 42%,rgba(20,17,13,.86) 100%);}
.svc .num,.svc h3,.svc .rule,.svc p{position:relative;z-index:2;}
.svc .num{font-family:var(--f-mono);font-size:12px;letter-spacing:.2em;color:var(--gold-2);}
.svc h3{font-family:var(--f-display);font-weight:800;font-size:22px;color:var(--bone);margin:auto 0 0;letter-spacing:-.01em;text-shadow:0 1px 16px rgba(0,0,0,.4);}
.svc p{color:rgba(244,241,234,.72);font-size:14.5px;margin:12px 0 0;max-width:34ch;}
.svc .rule{height:2px;width:30px;background:var(--gold);margin-top:20px;transition:width .45s var(--ease);}
.svc:hover .rule{width:64px;}

/* ===========================================================
   PROJECTS
=========================================================== */
.proj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2vw,28px);}
.proj{position:relative;border-radius:14px;overflow:hidden;background:var(--ink-2);aspect-ratio:4/5;display:block;}
.proj .proj-img,.proj .media-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease);}
.proj:hover .proj-img{transform:scale(1.06);}
.proj .veil{position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,transparent 38%,rgba(20,17,13,.85) 100%);pointer-events:none;}
.proj .pmeta{position:absolute;z-index:3;left:0;right:0;bottom:0;padding:26px;color:var(--bone);}
.proj .ptag{font-family:var(--f-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);display:inline-flex;align-items:center;gap:8px;}
.proj .ptag .dot{width:6px;height:6px;border-radius:50%;background:var(--gold);}
.proj h3{font-family:var(--f-black);font-weight:400;font-size:24px;margin:10px 0 0;letter-spacing:-.01em;}
.proj .ploc{font-size:13.5px;color:rgba(244,241,234,.75);margin-top:4px;}
.proj-foot{margin-top:40px;display:flex;justify-content:center;}
.proj-empty{grid-column:1/-1;text-align:center;color:#6a6253;font-family:var(--f-mono);font-size:13px;letter-spacing:.06em;padding:40px;border:1px dashed var(--line);border-radius:14px;}

/* ===========================================================
   STORY
=========================================================== */
.story-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(40px,6vw,90px);align-items:center;}
.story-media{position:relative;}
.story-media .media{position:relative;width:100%;height:clamp(420px,50vw,620px);border-radius:16px;overflow:hidden;}
.story-media .media img{width:100%;height:100%;object-fit:cover;}
.story-media .badge{position:absolute;right:-20px;top:-20px;--m:84px;z-index:3;}
.story-copy .quote{font-family:var(--f-serif);font-style:italic;font-size:clamp(24px,3vw,40px);line-height:1.22;letter-spacing:-.015em;color:var(--bone);border-left:3px solid var(--gold);padding-left:24px;margin:26px 0;}
.story-copy p{color:rgba(244,241,234,.72);max-width:52ch;margin-top:16px;}
.story-copy .sig{margin-top:26px;font-family:var(--f-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-2);}

/* ===========================================================
   VISION / VALUES
=========================================================== */
.vision .lead{max-width:30ch;color:#564e42;}
.values{list-style:none;margin:clamp(36px,5vw,60px) 0 0;padding:0;border-top:1px solid var(--line);}
.values li{
  display:grid;grid-template-columns:64px 1fr auto;gap:24px;align-items:center;
  padding:26px 4px;border-bottom:1px solid var(--line);transition:padding-left .4s var(--ease),background .4s;
}
.values li:hover{padding-left:18px;background:linear-gradient(90deg,rgba(216,178,87,.07),transparent);}
.values .vn{font-family:var(--f-mono);font-size:13px;color:var(--clay-2);letter-spacing:.1em;}
.values .vt{font-family:var(--f-display);font-weight:800;font-size:clamp(20px,2.4vw,32px);letter-spacing:-.01em;}
.values .vd{font-size:14.5px;color:#6a6253;max-width:34ch;text-align:right;}

/* ===========================================================
   CTA / CONTACT + LEAD FORM
=========================================================== */
.cta{position:relative;overflow:hidden;background:var(--ink);}
.cta-media{position:absolute;inset:0;z-index:0;opacity:.32;}
.cta-media img{width:100%;height:100%;object-fit:cover;}
.cta-scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(20,17,13,.7),rgba(20,17,13,.92));}
.cta-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,90px);align-items:center;}
.cta-copy h2{color:var(--bone);margin:18px 0 14px;}
.cta-copy h2 em{font-style:normal;color:var(--gold);}
.cta-copy .lead{color:rgba(244,241,234,.85);max-width:42ch;}
.cta-direct{margin-top:28px;display:flex;flex-direction:column;gap:10px;font-size:15px;color:rgba(244,241,234,.85);}
.cta-direct a{color:var(--gold);}
.cta-direct .row{display:flex;align-items:center;gap:10px;}

.lead-form{background:rgba(244,241,234,.04);border:1px solid rgba(216,178,87,.22);border-radius:16px;padding:clamp(24px,3vw,40px);backdrop-filter:blur(4px);}
.lead-form .fh{font-family:var(--f-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:18px;}
.lead-form .field{margin-bottom:14px;}
.lead-form label{display:block;font-size:12px;font-weight:600;letter-spacing:.04em;color:rgba(244,241,234,.7);margin-bottom:6px;}
.lead-form input,.lead-form select,.lead-form textarea{
  width:100%;font-family:var(--f-display);font-size:15px;color:var(--bone);
  background:rgba(20,17,13,.5);border:1.5px solid rgba(216,178,87,.25);border-radius:9px;
  padding:13px 15px;transition:border-color .25s,background .25s;
}
.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{outline:none;border-color:var(--gold);background:rgba(20,17,13,.7);}
.lead-form select option{background:var(--ink-1);color:var(--bone);}
.lead-form textarea{resize:vertical;min-height:90px;}
.lead-form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.lead-form .btn{width:100%;justify-content:center;margin-top:6px;}
.lead-form .privacy{font-size:11.5px;color:rgba(244,241,234,.5);margin-top:12px;text-align:center;line-height:1.6;}
.form-note{border-radius:10px;padding:13px 16px;font-size:14px;margin-bottom:18px;font-weight:600;}
.form-note.ok{background:rgba(31,138,91,.16);color:#7fd6a6;border:1px solid rgba(127,214,166,.35);}
.form-note.err{background:rgba(181,113,63,.2);color:#e0a987;border:1px solid rgba(224,169,135,.4);}

/* ===========================================================
   FOOTER
=========================================================== */
.foot{background:#161310;color:var(--bone);padding-top:clamp(64px,8vw,110px);padding-bottom:40px;position:relative;overflow:hidden;}
.foot-blockS{position:absolute;right:-30px;bottom:-40px;--bs:240px;--bs-on:rgba(216,178,87,.05);}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px;position:relative;z-index:2;}
.foot .brand{margin-bottom:22px;}
.foot-tag{font-family:var(--f-serif);font-style:italic;font-size:20px;color:rgba(244,241,234,.8);max-width:30ch;margin:0;}
.foot h4{font-family:var(--f-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin:0 0 18px;}
.foot ul{list-style:none;margin:0;padding:0;}
.foot li{margin:11px 0;}
.foot a,.foot .ln{color:rgba(244,241,234,.78);font-size:14.5px;transition:color .25s;line-height:1.6;}
.foot a:hover{color:var(--gold);}
.foot-bar{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:clamp(48px,6vw,80px);padding-top:24px;border-top:1px solid rgba(216,178,87,.16);position:relative;z-index:2;font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;color:rgba(244,241,234,.5);}

/* ---------- floating WhatsApp ---------- */
.wa-float{
  position:fixed;right:22px;bottom:22px;z-index:200;
  display:flex;align-items:center;gap:0;overflow:hidden;
  background:#25D366;color:#0b3d24;border-radius:50px;
  padding:0;height:58px;width:58px;
  box-shadow:0 14px 30px -10px rgba(0,0,0,.5);
  transition:width .4s var(--ease),padding .4s var(--ease);white-space:nowrap;
}
.wa-float svg{width:58px;height:58px;padding:15px;flex:none;}
.wa-float .wa-label{font-weight:700;font-size:15px;opacity:0;transition:opacity .3s;}
.wa-float:hover{width:auto;padding-right:24px;}
.wa-float:hover .wa-label{opacity:1;}
@media (max-width:560px){.wa-float:hover{width:58px;padding-right:0;}.wa-float:hover .wa-label{opacity:0;}}

/* ===========================================================
   GENERIC PAGE / SINGLE PROJECT
=========================================================== */
.page-hero{padding-top:clamp(140px,16vw,200px);padding-bottom:clamp(40px,6vw,72px);}
.entry{padding-bottom:clamp(72px,10vw,140px);}
.entry-content{max-width:72ch;font-size:17px;line-height:1.7;color:#3b342a;}
.entry-content p{margin:0 0 1.1em;}
.entry-content h2,.entry-content h3{font-family:var(--f-display);font-weight:800;letter-spacing:-.01em;margin:1.6em 0 .5em;}
.entry-content img{border-radius:12px;margin:1.4em 0;}
.entry-content a{color:var(--clay-2);text-decoration:underline;text-underline-offset:3px;}
.single-hero{position:relative;height:clamp(320px,46vw,560px);overflow:hidden;}
.single-hero img{width:100%;height:100%;object-fit:cover;}
.single-hero .scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,17,13,.2),rgba(20,17,13,.82));}
.single-hero .cap{position:absolute;left:var(--gut);right:var(--gut);bottom:clamp(28px,4vw,56px);max-width:var(--maxw);margin:0 auto;color:var(--bone);}
.single-hero .ptag{font-family:var(--f-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);}
.single-hero h1{font-family:var(--f-black);font-weight:400;font-size:clamp(34px,6vw,76px);line-height:.95;letter-spacing:-.025em;margin:12px 0 0;}
.proj-specs{display:flex;flex-wrap:wrap;gap:14px 40px;margin:0 0 36px;padding:0 0 30px;border-bottom:1px solid var(--line);list-style:none;}
.proj-specs li{font-size:14px;}
.proj-specs .k{display:block;font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--clay-2);margin-bottom:4px;}
.proj-specs .v{font-weight:700;font-size:16px;}
.back-link{display:inline-flex;align-items:center;gap:8px;margin-top:30px;font-weight:600;color:var(--clay-2);}

/* ===========================================================
   REVEAL ANIMATIONS
=========================================================== */
.reveal{opacity:0;transform:translateY(34px);transition:opacity .9s var(--ease),transform .9s var(--ease);}
.reveal-init .reveal{transition:none!important;}
.reveal.in{opacity:1;transform:none;}
.reveal[data-d="1"]{transition-delay:.08s;}
.reveal[data-d="2"]{transition-delay:.16s;}
.reveal[data-d="3"]{transition-delay:.24s;}
.reveal[data-d="4"]{transition-delay:.32s;}
.reveal[data-d="5"]{transition-delay:.4s;}

/* ===========================================================
   RESPONSIVE
=========================================================== */
@media (max-width:1040px){
  .svc-grid{grid-template-columns:repeat(2,1fr);}
  .proj-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:820px){
  .nav{display:none;}
  .menu-btn{display:flex;}
  .nav.open{display:flex;position:absolute;top:100%;right:var(--gut);left:var(--gut);flex-direction:column;align-items:stretch;background:rgba(28,24,19,.98);backdrop-filter:blur(12px);border-radius:12px;padding:12px;gap:2px;box-shadow:0 30px 60px -20px rgba(0,0,0,.6);}
  .nav.open .head-cta{margin:6px 0 0;text-align:center;justify-content:center;}
  .intro-grid,.story-grid,.cta-inner{grid-template-columns:1fr;}
  .story-media{order:-1;}
  .intro-media .tagblock{left:0;}
  .values li{grid-template-columns:44px 1fr;gap:14px;}
  .values .vd{display:none;}
  .foot-grid{grid-template-columns:1fr 1fr;gap:36px;}
  .foot .brand-col{grid-column:1/-1;}
}
@media (max-width:560px){
  .svc-grid,.proj-grid{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr;}
  .hero-blockS{display:none;}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;}
  html{scroll-behavior:auto;}
  .reveal{opacity:1;transform:none;transition:none;}
  .hero-img{animation:none;}
}
.foot-credit{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;}
.foot-credit .sep{opacity:.5;}
.foot-credit a{color:rgba(244,241,234,.7);transition:color .25s;}
.foot-credit a:hover{color:var(--gold);}
