/* ============================================================
   GCV — Retail Branding & Print Parlour  |  Global stylesheet
   Palette: premium charcoal + gold accent
   ============================================================ */
:root {
  --black:#0d0d0f; --ink:#16161a; --charcoal:#1f1f24; --graphite:#2a2a31; --line:#33333b;
  --gold:#c9a227; --gold-soft:#e2c15a; --gold-deep:#a6841c;
  --white:#ffffff; --cream:#f7f5f0; --muted:#9a9aa4; --muted-dark:#6d6d76;
  --radius:14px; --radius-sm:8px; --radius-lg:22px;
  --shadow-sm:0 4px 18px rgba(0,0,0,.08); --shadow:0 18px 50px rgba(0,0,0,.14); --shadow-gold:0 14px 40px rgba(201,162,39,.28);
  --container:1180px; --gap:clamp(1rem,3vw,2rem);
  --ff-head:"Playfair Display",Georgia,"Times New Roman",serif;
  --ff-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--ff-body);color:var(--ink);background:var(--white);line-height:1.65;font-size:17px;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
h1,h2,h3,h4{font-family:var(--ff-head);font-weight:700;line-height:1.12;letter-spacing:-.01em;color:var(--ink)}
h1{font-size:clamp(2.4rem,6vw,4.4rem)}
h2{font-size:clamp(1.9rem,4vw,3rem)}
h3{font-size:clamp(1.25rem,2.4vw,1.6rem)}
p{color:#3c3c44}
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:clamp(1.1rem,4vw,2rem)}
.section{padding-block:clamp(3.5rem,8vw,7rem)}
.section--tight{padding-block:clamp(2.5rem,5vw,4rem)}
.section--dark{background:var(--black);color:var(--cream)}
.section--dark h1,.section--dark h2,.section--dark h3{color:var(--white)}
.section--dark p{color:#c7c7cf}
.section--cream{background:var(--cream)}
.center{text-align:center}
.measure{max-width:62ch}
.measure-narrow{max-width:48ch}
.eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--ff-body);font-size:.78rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:1rem}
.section--dark .eyebrow{color:var(--gold-soft)}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--gold)}
.lead{font-size:clamp(1.05rem,2vw,1.25rem);color:#4a4a52}
.section--dark .lead{color:#d2d2da}
.section-head{max-width:720px;margin-bottom:clamp(2rem,4vw,3.2rem)}
.section-head.center{margin-inline:auto}
.btn{--btn-bg:var(--gold);--btn-fg:#1a1400;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:.95rem 1.7rem;font-family:var(--ff-body);font-weight:600;font-size:.98rem;letter-spacing:.01em;color:var(--btn-fg);background:var(--btn-bg);border:1.5px solid var(--btn-bg);border-radius:999px;cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s var(--ease),color .25s var(--ease);will-change:transform}
.btn:hover{transform:translateY(-3px);box-shadow:var(--shadow-gold)}
.btn:active{transform:translateY(-1px)}
.btn--ghost{--btn-bg:transparent;--btn-fg:var(--ink);border-color:var(--line)}
.section--dark .btn--ghost{--btn-fg:var(--white);border-color:rgba(255,255,255,.28)}
.btn--ghost:hover{border-color:var(--gold);color:var(--gold-deep);box-shadow:none}
.section--dark .btn--ghost:hover{color:var(--gold-soft)}
.btn--light{--btn-bg:var(--white);--btn-fg:var(--ink)}
.btn--wa{--btn-bg:#25d366;--btn-fg:#04331b;border-color:#25d366}
.btn--wa:hover{box-shadow:0 14px 40px rgba(37,211,102,.32)}
.btn--lg{padding:1.1rem 2.1rem;font-size:1.05rem}
.btn-row{display:flex;flex-wrap:wrap;gap:.9rem}
.i{width:1.15em;height:1.15em;display:inline-block;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.site-header{position:sticky;top:0;z-index:100;background:rgba(13,13,15,.82);backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid rgba(255,255,255,.07);transition:background .3s var(--ease)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:74px}
.brand{display:inline-flex;align-items:center;gap:.7rem;color:var(--white);font-family:var(--ff-head);font-weight:700}
.brand__mark{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(135deg,var(--gold),var(--gold-deep));color:#1a1400;font-size:1.05rem;font-weight:800;letter-spacing:-.02em;box-shadow:inset 0 1px 1px rgba(255,255,255,.4)}
.brand__name{font-size:1.25rem;line-height:1}
.brand__name small{display:block;font-family:var(--ff-body);font-size:.58rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-soft);margin-top:3px}
.nav__links{display:flex;align-items:center;gap:.35rem}
.nav__links a{position:relative;padding:.5rem .9rem;color:#d6d6de;font-size:.95rem;font-weight:500;border-radius:8px;transition:color .2s var(--ease)}
.nav__links a::after{content:"";position:absolute;left:.9rem;right:.9rem;bottom:.3rem;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .28s var(--ease)}
.nav__links a:hover,.nav__links a[aria-current="page"]{color:var(--white)}
.nav__links a:hover::after,.nav__links a[aria-current="page"]::after{transform:scaleX(1)}
.nav__cta{margin-left:.6rem}
.nav__cta .btn{padding:.6rem 1.2rem;font-size:.9rem}
.nav__toggle{display:none;width:46px;height:46px;border:1px solid rgba(255,255,255,.16);background:transparent;border-radius:10px;cursor:pointer;color:var(--white);position:relative}
.nav__toggle span,.nav__toggle span::before,.nav__toggle span::after{content:"";position:absolute;left:50%;top:50%;width:20px;height:2px;background:currentColor;border-radius:2px;transform:translate(-50%,-50%);transition:transform .3s var(--ease),opacity .2s var(--ease)}
.nav__toggle span::before{transform:translate(-50%,-8px)}
.nav__toggle span::after{transform:translate(-50%,6px)}
body.nav-open .nav__toggle span{background:transparent}
body.nav-open .nav__toggle span::before{transform:translate(-50%,-50%) rotate(45deg)}
body.nav-open .nav__toggle span::after{transform:translate(-50%,-50%) rotate(-45deg)}
.hero{position:relative;background:radial-gradient(1100px 520px at 80% -10%,rgba(201,162,39,.18),transparent 60%),radial-gradient(800px 500px at 0% 100%,rgba(201,162,39,.08),transparent 55%),var(--black);color:var(--cream);overflow:hidden}
.hero::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(70% 60% at 50% 40%,#000,transparent);-webkit-mask-image:radial-gradient(70% 60% at 50% 40%,#000,transparent);pointer-events:none}
.hero__inner{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(2rem,5vw,4rem);padding-block:clamp(3.5rem,9vw,7rem)}
.hero h1{color:var(--white)}
.hero h1 .accent{background:linear-gradient(120deg,var(--gold-soft),var(--gold-deep));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero__lead{margin-top:1.4rem;max-width:46ch}
.hero__actions{margin-top:2.2rem}
.hero__stats{display:flex;flex-wrap:wrap;gap:1.6rem 2.6rem;margin-top:2.8rem;padding-top:1.8rem;border-top:1px solid rgba(255,255,255,.1)}
.hero__stats .stat strong{display:block;font-family:var(--ff-head);font-size:clamp(1.7rem,3vw,2.3rem);color:var(--gold-soft);line-height:1}
.hero__stats .stat span{font-size:.82rem;color:var(--muted);letter-spacing:.04em}
.hero__visual{position:relative;min-height:420px;display:grid;place-items:center}
.hero-card{position:relative;width:min(100%,400px);aspect-ratio:4/5;border-radius:var(--radius-lg);background:linear-gradient(160deg,rgba(201,162,39,.22),rgba(201,162,39,.04)),linear-gradient(180deg,#26262d,#17171b);border:1px solid rgba(255,255,255,.1);box-shadow:var(--shadow);overflow:hidden;display:flex;align-items:flex-end;padding:1.6rem}
.hero-card::before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240' viewBox='0 0 240 240'%3E%3Cg fill='none' stroke='%23c9a227' stroke-opacity='0.5' stroke-width='3'%3E%3Cpath d='M120 46a12 12 0 1 1 8 21l-8 6'/%3E%3Cpath d='M120 73 46 128a8 8 0 0 0-3 6v6a6 6 0 0 0 6 6h142a6 6 0 0 0 6-6v-6a8 8 0 0 0-3-6z'/%3E%3C/g%3E%3C/svg%3E") center 30% / 190px no-repeat;opacity:.9}
.hero-card__tag{position:relative;background:rgba(13,13,15,.6);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:.8rem 1rem;color:var(--cream)}
.hero-card__tag b{color:var(--gold-soft);font-family:var(--ff-head)}
.hero-badge{position:absolute;top:1.2rem;right:1.2rem;z-index:2;background:var(--gold);color:#1a1400;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:.45rem .8rem;border-radius:999px}
.hero__float{position:absolute;z-index:2;background:var(--white);color:var(--ink);border-radius:14px;padding:.8rem 1rem;box-shadow:var(--shadow);display:flex;align-items:center;gap:.7rem;font-size:.85rem;font-weight:600}
.hero__float .dot{width:34px;height:34px;display:grid;place-items:center;background:var(--cream);border-radius:9px;color:var(--gold-deep)}
.hero__float--1{left:-6%;top:16%}
.hero__float--2{right:-4%;bottom:14%}
.grid{display:grid;gap:clamp(1.1rem,2.5vw,1.8rem)}
.grid--2{grid-template-columns:repeat(2,1fr)}
.grid--3{grid-template-columns:repeat(3,1fr)}
.grid--4{grid-template-columns:repeat(4,1fr)}
.card{background:var(--white);border:1px solid #ececec;border-radius:var(--radius);padding:1.8rem;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease);height:100%}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:transparent}
.section--dark .card{background:var(--charcoal);border-color:var(--line)}
.section--cream .card{background:var(--white)}
.card__icon{width:54px;height:54px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(135deg,rgba(201,162,39,.16),rgba(201,162,39,.05));color:var(--gold-deep);margin-bottom:1.1rem;font-size:1.5rem}
.section--dark .card__icon{color:var(--gold-soft)}
.card h3{margin-bottom:.5rem}
.card p{font-size:.96rem}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.split--reverse .split__media{order:2}
.split__media{border-radius:var(--radius-lg);overflow:hidden;min-height:360px;position:relative;box-shadow:var(--shadow)}
.media-panel{position:absolute;inset:0;display:flex;align-items:flex-end;padding:1.6rem}
.media-panel--branding{background:linear-gradient(180deg,rgba(13,13,15,0) 30%,rgba(13,13,15,.78)),linear-gradient(140deg,#2a2118,#14100a)}
.media-panel--print{background:linear-gradient(180deg,rgba(13,13,15,0) 30%,rgba(13,13,15,.78)),linear-gradient(140deg,#1a2230,#0e131b)}
.media-panel__glyph{position:absolute;top:1.4rem;left:1.6rem;color:var(--gold-soft);opacity:.9}
.media-panel__glyph .i{width:68px;height:68px;stroke-width:1.5}
.media-panel__caption{color:var(--cream);position:relative}
.media-panel__caption strong{color:var(--gold-soft);font-family:var(--ff-head);font-size:1.3rem;display:block}
.checklist{display:grid;gap:.85rem;margin-top:1.4rem}
.checklist li{display:flex;gap:.8rem;align-items:flex-start;font-size:1rem}
.checklist .i{color:var(--gold-deep);margin-top:.28em}
.section--dark .checklist .i{color:var(--gold-soft)}
.pills{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.2rem}
.pill{font-size:.88rem;font-weight:500;padding:.5rem 1rem;border-radius:999px;background:var(--cream);border:1px solid #e6e2d8;color:#4a4a52}
.section--dark .pill{background:var(--charcoal);border-color:var(--line);color:#d2d2da}
.stats-band{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;text-align:center}
.stats-band .stat strong{display:block;font-family:var(--ff-head);font-size:clamp(2rem,5vw,3.2rem);color:var(--gold-soft);line-height:1}
.stats-band .stat span{font-size:.9rem;color:#c7c7cf;letter-spacing:.03em}
.brand-strip{border-block:1px solid #ececec;background:var(--white)}
.brand-strip__inner{display:flex;align-items:center;gap:1rem;padding-block:1.6rem;overflow:hidden}
.brand-track{display:flex;gap:clamp(1.8rem,5vw,3.6rem);align-items:center;animation:marquee 34s linear infinite;white-space:nowrap}
.brand-strip__inner:hover .brand-track{animation-play-state:paused}
.brand-track span{font-family:var(--ff-head);font-size:clamp(1.05rem,2.4vw,1.5rem);font-weight:700;letter-spacing:.02em;color:#b9b9c2;transition:color .3s var(--ease);flex:none}
.brand-track span:hover{color:var(--ink)}
@keyframes marquee{to{transform:translateX(-50%)}}
.brand-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}
.brand-cell{aspect-ratio:3/2;display:grid;place-items:center;text-align:center;padding:1rem;border:1px solid #ececec;border-radius:var(--radius-sm);background:var(--white);font-family:var(--ff-head);font-weight:700;font-size:1.05rem;color:#55555f;transition:transform .3s var(--ease),color .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease)}
.brand-cell:hover{transform:translateY(-4px);color:var(--ink);box-shadow:var(--shadow-sm);border-color:var(--gold)}
.brand-cell small{display:block;font-family:var(--ff-body);font-weight:500;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-dark);margin-top:.3rem}
.steps{counter-reset:step;display:grid;gap:1.2rem}
.step{display:grid;grid-template-columns:auto 1fr;gap:1.2rem;align-items:start;padding:1.4rem 0;border-top:1px solid var(--line)}
.step__num{counter-increment:step;font-family:var(--ff-head);font-size:1.4rem;color:var(--gold-soft);width:54px;height:54px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%}
.step__num::before{content:"0" counter(step)}
.value h3{display:flex;align-items:center;gap:.6rem}
.value h3 .i{color:var(--gold-deep)}
.timeline{display:grid;gap:0;position:relative}
.timeline::before{content:"";position:absolute;left:11px;top:8px;bottom:8px;width:2px;background:var(--line)}
.tl-item{position:relative;padding:0 0 1.8rem 2.4rem}
.tl-item::before{content:"";position:absolute;left:4px;top:6px;width:16px;height:16px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgba(201,162,39,.18)}
.tl-item h4{font-family:var(--ff-body);font-weight:700;font-size:1.05rem}
.tl-item .yr{font-size:.8rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-deep)}
.section--dark .tl-item .yr{color:var(--gold-soft)}
.cta{position:relative;background:radial-gradient(700px 340px at 85% 10%,rgba(201,162,39,.22),transparent 60%),linear-gradient(160deg,#17171b,#0a0a0c);color:var(--cream);border-radius:var(--radius-lg);padding:clamp(2.4rem,6vw,4.2rem);text-align:center;overflow:hidden}
.cta h2{color:var(--white)}
.cta .btn-row{justify-content:center;margin-top:1.8rem}
.founder{display:grid;grid-template-columns:260px 1fr;gap:clamp(1.6rem,4vw,3rem);align-items:center}
.founder__avatar{aspect-ratio:1;border-radius:var(--radius-lg);background:linear-gradient(150deg,#2a2118,#14100a);display:grid;place-items:center;color:var(--gold-soft);font-family:var(--ff-head);font-size:3.4rem;border:1px solid var(--line);box-shadow:var(--shadow)}
.founder blockquote{font-family:var(--ff-head);font-size:clamp(1.2rem,2.4vw,1.6rem);line-height:1.4;color:var(--ink)}
.section--dark .founder blockquote{color:var(--white)}
.founder cite{display:block;margin-top:1.2rem;font-style:normal}
.founder cite b{color:var(--gold-deep)}
.section--dark .founder cite b{color:var(--gold-soft)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.info-list{display:grid;gap:1.1rem;margin-top:1.6rem}
.info-item{display:flex;gap:1rem;align-items:flex-start}
.info-item .i-wrap{width:48px;height:48px;flex:none;display:grid;place-items:center;border-radius:12px;background:rgba(201,162,39,.12);color:var(--gold-deep)}
.info-item h4{font-family:var(--ff-body);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-dark);font-weight:700}
.info-item p,.info-item a{font-size:1.05rem;color:var(--ink);font-weight:500}
.info-item a:hover{color:var(--gold-deep)}
.form-card{background:var(--white);border:1px solid #ececec;border-radius:var(--radius-lg);padding:clamp(1.6rem,4vw,2.4rem);box-shadow:var(--shadow-sm)}
.field{margin-bottom:1.1rem}
.field label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.4rem;color:#45454d}
.field input,.field select,.field textarea{width:100%;padding:.85rem 1rem;font:inherit;font-size:.98rem;color:var(--ink);background:var(--cream);border:1.5px solid #e6e2d8;border-radius:var(--radius-sm);transition:border-color .2s var(--ease),background .2s var(--ease)}
.field textarea{resize:vertical;min-height:120px}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold);background:var(--white)}
.form-note{font-size:.82rem;color:var(--muted-dark);margin-top:.8rem}
.map-embed{border-radius:var(--radius);overflow:hidden;border:1px solid #ececec;min-height:260px}
.map-embed iframe{width:100%;height:100%;min-height:260px;border:0;display:block}
.hanger-gallery{background:var(--cream)}
.hanger-gallery__grid{column-count:4;column-gap:1rem}
.hanger-gallery__item{position:relative;display:inline-block;width:100%;margin:0 0 1rem;overflow:hidden;background:var(--white);border:1px solid rgba(201,162,39,.2);border-radius:12px;box-shadow:0 8px 20px rgba(0,0,0,.08);break-inside:avoid}
.hanger-gallery__item::before{content:"Add hanger photo";position:absolute;inset:0;display:none;place-items:center;color:var(--gold-soft);font-family:var(--ff-head);font-size:1.05rem}
.hanger-gallery__link{display:block;line-height:0;cursor:zoom-in}
.hanger-gallery__item img{position:relative;width:100%;height:auto;display:block;background:#f5f2eb;transition:transform .55s var(--ease),filter .35s var(--ease)}
.hanger-gallery__item.is-empty img{display:none}
.hanger-gallery__item.is-empty::before{display:grid}
.hanger-gallery__item:hover img{transform:scale(1.04);filter:saturate(1.04) contrast(1.02)}
.hanger-gallery__item figcaption{padding:.55rem .7rem;color:var(--ink);background:var(--white);font-size:.74rem;font-weight:600}
.site-footer{background:var(--black);color:#b7b7c0;padding-block:clamp(3rem,6vw,4.5rem) 1.5rem}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:2rem}
.footer-grid h4{font-family:var(--ff-body);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:1.1rem}
.footer-grid a{display:block;padding:.28rem 0;color:#b7b7c0;font-size:.95rem;transition:color .2s var(--ease)}
.footer-grid a:hover{color:var(--white)}
.footer-about p{font-size:.95rem;color:#9a9aa4;margin-top:1rem;max-width:34ch}
.footer-social{display:flex;gap:.6rem;margin-top:1.2rem}
.footer-social a{width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.14);border-radius:10px;color:#cfcfd6}
.footer-social a:hover{border-color:var(--gold);color:var(--gold-soft)}
.footer-bottom{margin-top:2.6rem;padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;justify-content:space-between;align-items:center;font-size:.85rem;color:#82828c}
.wa-float{position:fixed;right:clamp(1rem,3vw,1.8rem);bottom:clamp(1rem,3vw,1.8rem);z-index:90;display:inline-flex;align-items:center;gap:.7rem;padding:.8rem 1.1rem .8rem .85rem;background:#25d366;color:#04331b;font-weight:700;font-size:.95rem;border-radius:999px;box-shadow:0 14px 34px rgba(37,211,102,.4);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.wa-float:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 20px 44px rgba(37,211,102,.5)}
.wa-float__icon{width:34px;height:34px;display:grid;place-items:center;background:rgba(255,255,255,.25);border-radius:50%}
.wa-float__icon svg{width:20px;height:20px;fill:#04331b}
.wa-float__label{line-height:1.05}
.wa-float__label small{display:block;font-weight:500;font-size:.68rem;opacity:.8}
.wa-float::before{content:"";position:absolute;inset:-6px;border-radius:999px;border:2px solid #25d366;opacity:.5;animation:wa-pulse 2.4s var(--ease) infinite;pointer-events:none}
@keyframes wa-pulse{0%{transform:scale(1);opacity:.5}70%{transform:scale(1.25);opacity:0}100%{opacity:0}}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.is-visible{opacity:1;transform:none}
.reveal[data-delay="1"]{transition-delay:.08s}
.reveal[data-delay="2"]{transition-delay:.16s}
.reveal[data-delay="3"]{transition-delay:.24s}
.reveal[data-delay="4"]{transition-delay:.32s}
.page-hero{background:radial-gradient(900px 400px at 78% -20%,rgba(201,162,39,.16),transparent 60%),var(--black);color:var(--cream);padding-block:clamp(3rem,7vw,5.5rem);text-align:center}
.page-hero h1{color:var(--white)}
.page-hero p{max-width:60ch;margin-inline:auto;margin-top:1rem}
.breadcrumb{font-size:.82rem;letter-spacing:.06em;color:var(--muted);margin-bottom:1rem;text-transform:uppercase}
.breadcrumb a:hover{color:var(--gold-soft)}
.breadcrumb span{color:var(--gold-soft)}
@media (max-width:980px){
 .hero__inner{grid-template-columns:1fr}
 .hero__visual{min-height:320px;order:-1}
 .hero__float--1{left:0}
 .hero__float--2{right:0}
 .split{grid-template-columns:1fr}
 .split--reverse .split__media{order:0}
 .founder{grid-template-columns:1fr;text-align:center}
 .founder__avatar{width:180px;margin-inline:auto}
 .founder blockquote{text-align:left}
 .contact-grid{grid-template-columns:1fr}
 .brand-grid{grid-template-columns:repeat(3,1fr)}
 .footer-grid{grid-template-columns:1fr 1fr}
 .stats-band{grid-template-columns:repeat(2,1fr);gap:2rem 1rem}
}
@media (max-width:760px){
 .nav__links,.nav__cta{display:none}
 .nav__toggle{display:grid;place-items:center}
 .site-header.is-open .nav__links{display:flex;position:absolute;top:74px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:.6rem clamp(1.1rem,4vw,2rem) 1.2rem;background:rgba(13,13,15,.98);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}
 .site-header.is-open .nav__links a{padding:.9rem .4rem;border-bottom:1px solid rgba(255,255,255,.06)}
 .site-header.is-open .nav__links a::after{display:none}
 .site-header.is-open .nav__cta{display:block;padding:1rem clamp(1.1rem,4vw,2rem)}
 .site-header.is-open .nav__cta .btn{width:100%}
 .grid--2,.grid--3,.grid--4{grid-template-columns:1fr}
 .wa-float__label{display:none}
 .wa-float{padding:.85rem}
}
@media (max-width:520px){
 .brand-grid{grid-template-columns:repeat(2,1fr)}
 .footer-grid{grid-template-columns:1fr}
 .hero__stats{gap:1.2rem 1.8rem}
}
@media (prefers-reduced-motion:reduce){
 *{animation:none !important;scroll-behavior:auto}
 .reveal{opacity:1;transform:none}
}
/* ---------- Logo image (added) ---------- */
.brand__mark{background:#0d0d0f;padding:0;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.brand__mark img{width:100%;height:100%;object-fit:contain;display:block}
.footer-logo{display:inline-block;line-height:0}
.footer-logo img{width:190px;max-width:72%;border-radius:14px;box-shadow:var(--shadow);display:block}
/* ---------- Brand tagline (added) ---------- */
.brand__name small{letter-spacing:.02em;text-transform:none;font-style:italic;font-weight:500;font-size:.62rem;white-space:nowrap}
/* ---------- Larger logo (added) ---------- */
.nav{height:82px}
.brand__mark{width:56px;height:56px;border-radius:14px}
.brand__name{font-size:1.35rem}
.site-header.is-open .nav__links{top:82px}
.footer-logo img{width:220px}
@media (max-width:760px){
 .brand__mark{width:50px;height:50px}
 .brand__name{font-size:1.2rem}
}
/* ---------- Mobile UX polish (added) ---------- */
@media (max-width:760px){
  .hero__inner{padding-block:2rem 2.6rem;gap:1.6rem}
  .hero__visual{order:0;min-height:0}           /* headline first, visual after */
  .hero-card{width:100%;aspect-ratio:16/11;padding:1.2rem}
  .hero__float{display:none}                     /* remove floating chips on phones */
  .hero__stats{margin-top:1.8rem;padding-top:1.3rem;gap:1.1rem 1.6rem}
  .section{padding-block:3.2rem}
  .page-hero{padding-block:2.6rem}
  .cta{padding:2.2rem 1.3rem}
  .founder__avatar{width:130px}
}
@media (max-width:600px){
  h1{font-size:2.1rem}
  .btn-row{flex-direction:column;align-items:stretch;gap:.7rem}
  .btn-row .btn{width:100%}
  .hero-card__tag{font-size:.82rem}
  .footer-logo img{width:200px;max-width:82%}
}
/* ================= Responsive fixes (verified via breakpoint audit) ================= */
/* Nav collapses to hamburger at <=980px so the enlarged logo + tagline + full menu
   never overflow tablet widths (fixes 768px horizontal scroll on every page). */
@media (max-width:980px){
  .nav__links,.nav__cta{display:none}
  .nav__toggle{display:grid;place-items:center}
  .site-header.is-open .nav__links{display:flex;position:absolute;top:82px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:.6rem clamp(1.1rem,4vw,2rem) 1.2rem;background:rgba(13,13,15,.98);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}
  .site-header.is-open .nav__links a{padding:.95rem .4rem;border-bottom:1px solid rgba(255,255,255,.06)}
  .site-header.is-open .nav__links a::after{display:none}
  .site-header.is-open .nav__cta{display:block;padding:1rem clamp(1.1rem,4vw,2rem)}
  .site-header.is-open .nav__cta .btn{width:100%}
}
/* 4-up card grid to 2 columns on tablets (avoids cramped cards 761-900px). */
@media (max-width:900px){ .grid--4{grid-template-columns:repeat(2,1fr)} }
/* Brand grid cells must be allowed to shrink so they never overflow small phones
   (fixes 320/360px horizontal scroll on the Brands page). */
@media (max-width:420px){
  .brand-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .brand-cell{font-size:.95rem;padding:.75rem;overflow-wrap:anywhere}
}
/* Guarantee no horizontal scroll at the document level (clip keeps sticky header working). */
html{overflow-x:clip}
/* Fix: body{overflow-x:hidden} forces overflow-y:auto (per spec) which breaks the
   sticky header. Clip on <html> instead (already set above) and free the body. */
body{overflow-x:visible}
/* Fix: keep the 4-up grid single-column on phones (my <=900 2-col rule must not
   leak below 760 where cards can't shrink -> caused 5px overflow on Services@320). */
@media (max-width:760px){ .grid--4{grid-template-columns:1fr} }
@media (max-width:1100px){ .hanger-gallery__grid{column-count:3} }
@media (max-width:760px){ .hanger-gallery__grid{column-count:2} }
@media (max-width:480px){ .hanger-gallery__grid{column-count:1} }
/* Fix: brand-grid tracks must be able to shrink at every column count
   (1fr = minmax(auto,1fr) refuses to shrink -> overflow at 320/540). */
.brand-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.brand-cell{overflow-wrap:anywhere}
@media (max-width:980px){ .brand-grid{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (max-width:520px){ .brand-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
/* ===== Mobile menu fix: WhatsApp CTA sits inside the dropdown (in-flow, no overlap) ===== */
@media (max-width:980px){
  .site-header.is-open{background:rgba(13,13,15,.97)}
  .site-header.is-open .nav{flex-wrap:wrap;height:auto;align-items:center;padding-bottom:.5rem}
  .site-header.is-open .nav__links{
    position:static;display:flex;flex-direction:column;align-items:stretch;
    flex-basis:100%;order:3;gap:0;margin-top:.4rem;padding:.2rem 0 .3rem;
    left:auto;right:auto;top:auto;background:transparent;box-shadow:none;
    border-top:1px solid rgba(255,255,255,.08);border-bottom:none;backdrop-filter:none;
  }
  .site-header.is-open .nav__links a{padding:.95rem .2rem;border-bottom:1px solid rgba(255,255,255,.06)}
  .site-header.is-open .nav__cta{order:4;flex-basis:100%;display:block;padding:.3rem 0 .7rem;margin:0}
  .site-header.is-open .nav__cta .btn{width:100%}
}

/* ===== Creative brand cursor (desktop / fine-pointer only) ===== */
@media (hover:hover) and (pointer:fine){
  body.has-cursor,
  body.has-cursor a,
  body.has-cursor button,
  body.has-cursor .btn,
  body.has-cursor [role="button"],
  body.has-cursor label,
  body.has-cursor input,
  body.has-cursor select,
  body.has-cursor textarea,
  body.has-cursor .brand-cell,
  body.has-cursor .pill{cursor:none}
  .cursor-dot,.cursor-ring{position:fixed;top:0;left:0;z-index:9999;pointer-events:none;border-radius:50%;transform:translate(-50%,-50%);will-change:transform}
  .cursor-dot{width:8px;height:8px;background:var(--gold);box-shadow:0 0 12px rgba(201,162,39,.85)}
  .cursor-ring{width:36px;height:36px;border:1.5px solid rgba(201,162,39,.7);
    transition:width .22s var(--ease),height .22s var(--ease),background-color .22s var(--ease),border-color .22s var(--ease),opacity .3s ease}
  .cursor-ring.is-hover{width:58px;height:58px;background:rgba(201,162,39,.15);border-color:var(--gold-soft)}
  .cursor-dot.is-hover{background:var(--gold-soft);box-shadow:0 0 16px rgba(226,193,90,.9)}
  .cursor-ring.is-down{width:28px;height:28px;background:rgba(201,162,39,.25)}
}
@media (hover:none),(pointer:coarse){ .cursor-dot,.cursor-ring{display:none!important} }
/* Header brand wordmark (cropped gold "Gabriels" from the logo, replaces white text) */
.brand__wordmark{display:block;width:190px;height:44px;object-fit:contain;object-position:left center}
@media (max-width:760px){ .brand__wordmark{width:158px;height:37px} }
.brand__logo-wrap{display:block;line-height:0}
.brand__logo{display:block;width:auto;height:64px;border-radius:8px}
@media (max-width:760px){
 .brand__logo{width:auto;height:56px;border-radius:8px}
 .brand{gap:.6rem}
}