/* Wild Corazon shared handcrafted theme (extracted) */
/* ====== Wild Corazon Handcrafted (page-specific) ====== */
/* palette defaults (Fiesta Pop) */
body.theme-bold{
  --c-primary:#E8358A;--c-accent:#FBB034;--c-accent2:#18B5C0;
  --bg:#FFE9F1;--bg-alt:#FFFFFF;
  --h1-a:#E8358A;--h1-b:#18B5C0;--h1-c:#FBB034;
  --pill1a:#E8358A;--pill1b:#C01C74;
  --pill2a:#18B5C0;--pill2b:#0E8C96;
  --pill3a:#C01C74;--pill3b:#8E1257;
  --band:#18B5C0;--band2:#0E8C96;
  --footer-bg:#2A1C16;
}
body.theme-bold[data-palette="hot"]{
  --c-primary:#FF2D8E;--c-accent:#FFC23C;--c-accent2:#8A2BE2;--bg:#FFF0F6;
  --h1-a:#FF2D8E;--h1-b:#8A2BE2;--h1-c:#FFC23C;
  --pill1a:#FF2D8E;--pill1b:#D4126E;
  --pill2a:#9B3FD1;--pill2b:#6A1FA8;
  --pill3a:#FF6FB0;--pill3b:#E6157A;
  --band:#9B3FD1;--band2:#6A1FA8;
  --footer-bg:#36103F;
}
body.theme-bold[data-palette="sunset"]{
  --c-primary:#FF5A3C;--c-accent:#FFB300;--c-accent2:#E6157A;--bg:#FFF3E6;
  --h1-a:#FF5A3C;--h1-b:#E6157A;--h1-c:#FFB300;
  --pill1a:#FF5A3C;--pill1b:#E23A1E;
  --pill2a:#E6157A;--pill2b:#B80F63;
  --pill3a:#F0900A;--pill3b:#CC7000;
  --band:#E6157A;--band2:#B80F63;
  --footer-bg:#4A1133;
}
body.theme-bold .footer{background:#FFFFFF;color:var(--ink);border-top:2px solid rgba(42,21,66,.08)}
body.theme-bold .footer h4{color:var(--c-primary)}
body.theme-bold .footer a{color:var(--ink);opacity:.82}
body.theme-bold .footer a:hover{color:var(--c-primary);opacity:1}
body.theme-bold .footer .social a{background:var(--c-primary);color:#fff;opacity:1}
body.theme-bold .footer .footer-bottom{border-top-color:rgba(42,21,66,.12)}
/* branded order form */
.order-form{max-width:780px;margin:34px auto 0;background:var(--bg-alt);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:clamp(22px,4vw,44px);text-align:left;position:relative;overflow:hidden}
.order-form::before{content:"";position:absolute;top:0;left:0;right:0;height:8px;background:linear-gradient(90deg,var(--c-primary),var(--c-accent),var(--c-accent2))}
.of-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}
.of-field{display:flex;flex-direction:column;gap:7px}
.of-field.full{grid-column:1 / -1}
.of-field label{font-family:var(--font-head);font-weight:700;font-size:13.5px;color:var(--ink)}
.of-field label .req{color:var(--c-primary)}
.of-field input,.of-field select,.of-field textarea{font-family:var(--font-body);font-size:15.5px;padding:13px 14px;border:1.5px solid color-mix(in srgb,var(--ink) 16%,transparent);border-radius:11px;background:#fff;color:var(--ink);transition:border-color .15s,box-shadow .15s;width:100%}
.of-field input:focus,.of-field select:focus,.of-field textarea:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--c-primary) 18%,transparent)}
.of-field textarea{resize:vertical;min-height:98px}
.of-radio{display:flex;gap:10px;flex-wrap:wrap}
.of-radio label{display:flex;align-items:center;gap:8px;border:1.5px solid color-mix(in srgb,var(--ink) 16%,transparent);border-radius:11px;padding:11px 16px;cursor:pointer;font-family:var(--font-head);font-weight:600;font-size:14.5px;flex:1;min-width:150px;transition:.15s}
.of-radio input{accent-color:var(--c-primary);width:auto}
.of-radio label:has(input:checked){border-color:var(--c-primary);background:color-mix(in srgb,var(--c-primary) 8%,transparent)}
.of-submit{grid-column:1 / -1;margin-top:6px;display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.of-note{font-family:var(--font-head);font-size:13px;color:color-mix(in srgb,var(--ink) 62%,transparent);font-weight:600}
.of-fallback{text-align:center;margin-top:18px;font-size:13.5px;color:color-mix(in srgb,var(--ink) 60%,transparent)}
.of-fallback a{color:var(--c-primary);font-weight:700}
.of-success{display:none;text-align:center;padding:24px 10px}
.order-form.done .of-success{display:block}
.order-form.done .of-body{display:none}
.of-success .em{width:66px;height:66px;margin:0 auto 14px}
.of-success h3{font-family:var(--font-display);font-size:clamp(26px,4vw,36px);color:var(--c-primary);margin-bottom:10px}
.of-success p{max-width:30em;margin:0 auto;font-size:16px;color:color-mix(in srgb,var(--ink) 76%,transparent)}
.of-drop{grid-column:1 / -1;border:2px dashed color-mix(in srgb,var(--c-primary) 45%,transparent);border-radius:12px;background:color-mix(in srgb,var(--c-primary) 5%,#fff);padding:20px;text-align:center;cursor:pointer;transition:.15s}
.of-drop:hover,.of-drop.drag{background:color-mix(in srgb,var(--c-primary) 12%,#fff);border-color:var(--c-primary)}
.of-drop .ic{width:32px;height:32px;margin:0 auto 6px;display:block}
.of-drop b{font-family:var(--font-head);font-weight:700;color:var(--c-primary);font-size:14.5px}
.of-drop em{display:block;font-style:normal;font-size:12.5px;color:color-mix(in srgb,var(--ink) 58%,transparent);margin-top:2px}
.of-drop input{display:none}
.of-thumbs{display:flex;flex-wrap:wrap;gap:10px}
.of-thumbs:empty{display:none}
.of-thumb{position:relative;width:74px;height:74px;border-radius:10px;overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--line)}
.of-thumb img{width:100%;height:100%;object-fit:cover}
.of-thumb button{position:absolute;top:3px;right:3px;width:19px;height:19px;border:0;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;font-size:12px;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0}
@media(max-width:620px){.of-grid{grid-template-columns:1fr}}
/* papel-picado bunting across hero top */
.bunting{position:absolute;top:0;left:0;right:0;display:flex;justify-content:center;align-items:flex-start;z-index:3;pointer-events:none;overflow:hidden}
.bunting svg{height:40px;width:108px;flex:0 0 auto;margin:0 -3px}
.bunting-row{display:flex;justify-content:center;align-items:flex-start;overflow:hidden;margin-bottom:42px;padding-top:2px}
.bunting-row svg{height:44px;width:112px;flex:0 0 auto;margin:0 -3px}
@media(max-width:600px){.bunting-row svg{height:32px;width:88px}}
@media(max-width:600px){.bunting svg{height:30px;width:84px}}
/* extra hero-art folk floats */
.hero-art .deco.citrus{top:-24px;left:-22px;width:48px;height:48px}
.hero-art .deco.star{top:54px;right:-24px;width:36px;height:36px}
.hero-art .deco.leaf{bottom:-14px;right:46px;width:42px;height:42px;transform:rotate(20deg)}
@media(max-width:980px){.hero-art .deco.citrus,.hero-art .deco.star,.hero-art .deco.leaf{display:none}}
.heroA{position:relative;padding:70px 0 90px;overflow:hidden}
.heroA{padding-top:98px}
.heroA::before{/* talavera dot grid */
  content:"";position:absolute;inset:0;z-index:0;
  background-image:radial-gradient(var(--cream-2) 2px,transparent 2px);
  background-size:26px 26px;opacity:.6;
}
.heroA .wrap{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center}
.heroA .eyebrow{color:var(--c-primary)}
.heroA h1{font-family:var(--font-display);font-size:clamp(46px,6.6vw,96px);line-height:.92;text-transform:uppercase;margin:14px 0 26px;color:var(--ink)}
.heroA h1 .a{color:var(--h1-a)}
.heroA h1 .b{color:var(--h1-b)}
.heroA h1 .c{color:var(--h1-c)}
.heroA .sub{font-size:19px;max-width:30em;color:color-mix(in srgb,var(--ink) 78%,transparent);margin-bottom:26px}
.heroA .cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:26px}
.heroA .trust{display:flex;gap:22px;flex-wrap:wrap;font-family:var(--font-head);font-weight:600;font-size:14px;color:color-mix(in srgb,var(--ink) 70%,transparent)}
.heroA .trust span{display:inline-flex;gap:7px;align-items:center}
.heroA .trust b{color:var(--c-primary)}

.hero-art{position:relative}
.hero-frame{border-radius:32px;overflow:hidden;box-shadow:var(--shadow);border:6px solid #fff;transform:rotate(-2deg);aspect-ratio:4/5;background:var(--cream-2)}
.hero-frame img{width:100%;height:100%;object-fit:cover}
.hero-badge{position:absolute;font-family:var(--font-display);text-transform:uppercase;background:var(--c-accent);color:var(--ink);padding:14px 18px;border-radius:18px;line-height:.9;box-shadow:var(--shadow-sm);transform:rotate(6deg)}
.hero-badge.tl{top:-18px;left:-16px;background:var(--c-accent2);color:#fff;transform:rotate(-8deg)}
.hero-badge.br{bottom:14px;right:-14px;font-size:20px}
.hero-badge .big{display:block;font-size:30px}
.float{position:absolute;z-index:1;opacity:.9}

/* three pillars */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pillar{position:relative;border-radius:var(--radius-lg);padding:34px 30px 30px;color:#fff;overflow:hidden;min-height:300px;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:var(--shadow-sm);transition:transform .2s}
.pillar:hover{transform:translateY(-7px)}
.pillar.p1{background:linear-gradient(150deg,var(--pill1a),var(--pill1b))}
.pillar.p2{background:linear-gradient(150deg,var(--pill2a),var(--pill2b))}
.pillar.p3{background:linear-gradient(150deg,var(--pill3a),var(--pill3b))}
.pillar .num{position:absolute;top:18px;right:22px;font-family:var(--font-display);font-size:62px;opacity:.22}
.pillar h3{font-family:var(--font-display);text-transform:uppercase;font-size:30px;line-height:.95;margin-bottom:8px}
.pillar p{opacity:.92;font-size:15px;margin-bottom:16px}
.pillar .go{font-family:var(--font-head);font-weight:700;display:inline-flex;gap:8px;align-items:center}
.pillar .ic{position:absolute;top:22px;left:24px;width:48px;height:48px;background:rgba(255,255,255,.18);border-radius:50%;padding:9px;display:grid;place-items:center}
.pillar .ic .fi{width:100%;height:100%}
.fi{width:1.1em;height:1.1em;display:inline-block;vertical-align:-.2em}
.trust .fi{width:19px;height:19px;vertical-align:-4px}
.pill-tags .fi{width:18px;height:18px;vertical-align:-3px}
.announce .fi{width:15px;height:15px;vertical-align:-2px}
.step h4 .fi{width:23px;height:23px;vertical-align:-5px;margin-left:5px}
.sec-head h2 .fi{width:.82em;height:.82em;vertical-align:-2px}
.seal .mid .fi{width:40px;height:40px}
.hero-art .deco.chili{top:140px;left:-26px;width:42px;height:54px}
@media(max-width:980px){.hero-art .deco.chili{display:none}}
/* festive folk garland */
.garland{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:34px clamp(24px,5vw,80px);background:#E8F6F4;position:relative;overflow:hidden}
.garland::before,.garland::after{content:"";position:absolute;left:0;right:0;height:11px;background:linear-gradient(135deg,var(--c-accent2) 25%,transparent 25%) 0 0/22px 11px,linear-gradient(225deg,var(--c-accent2) 25%,transparent 25%) 0 0/22px 11px;background-repeat:repeat-x}
.garland::before{top:0}
.garland::after{bottom:0;transform:scaleY(-1)}
.garland .fi{width:44px;height:44px;flex:0 0 auto;filter:drop-shadow(0 2px 3px rgba(42,21,66,.12))}
.garland .fi:nth-child(odd){transform:rotate(-6deg)}
.garland .fi:nth-child(even){transform:rotate(6deg)}
@media(max-width:900px){.garland{gap:16px;padding:28px 24px}.garland .fi{width:34px;height:34px}}
@media(max-width:760px){.garland{flex-wrap:wrap;justify-content:center;gap:20px}.garland .fi{width:30px;height:30px}.garland .fi:nth-child(n+9){display:none}}

/* tiktok / social proof */
.tiktok{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.tt-feed{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:8px}
.tt-card{position:relative;display:block;aspect-ratio:9/16;border-radius:16px;overflow:hidden;box-shadow:var(--shadow-sm);background:var(--cream-2);transition:transform .18s}
.tt-card:hover{transform:translateY(-5px)}
.tt-card img{width:100%;height:100%;object-fit:cover}
.tt-card::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(20,8,20,.5),transparent 55%)}
.tt-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.92);display:grid;place-items:center;z-index:2;box-shadow:0 4px 14px rgba(0,0,0,.25)}
.tt-play svg{width:18px;height:18px;margin-left:2px;fill:var(--c-primary)}
.tt-cap{position:absolute;left:11px;right:11px;bottom:9px;color:#fff;font-family:var(--font-head);font-weight:600;font-size:12px;z-index:2;line-height:1.2}
.tt-handle{font-family:var(--font-head);font-weight:700;color:color-mix(in srgb,var(--ink) 62%,transparent);font-size:13.5px}
@media(max-width:760px){.tt-feed{grid-template-columns:1fr 1fr}}

/* how it works */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;counter-reset:s}
.step{background:var(--bg-alt);border:2px dashed var(--line);border-radius:var(--radius);padding:34px 28px;position:relative}
.step::before{counter-increment:s;content:counter(s);position:absolute;top:-22px;left:28px;width:46px;height:46px;border-radius:50%;background:var(--c-primary);color:#fff;font-family:var(--font-display);display:grid;place-items:center;font-size:24px;box-shadow:var(--shadow-sm)}
.step h4{font-family:var(--font-head);font-weight:800;font-size:20px;margin:8px 0 8px}
.step p{font-size:15px;color:color-mix(in srgb,var(--ink) 75%,transparent)}

/* bulk / corporate band */
.bulk{background:linear-gradient(140deg,#18B5C0,#0A565C);color:#fff;border-radius:var(--radius-lg);padding:54px;display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;position:relative;overflow:hidden}
.bulk::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.06) 2px,transparent 2px);background-size:24px 24px}
.bulk>*{position:relative;z-index:1}
.bulk h2{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(32px,4vw,52px);line-height:.92;margin-bottom:14px}
.bulk h2 em{color:var(--marigold);font-style:normal}
.bulk p{opacity:.85;font-size:17px;margin-bottom:24px;max-width:34em}
.bulk .logos{display:flex;gap:14px;flex-wrap:wrap;margin-top:18px}
.bulk .logos div{font-family:var(--font-head);font-weight:700;font-size:13px;padding:9px 15px;border:1px solid rgba(255,255,255,.25);border-radius:999px;opacity:.8}
.bulk-stat{background:rgba(255,255,255,.07);border-radius:var(--radius);padding:26px;text-align:center}
.bulk-stat .n{font-family:var(--font-display);font-size:54px;color:var(--marigold);line-height:1}
.bulk-stat .l{font-family:var(--font-head);font-weight:600;font-size:14px;opacity:.85;margin-top:4px}
.bulk-stats{display:grid;gap:14px}

/* category strip cards (cards + digital) */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.feature{border-radius:var(--radius-lg);overflow:hidden;position:relative;color:#fff;min-height:360px;display:flex;align-items:flex-end;padding:34px;box-shadow:var(--shadow-sm)}
.feature img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.feature::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(42,21,66,.86),rgba(42,21,66,.15));z-index:1}
.feature .fc{position:relative;z-index:2}
.feature h3{font-family:var(--font-display);text-transform:uppercase;font-size:34px;line-height:.95;margin-bottom:8px}
.feature p{opacity:.92;margin-bottom:16px;max-width:24em}

/* reviews */
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.review{background:var(--bg-alt);border-radius:var(--radius);padding:30px;border:1px solid var(--line);position:relative}
.review .stars{color:var(--marigold);font-size:18px;letter-spacing:2px;margin-bottom:12px}
.review p{font-size:16.5px;line-height:1.5;margin-bottom:16px}
.review .who{font-family:var(--font-head);font-weight:700}
.review .who span{display:block;font-weight:500;font-size:13px;opacity:.6}
.review .qmark{position:absolute;top:14px;right:24px;font-family:var(--font-serif);font-size:80px;color:var(--c-accent);opacity:.3;line-height:1}

/* pickup / newsletter band */
.pickup{background:linear-gradient(135deg,var(--band),var(--band2));color:#fff;border-radius:var(--radius-lg);padding:50px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.pickup h2{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(30px,3.6vw,46px);line-height:.95;margin-bottom:10px}
.pickup p{opacity:.92;font-size:16px}
.signup{display:flex;gap:10px;margin-top:8px;flex-wrap:wrap}
.signup input{flex:1;min-width:200px;border:none;border-radius:999px;padding:16px 22px;font-family:var(--font-body);font-size:16px}
.pill-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;font-family:var(--font-head);font-weight:600;font-size:14px}
.pill-tags span{background:rgba(255,255,255,.18);padding:8px 14px;border-radius:999px}

/* mobile nav drawer */
.mnav{position:fixed;top:0;bottom:0;right:-400px;width:min(82vw,360px);background:var(--bg);z-index:60;transition:right .3s ease;box-shadow:var(--shadow);padding:90px 30px 30px;display:flex;flex-direction:column;gap:6px}play:flex;flex-direction:column;gap:6px}
.mnav.open{right:0}
.mnav a{font-family:var(--font-head);font-weight:700;font-size:20px;padding:12px 0;border-bottom:1px solid var(--line)}

@media(max-width:980px){
  .heroA .wrap{grid-template-columns:1fr;gap:36px}
  .pillars{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .bulk,.duo,.pickup{grid-template-columns:1fr}
  .bulk{padding:34px}
  .reviews{grid-template-columns:1fr}
}
/* ============ HANDCRAFTED + TEXTILE LAYER ============ */
body.theme-bold{--cream:#FFE9F1;--bg:#FFE9F1;--bg-alt:#FFFFFF;--cream-2:#F8D3E2;--clay:#C75B39;}
/* warm paper grain */
body::before{content:"";position:fixed;inset:0;z-index:9998;pointer-events:none;mix-blend-mode:multiply;opacity:.06;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
/* serape / Saltillo woven stripe band */
.serape{height:22px;width:100%;
  background:
    repeating-linear-gradient(0deg,rgba(0,0,0,.05) 0 1px,transparent 1px 4px),
    repeating-linear-gradient(90deg,#E6157A 0 13px,#FFF6EA 13px 15px,#FF7A3D 15px 27px,#FFF6EA 27px 29px,#FFB300 29px 41px,#FFF6EA 41px 43px,#10B5A6 43px 55px,#FFF6EA 55px 57px,#2A7DE1 57px 69px,#FFF6EA 69px 71px,#7A3FB5 71px 83px,#FFF6EA 83px 85px,#A8CF38 85px 97px,#FFF6EA 97px 99px);}
.serape.tall{height:30px}
/* folk iconography */
.folk{fill:currentColor}
.ornament{display:flex;justify-content:center;gap:14px;align-items:center;color:var(--c-accent);margin-bottom:16px}
.ornament .folk{width:30px;height:30px}
.ornament .l{flex:none;width:54px;height:2px;background:currentColor;border-radius:2px;opacity:.45}
.ornament.c-pink{color:var(--c-primary)}
/* hand-drawn squiggle underline */
.squig{display:block;width:min(340px,76%);height:16px;margin:-8px 0 0;color:var(--c-accent)}
.squig svg{width:100%;height:100%;display:block}
/* hand-stamped seal */
.seal{position:absolute;width:120px;height:120px;z-index:6}
.seal.br{bottom:-26px;right:-22px}
.seal>svg{width:100%;height:100%;display:block;filter:drop-shadow(0 6px 14px rgba(42,21,66,.3))}
.seal text{font-family:var(--font-head);font-weight:800;font-size:9px;letter-spacing:.14em;fill:var(--cream);
  transform-box:fill-box;transform-origin:center;animation:sealspin 26s linear infinite}
.seal .mid{position:absolute;inset:0;display:grid;place-items:center;font-size:34px}
@keyframes sealspin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.seal text{animation:none}}
/* embroidered textile frame on hero image */
.hero-frame{border:7px solid var(--bg-alt);outline:3px dashed var(--clay);outline-offset:-13px;box-shadow:var(--shadow),0 0 0 3px var(--c-accent) inset}
/* warmer tactile product cards */
.pcard{border:1.5px solid color-mix(in srgb,var(--clay) 28%,var(--line));box-shadow:0 10px 26px -14px rgba(120,60,20,.42)}
.pcard .tag{box-shadow:1px 1px 0 rgba(0,0,0,.18)}
/* hero folk floats */
.hero-art .deco{position:absolute;z-index:0;fill:currentColor}
.hero-art .deco.sun{top:-30px;right:4px;width:62px;height:62px;color:var(--c-accent)}
.hero-art .deco.bird{bottom:28px;left:-36px;width:56px;height:56px;color:var(--c-accent2)}
@media(max-width:980px){.hero-art .deco.bird{display:none}}
/* ===== inner-page components ===== */
.pagehero{position:relative;padding:64px 0 30px;overflow:hidden}
.pagehero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(var(--cream-2) 2px,transparent 2px);background-size:26px 26px;opacity:.5}
.pagehero .wrap{position:relative;z-index:2}
.pagehero .eyebrow{color:var(--c-primary)}
.pagehero h1{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(40px,6vw,80px);line-height:1.04;margin:14px 0 16px}
.pagehero h1 .a{color:var(--c-primary)}.pagehero h1 .b{color:var(--c-accent2)}.pagehero h1 .c{color:var(--c-accent)}
.pagehero p{font-size:18px;max-width:44em;color:color-mix(in srgb,var(--ink) 74%,transparent)}
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin:28px 0 34px}
.count-lbl{font-family:var(--font-head);font-weight:600;color:color-mix(in srgb,var(--ink) 58%,transparent);font-size:14px}
/* gallery */
.gal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.gal-grid .g{display:block;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);position:relative;border:1px solid var(--line);background:var(--cream-2);aspect-ratio:4/5}
.gal-grid .g img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.gal-grid .g:hover img{transform:scale(1.05)}
.gal-grid .g .cap{position:absolute;left:0;right:0;bottom:0;padding:34px 16px 14px;color:#fff;font-family:var(--font-head);font-weight:700;font-size:14px;text-wrap:balance;background:linear-gradient(to top,rgba(20,8,20,.78),rgba(20,8,20,.1) 70%,transparent);opacity:0;transition:opacity .2s}
.gal-grid .g:hover .cap{opacity:1}
@media(max-width:980px){.gal-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.gal-grid{grid-template-columns:1fr 1fr;gap:12px}}
/* faq */
.faq{max-width:800px;margin:0 auto;display:grid;gap:12px}
.faq details{background:var(--bg-alt);border:1.5px solid var(--line);border-radius:14px;padding:2px 24px;transition:.15s}
.faq details[open]{border-color:var(--c-primary)}
.faq summary{font-family:var(--font-head);font-weight:700;font-size:17px;padding:18px 0;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--c-primary);font-size:24px;line-height:1;font-family:var(--font-display)}
.faq details[open] summary::after{content:"–"}
.faq p{padding:0 0 20px;color:color-mix(in srgb,var(--ink) 76%,transparent);font-size:15.5px}
/* about */
.about-split{display:grid;grid-template-columns:1fr 1.1fr;gap:54px;align-items:center}
.about-split .im{border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4/5;background:var(--cream-2);box-shadow:var(--shadow);border:6px solid #fff;transform:rotate(-1.5deg)}
.about-split .im img{width:100%;height:100%;object-fit:cover}
.about-split h2{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(30px,4vw,50px);line-height:.96;margin-bottom:14px}
.about-split p{font-size:17px;color:color-mix(in srgb,var(--ink) 78%,transparent);margin-bottom:14px}
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.vcard{background:var(--bg-alt);border:1px solid var(--line);border-radius:var(--radius);padding:28px;text-align:center}
.vcard .fi{width:42px;height:42px;margin-bottom:10px}
.vcard h4{font-family:var(--font-head);font-weight:800;font-size:18px;margin-bottom:6px}
.vcard p{font-size:14.5px;color:color-mix(in srgb,var(--ink) 74%,transparent)}
.cta-band{background:linear-gradient(135deg,var(--c-primary),var(--pill1b));color:#fff;border-radius:var(--radius-lg);padding:54px;text-align:center;position:relative;overflow:hidden}
.cta-band::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.08) 2px,transparent 2px);background-size:24px 24px}
.cta-band>*{position:relative;z-index:1}
.cta-band h2{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(30px,4.4vw,54px);line-height:.94;margin-bottom:12px}
.cta-band p{opacity:.92;font-size:17px;max-width:38em;margin:0 auto 24px}
@media(max-width:880px){.about-split{grid-template-columns:1fr;gap:32px}.values{grid-template-columns:1fr}.cta-band{padding:36px}}

/* press / clients */
.press-band{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:grid;grid-template-columns:1fr 1fr;overflow:hidden}
.press-band>div{padding:32px 36px;display:flex;flex-direction:column;justify-content:center}
.press-band .press-nyt{border-right:1px solid var(--line)}
.press-band .eyebrow{color:var(--c-primary);margin-bottom:10px}
.nyt-link{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(22px,2.6vw,32px);color:var(--ink);display:inline-flex;align-items:center;gap:8px;line-height:1}
.nyt-link svg{width:20px;height:20px;color:var(--c-primary)}
.nyt-link:hover{color:var(--c-primary)}
.press-band p{font-size:14px;color:color-mix(in srgb,var(--ink) 62%,transparent);margin-top:10px}
.client-row{display:flex;flex-wrap:wrap;gap:10px}
.client-row span{font-family:var(--font-display);text-transform:uppercase;font-size:15px;letter-spacing:.02em;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:9px 14px}
@media(max-width:760px){.press-band{grid-template-columns:1fr}.press-band .press-nyt{border-right:0;border-bottom:1px solid var(--line)}}

/* blog / guides / articles */
.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.guide-card{display:flex;flex-direction:column;background:var(--bg-alt);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);transition:.2s;text-decoration:none}
.guide-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.guide-card .gi{aspect-ratio:16/10;overflow:hidden;background:var(--cream-2)}
.guide-card .gi img{width:100%;height:100%;object-fit:cover}
.guide-card .gb{padding:22px 22px 24px}
.guide-card .tag2{font-family:var(--font-head);font-weight:700;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--c-primary)}
.guide-card h3{font-family:var(--font-display);text-transform:uppercase;font-size:22px;line-height:1;margin:8px 0 8px}
.guide-card p{font-size:14.5px;color:color-mix(in srgb,var(--ink) 70%,transparent)}
.article{max-width:740px;margin:0 auto}
.article h2{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(26px,3.4vw,38px);line-height:1;margin:34px 0 14px}
.article h3{font-family:var(--font-head);font-weight:800;font-size:20px;margin:26px 0 8px}
.article p{font-size:17px;line-height:1.65;color:color-mix(in srgb,var(--ink) 82%,transparent);margin-bottom:16px}
.article ul{margin:0 0 16px 22px}
.article li{font-size:17px;line-height:1.6;margin-bottom:8px}
.article .lead{font-size:19px;color:color-mix(in srgb,var(--ink) 88%,transparent)}
@media(max-width:880px){.guide-grid{grid-template-columns:1fr}}

