/*
Theme Name: Studio Serendipity
Theme URI: https://studio-serendipity.com
Author: Studio Serendipity
Description: Editorial custom theme for Studio Serendipity. Homepage is fully editable in the block editor (insert the "Studio Serendipity Homepage" pattern). Includes Projects, Portfolio and case studies.
Version: 1.3.6
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: studio-serendipity
*/

/* HOMEPAGE COMPONENTS / CHROME */

  :root{
    --paper:#F2F2F4;--paper-2:#FFFFFF;--paper-3:#E7E7EB;--dark:#1A1A1E;
    --line:rgba(23,23,26,.12);--line-strong:rgba(23,23,26,.22);
    --ink:#17171A;--ink-dim:rgba(23,23,26,.60);--ink-faint:rgba(23,23,26,.40);
    --accent:#7A4DD6;--accent-soft:#A684EA;--accent-deep:#3A2168;
    --serif:'Fraunces',Georgia,serif;--sans:'Hanken Grotesk',sans-serif;--mono:'Spline Sans Mono',monospace;
    --maxw:1240px;--gut:clamp(24px,5vw,64px);
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth;overflow-x:hidden}
  body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:400;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;width:100%}
  body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.03;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
  a{color:inherit;text-decoration:none}
  ::selection{background:var(--accent);color:#fff}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut)}
  .eyebrow{font-family:var(--mono);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);display:inline-flex;align-items:center;gap:.6em}
  .eyebrow::before{content:"";width:24px;height:1px;background:var(--accent);display:inline-block}

  /* ---------- NAV ---------- */
  header{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .4s,backdrop-filter .4s,border-color .4s;border-bottom:1px solid transparent}
  header.scrolled{background:rgba(242,242,244,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
  .nav{display:flex;align-items:center;justify-content:space-between;gap:24px;height:86px;max-width:var(--maxw);margin:0 auto;padding:0 var(--gut)}
  .brand{display:flex;align-items:center;flex:none}
  .brand img{height:34px;width:auto;display:block}
  .nav-links{display:flex;align-items:center;gap:36px}
  .nav-links a:not(.btn){font-size:.92rem;color:var(--ink-dim);transition:color .25s;position:relative}
  .nav-links a:not(.btn)::after{content:"";position:absolute;left:0;bottom:-4px;width:0;height:1px;background:var(--accent);transition:width .3s}
  .nav-links a:not(.btn):hover{color:var(--ink)}
  .nav-links a:not(.btn):hover::after{width:100%}
  .btn{font-family:var(--sans);font-weight:600;font-size:.9rem;padding:.72em 1.4em;border-radius:100px;border:1px solid var(--accent);color:#fff;background:var(--accent);transition:transform .25s,box-shadow .25s;display:inline-block;cursor:pointer;white-space:nowrap}
  .btn:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(122,77,214,.35);color:#fff}
  .btn.ghost{background:transparent;color:var(--ink);border-color:var(--line-strong)}
  .btn.ghost:hover{border-color:var(--accent);color:var(--accent);box-shadow:none}
  .menu-toggle{display:none;background:none;border:0;color:var(--ink);font-size:1.6rem;cursor:pointer;padding:6px;line-height:1}

  /* ---------- HERO ---------- */
  .hero{position:relative;min-height:100vh;display:flex;align-items:center;padding:86px 0 150px;overflow:hidden}
  .glow{position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none;z-index:0}
  .glow.a{width:620px;height:620px;top:-160px;right:-150px;background:radial-gradient(circle,rgba(122,77,214,.14),rgba(122,77,214,0) 66%);animation:drift 16s ease-in-out infinite alternate}
  .glow.b{width:400px;height:400px;bottom:-120px;left:-90px;background:radial-gradient(circle,rgba(166,132,234,.11),rgba(166,132,234,0) 66%);animation:drift 20s ease-in-out infinite alternate-reverse}
  @keyframes drift{to{transform:translate(40px,30px) scale(1.1)}}
  .hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.72fr 1fr;gap:52px;align-items:center;width:100%}
  .hero h1{font-family:var(--serif);font-weight:340;font-size:clamp(2.9rem,7vw,6rem);line-height:.98;letter-spacing:-.02em;margin:26px 0 0}
  .hero h1 em{font-style:italic;color:var(--accent)}
  .hero p.lead{margin-top:30px;font-size:clamp(1.05rem,1.5vw,1.22rem);color:var(--ink-dim);max-width:38ch}
  .hero-cta{margin-top:38px;display:flex;gap:16px;flex-wrap:wrap}

  /* ---- <S/> composition (contained, no overlap) ---- */
  .hero-side{position:relative;width:100%;perspective:1100px}
  .art{position:relative;width:min(100%,400px);margin-left:auto;display:flex;flex-direction:column;align-items:center;gap:24px;transform-style:preserve-3d;transition:transform .2s ease-out}
  .stage{position:relative;width:100%;aspect-ratio:1}
  .ring-bg{position:absolute;inset:3%;border:1px solid var(--line);border-radius:50%;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
  .orbit{position:absolute;inset:3%;animation:orbit 20s linear infinite}
  .ring-dash{position:absolute;inset:17%;border:1px dashed rgba(23,23,26,.16);border-radius:50%}
  .orbit2{inset:17%;animation:orbit 30s linear infinite reverse}
  .orbit2 .od{width:9px;height:9px;background:var(--accent-soft);box-shadow:0 2px 10px rgba(166,132,234,.6)}
  .orbit .od{position:absolute;top:-7px;left:50%;margin-left:-7px;width:14px;height:14px;border-radius:50%;background:var(--accent);box-shadow:0 4px 16px rgba(122,77,214,.5)}
  @keyframes orbit{to{transform:rotate(360deg)}}
  .scomp{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:.12em}
  .scomp .brk{font-family:var(--mono);font-weight:400;font-size:clamp(1.6rem,3.4vw,2.6rem);color:var(--accent);line-height:1;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
  .scomp .s-img{height:38%;max-height:148px;width:auto;display:block;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
  .art-cap{display:flex;align-items:center;gap:13px}
  .art-cap .sw{display:flex;gap:6px}
  .art-cap .sw i{width:13px;height:13px;border-radius:4px;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
  .art-cap .sw i:nth-child(1){background:var(--accent-soft)}
  .art-cap .sw i:nth-child(2){background:var(--accent)}
  .art-cap .sw i:nth-child(3){background:var(--accent-deep)}
  .art-cap .ct{font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint)}
  .art:hover .ring-bg{transform:scale(1.04)}
  .art:hover .orbit{animation-duration:7s}
  .art:hover .orbit2{animation-duration:11s}
  .art:hover .brk-l{transform:translateX(-7px)}
  .art:hover .brk-r{transform:translateX(7px)}
  .art:hover .s-img{transform:scale(1.04)}
  .art:hover .art-cap .sw i{transform:translateY(-3px)}
  .meta-row{position:absolute;bottom:42px;left:0;right:0;z-index:2;border-top:1px solid var(--line)}
  .meta-row .wrap{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;padding-top:20px}
  .meta-row span{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;color:var(--ink-faint);text-transform:uppercase}
  .meta-row b{color:var(--ink);font-weight:500}

  /* ---------- MARQUEE (visible soft band) ---------- */
  .marquee{overflow:hidden;background:var(--paper-3);padding:21px 0}
  .marquee-track{display:flex;white-space:nowrap;animation:scroll 34s linear infinite;width:max-content}
  .marquee-track span{font-family:var(--mono);font-size:.82rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:rgba(23,23,26,.72);display:inline-flex;align-items:center}
  .marquee-track span::after{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent);margin:0 32px;display:inline-block}
  @keyframes scroll{to{transform:translateX(-25%)}}

  /* ---------- SECTION SHELL ---------- */
  section{position:relative}
  .pad{padding:clamp(80px,12vh,150px) 0}
  .sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-bottom:60px}
  .sec-head h2{font-family:var(--serif);font-weight:340;font-size:clamp(2rem,4.2vw,3.4rem);line-height:1.04;letter-spacing:-.02em;max-width:16ch}
  .sec-head h2 em{font-style:italic;color:var(--accent)}

  /* ---------- MANIFESTO ---------- */
  .manifesto p{font-family:var(--serif);font-weight:330;font-size:clamp(1.5rem,3.4vw,2.6rem);line-height:1.28;letter-spacing:-.01em}
  .manifesto p b{color:var(--accent);font-weight:330;font-style:italic}
  .manifesto .sub{font-family:var(--sans);font-size:1.05rem;line-height:1.7;color:var(--ink-dim);max-width:52ch;margin-top:34px}

  /* ---------- SERVICES ---------- */
  .svc{border-top:1px solid var(--line)}
  .svc-row{display:grid;grid-template-columns:80px 1.1fr 2fr auto;gap:30px;align-items:center;padding:34px 0;border-bottom:1px solid var(--line);position:relative;transition:padding .35s}
  .svc-row::before{content:"";position:absolute;left:calc(-1 * var(--gut));right:calc(-1 * var(--gut));top:0;bottom:0;background:var(--paper-3);opacity:0;transition:opacity .35s;z-index:-1}
  .svc-row:hover::before{opacity:1}
  .svc-row:hover{padding-left:16px}
  .svc-num{font-family:var(--mono);font-size:.82rem;color:var(--accent)}
  .svc-name{font-family:var(--serif);font-size:clamp(1.4rem,2.6vw,2rem);font-weight:380;letter-spacing:-.01em}
  .svc-desc{color:var(--ink-dim);font-size:.98rem;max-width:46ch}
  .svc-tags{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
  .tag{font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);border:1px solid var(--line);border-radius:100px;padding:.4em .8em}
  .svc-row:hover .svc-name{color:var(--accent)}

  /* ---------- WORK ---------- */
  .work-note{font-family:var(--mono);font-size:.72rem;color:var(--ink-faint);letter-spacing:.08em;margin-top:14px}
  .work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
  .card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--paper-2);transition:transform .4s,border-color .4s,box-shadow .4s;position:relative}
  .card:hover{transform:translateY(-6px);border-color:var(--line-strong);box-shadow:0 24px 50px rgba(23,23,26,.1)}
  .card .thumb{aspect-ratio:2/1;position:relative;overflow:hidden}
  .card .thumb .sheen{position:absolute;inset:0;transition:transform .6s}
  .card:hover .thumb .sheen{transform:scale(1.06)}
  .t1{background:linear-gradient(135deg,rgba(122,77,214,.22),transparent 60%),radial-gradient(120% 120% at 20% 10%,#E9E7EE,#D7D6DF)}
  .t2{background:linear-gradient(135deg,rgba(166,132,234,.28),transparent 60%),radial-gradient(120% 120% at 80% 10%,#EDEBF3,#D9D7E3)}
  .t3{background:linear-gradient(135deg,rgba(122,77,214,.14),transparent 60%),radial-gradient(120% 120% at 30% 90%,#EAEAEF,#D7D7DF)}
  .t4{background:linear-gradient(135deg,rgba(90,70,150,.20),transparent 60%),radial-gradient(120% 120% at 70% 50%,#E9E7F0,#D4D3DD)}
  .card .thumb .glyph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-style:italic;font-size:3.4rem;color:rgba(58,33,104,.24)}
  .card .body{padding:24px 26px 28px;display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
  .card .body h3{font-family:var(--serif);font-weight:400;font-size:1.35rem}
  .card .body p{font-size:.86rem;color:var(--ink-dim);margin-top:4px}
  .card .body .arrow{font-size:1.2rem;color:var(--accent);transition:transform .3s}
  .card:hover .arrow{transform:translate(4px,-4px)}
  .work-cta{display:flex;justify-content:center;margin-top:52px}

  /* ---------- TESTIMONIALS (carousel) ---------- */
  .t-rail{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;padding:10px 4px}
  .t-rail::-webkit-scrollbar{display:none}
  .t-card{flex:0 0 calc((100% - 48px)/3);scroll-snap-align:start;border:1px solid var(--line);border-radius:18px;background:var(--paper-2);padding:32px 30px 26px;display:flex;flex-direction:column;transition:border-color .3s,box-shadow .3s,transform .3s}
  .t-card:hover{border-color:var(--line-strong);box-shadow:0 10px 30px rgba(23,23,26,.08)}
  .t-card .qm{font-family:var(--serif);font-style:italic;font-size:3rem;line-height:.6;color:var(--accent);opacity:.45;height:.4em}
  .t-card p{font-family:var(--serif);font-weight:340;font-size:1.12rem;line-height:1.5;letter-spacing:-.005em;color:var(--ink);margin:16px 0 24px;flex:1}
  .t-card .who{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:18px;margin-top:auto}
  .t-card .who .av{width:44px;height:44px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;overflow:hidden;font-family:var(--serif);font-weight:600;color:#fff;font-size:.9rem;line-height:1;letter-spacing:.02em;text-transform:none;margin:0;background:linear-gradient(135deg,var(--accent-soft),var(--accent))}
  .t-card .who b{font-weight:600;font-size:.95rem;color:var(--ink)}
  .t-card .who .role{display:block;font-family:var(--mono);font-size:.64rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);margin-top:3px}
  .snav{display:flex;align-items:center;gap:12px}
  .sbtn{width:46px;height:46px;border-radius:50%;border:1px solid var(--line-strong);background:transparent;color:var(--ink);font-size:1.05rem;cursor:pointer;display:grid;place-items:center;transition:border-color .25s,color .25s}
  .sbtn:hover{border-color:var(--accent);color:var(--accent)}

  /* ---------- ABOUT ---------- */
  .about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,100px);align-items:center}
  .about-grid p{color:var(--ink-dim);font-size:1.05rem;margin-bottom:18px}
  .about-grid p strong{color:var(--ink);font-weight:600}
  .stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden}
  .stat{background:var(--paper);padding:34px 28px}
  .stat .n{font-family:var(--serif);font-size:clamp(2.4rem,5vw,3.4rem);font-weight:340;color:var(--accent);line-height:1}
  .stat .l{font-family:var(--mono);font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-dim);margin-top:10px}

  /* ---------- CTA ---------- */
  .cta{position:relative;overflow:hidden;border-radius:28px;background:var(--dark);padding:clamp(48px,8vw,90px);text-align:center}
  .cta .glow.c{width:560px;height:560px;top:-220px;left:50%;transform:translateX(-50%);background:radial-gradient(circle,rgba(122,77,214,.5),transparent 65%);filter:blur(80px)}
  .cta h2{position:relative;z-index:2;color:#fff;font-family:var(--serif);font-weight:330;font-size:clamp(2.2rem,5.5vw,4.2rem);line-height:1.02;letter-spacing:-.02em}
  .cta h2 em{font-style:italic;color:var(--accent-soft)}
  .cta p{position:relative;z-index:2;color:rgba(255,255,255,.66);margin:22px auto 36px;max-width:46ch}
  .cta .hero-cta{position:relative;z-index:2;justify-content:center}
  .cta .btn.ghost{color:#fff;border-color:rgba(255,255,255,.3)}
  .cta .btn.ghost:hover{border-color:var(--accent-soft);color:var(--accent-soft)}

  /* ---------- FOOTER ---------- */
  footer{border-top:1px solid var(--line);padding:70px 0 50px;background:var(--paper-3)}
  .foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;margin-bottom:60px}
  .foot-grid .brand{margin-bottom:18px}
  .foot-grid .brand img{height:38px}
  .foot-grid p{color:var(--ink-dim);max-width:34ch;font-size:.95rem}
  .foot-col h4{font-family:var(--mono);font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-faint);margin-bottom:18px}
  .foot-col a{display:block;color:var(--ink-dim);margin-bottom:12px;transition:color .25s;font-size:.95rem}
  .foot-col a:hover{color:var(--accent)}
  .foot-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:28px}
  .foot-bottom span{font-family:var(--mono);font-size:.74rem;color:var(--ink-faint);letter-spacing:.05em}

  /* ---------- REVEAL ---------- */
  .reveal{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
  .reveal.in{opacity:1;transform:none}

  /* ---------- RESPONSIVE ---------- */
  /* ===== TABLET / LARGE PHONE ===== */
  @media(max-width:900px){
    .nav{height:68px}
    .nav-links{position:fixed;inset:68px 0 auto 0;flex-direction:column;background:rgba(242,242,244,.98);backdrop-filter:blur(14px);padding:26px var(--gut) 36px;gap:18px;align-items:flex-start;border-bottom:1px solid var(--line);transform:translateY(-130%);transition:transform .45s cubic-bezier(.2,.7,.2,1)}
    .nav-links.open{transform:none}
    .nav-links a:not(.btn){font-size:1.05rem}
    .nav-links .btn{margin-top:6px}
    .menu-toggle{display:block}
    .pad{padding:64px 0}
    .sec-head{flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:36px}
    .hero{min-height:auto;display:block;padding:98px 0 30px}
    .hero-grid{grid-template-columns:1fr;gap:46px}
    .hero-side{display:block}
    .art{margin:0 auto;width:min(80%,320px)}
    .meta-row{position:static;margin-top:34px;border-top:none}
    .meta-row .wrap{border-top:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:11px}
    .svc-row{grid-template-columns:44px 1fr;gap:4px 18px;padding:26px 0}
    .svc-desc{grid-column:1/-1;margin-top:6px;max-width:none}
    .svc-tags{grid-column:1/-1;justify-content:flex-start;margin-top:12px}
    .work-grid{grid-template-columns:1fr;gap:20px}
    .t-card{flex-basis:calc((100% - 24px)/2)}
    .about-grid{grid-template-columns:1fr;gap:40px}
    .foot-grid{grid-template-columns:1fr 1fr;gap:32px}
    footer{padding:64px 0 40px}
  }
  /* ===== PHONE ===== */
  @media(max-width:760px){
    .nav{height:62px}
    .nav-links{inset:62px 0 auto 0}
    .brand img{height:27px}
    .pad{padding:50px 0}
    .sec-head{margin-bottom:34px}
    .hero{padding:92px 0 30px}
    .hero-grid{gap:40px}
    .hero h1{font-size:clamp(2.4rem,10.5vw,3.3rem)}
    .hero p.lead{margin-top:22px;max-width:none}
    .hero-cta{width:100%;gap:12px}
    .hero-cta .btn{flex:1 1 140px;text-align:center;padding:.85em 1.1em}
    .art{width:min(86%,280px)}
    .sec-head h2{font-size:clamp(2.1rem,8vw,2.9rem)}
    .svc-name{font-size:1.45rem}
    .stat{padding:26px 22px}
    .cta{border-radius:22px;padding:44px 26px}
    .foot-grid{grid-template-columns:1fr;gap:30px}
    .t-rail{gap:16px}
    .t-card{flex-basis:88%}
  }
  @media(prefers-reduced-motion:reduce){*{animation:none!important}.art,.art>*{transition:none}}

/* PORTFOLIO + CASE STUDY */

  :root{--paper:#F2F2F4;--paper-2:#FFFFFF;--paper-3:#E7E7EB;--dark:#1A1A1E;--line:rgba(23,23,26,.12);--line-strong:rgba(23,23,26,.22);--ink:#17171A;--ink-dim:rgba(23,23,26,.60);--ink-faint:rgba(23,23,26,.40);--accent:#7A4DD6;--accent-soft:#A684EA;--accent-deep:#3A2168;--serif:'Fraunces',Georgia,serif;--sans:'Hanken Grotesk',sans-serif;--mono:'Spline Sans Mono',monospace;--maxw:1240px;--gut:clamp(24px,5vw,64px)}
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth;overflow-x:hidden}
  body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:400;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;width:100%}
  body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
  a{color:inherit;text-decoration:none}
  ::selection{background:var(--accent);color:#fff}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut)}
  .eyebrow{font-family:var(--mono);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);display:inline-flex;align-items:center;gap:.6em}
  .eyebrow::before{content:"";width:24px;height:1px;background:var(--accent);display:inline-block}
  header{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .4s,backdrop-filter .4s,border-color .4s;border-bottom:1px solid transparent}
  header.scrolled{background:rgba(242,242,244,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
  .nav{display:flex;align-items:center;justify-content:space-between;gap:24px;height:86px;max-width:var(--maxw);margin:0 auto;padding:0 var(--gut)}
  .brand{display:flex;align-items:center;flex:none}
  .brand img{height:34px;width:auto;display:block}
  .nav-links{display:flex;align-items:center;gap:36px}
  .nav-links a:not(.btn){font-size:.92rem;color:var(--ink-dim);transition:color .25s;position:relative}
  .nav-links a:not(.btn)::after{content:"";position:absolute;left:0;bottom:-4px;width:0;height:1px;background:var(--accent);transition:width .3s}
  .nav-links a:not(.btn):hover{color:var(--ink)}
  .nav-links a:not(.btn):hover::after,.nav-links a.cur::after{width:100%}
  .nav-links a.cur{color:var(--ink)}
  .btn{font-family:var(--sans);font-weight:600;font-size:.9rem;padding:.72em 1.4em;border-radius:100px;border:1px solid var(--accent);color:#fff;background:var(--accent);transition:transform .25s,box-shadow .25s;display:inline-block;cursor:pointer;white-space:nowrap}
  .btn:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(122,77,214,.35);color:#fff}
  .btn.ghost{background:transparent;color:var(--ink);border-color:var(--line-strong)}
  .btn.ghost:hover{border-color:var(--accent);color:var(--accent);box-shadow:none}
  .menu-toggle{display:none;background:none;border:0;color:var(--ink);font-size:1.6rem;cursor:pointer;padding:6px;line-height:1}
  .pad{padding:clamp(70px,10vh,130px) 0}
  .lead{font-size:clamp(1.05rem,1.5vw,1.2rem);color:var(--ink-dim);max-width:46ch}
  .phero{padding:140px 0 56px}
  .phero h1{font-family:var(--serif);font-weight:340;font-size:clamp(2.6rem,6.5vw,5rem);line-height:1;letter-spacing:-.02em;margin:24px 0 0}
  .phero h1 em{font-style:italic;color:var(--accent)}
  .phero .lead{margin-top:22px}
  .filters{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 40px}
  .filt{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim);border:1px solid var(--line);border-radius:100px;padding:.62em 1.15em;cursor:pointer;background:transparent;transition:border-color .25s,color .25s,background .25s}
  .filt:hover{border-color:var(--accent);color:var(--accent)}
  .filt.active{border-color:var(--accent);color:#fff;background:var(--accent)}
  .pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
  .card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--paper-2);transition:transform .4s,border-color .4s,box-shadow .4s;display:block}
  .card:hover{transform:translateY(-6px);border-color:var(--line-strong);box-shadow:0 22px 48px rgba(23,23,26,.1)}
  .thumb{aspect-ratio:2/1;position:relative;overflow:hidden}
  .thumb .sheen{position:absolute;inset:0;transition:transform .6s}
  .card:hover .thumb .sheen{transform:scale(1.06)}
  .thumb .glyph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-style:italic;font-size:3.2rem;color:rgba(58,33,104,.24)}
  .cbody{padding:22px 24px 26px;display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
  .cbody h3{font-family:var(--serif);font-weight:400;font-size:1.3rem}
  .cbody p{font-size:.85rem;color:var(--ink-dim);margin-top:4px}
  .cbody .cat{font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin-top:10px;display:block}
  .cbody .arrow{font-size:1.2rem;color:var(--accent);transition:transform .3s;flex:none}
  .card:hover .arrow{transform:translate(4px,-4px)}
  .t1{background:linear-gradient(135deg,rgba(122,77,214,.22),transparent 60%),radial-gradient(120% 120% at 20% 10%,#E9E7EE,#D7D6DF)}
  .t2{background:linear-gradient(135deg,rgba(166,132,234,.30),transparent 60%),radial-gradient(120% 120% at 80% 10%,#EDEBF3,#D9D7E3)}
  .t3{background:linear-gradient(135deg,rgba(122,77,214,.15),transparent 60%),radial-gradient(120% 120% at 30% 90%,#EAEAEF,#D7D7DF)}
  .t4{background:linear-gradient(135deg,rgba(90,70,150,.22),transparent 60%),radial-gradient(120% 120% at 70% 50%,#E9E7F0,#D4D3DD)}
  .t5{background:linear-gradient(135deg,rgba(166,132,234,.22),transparent 60%),radial-gradient(120% 120% at 15% 80%,#ECEAF3,#DAD8E4)}
  .t6{background:linear-gradient(135deg,rgba(122,77,214,.26),transparent 60%),radial-gradient(120% 120% at 85% 25%,#E8E6EE,#D5D4DE)}
  .cta{position:relative;overflow:hidden;border-radius:28px;background:var(--dark);padding:clamp(48px,8vw,90px);text-align:center}
  .cta .glow{position:absolute;width:560px;height:560px;border-radius:50%;top:-220px;left:50%;transform:translateX(-50%);background:radial-gradient(circle,rgba(122,77,214,.5),transparent 65%);filter:blur(80px)}
  .cta h2{position:relative;z-index:2;color:#fff;font-family:var(--serif);font-weight:330;font-size:clamp(2.2rem,5.5vw,4rem);line-height:1.02;letter-spacing:-.02em}
  .cta h2 em{font-style:italic;color:var(--accent-soft)}
  .cta p{position:relative;z-index:2;color:rgba(255,255,255,.66);margin:20px auto 34px;max-width:46ch}
  .cta .row{position:relative;z-index:2;display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
  .cta .btn.ghost{color:#fff;border-color:rgba(255,255,255,.3)}
  .cta .btn.ghost:hover{border-color:var(--accent-soft);color:var(--accent-soft)}
  footer{border-top:1px solid var(--line);padding:70px 0 50px;background:var(--paper-3)}
  .foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;margin-bottom:60px}
  .foot-grid .brand{margin-bottom:18px}
  .foot-grid .brand img{height:38px}
  .foot-grid p{color:var(--ink-dim);max-width:34ch;font-size:.95rem}
  .foot-col h4{font-family:var(--mono);font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-faint);margin-bottom:18px}
  .foot-col a{display:block;color:var(--ink-dim);margin-bottom:12px;transition:color .25s;font-size:.95rem}
  .foot-col a:hover{color:var(--accent)}
  .foot-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:28px}
  .foot-bottom span{font-family:var(--mono);font-size:.74rem;color:var(--ink-faint);letter-spacing:.05em}
  .back{display:inline-flex;align-items:center;gap:.5em;font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);transition:color .25s}
  .back:hover{color:var(--accent)}
  .cs-hero{padding:130px 0 0}
  .cs-hero h1{font-family:var(--serif);font-weight:340;font-size:clamp(2.6rem,7vw,5.4rem);line-height:1;letter-spacing:-.02em;margin:22px 0 0;max-width:16ch}
  .cs-hero .out{font-family:var(--serif);font-style:italic;font-weight:330;font-size:clamp(1.3rem,2.6vw,1.9rem);color:var(--ink-dim);margin-top:24px;max-width:30ch}
  .cs-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-top:44px}
  .cs-meta div{background:var(--paper);padding:22px 22px}
  .cs-meta h4{font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:8px}
  .cs-meta p{font-size:.95rem;color:var(--ink)}
  .cs-meta a{color:var(--accent)}
  .ph{position:relative;border-radius:16px;overflow:hidden;display:grid;place-items:center;border:1px solid var(--line)}
  .ph .lab{position:absolute;bottom:12px;left:14px;font-family:var(--mono);font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}
  .ph .big{font-family:var(--serif);font-style:italic;font-size:2.6rem;color:rgba(58,33,104,.22)}
  .cs-cover{aspect-ratio:2/1;margin-top:48px}
  .twocol{display:grid;grid-template-columns:1fr 1.6fr;gap:clamp(28px,6vw,80px);align-items:start}
  .twocol h2{font-family:var(--serif);font-weight:340;font-size:clamp(1.7rem,3.2vw,2.4rem);letter-spacing:-.01em}
  .twocol h2 em{font-style:italic;color:var(--accent)}
  .twocol p{color:var(--ink-dim);font-size:1.05rem;margin-bottom:16px}
  .twocol p strong{color:var(--ink);font-weight:600}
  .gallery{display:grid;gap:22px;margin-top:40px}
  .gallery .row2{display:grid;grid-template-columns:1fr 1fr;gap:22px}
  .results{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden}
  .results div{background:var(--paper);padding:34px 28px}
  .results .n{font-family:var(--serif);font-size:clamp(2.4rem,5vw,3.4rem);font-weight:340;color:var(--accent);line-height:1}
  .results .l{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-dim);margin-top:10px}
  .bigquote{font-family:var(--serif);font-weight:330;font-size:clamp(1.5rem,3.4vw,2.4rem);line-height:1.3;letter-spacing:-.01em;max-width:24ch;margin:0 auto;text-align:center}
  .bigquote .qm{color:var(--accent);font-style:italic}
  .qwho{text-align:center;margin-top:24px;font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}
  .stack-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
  .tag{font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);border:1px solid var(--line);border-radius:100px;padding:.45em .85em}
  .prevnext{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:30px;margin-top:10px}
  .prevnext a{font-family:var(--serif);font-size:1.2rem;display:flex;flex-direction:column;gap:4px}
  .prevnext a span{font-family:var(--mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}
  .prevnext a:hover{color:var(--accent)}
  .prevnext .nx{text-align:right;align-items:flex-end}
  .sec-title{font-family:var(--serif);font-weight:340;font-size:clamp(1.7rem,3.4vw,2.6rem);letter-spacing:-.02em;margin-bottom:28px}
  .sec-title em{font-style:italic;color:var(--accent)}
  .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
  .reveal.in{opacity:1;transform:none}
  @media(max-width:900px){
    .nav{height:68px}
    .nav-links{position:fixed;inset:68px 0 auto 0;flex-direction:column;background:rgba(242,242,244,.98);backdrop-filter:blur(14px);padding:26px var(--gut) 36px;gap:18px;align-items:flex-start;border-bottom:1px solid var(--line);transform:translateY(-130%);transition:transform .45s cubic-bezier(.2,.7,.2,1)}
    .nav-links.open{transform:none}
    .nav-links a:not(.btn){font-size:1.05rem}
    .nav-links .btn{margin-top:6px}
    .menu-toggle{display:block}
    .pad{padding:64px 0}
    .phero{padding:104px 0 44px}
    .cs-hero{padding:100px 0 0}
    .pgrid{grid-template-columns:repeat(2,1fr);gap:22px}
    .cs-meta{grid-template-columns:repeat(2,1fr)}
    .twocol{grid-template-columns:1fr;gap:18px}
    .results{grid-template-columns:1fr}
    .gallery .row2{grid-template-columns:1fr}
    .foot-grid{grid-template-columns:1fr 1fr;gap:32px}
  }
  @media(max-width:600px){
    .pgrid{grid-template-columns:1fr;gap:20px}
    .cs-meta{grid-template-columns:1fr}
    .foot-grid{grid-template-columns:1fr;gap:28px}
    .prevnext{flex-direction:column;gap:24px}
    .prevnext .nx{align-items:flex-start;text-align:left}
  }

  .cs-body{max-width:760px}
  .cs-body h2{font-family:var(--serif);font-weight:340;font-size:clamp(1.6rem,3vw,2.2rem);letter-spacing:-.01em;margin:36px 0 14px}
  .cs-body h2 em{font-style:italic;color:var(--accent)}
  .cs-body h3{font-family:var(--serif);font-weight:400;font-size:1.3rem;margin:28px 0 10px}
  .cs-body p{color:var(--ink-dim);font-size:1.05rem;margin-bottom:16px}
  .cs-body img,.cs-body figure{border-radius:14px;margin:26px 0;max-width:100%;height:auto}
  .cs-body figure img{margin:0}
  .cs-body blockquote{font-family:var(--serif);font-style:italic;font-size:1.4rem;line-height:1.4;color:var(--ink);border-left:2px solid var(--accent);padding-left:20px;margin:26px 0}
  .cs-body ul,.cs-body ol{color:var(--ink-dim);margin:0 0 16px 1.2em}
  .cs-cover{background:var(--paper-3)}

/* ===== GUTENBERG-EDITABLE HOMEPAGE ===== */
.ssd-home{overflow:hidden}
.ssd-sec{padding:clamp(64px,10vh,140px) var(--gut)}
.ssd-sec > *{max-width:1180px;margin-left:auto;margin-right:auto}
.ssd-empty{padding:120px var(--gut);text-align:center;color:var(--ink-dim)}

/* buttons */
.ssd-home .wp-block-button__link{display:inline-block;background:var(--ink);color:var(--paper);border-radius:100px;padding:14px 26px;font-family:var(--mono);font-size:.8rem;letter-spacing:.03em;font-weight:500;border:1px solid var(--ink);text-decoration:none;transition:.25s}
.ssd-home .wp-block-button__link:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.ssd-home .is-style-outline .wp-block-button__link{background:transparent;color:var(--ink);border:1px solid var(--line-strong)}
.ssd-home .is-style-outline .wp-block-button__link:hover{border-color:var(--ink)}
.ssd-home .wp-block-buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}

/* section heads */
.ssd-kicker{font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 14px}
.ssd-head h2{font-family:var(--serif);font-weight:330;font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.1;letter-spacing:-.015em;color:var(--ink);margin:0}
.ssd-head h2 em{font-style:italic;color:var(--accent)}

/* hero */
.ssd-hero{padding-top:calc(var(--gut) + 96px)}
.ssd-hero-grid{display:flex;gap:clamp(30px,5vw,72px);align-items:center}
.ssd-hero-grid .wp-block-column{flex:1;min-width:0}
.ssd-eyebrow{font-family:var(--mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:0 0 18px}
.ssd-h1{font-family:var(--serif);font-weight:330;font-size:clamp(2.5rem,6vw,4.6rem);line-height:1.02;letter-spacing:-.02em;margin:0 0 22px;color:var(--ink)}
.ssd-h1 em{font-style:italic;color:var(--accent)}
.ssd-lead{font-size:clamp(1.04rem,1.5vw,1.2rem);line-height:1.6;color:var(--ink-dim);max-width:48ch;margin:0 0 28px}
.ssd-meta{font-family:var(--mono);font-size:.74rem;letter-spacing:.04em;color:var(--ink-faint);margin:26px 0 0}
.ssd-hero-art{display:flex;justify-content:center}

/* marquee section: let shortcode's .marquee styling do the work */
.ssd-marquee-sec{padding:0}

/* manifesto */
.ssd-manifesto h2{font-family:var(--serif);font-weight:330;font-size:clamp(1.7rem,3.6vw,3rem);line-height:1.2;letter-spacing:-.015em;max-width:24ch;color:var(--ink);margin:0}
.ssd-manifesto h2 em{font-style:italic;color:var(--accent)}

/* services */
.ssd-service-list{counter-reset:svc;margin-top:34px}
.ssd-service{counter-increment:svc;display:flex;gap:20px;align-items:flex-start;border-top:1px solid var(--line);padding:24px 0;transition:.3s}
.ssd-service:hover{background:linear-gradient(90deg,rgba(122,77,214,.05),transparent)}
.ssd-service::before{content:counter(svc,decimal-leading-zero);font-family:var(--mono);font-size:.78rem;color:var(--accent);padding-top:8px;min-width:34px}
.ssd-service-body{flex:1}
.ssd-service-name{font-family:var(--serif);font-weight:400;font-size:clamp(1.25rem,2.3vw,1.85rem);margin:0;color:var(--ink)}
.ssd-service-desc{color:var(--ink-dim);margin:8px 0 0;max-width:62ch}

/* work (shortcode outputs .work-grid + .card, styled by base CSS) */
.ssd-work .ssd-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:8px}

/* testimonials grid */
.ssd-tgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px;margin-top:34px}
.ssd-tcard{background:var(--paper-2);border:1px solid var(--line);border-radius:16px;padding:26px}
.ssd-tcard p:first-child{font-family:var(--serif);font-style:italic;font-size:1.12rem;line-height:1.45;color:var(--ink);margin:0 0 16px}
.ssd-tcard p:last-child{font-family:var(--mono);font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);margin:0}

/* about + stats */
.ssd-about{display:flex;gap:clamp(40px,6vw,90px);align-items:center;flex-wrap:wrap}
.ssd-about .wp-block-column{flex:1;min-width:280px}
.ssd-about h2{font-family:var(--serif);font-weight:330;font-size:clamp(1.7rem,3.4vw,2.6rem);line-height:1.15;color:var(--ink);margin:0 0 16px}
.ssd-about p{color:var(--ink-dim);line-height:1.6}
.ssd-stats{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.ssd-stat .wp-block-heading,.ssd-stat h3{font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.4rem);color:var(--accent);margin:0;line-height:1}
.ssd-stat p{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-faint);margin:6px 0 0}

/* contact / CTA */
.ssd-cta{background:var(--dark);color:#fff;border-radius:24px;padding:clamp(40px,7vw,92px) clamp(24px,5vw,60px);text-align:center;position:relative;overflow:hidden}
.ssd-cta .ssd-kicker{color:var(--accent-soft)}
.ssd-cta h2{font-family:var(--serif);font-weight:330;font-size:clamp(2rem,5vw,3.4rem);color:#fff;margin:0 0 16px}
.ssd-cta h2 em{font-style:italic;color:var(--accent-soft)}
.ssd-cta p{color:rgba(255,255,255,.72);max-width:48ch;margin:0 auto 28px}
.ssd-cta .wp-block-buttons{justify-content:center}
.ssd-cta .wp-block-button__link{background:var(--accent);border-color:var(--accent);color:#fff}
.ssd-cta .is-style-outline .wp-block-button__link{background:transparent;color:#fff;border-color:rgba(255,255,255,.32)}

@media(max-width:860px){
  .ssd-hero-grid{flex-direction:column-reverse;align-items:stretch}
  .ssd-about{flex-direction:column;align-items:stretch}
  .ssd-work .ssd-head{flex-direction:column;align-items:flex-start}
}
@media(max-width:520px){ .ssd-stats{grid-template-columns:1fr 1fr} }

/* ---- utility: hide a block/section while you don't have content yet ----
   Select the section in the editor -> Block settings -> Advanced ->
   Additional CSS class(es) -> type:  ssd-hide   (remove it to show again) */
.ssd-hide{display:none !important}

/* ---- 404 page ---- */
.notfound{min-height:68vh;display:flex;align-items:center;padding:calc(var(--gut) + 96px) 0 var(--gut)}
.notfound .wrap{text-align:center;max-width:680px;margin:0 auto}
.nf-code{display:block;font-family:var(--serif);font-weight:300;font-size:clamp(5rem,18vw,11rem);line-height:.85;color:var(--accent);opacity:.16;letter-spacing:-.03em;margin-bottom:-6px}
.notfound .eyebrow{display:inline-flex;justify-content:center;margin-bottom:18px}
.notfound h1{font-family:var(--serif);font-weight:330;font-size:clamp(2rem,5vw,3.2rem);line-height:1.06;letter-spacing:-.02em;color:var(--ink);margin:0 0 16px}
.notfound h1 em{font-style:italic;color:var(--accent)}
.notfound .lead{margin:0 auto 30px;color:var(--ink-dim)}
.nf-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* ---- make reveal content visible without depending on JS (fixes blank sections) ---- */
.reveal{opacity:1; transform:none; animation:ssdFade .7s ease both}
@keyframes ssdFade{from{opacity:0; transform:translateY(16px)} to{opacity:1; transform:none}}


/* ===== CookieYes consent banner — Studio Serendipity palette ===== */
.cky-consent-container .cky-consent-bar{background:#FFFFFF !important;border-color:#E7E7EB !important;color:#17171A !important;}
.cky-consent-container .cky-title{color:#17171A !important;}
.cky-consent-container .cky-notice-des,.cky-consent-container .cky-notice-des *{color:#4A4A52 !important;}
.cky-consent-container .cky-notice-des a,.cky-consent-container .cky-policy{color:#7A4DD6 !important;}
.cky-consent-container .cky-btn-accept{background:#7A4DD6 !important;border:1px solid #7A4DD6 !important;color:#FFFFFF !important;border-radius:100px !important;}
.cky-consent-container .cky-btn-accept:hover{background:#6A3EC6 !important;border-color:#6A3EC6 !important;}
.cky-consent-container .cky-btn-reject,.cky-consent-container .cky-btn-customize{background:transparent !important;border:1px solid rgba(23,23,26,.22) !important;color:#17171A !important;border-radius:100px !important;}
.cky-consent-container .cky-btn-reject:hover,.cky-consent-container .cky-btn-customize:hover{border-color:#7A4DD6 !important;color:#7A4DD6 !important;}
.cky-btn-revisit-wrapper{background:#7A4DD6 !important;}
.cky-btn-revisit-wrapper .cky-revisit-bottom-left,.cky-btn-revisit-wrapper *{color:#FFFFFF !important;}
.cky-preference-center .cky-btn-accept,.cky-preference-center .cky-btn-preferences{background:#7A4DD6 !important;border-color:#7A4DD6 !important;color:#FFFFFF !important;border-radius:100px !important;}
.cky-preference-center .cky-btn-reject-preference{border-radius:100px !important;}
.cky-preference-center .cky-accordion-active .cky-always-active,.cky-preference-center a{color:#7A4DD6 !important;}
.cky-switch input:checked+label,.cky-preference-center input:checked~.slider,.cky-preference-center .cky-switch input:checked+label{background:#7A4DD6 !important;}
/* ===== end CookieYes ===== */

/* SVG arrow in project cards (replaces emoji glyph) */
.card .body .arrow svg,.cbody .arrow svg{display:block;width:1em;height:1em}
