/* ===== v4: options, portraits, page art, empty team, services cards, punch panel ===== */

/* page hero split with illustration */
.page-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,64px);align-items:center}
.page-art{width:100%;height:auto}
@media(max-width:900px){.page-hero-grid{grid-template-columns:1fr}.page-art{max-width:420px;margin:0 auto}}

/* option cards with pros/cons */
.opt-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.opt{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:30px;box-shadow:var(--shadow);display:flex;flex-direction:column}
.opt h3{font-size:clamp(1.15rem,1.9vw,1.45rem)}
.opt .for{font-size:.8rem;font-weight:700;color:var(--accent);margin:6px 0 18px;letter-spacing:.02em}
.opt ul{list-style:none;display:flex;flex-direction:column;gap:9px;margin:0}
.opt .pc-label{font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin:14px 0 8px}
.opt li{position:relative;padding-left:26px;font-size:.92rem;color:var(--ink-soft)}
.opt li.pro::before{content:"";position:absolute;left:0;top:4px;width:15px;height:15px;border-radius:50%;background:rgba(39,193,107,.14);box-shadow:inset 0 0 0 1.5px #27C16B}
.opt li.pro::after{content:"";position:absolute;left:4px;top:8px;width:6px;height:3.5px;border-left:1.8px solid #27C16B;border-bottom:1.8px solid #27C16B;transform:rotate(-45deg)}
.opt li.con::before{content:"";position:absolute;left:0;top:4px;width:15px;height:15px;border-radius:50%;background:rgba(224,87,30,.12);box-shadow:inset 0 0 0 1.5px var(--accent)}
.opt li.con::after{content:"\00d7";position:absolute;left:4px;top:1px;color:var(--accent);font-weight:800;font-size:.8rem}
@media(max-width:700px){.opt-grid{grid-template-columns:1fr}}

/* our way card */
.ours{background:var(--ink);color:#fff;border-radius:var(--r);padding:clamp(30px,5vw,52px);position:relative;overflow:hidden}
.ours::before{content:"";position:absolute;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,rgba(224,87,30,.35),transparent 60%);top:-200px;right:-120px}
.ours .tag{display:inline-block;background:var(--grad);color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:6px 14px;border-radius:100px;margin-bottom:18px;position:relative}
.ours h2{color:#fff;font-size:clamp(1.5rem,3.2vw,2.3rem);position:relative;max-width:22ch}
.ours p{color:#C9C2B7;margin-top:16px;max-width:64ch;position:relative}
.ours ul{list-style:none;margin-top:22px;display:grid;grid-template-columns:1fr 1fr;gap:12px 28px;position:relative}
.ours li{position:relative;padding-left:26px;font-size:.94rem;color:#EDE8DF}
.ours li::before{content:"";position:absolute;left:0;top:5px;width:14px;height:14px;border-radius:50%;background:rgba(255,138,61,.25);box-shadow:inset 0 0 0 1.5px var(--accent-2)}
.ours li::after{content:"";position:absolute;left:3.5px;top:8.5px;width:6px;height:3.5px;border-left:1.8px solid var(--accent-2);border-bottom:1.8px solid var(--accent-2);transform:rotate(-45deg)}
@media(max-width:700px){.ours ul{grid-template-columns:1fr}}

/* portrait medallion quote cards */
.qperson{display:flex;align-items:center;gap:14px;margin-top:18px}
.qface{flex-shrink:0;width:52px;height:52px;border-radius:50%;background:linear-gradient(150deg,#EFEBE3,#DED5C6);border:1.5px solid var(--line);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.qface::before{content:"";position:absolute;inset:4px;border-radius:50%;border:1px dashed rgba(22,19,15,.18)}
.qface span{font-family:var(--disp);font-weight:800;font-size:1.05rem;color:#8d8272;letter-spacing:.02em}
.qface img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.qwho b{display:block;font-family:var(--disp);font-size:.95rem;letter-spacing:-.01em;color:var(--ink)}
.qwho span{font-size:.76rem;color:var(--ink-soft)}
.qwho .yrs{color:var(--accent);font-weight:700;margin-left:6px}

/* empty team state */
.team-empty{background:#fff;border:1.5px dashed var(--line);border-radius:var(--r);padding:clamp(44px,7vw,90px);text-align:center}
.team-empty .sic{margin:0 auto 18px}
.team-empty h2{font-size:clamp(1.4rem,2.8vw,2rem)}
.team-empty p{max-width:46ch;margin:14px auto 0}

/* ===== services page cards ===== */
.svc-cards{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.svc-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:clamp(26px,3.5vw,36px);box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .35s,box-shadow .35s}
.svc-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift)}
.svc-card h3{font-size:clamp(1.15rem,1.9vw,1.45rem);margin:16px 0 8px}
.svc-card>p{font-size:.95rem}
.inc-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.inc-chips span{font-size:.78rem;font-weight:600;background:var(--paper-2);border-radius:100px;padding:7px 14px;color:var(--ink-soft)}
.pain-strip{margin-top:auto;padding-top:20px}
.pain-strip .inner{background:var(--paper-2);border-radius:12px;padding:16px 18px;font-size:.88rem;display:flex;flex-direction:column;gap:3px}
.pain-strip b{color:var(--ink)}
.pain-strip span{color:var(--ink-soft)}
.studio-chip{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-size:.84rem;font-weight:700;color:var(--accent);text-decoration:none;border:1.5px solid var(--line);padding:8px 16px;border-radius:100px;transition:border-color .25s;width:fit-content}
.studio-chip:hover{border-color:var(--accent)}
@media(max-width:820px){.svc-cards{grid-template-columns:1fr}}

/* ===== experts punch panel ===== */
.punch-panel{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:clamp(28px,4vw,44px);box-shadow:var(--shadow-lift);position:relative;overflow:hidden}
.punch-panel::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--grad)}
.punch-panel .after{padding-top:18px;margin-top:18px;border-top:1px solid var(--line);font-size:.95rem}
.punch-panel .meet-link{margin-top:20px}

/* ===== industries page (kept reachable at /industries) ===== */
.ind-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ind{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:var(--shadow);transition:transform .3s,border-color .3s}
.ind:hover{transform:translateY(-4px);border-color:var(--accent)}
.ind h3{font-size:1rem;margin-bottom:6px}
.ind p{font-size:.86rem}
.ind-feat{background:var(--ink);color:#fff;border-radius:var(--r);padding:clamp(28px,4vw,48px);margin-bottom:26px;display:grid;grid-template-columns:auto 1fr;gap:clamp(20px,4vw,48px);align-items:center}
.ind-feat .tag{display:inline-block;background:var(--grad);color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:6px 14px;border-radius:100px;white-space:nowrap}
.ind-feat h3{color:#fff;font-size:clamp(1.3rem,2.4vw,1.8rem);margin-bottom:8px}
.ind-feat p{color:#C9C2B7;font-size:.98rem;max-width:72ch}
@media(max-width:1020px){.ind-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.ind-grid{grid-template-columns:1fr 1fr}.ind-feat{grid-template-columns:1fr;gap:14px}}
@media(max-width:560px){.ind-grid{grid-template-columns:1fr}}

/* ===== team page v2: groups + premium frame ===== */
.tgroup{display:flex;align-items:center;gap:16px;margin:clamp(26px,4vw,40px) 0 20px}
.tgroup span{font-family:var(--disp);font-weight:700;font-size:clamp(1.05rem,1.8vw,1.35rem);letter-spacing:-.01em;white-space:nowrap}
.tgroup::before{content:"";width:26px;height:3px;border-radius:3px;background:var(--grad);flex-shrink:0}
.tgroup::after{content:"";height:1px;background:var(--line);flex:1}
.members{grid-template-columns:repeat(4,1fr)}
.member-frame{padding:10px 10px 0;background:linear-gradient(160deg,#fff,var(--paper-2));border-bottom:1px solid var(--line)}
.member-frame .member-photo{border-radius:12px;border:1px solid var(--line);box-shadow:inset 0 0 0 4px #fff, 0 6px 16px -10px rgba(22,19,15,.25);position:relative}
.member-frame .member-photo::before{content:"";position:absolute;top:8px;right:8px;width:14px;height:14px;border-top:2.5px solid var(--accent);border-right:2.5px solid var(--accent);border-radius:0 4px 0 0;z-index:3;opacity:0;transition:opacity .35s}
.member:hover .member-frame .member-photo::before{opacity:1}
.member .member-info{padding:16px 18px 20px}
.member .member-name{font-size:1.02rem}
.member .member-role{font-size:.8rem;min-height:2.4em}
.member .member-meta span{font-size:.62rem;padding:4px 10px}
div.member{cursor:default}
@media(max-width:1020px){.members{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.members{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.members{grid-template-columns:1fr}}

/* admin cropper */
.crop-wrap{margin-top:10px;display:none}
.crop-wrap.on{display:block}
.crop-stage{width:240px;height:300px;border-radius:12px;border:1.5px solid var(--line);overflow:hidden;cursor:grab;background:var(--paper-2);touch-action:none}
.crop-stage:active{cursor:grabbing}
.crop-stage canvas{display:block}
.crop-tools{display:flex;align-items:center;gap:10px;margin-top:10px;max-width:240px}
.crop-tools input[type=range]{flex:1;accent-color:var(--accent)}

/* ---- social account chips (v9): auto-wrap on phone and desktop ---- */
.soc-row{display:flex;flex-wrap:wrap;gap:10px}
.foot-col .soc-row{max-width:340px}
.foot-col a.soc{display:inline-flex;margin-bottom:0}
.soc{display:inline-flex;align-items:center;gap:9px;padding:7px 15px 7px 8px;border:1px solid var(--line);border-radius:999px;background:#fff;text-decoration:none;color:var(--ink);font-size:.88rem;font-weight:600;transition:border-color .22s,transform .22s,box-shadow .22s}
.soc:hover{border-color:var(--accent);color:var(--ink);transform:translateY(-2px);box-shadow:0 8px 18px rgba(23,20,16,.09)}
.soc .si{width:24px;height:24px;border-radius:50%;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:800;overflow:hidden;flex:none;font-family:var(--display)}
.soc .si img{width:100%;height:100%;object-fit:cover;background:#fff}
.soc:hover .si{transform:scale(1.06)}
@media (max-width:560px){.soc{font-size:.84rem;padding:6px 13px 6px 7px}.soc .si{width:22px;height:22px}}

/* ---- footer v10: dark, anchored, feels like an ending ---- */
.sfoot{position:relative;overflow:hidden;background:#1A1511;color:#EDE7DC;margin-top:clamp(40px,6vw,80px);padding:clamp(48px,6vw,76px) 0 0}
.sfoot::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--accent),transparent 65%)}
.sfoot .wrap{position:relative;z-index:1}
.sfoot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.1fr;gap:clamp(28px,4vw,56px);padding-bottom:clamp(36px,4vw,52px)}
.sfoot-brand .logo{font-size:2rem;color:#F6F1E8;text-decoration:none}
.sfoot-brand .logo sup{color:var(--accent)}
.sfoot-brand>p{margin:14px 0 22px;max-width:30ch;font-size:.94rem;line-height:1.6;color:#A99F90}
.sfoot-col h4{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:#8A8071;margin-bottom:16px;font-family:var(--body);font-weight:700}
.sfoot-col a{display:block;color:#D8D0C2;text-decoration:none;font-size:.93rem;margin-bottom:10px;width:fit-content;transition:color .2s,transform .2s}
.sfoot-col a:hover{color:var(--accent-2,#FF8A50);transform:translateX(3px)}
.sfoot-studio{font-size:.8rem;color:#8A8071;max-width:24ch;line-height:1.55;margin-top:2px}
.sfoot-studio a{display:inline;color:var(--accent-2,#FF8A50);margin:0;width:auto}
.sfoot .soc-row{max-width:none}
.sfoot .soc{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.14);color:#EDE7DC}
.sfoot .soc:hover{border-color:var(--accent);background:rgba(224,87,30,.12);box-shadow:none}
.sfoot .soc .si img{background:#fff}
.sfoot-bot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:22px 0 26px;border-top:1px solid rgba(255,255,255,.1);color:#8A8071;font-size:.84rem}
.sfoot-bot a{color:#A99F90;text-decoration:none;margin-left:22px}
.sfoot-bot a:first-child{margin-left:0}
.sfoot-bot a:hover{color:var(--accent-2,#FF8A50)}
.sfoot-ghost{position:absolute;right:-1%;bottom:-.28em;font-family:var(--display);font-weight:800;font-size:clamp(160px,26vw,380px);line-height:1;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.045);pointer-events:none;user-select:none}
@media (max-width:920px){.sfoot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.sfoot-grid{grid-template-columns:1fr}.sfoot-brand>p{max-width:none}.sfoot-ghost{font-size:150px}}

/* ---- 404 page ---- */
.lost-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:34px}
.lost-links a{padding:9px 18px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);text-decoration:none;font-size:.9rem;font-weight:600;transition:border-color .2s,transform .2s}
.lost-links a:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}

/* ---- banner label legibility (v11): dark scrim keeps the category readable on any photo, now and for future images ---- */
.bpost-banner::after, .post-banner::after{content:"";position:absolute;left:0;right:0;bottom:0;height:62%;background:linear-gradient(to top, rgba(18,15,12,.78), rgba(18,15,12,.30) 45%, rgba(18,15,12,0));pointer-events:none;z-index:1}
.bpost-banner .bmark, .post-banner .bmark{position:relative;z-index:2;color:#fff !important;text-shadow:0 1px 4px rgba(0,0,0,.55)}
/* keep the decorative quote mark above the scrim too */
.bpost-banner::before, .post-banner::before{z-index:2}

/* ---- cookie consent banner (EU/EEA/UK only) ---- */
.arc-consent{position:fixed;left:0;right:0;bottom:0;z-index:1000;padding:16px;pointer-events:none}
.arc-consent-in{max-width:920px;margin:0 auto;background:#1A1511;color:#EDE7DC;border:1px solid rgba(255,255,255,.14);border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.35);padding:18px 20px;display:flex;align-items:center;gap:22px;flex-wrap:wrap;pointer-events:auto;transform:translateY(140%);opacity:0;transition:transform .35s cubic-bezier(.2,.7,.2,1),opacity .35s}
.arc-consent.on .arc-consent-in{transform:none;opacity:1}
.arc-consent-txt{flex:1 1 380px;min-width:260px}
.arc-consent-txt strong{font-family:var(--display);font-size:1.02rem;display:block;margin-bottom:4px}
.arc-consent-txt p{margin:0;font-size:.86rem;line-height:1.5;color:#B4AB9C}
.arc-consent-txt a{color:var(--accent-2,#FF8A50);text-decoration:underline}
.arc-consent-btns{display:flex;gap:10px;flex:0 0 auto;flex-wrap:wrap}
.arc-c-btn{font-family:var(--body);font-weight:700;font-size:.86rem;border-radius:999px;padding:11px 20px;cursor:pointer;border:1px solid transparent;transition:transform .2s,background .2s,border-color .2s}
.arc-c-btn.accent{background:var(--accent);color:#fff}
.arc-c-btn.accent:hover{transform:translateY(-2px);background:#c9481a}
.arc-c-btn.ghost{background:transparent;color:#EDE7DC;border-color:rgba(255,255,255,.28)}
.arc-c-btn.ghost:hover{border-color:var(--accent);color:#fff}
#cookie-reopen{cursor:pointer}
@media (max-width:560px){.arc-consent-in{flex-direction:column;align-items:stretch}.arc-consent-btns{justify-content:stretch}.arc-c-btn{flex:1}}

/* ---- mobile overflow fix (v12): clip decorative glows so the page never renders wider than the screen ---- */
html,body{overflow-x:clip;max-width:100%}
.hero,.page-hero,.belief,.final,.dark,section{overflow-x:clip}
.hero::before,.page-hero::before,.belief::before,.final::before{max-width:100vw}
img,svg,video{max-width:100%}