/* legal / contact pages */
.legal{max-width:760px;margin:0 auto}
.legal h2{font-family:var(--font-head);font-weight:800;font-size:22px;margin:30px 0 8px;color:var(--ink)}
.legal p,.legal li{font-size:16px;line-height:1.65;color:color-mix(in srgb,var(--ink) 82%,transparent);margin-bottom:12px}
.legal ul{margin:0 0 14px 22px}
.legal .upd{font-family:var(--font-head);font-weight:600;font-size:13px;color:color-mix(in srgb,var(--ink) 55%,transparent);margin-bottom:8px}
.legal a{color:var(--c-primary);font-weight:600}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:880px;margin:0 auto}
.cbox{background:var(--bg-alt);border:1px solid var(--line);border-radius:var(--radius);padding:30px;text-align:center}
.cbox .fi{width:42px;height:42px;margin-bottom:10px}
.cbox h3{font-family:var(--font-head);font-weight:800;font-size:18px;margin-bottom:6px}
.cbox p{font-size:15px;color:color-mix(in srgb,var(--ink) 74%,transparent);margin-bottom:4px}
.cbox a{color:var(--c-primary);font-weight:700;font-size:17px}
.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.rev{background:var(--bg-alt);border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow-sm)}
.rev .stars{color:var(--marigold);letter-spacing:2px;font-size:18px;margin-bottom:10px}
.rev p{font-size:15.5px;line-height:1.55;margin-bottom:14px}
.rev .who{font-family:var(--font-head);font-weight:800;font-size:15px}
.rev .who span{display:block;font-weight:500;font-size:12.5px;color:color-mix(in srgb,var(--ink) 55%,transparent)}
@media(max-width:760px){.contact-grid,.rev-grid{grid-template-columns:1fr}}

/* happy-customer photo gallery */
.cust-grid{columns:4;column-gap:14px}
.cust-grid .c{break-inside:avoid;margin:0 0 14px;border-radius:var(--radius);overflow:hidden;position:relative;box-shadow:var(--shadow-sm);border:1px solid var(--line);background:var(--cream-2)}
.cust-grid .c img{width:100%;display:block}
.cust-grid .c figcaption{position:absolute;left:0;right:0;bottom:0;padding:24px 12px 10px;color:#fff;font-family:var(--font-head);font-weight:700;font-size:12.5px;background:linear-gradient(to top,rgba(20,8,20,.72),transparent);opacity:0;transition:opacity .2s}
.cust-grid .c:hover figcaption{opacity:1}
@media(max-width:980px){.cust-grid{columns:3}}
@media(max-width:600px){.cust-grid{columns:2;column-gap:10px}}
/* homepage customer strip */
.cust-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.cust-strip .c{border-radius:16px;overflow:hidden;aspect-ratio:1/1;box-shadow:var(--shadow-sm);border:1px solid var(--line);background:var(--cream-2)}
.cust-strip .c img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.cust-strip .c:hover img{transform:scale(1.06)}
@media(max-width:900px){.cust-strip{grid-template-columns:repeat(3,1fr)}}
@media(max-width:480px){.cust-strip{grid-template-columns:repeat(2,1fr)}}

/* spacing: keep big display headings clear of the eyebrow above */
.sec-head .eyebrow{display:block;margin-bottom:16px;line-height:1.3}
.sec-head h2{margin-top:0}
.pagehero .eyebrow{display:block;margin-bottom:14px}

/* corporate / bulk landing */
.corp-hero{position:relative;overflow:hidden;background:var(--ink);color:#fff;padding:74px 0 64px}
.corp-hero::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.05) 2px,transparent 2px);background-size:24px 24px}
.corp-hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center}
.corp-hero .eyebrow{color:var(--marigold);display:block;margin-bottom:14px}
.corp-hero h1{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(38px,5.4vw,72px);line-height:1.05;margin-bottom:22px}
.corp-hero h1 em{color:var(--c-primary);font-style:normal}
.corp-hero p{font-size:18px;opacity:.86;max-width:34em;margin-bottom:26px}
.corp-hero .ctas{display:flex;gap:14px;flex-wrap:wrap}
.corp-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.corp-stat{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:16px;padding:22px;text-align:center}
.corp-stat .n{font-family:var(--font-display);font-size:36px;color:var(--marigold);line-height:1}
.corp-stat .l{font-family:var(--font-head);font-weight:600;font-size:13px;opacity:.85;margin-top:5px}
.logo-strip{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;align-items:center}
.logo-strip span{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(16px,2.2vw,24px);letter-spacing:.02em;color:var(--ink);opacity:.85;padding:8px 18px;border-right:1px solid var(--line)}
.logo-strip span:last-child{border-right:0}
.use-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.use{background:var(--bg-alt);border:1px solid var(--line);border-radius:var(--radius);padding:28px}
.use .fi{width:40px;height:40px;margin-bottom:10px}
.use h3{font-family:var(--font-head);font-weight:800;font-size:18px;margin-bottom:6px}
.use p{font-size:14.5px;color:color-mix(in srgb,var(--ink) 72%,transparent)}
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.case{background:var(--bg-alt);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}
.case .ci{aspect-ratio:4/3;overflow:hidden;background:var(--cream-2);position:relative}
.case .ci img{width:100%;height:100%;object-fit:cover}
.case .ci .badge{position:absolute;top:12px;left:12px;background:var(--ink);color:#fff;font-family:var(--font-head);font-weight:700;font-size:11px;letter-spacing:.04em;padding:5px 11px;border-radius:999px}
.case .cb{padding:22px 24px 26px}
.case .cb h3{font-family:var(--font-display);text-transform:uppercase;font-size:22px;line-height:1;margin-bottom:8px}
.case .cb p{font-size:14.5px;color:color-mix(in srgb,var(--ink) 74%,transparent)}
.corp-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:cs}
.corp-step{background:var(--bg-alt);border:1px solid var(--line);border-radius:var(--radius);padding:26px 22px;position:relative}
.corp-step::before{counter-increment:cs;content:counter(cs);position:absolute;top:-16px;left:22px;width:38px;height:38px;border-radius:50%;background:var(--c-primary);color:#fff;font-family:var(--font-display);display:grid;place-items:center;font-size:20px;box-shadow:var(--shadow-sm)}
.corp-step h4{font-family:var(--font-head);font-weight:800;font-size:16px;margin:8px 0 6px}
.corp-step p{font-size:13.5px;color:color-mix(in srgb,var(--ink) 72%,transparent)}
@media(max-width:980px){.corp-hero .wrap{grid-template-columns:1fr;gap:34px}.use-grid,.case-grid{grid-template-columns:1fr}.corp-steps{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.corp-steps{grid-template-columns:1fr}}

/* order CTA button block */
.order-cta{max-width:680px;margin:34px auto 0;background:var(--bg-alt);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:clamp(34px,5vw,52px) clamp(22px,4vw,44px);text-align:center;position:relative;overflow:hidden}
.order-cta::before{content:"";position:absolute;top:0;left:0;right:0;height:8px;background:linear-gradient(90deg,var(--c-primary),var(--c-accent),var(--c-accent2))}
.order-cta .oc-ic{width:58px;height:58px;margin:0 auto 12px;display:block}
.order-cta h3{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(24px,3.4vw,36px);line-height:1;margin-bottom:12px;color:var(--ink)}
.order-cta p{font-size:16.5px;color:color-mix(in srgb,var(--ink) 74%,transparent);max-width:34em;margin:0 auto 22px}
.order-cta .oc-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 22px;margin-top:20px;font-family:var(--font-head);font-weight:600;font-size:13px;color:color-mix(in srgb,var(--ink) 60%,transparent)}
.order-cta .oc-meta span{display:inline-flex;align-items:center;gap:6px}
.order-cta .oc-meta .fi{width:16px;height:16px}
