/* ═══ Mart Solution United — CoreAims theme ═══
   Editorial direction: warm paper and ink, hairline rules instead of boxes, numbered sections,
   large light serif headlines, and the brand lime (#d7df21, from the 2014 site and the logo) used
   only as a precise accent. Fonts: Archivo, a variable grotesque, semi-expanded for headlines and fully expanded in small capitals
   for labels and numbers; Newsreader italic for accent words; Hanken Grotesk for text. All
   self-hosted, SIL OFL 1.1. Photos: Pexels License. */
@font-face{font-family:"Archivo";font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(fonts/archivo-latin.woff2) format("woff2")}
@font-face{font-family:"Newsreader";font-style:italic;font-weight:300 500;font-display:swap;src:url(fonts/newsreader-italic-latin.woff2) format("woff2")}
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/hanken-latin.woff2) format("woff2")}
:root{
  --paper:#f4f1ea; --paper2:#ebe6db; --white:#fbfaf6;
  --ink:#1c1e21; --ink2:#2a2c30; --slate:#46484e; --slate2:#5b5e65; --mut:#7a7c82;
  --line:#d8d2c4; --line2:#c9c2b1; --line-ink:rgba(244,241,234,.16);
  --lime:#d7df21; --lime-d:#c2ca14; --lime-ink:#5d6200;
  --orange:#f7941d; --orange-ink:#b05a00;   /* the logo's orange: secondary accent, numbers and markers only */
  --wrap:1280px; --gut:clamp(20px,4vw,48px);
  --ff-h:"Archivo","Hanken Grotesk",sans-serif; --serif:"Newsreader",Georgia,serif; --mono:"Archivo","Hanken Grotesk",sans-serif;
  --ff:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font:400 17px/1.7 var(--ff);color:var(--ink);background:var(--paper);overflow-x:clip;-webkit-font-smoothing:antialiased;counter-reset:sec}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
::selection{background:var(--lime);color:var(--ink)}
h1,h2,h3,h4{font-family:var(--ff-h);font-stretch:112%;font-weight:600;line-height:1.04;letter-spacing:-.03em;text-wrap:balance;margin:0 0 .5em;color:var(--ink)}
h1{font-size:clamp(2.4rem,5.2vw,4.7rem);font-weight:620}
h2{font-size:clamp(1.9rem,3.5vw,3.1rem)}
h3{font-size:1.24rem;font-weight:600;font-stretch:106%;letter-spacing:-.015em;line-height:1.2}
h1 em,h2 em{font-family:var(--serif);font-style:italic;font-weight:400;font-stretch:100%;letter-spacing:-.02em;text-decoration:underline;text-decoration-color:var(--lime);text-decoration-thickness:.09em;text-underline-offset:.13em;text-decoration-skip-ink:none}
.tone-dark h2 em,.cta-photo h2 em,.contact-card h2 em{color:var(--lime);text-decoration:none}
p{margin:0 0 1em}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:var(--paper);padding:10px 16px}
.skip:focus{top:12px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.narrow{max-width:820px}
.center{text-align:center}
.ic{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ic-sm{width:16px;height:16px}
.ic-xs{width:13px;height:13px}
.lead{font-size:1.14rem;color:var(--slate)}
.plain{list-style:none;margin:0;padding:0}
.num{font:500 .78rem/1 var(--mono);color:var(--orange-ink);letter-spacing:.08em}

/* small labels */
.kicker,.eyebrow{font:500 .72rem/1.3 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--slate2);margin:0 0 18px}
.sec-head .eyebrow{display:flex;align-items:baseline;gap:14px;padding-top:16px;border-top:1px solid var(--ink)}
.sec-head .eyebrow::before{counter-increment:sec;content:counter(sec,decimal-leading-zero);font:500 .72rem/1 var(--mono);letter-spacing:.08em;color:var(--orange-ink)}
.tone-dark .sec-head .eyebrow{border-top-color:var(--line-ink);color:#a9aaa7}
.tone-dark .sec-head .eyebrow::before{color:var(--orange)}

/* buttons and links */
.btn{display:inline-flex;align-items:center;gap:12px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:2px;padding:15px 24px;font:600 .92rem/1 var(--ff);letter-spacing:.01em;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.btn .ic{color:var(--lime);transition:transform .25s}
.btn:hover{background:var(--lime);border-color:var(--lime);color:var(--ink)}
.btn:hover .ic{color:var(--ink);transform:translateX(4px)}
.btn.on-ink{background:var(--lime);border-color:var(--lime);color:var(--ink)}
.btn.on-ink .ic{color:var(--ink)}
.btn.on-ink:hover{background:var(--paper);border-color:var(--paper)}
.btn-sm{padding:11px 18px;font-size:.84rem}
.btn-row{display:flex;flex-wrap:wrap;align-items:center;gap:28px;margin-top:36px}
.link-arrow,.link{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:.92rem;color:var(--ink);background:linear-gradient(var(--lime),var(--lime)) 0 100%/100% 2px no-repeat;padding-bottom:4px}
.link-arrow .ic,.link .ic{transition:transform .25s}
.link-arrow:hover .ic,.link:hover .ic,a:hover>.link .ic,a:hover .link .ic{transform:translateX(4px)}
.tone-dark .link-arrow{color:var(--paper)}

/* top bar + header */
.topbar{background:var(--ink);color:#b9b8b3;font-size:.8rem;letter-spacing:.02em}
.topbar-in{display:flex;justify-content:space-between;gap:16px;padding-top:9px;padding-bottom:9px}
.tb-right{display:flex;gap:26px}
.topbar a:hover{color:var(--orange)}
.hd{position:sticky;top:0;z-index:50;background:rgba(244,241,234,.94);backdrop-filter:saturate(140%) blur(10px);-webkit-backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line)}
.hd-in{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:86px}
.brand img{height:66px;width:auto}
.nav{display:flex;align-items:center;gap:6px}
.nav-a{position:relative;display:inline-flex;align-items:center;gap:6px;padding:10px 14px;font-weight:600;font-size:.93rem;color:var(--slate)}
.nav-a::after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:2px;background:var(--lime);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.nav-a:hover,.has-mega:hover>.nav-a{color:var(--ink)}
.nav-a:hover::after,.nav-a.on::after,.has-mega.on>.nav-a::after{transform:scaleX(1)}
.nav-a.on,.has-mega.on>.nav-a{color:var(--ink)}
.nav-cta{margin-left:14px}
.nav-toggle,.mega-toggle{display:none;background:none;border:0;cursor:pointer;color:var(--ink);padding:8px}
.has-mega{position:relative}
.mega{position:absolute;left:50%;top:100%;transform:translate(-50%,8px);opacity:0;visibility:hidden;transition:opacity .2s,transform .2s,visibility .2s;padding-top:12px}
.has-mega:hover .mega,.has-mega:focus-within .mega{opacity:1;visibility:visible;transform:translate(-50%,0)}
.mega-in{display:grid;grid-template-columns:repeat(3,minmax(230px,1fr));width:min(900px,92vw);background:var(--white);border:1px solid var(--line);box-shadow:0 24px 60px rgba(28,30,33,.14)}
.mega-col{padding:26px 26px 22px;border-left:1px solid var(--line)}
.mega-col:first-child{border-left:0}
.mega-h{display:flex;align-items:baseline;gap:10px;font:600 1.05rem/1.3 var(--ff-h);margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.mega-h:hover{color:var(--lime-ink)}
.mega ul{list-style:none;margin:0;padding:0}
.mega li a{display:block;padding:5px 0;font-size:.9rem;color:var(--slate2);transition:color .2s,padding .2s}
.mega li a:hover,.mega li a.on{color:var(--ink);padding-left:6px}

/* home hero: statement + photograph + credit line */
.hero{position:relative}
.hero-home{padding:clamp(48px,7vw,96px) 0 0}
.hero-head{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.75fr);gap:clamp(28px,5vw,80px);align-items:end;padding-bottom:clamp(36px,5vw,64px)}
.hero-copy h1{margin:0}
.hero-aside .btn-row{margin-top:28px}
.hero-home h1{font-size:clamp(2.6rem,5.8vw,5.2rem);font-stretch:118%;line-height:.98;letter-spacing:-.035em;margin-bottom:28px}
.hero-sub{font-size:1.16rem;line-height:1.65;color:var(--slate);max-width:560px;margin:0}
/* full-width banners: edge to edge, whatever the content width */
.banner-full{width:100%;margin:0;position:relative}
.banner-full img{width:100%;display:block;object-fit:cover}
.hero-fig img{height:clamp(320px,52vw,680px);object-position:50% 42%}
.hero-fig::after{content:"";position:absolute;left:0;bottom:0;height:6px;width:clamp(120px,22vw,320px);background:var(--lime)}
.hero-fig figcaption{margin-top:12px;font-size:.78rem;letter-spacing:.06em;color:var(--mut)}
.cred-strip{list-style:none;display:flex;flex-wrap:wrap;align-items:center;margin:clamp(40px,6vw,72px) 0 0;padding:20px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}
.cred-strip li{font:500 .8rem/1 var(--mono);letter-spacing:.04em;color:var(--ink);padding:6px 20px;border-left:1px solid var(--line2)}
.cred-strip li.cred-lbl{font:500 .68rem/1 var(--mono);color:var(--orange-ink)!important;letter-spacing:.16em;text-transform:uppercase;color:var(--slate2);padding-left:0;border-left:0}

/* inner page heading */
.hero-page{padding:28px 0 0}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:.8rem;color:var(--mut);margin-bottom:clamp(36px,6vw,72px)}
.crumbs a:hover,.crumbs [aria-current]{color:var(--ink)}
.page-head{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.9fr);gap:clamp(24px,5vw,80px);align-items:end;padding-bottom:clamp(36px,5vw,56px);border-bottom:1px solid var(--ink)}
.page-head h1{margin:0}
.page-head .hero-sub{font-size:1.08rem}
.page-fig{margin-top:clamp(28px,4vw,48px)}
.page-fig img{height:clamp(240px,34vw,520px)}

/* sections */
.sec{padding:clamp(72px,9vw,128px) 0 0}
.sec.tone-dark{background:var(--ink);color:#c9c8c2;padding-bottom:clamp(72px,9vw,128px);margin-top:clamp(72px,9vw,128px)}
.sec.tone-dark h2,.sec.tone-dark h3{color:var(--paper)}
.sec.tone-dark+.sec{margin-top:0}
.sec.tone-soft{background:var(--paper2);padding-bottom:clamp(72px,9vw,128px);margin-top:clamp(72px,9vw,128px)}
.sec.tone-soft+.sec{margin-top:0}
.sec-head{margin-bottom:clamp(36px,5vw,64px)}
.sec-head h2{margin:0;max-width:18ch}
.sec-text .narrow{max-width:none}
.sec-text .sec-head{margin-bottom:28px}
.sec-text .prose{max-width:760px;margin-left:auto;font-size:1.06rem}
.sec-intro{max-width:640px;margin:-28px 0 48px auto;color:var(--slate)}
.sec-cta{margin:40px 0 0}
.prose{color:var(--slate)}
.prose h2{font-size:1.7rem;margin:1.4em 0 .5em}
.prose h3{margin:1.6em 0 .5em}
.prose strong{color:var(--ink);font-weight:700}
.prose ul{list-style:none;padding:0;margin:0 0 1.3em;border-top:1px solid var(--line)}
.prose ul li{position:relative;padding:11px 0 11px 34px;border-bottom:1px solid var(--line);margin:0}
.prose ul li::before{content:"";position:absolute;left:4px;top:1.35em;width:14px;height:1.5px;background:var(--ink)}
.prose ol{padding-left:1.3em}
.prose a{color:var(--ink);background:linear-gradient(var(--lime),var(--lime)) 0 100%/100% 2px no-repeat}
.prose .note{border-left:3px solid var(--lime);padding:4px 0 4px 20px;color:var(--ink);font-size:.98rem}
.prose .grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 36px}
.prose .grid2 ul{margin:0}
.photo{margin:36px 0 0}
.photo img{width:100%}

/* image + text */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,6vw,96px);align-items:start}
.split.flip .split-img{order:2}
.split-img{margin:0;position:sticky;top:120px}
.split-img img{width:100%;aspect-ratio:4/5;object-fit:cover}
.split-txt .sec-head{margin-bottom:28px}
.split-txt .prose{font-size:1.04rem}

/* cards, as ruled entries */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink)}
.cards.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cards.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{display:block;padding:30px 32px 34px;border-bottom:1px solid var(--line);border-left:1px solid var(--line)}
.cards>.card:nth-child(3n+1),.cards.cols-2>.card:nth-child(2n+1),.cards.cols-4>.card:nth-child(4n+1){padding-left:0;border-left:0}
.cards.cols-2>.card:nth-child(3n+1):not(:nth-child(2n+1)),.cards.cols-4>.card:nth-child(3n+1):not(:nth-child(4n+1)){padding-left:32px;border-left:1px solid var(--line)}
.card h3{display:flex;justify-content:space-between;gap:16px;margin:0 0 10px}
.card p{color:var(--slate2);font-size:.96rem;margin:0}
.card .ic-arrow{width:18px;height:18px;margin-top:6px;color:var(--slate2);transition:transform .3s,color .3s}
.card-link:hover .ic-arrow{transform:translateX(5px);color:var(--ink)}
.card-link:hover h3{color:var(--lime-ink)}
.tone-dark .cards{border-top-color:var(--line-ink)}
.tone-dark .card{border-color:var(--line-ink)}
.tone-dark .card p{color:#a9aaa7}

/* practices: three columns, photograph first */
.practices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:64px;border-top:1px solid var(--ink)}
.practice{position:relative;display:flex;flex-direction:column;padding:32px 0 36px}
.practice+.practice::before{content:"";position:absolute;left:-32px;top:0;bottom:0;width:1px;background:var(--line)}
.practice-img{display:block;overflow:hidden;margin-bottom:26px;background:var(--paper2)}
.practice-img img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.practice:hover .practice-img img{transform:scale(1.04)}
.practice-body{display:flex;flex-direction:column;flex:1}
.practice-body .num{margin-bottom:12px}
.practice-body h3{font-size:1.55rem;margin:0 0 12px}
.practice-body p{color:var(--slate2);font-size:.96rem}
.ticks{list-style:none;margin:6px 0 26px;padding:0;font-size:.9rem;color:var(--slate)}
.ticks li{padding:8px 0;border-top:1px solid var(--line)}
.practice .link{margin-top:auto;align-self:flex-start}

/* figures */
.sec-stats{padding-top:clamp(56px,7vw,96px)}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}
.stat{padding:28px 24px 30px 0}
.stat+.stat{padding-left:24px;border-left:1px solid var(--line)}
.stat b{display:block;font:600 clamp(2.6rem,4.6vw,4rem)/1 var(--ff-h);letter-spacing:-.04em;color:var(--ink);margin-bottom:10px}
.stat span{font-size:.86rem;color:var(--slate2)}

/* process */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line-ink)}
.step{padding:28px 28px 8px 0}
.step+.step{padding-left:28px;border-left:1px solid var(--line-ink)}
.step-n{display:block;font:italic 400 3.2rem/1 var(--serif);color:var(--lime);margin-bottom:22px}
.step h3{margin:0 0 10px}
.step p{font-size:.94rem;margin:0}
.sec:not(.tone-dark) .steps{border-top-color:var(--ink)}
.sec:not(.tone-dark) .step+.step{border-left-color:var(--line)}
.sec:not(.tone-dark) .step-n{color:var(--ink)}

/* logos, agencies, clients */
.logo-wall{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:1px solid var(--ink);border-left:1px solid var(--line)}
.logo-tile{display:grid;place-items:center;aspect-ratio:3/2;padding:18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .3s}
.logo-tile img{width:100%;max-width:150px;height:58px;object-fit:contain;filter:grayscale(1);opacity:.7;mix-blend-mode:multiply;transition:filter .3s,opacity .3s}
.logo-tile:hover{background:var(--white)}
.logo-tile:hover img{filter:none;opacity:1}
.tone-soft .logo-wall{border-left-color:var(--line2)}
.tone-soft .logo-tile{border-color:var(--line2)}
.agencies{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:64px;border-top:1px solid var(--ink)}
.agency{position:relative;display:flex;flex-direction:column;gap:16px;padding:30px 0 34px}
.agency+.agency::before{content:"";position:absolute;left:-32px;top:0;bottom:0;width:1px;background:var(--line)}
.agency img{width:52px;height:52px;object-fit:contain;mix-blend-mode:multiply}
.agency h3{margin:0 0 8px}
.agency p{font-size:.94rem;color:var(--slate2);margin:0 0 14px}
.clients{border-top:1px solid var(--ink)}
.client{display:grid;grid-template-columns:200px minmax(0,1fr);gap:clamp(20px,4vw,56px);align-items:center;padding:30px 0;border-bottom:1px solid var(--line)}
.client-logo{display:grid;place-items:center;aspect-ratio:3/2;border:1px solid var(--line);background:var(--white);padding:16px}
.client-logo img{width:100%;max-width:150px;height:64px;object-fit:contain}
.client h3{font-size:1.55rem;margin:0 0 8px}
.client p{color:var(--slate2);margin:0 0 12px;max-width:720px}

/* calls to action */
.cta-photo{position:relative;isolation:isolate;overflow:hidden;color:var(--paper);margin-top:clamp(72px,9vw,128px);padding:clamp(88px,12vw,160px) 0}
.cta-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;filter:grayscale(.35)}
.cta-photo::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(28,30,33,.72)}
.cta-photo-in{display:grid;grid-template-columns:minmax(0,1.3fr) auto;gap:40px;align-items:end}
.cta-photo h2{color:var(--paper);margin:0 0 16px;max-width:18ch;font-size:clamp(2rem,4.4vw,3.8rem)}
.cta-photo p{margin:0;color:#d6d4cd;max-width:520px;font-size:1.06rem}
.cta-photo .btn,.cta-band .btn{background:var(--lime);border-color:var(--lime);color:var(--ink)}
.cta-photo .btn .ic,.cta-band .btn .ic{color:var(--ink)}
.cta-photo .btn:hover,.cta-band .btn:hover{background:var(--paper);border-color:var(--paper)}
.cta-band{margin-top:clamp(72px,9vw,128px);background:var(--ink);color:#c9c8c2;padding:clamp(64px,8vw,112px) 0}
.cta-in{display:grid;grid-template-columns:minmax(0,1.3fr) auto;gap:40px;align-items:end}
.cta-in h2{color:var(--paper);margin:0 0 14px;max-width:20ch}
.cta-in h2 em{color:var(--lime);text-decoration:none}
.cta-in p{margin:0;max-width:540px}
.cta-inline{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--ink);border-bottom:1px solid var(--line);padding:24px 0}
.cta-inline h3{margin:0 0 4px}
.cta-inline p{margin:0;font-size:.94rem;color:var(--slate2)}

/* service pages */
.svc{padding-top:clamp(56px,7vw,96px)}
.svc-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(40px,7vw,120px);align-items:start}
.svc-main{counter-reset:art}
.art-block{margin:0 0 56px}
.art-block>h2{display:flex;gap:18px;align-items:baseline;font-size:clamp(1.5rem,2.4vw,2rem);padding-top:18px;margin-bottom:20px;border-top:1px solid var(--ink)}
.art-block>h2::before{counter-increment:art;content:counter(art,decimal-leading-zero);font:500 .74rem/1 var(--mono);color:var(--orange-ink);letter-spacing:.08em}
.art-block .prose{font-size:1.04rem}
.art-block .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.art-block .cards>.card{padding-left:28px;border-left:1px solid var(--line)}
.art-block .cards>.card:nth-child(2n+1){padding-left:0;border-left:0}
.svc-aside{position:sticky;top:112px;display:grid;gap:28px}
.aside-block{border-top:1px solid var(--ink);padding-top:18px}
.aside-nav{list-style:none;margin:0 0 20px;padding:0}
.aside-nav a{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-size:.93rem;color:var(--slate)}
.aside-nav a:hover{color:var(--ink)}
.aside-nav a.on{color:var(--ink);font-weight:700}
.aside-nav a.on::after{content:"";width:8px;height:8px;margin-top:8px;background:var(--orange)}
.aside-block.ink{background:var(--ink);color:#c9c8c2;border-top:0;padding:28px}
.aside-block.ink .kicker{color:#a9aaa7}
.aside-q{font:650 1.55rem/1.12 var(--ff-h);letter-spacing:-.02em;color:var(--paper);margin:0 0 18px}
.aside-line{display:block;font-size:.95rem;color:var(--paper);margin:0 0 6px}
.aside-line:hover{color:var(--lime)}
.aside-block.ink .btn{margin-top:18px;width:100%;justify-content:space-between}

/* contact */
.contact-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(36px,6vw,96px);align-items:start}
.contact-card{background:var(--ink);color:#c9c8c2;padding:clamp(28px,4vw,48px)}
.contact-card h2{color:var(--paper);font-size:clamp(1.7rem,2.6vw,2.4rem)}
.contact-card .eyebrow{color:#a9aaa7}
.contact-list{list-style:none;margin:28px 0 0;padding:0;border-top:1px solid var(--line-ink)}
.contact-list li{display:grid;grid-template-columns:110px minmax(0,1fr);gap:16px;padding:14px 0;border-bottom:1px solid var(--line-ink)}
.contact-list .lbl{font:500 .68rem/1.9 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#8f908c}
.contact-list a,.contact-list span:not(.lbl){color:var(--paper)}
.contact-list a:hover{color:var(--lime)}
.form-card{border-top:1px solid var(--ink);padding-top:16px}
.form-card h2{font-size:clamp(1.7rem,2.6vw,2.4rem)}
.mform{display:grid;gap:22px;margin-top:28px}
.mform label{display:grid;gap:4px;font:500 .7rem/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--slate2)}
.mform input,.mform textarea{width:100%;font:400 1.02rem/1.5 var(--ff);letter-spacing:0;text-transform:none;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--line2);border-radius:0;padding:10px 0;transition:border-color .2s,box-shadow .2s}
.mform textarea{resize:vertical;min-height:140px}
.mform input:focus,.mform textarea:focus{outline:none;border-bottom-color:var(--ink);box-shadow:0 1px 0 var(--ink)}
.mform input::placeholder{color:#a5a196}
.mform input.bad,.mform textarea.bad{border-bottom-color:#b3261e;box-shadow:0 1px 0 #b3261e}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:22px 32px}
.f-end{align-items:end}
.f-end .btn{justify-self:end}
.form-msg{margin:0;font-weight:600;min-height:1.5em;font-size:.95rem}
.form-msg.ok{color:#2f6b32}
.form-msg.err{color:#b3261e}
.hp-field{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}

/* sitemap, gallery */
.sitemap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ink)}
.sitemap>div{padding:24px 24px 24px 0}
.sitemap>div+div{padding-left:24px;border-left:1px solid var(--line)}
.sitemap h2{font-size:1.15rem;margin:0 0 14px;letter-spacing:-.01em}
.sitemap li a{display:block;padding:6px 0;color:var(--slate);font-size:.94rem}
.sitemap li a:hover{color:var(--ink)}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.gallery img{aspect-ratio:4/3;object-fit:cover;width:100%}

/* footer */
main{padding-bottom:clamp(72px,9vw,128px)}
main:has(>.cta-photo:last-child),main:has(>.cta-band:last-child),main:has(>.tone-dark:last-child){padding-bottom:0}
.ft{background:var(--ink);color:#a9aaa7;font-size:.92rem;border-top:1px solid var(--line-ink)}
.ft-say{position:relative;display:grid;grid-template-columns:minmax(0,1.4fr) auto;gap:40px;align-items:end;padding-top:clamp(64px,8vw,112px);padding-bottom:clamp(40px,5vw,64px)}
.ft-say::after,.ft-bar::before{content:"";position:absolute;left:var(--gut);right:var(--gut);height:1px;background:var(--line-ink)}
.ft-say::after{bottom:0}
.ft-bar::before{top:0}
.ft-line{font:700 clamp(2.2rem,5vw,4.4rem)/1 var(--ff-h);letter-spacing:-.03em;color:var(--paper);margin:0;max-width:16ch}
.ft-line em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--lime)}
.ft-reach{display:grid;gap:6px;justify-items:end;text-align:right}
.ft-reach a{color:var(--paper)}
.ft-mail{font:400 1.35rem/1.3 var(--serif);font-style:italic;background:linear-gradient(var(--lime),var(--lime)) 0 100%/100% 2px no-repeat;padding-bottom:3px}
.ft-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1.2fr;gap:36px;padding-top:56px;padding-bottom:48px}
.ft-logo{display:inline-block;margin-bottom:18px}
.ft-logo img{height:60px;width:auto}
.ft-about p{max-width:300px}
.ft h3{font:500 .7rem/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--paper);margin:0 0 16px}
.ft h3 a:hover{color:var(--lime)}
.ft li{margin:0 0 8px}
.ft a:hover{color:var(--paper)}
.ft-contact li{line-height:1.5}
.ft-bar{position:relative;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:22px;padding-bottom:26px;font-size:.8rem;color:#8f908c}
.ft-links{display:flex;flex-wrap:wrap;align-items:center;gap:22px}
/* ExpertAims credit: the wordmark in one light-grey tone (its red parts too), brightening on hover */
.ea-credit{display:inline-flex;align-items:center;gap:10px}
.ea-credit img{display:block;height:22px;width:auto;filter:brightness(0) invert(1);opacity:.5;transition:opacity .2s}
.ea-credit:hover img,.ea-credit:focus-visible img{opacity:.92}

/* back-to-top button */
.to-top{position:fixed;right:22px;bottom:22px;z-index:60;display:grid;place-items:center;width:46px;height:46px;background:var(--ink);color:var(--lime);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .25s,transform .25s,visibility .25s,background .2s,color .2s}
.to-top.show{opacity:1;visibility:visible;transform:none}
.to-top:hover{background:var(--lime);color:var(--ink)}
.to-top .ic{width:20px;height:20px;stroke-width:2}
html:not(.js) .to-top{opacity:1;visibility:visible;transform:none}

/* gentle reveal (site.js adds .rv/.in; without JS everything is visible) */
.js .rv{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease}
.js .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .rv{opacity:1;transform:none;transition:none}*{transition:none!important}}

/* responsive */
@media (max-width:1100px){
  .nav-cta{display:none}
  .ft-grid{grid-template-columns:1fr 1fr 1fr}
  .ft-about{grid-column:1/-1}
  .logo-wall{grid-template-columns:repeat(3,minmax(0,1fr))}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .step:nth-child(3){padding-left:0;border-left:0}
  .step:nth-child(n+3){border-top:1px solid var(--line-ink)}
}
@media (max-width:960px){
  .topbar-in>span:first-child{display:none}
  .topbar-in{justify-content:center}
  .hd-in{min-height:72px}
  .brand img{height:52px}
  .nav-toggle{display:inline-flex}
  .nav{position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 30px 50px rgba(28,30,33,.12);padding:8px var(--gut) 22px;max-height:calc(100vh - 110px);overflow:auto;display:none}
  .nav.open{display:flex}
  .nav-a{padding:15px 0;border-bottom:1px solid var(--line);font-size:1rem}
  .nav-a::after{display:none}
  .nav-a.on,.has-mega.on>.nav-a{box-shadow:inset 3px 0 0 var(--lime);padding-left:12px}
  .nav-cta{display:inline-flex;margin:18px 0 0;justify-content:center}
  .has-mega{display:grid;grid-template-columns:1fr auto}
  .has-mega>.nav-a .ic{display:none}
  .mega-toggle{display:inline-flex;align-items:center;border-bottom:1px solid var(--line)}
  .mega-toggle[aria-expanded=true] .ic{transform:rotate(180deg)}
  .mega{grid-column:1/-1;position:static;transform:none;opacity:1;visibility:visible;padding:0;display:none}
  .has-mega:hover .mega{transform:none}
  .has-mega.open .mega{display:block}
  .mega-in{grid-template-columns:1fr;width:auto;box-shadow:none;border:0;background:transparent}
  .mega-col{padding:16px 0;border-left:0;border-bottom:1px solid var(--line)}
  .hero-head,.split,.contact-grid,.svc-grid,.page-head,.cta-photo-in,.cta-in,.ft-say{grid-template-columns:1fr}
  .hero-fig img{height:clamp(260px,62vw,480px)}
  .split.flip .split-img{order:0}
  .split-img{position:static}
  .split-img img{aspect-ratio:16/10}
  .practices,.agencies,.cards{grid-template-columns:1fr}
  .cards>.card,.cards.cols-2>.card,.cards.cols-4>.card{padding-left:0!important;padding-right:0;border-left:0!important}
  .practice+.practice::before,.agency+.agency::before{content:none}
  .practice+.practice,.agency+.agency{border-top:1px solid var(--line)}
  .svc-aside{position:static}
  .sitemap{grid-template-columns:1fr 1fr}
  .sitemap>div:nth-child(3){padding-left:0;border-left:0}
  .ft-reach{justify-items:start;text-align:left}
}
@media (max-width:640px){
  body{font-size:16px}
  .topbar{display:none}
  .cred-strip li{padding:6px 12px;font-size:.86rem}
  .cred-strip li.cred-lbl{width:100%;padding:0 0 8px}
  .art-block .cards,.steps,.f2,.prose .grid2,.sitemap{grid-template-columns:1fr}
  .art-block .cards>.card,.step,.sitemap>div{padding-left:0!important;border-left:0!important}
  .step+.step{border-top:1px solid var(--line-ink)}
  .logo-wall{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stats{grid-template-columns:1fr 1fr}
  .stat{padding:22px 16px 22px 0}
  .stat:nth-child(odd){padding-left:0;border-left:0}
  .stat:nth-child(n+3){border-top:1px solid var(--line)}
  .client{grid-template-columns:1fr}
  .client-logo{max-width:220px}
  .contact-list li{grid-template-columns:1fr;gap:2px}
  .ft-grid{grid-template-columns:1fr 1fr}
  .f-end .btn{justify-self:stretch;justify-content:space-between}
  .to-top{right:14px;bottom:14px;width:42px;height:42px}
}

/* certificate register: /certifications (search) and /certifications/<number> (record) */
.cert-sec{padding-top:clamp(48px,6vw,80px)}
.cert-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(36px,6vw,96px);align-items:start}
.cert-search{border-top:1px solid var(--ink);padding-top:18px}
.cert-search label{display:block;font:500 .72rem/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--slate2);margin-bottom:10px}
.cert-search-row{display:flex;gap:12px;align-items:stretch}
.cert-search input{flex:1;min-width:0;font:500 1.25rem/1.3 var(--ff);color:var(--ink);background:transparent;border:0;border-bottom:2px solid var(--ink);padding:12px 0;border-radius:0}
.cert-search input:focus{outline:none;border-bottom-color:var(--lime-d);box-shadow:0 2px 0 var(--lime-d)}
.cert-msg{margin:18px 0 0;padding:14px 18px;border-left:3px solid var(--orange);background:var(--white);color:var(--ink)}
.cert-help{border-top:1px solid var(--line);padding-top:18px}
.cert-steps li{padding:12px 0;border-bottom:1px solid var(--line);font-size:.95rem;color:var(--slate)}
.cert-steps b{color:var(--ink)}
.cert-record{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:clamp(36px,6vw,96px);align-items:start}
.cert-dl{margin:0;border-top:1px solid var(--ink)}
.cert-row{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px;padding:15px 0;border-bottom:1px solid var(--line)}
.cert-row dt{font:500 .72rem/1.9 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--slate2)}
.cert-row dd{margin:0;color:var(--ink);font-size:1.02rem}
.cert-status{display:inline-flex;align-items:center;gap:8px;font-weight:700;padding:4px 14px 4px 10px;border:1px solid currentColor}
.cert-status::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.st-valid{color:#2f6b32}.st-pending{color:#7a5b00}.st-expired{color:var(--slate2)}.st-suspended{color:var(--orange-ink)}.st-withdrawn{color:#b3261e}
.cert-side{display:grid;gap:22px;position:sticky;top:112px}
.cert-qr{background:var(--white);border:1px solid var(--line);padding:22px;text-align:center}
.cert-qr svg{width:100%;max-width:200px;height:auto;margin:0 auto 12px;display:block}
.cert-qr p{margin:0 0 6px;font:500 .72rem/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--slate2)}
.cert-qr code{font:400 .8rem/1.4 var(--mono);color:var(--slate);word-break:break-all}
.cert-note{border-top:1px solid var(--ink);padding-top:16px;font-size:.95rem;color:var(--slate)}
.cert-note.ext{border-top-color:var(--orange)}
.cert-note .btn{margin-top:6px}
@media (max-width:960px){.cert-grid,.cert-record{grid-template-columns:1fr}.cert-side{position:static}}
@media (max-width:640px){.cert-row{grid-template-columns:1fr;gap:2px}.cert-search-row{flex-direction:column}}

/* labels and numbers: Archivo at full width */
.kicker,.eyebrow,.num,.cred-strip li,.contact-list .lbl,.mform label,.ft h3,.cert-row dt,.cert-qr p,.cert-search label,.sec-head .eyebrow::before,.art-block>h2::before{font-stretch:125%;font-weight:600}
.cert-qr code{font-family:var(--ff);font-size:.82rem}
.stat b{font-stretch:118%}
.ft-line{font-stretch:115%}
.cert-sub{display:block;margin-top:8px;font-size:.84rem;color:var(--slate2)}

/* register: issuer and accreditation marks under the record */
.cert-marks{display:flex;flex-wrap:wrap;gap:16px;margin-top:28px}
.cert-marks figure{margin:0;display:grid;justify-items:center;gap:8px;padding:16px 18px;border:1px solid var(--line);background:var(--white);min-width:120px}
.cert-logo{height:58px;width:auto;max-width:150px;object-fit:contain}
.cert-marks figcaption{font:600 .68rem/1.2 var(--mono);font-stretch:125%;letter-spacing:.12em;text-transform:uppercase;color:var(--slate2)}
.cert-row dd .link-arrow{word-break:break-all}

/* ═══ v3 (2026-10-23): text and photograph in one full-width banner ═══ */
.hero-banner{position:relative;isolation:isolate;overflow:hidden;color:var(--paper);background:var(--ink)}
.hero-banner .hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 38%;z-index:-2}
.hero-banner.has-img::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(24,26,29,.95) 0%,rgba(24,26,29,.86) 34%,rgba(24,26,29,.62) 62%,rgba(24,26,29,.5) 100%),linear-gradient(0deg,rgba(24,26,29,.92) 0%,rgba(24,26,29,0) 34%)}
.hero-banner h1{color:var(--paper)}
.hero-banner h1 em{color:var(--lime);text-decoration:none}
.hero-banner .kicker{display:flex;align-items:center;gap:14px;color:var(--orange)}
.hero-banner .kicker::before{content:"";width:40px;height:2px;background:var(--orange)}
.hero-banner .hero-sub{color:#ecebe6;text-shadow:0 1px 14px rgba(0,0,0,.45)}
.hero-banner .btn{background:var(--lime);border-color:var(--lime);color:var(--ink)}
.hero-banner .btn .ic{color:var(--ink)}
.hero-banner .btn:hover{background:var(--paper);border-color:var(--paper)}
.hero-banner .link-arrow{color:var(--paper)}
.hero-home.hero-banner{min-height:min(92vh,900px);display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(120px,14vw,200px) 0 0}
.hero-home.hero-banner .hero-head{padding-bottom:clamp(40px,5vw,72px)}
.hero-home.hero-banner h1{max-width:13ch}
.hero-foot{position:relative;border-top:1px solid rgba(244,241,234,.24)}
.hero-banner .cred-strip{margin:0;border:0;padding:20px 0;flex-wrap:nowrap}
.hero-banner .cred-strip li{white-space:nowrap}
.hero-banner .cred-strip li{color:var(--paper);border-left-color:rgba(244,241,234,.24)}
.hero-banner .cred-strip li.cred-lbl{color:var(--orange)!important}
.hero-cap{position:absolute;right:var(--gut);bottom:calc(100% + 14px);margin:0;font-size:.74rem;letter-spacing:.06em;color:#b9b9b4;white-space:nowrap}
.hero-page.hero-banner{padding:28px 0 clamp(48px,6vw,88px);min-height:clamp(400px,46vw,580px);display:flex;flex-direction:column;justify-content:space-between}
.hero-page.hero-banner .page-head{border-bottom:0;padding-bottom:0}
.hero-page.hero-banner .crumbs{color:#bdbcb6}
.hero-page.hero-banner .crumbs a:hover{color:var(--lime)}
.hero-page.hero-banner .crumbs [aria-current]{color:var(--paper)}
.hero-page.hero-banner .hero-sub{color:#ecebe6}
.hero-page.hero-banner + .sec,.hero-banner + .sec{padding-top:clamp(64px,8vw,112px)}

/* alignment: headings on one line, centred QR panel */
/* footer: service columns as wide as their longest item, so no service name wraps (five columns from 1240px, three below) */
@media (min-width:1101px){.ft-grid{grid-template-columns:1fr 1fr 1fr}.ft-about{grid-column:1/-1}}
@media (min-width:1240px){.ft-grid{grid-template-columns:minmax(170px,1.1fr) auto auto auto minmax(190px,1fr)}.ft-about{grid-column:auto}}
.ft h3{white-space:nowrap;font-stretch:100%;letter-spacing:.1em}
.mega-h{white-space:nowrap}
.cert-qr{display:flex;flex-direction:column;align-items:center;text-align:center}
.cert-qr svg{width:184px;max-width:100%;height:auto;margin:0 0 14px}

@media (max-width:960px){
  .hero-banner.has-img::before{background:linear-gradient(180deg,rgba(24,26,29,.5) 0%,rgba(24,26,29,.88) 48%,rgba(24,26,29,.96) 100%)}
  .hero-home.hero-banner{min-height:0;padding-top:clamp(180px,48vw,320px)}
  .hero-page.hero-banner{min-height:0}
  .hero-banner .cred-strip{flex-wrap:wrap}
  .hero-cap{position:static;padding-bottom:16px}
  .ft h3{white-space:normal}
}

/* editor preview of a hidden certificate record */
.cert-preview{background:var(--orange);color:var(--ink);font-size:.86rem;padding:10px 0}
.cert-preview b{text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;margin-right:10px}
.cert-preview a{color:var(--ink);text-decoration:underline;margin-left:6px}

/* ═══ v4 (2026-10-23): picture frames drawn from the logo — the lime "M" block, the orange rule under the name,
   and the crop marks of a printed certificate ═══ */
/* crop marks: eight short rules at the four corners of a box */
.practice-img::before,.hero-banner.has-img::after,.cta-photo::after{
  content:"";position:absolute;pointer-events:none;background-repeat:no-repeat;
  background-image:linear-gradient(var(--mk-c,var(--ink)),var(--mk-c,var(--ink))),linear-gradient(var(--mk-c,var(--ink)),var(--mk-c,var(--ink))),
    linear-gradient(var(--mk-c,var(--ink)),var(--mk-c,var(--ink))),linear-gradient(var(--mk-c,var(--ink)),var(--mk-c,var(--ink))),
    linear-gradient(var(--mk-c,var(--ink)),var(--mk-c,var(--ink))),linear-gradient(var(--mk-c,var(--ink)),var(--mk-c,var(--ink))),
    linear-gradient(var(--mk-c,var(--ink)),var(--mk-c,var(--ink))),linear-gradient(var(--mk-c,var(--ink)),var(--mk-c,var(--ink)));
  background-size:var(--mk-l,18px) 1.5px,1.5px var(--mk-l,18px),var(--mk-l,18px) 1.5px,1.5px var(--mk-l,18px),var(--mk-l,18px) 1.5px,1.5px var(--mk-l,18px),var(--mk-l,18px) 1.5px,1.5px var(--mk-l,18px);
  background-position:0 0,0 0,100% 0,100% 0,0 100%,0 100%,100% 100%,100% 100%}

/* practice photographs: crop marks set off the corners, drawing in on hover; a lime rule sweeps the foot */
.practice-img{position:relative;overflow:visible;background:none}
.practice-img .pi-in{display:block;overflow:hidden;background:var(--paper2)}
.practice-img::before{inset:-10px;transition:inset .5s cubic-bezier(.2,.7,.2,1)}
.practice:hover .practice-img::before{inset:-5px;--mk-c:var(--lime-ink)}
.practice-img::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:var(--lime);transform:scaleX(0);transform-origin:0 50%;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.practice:hover .practice-img::after{transform:scaleX(1)}

/* portrait photographs beside text: corner cut like the "M", an offset lime frame, the orange rule */
.split-img{isolation:isolate}
.split-img img{clip-path:polygon(0 0,calc(100% - 56px) 0,100% 56px,100% 100%,0 100%)}
.split-img::before{content:"";position:absolute;inset:24px -24px -24px 24px;border:1.5px solid var(--lime-d);z-index:-1}
.split-img::after{content:"";position:absolute;left:0;bottom:-24px;width:96px;height:5px;background:var(--orange)}
.split.flip .split-img img{clip-path:polygon(56px 0,100% 0,100% 100%,0 100%,0 56px)}
.split.flip .split-img::before{inset:24px 24px -24px -24px}
.split.flip .split-img::after{left:auto;right:0}
.tone-dark .split-img::before{border-color:var(--lime)}

/* wide photographs and galleries: a passe-partout line inside the picture, a lime block behind one corner */
.photo{position:relative;isolation:isolate}
.photo img{outline:1px solid rgba(251,250,246,.6);outline-offset:-16px}
.photo::before{content:"";position:absolute;left:-12px;bottom:-12px;width:72px;height:72px;background:var(--lime);z-index:-1}
.gallery a{display:block;overflow:hidden}
.gallery img{outline:1px solid rgba(251,250,246,.55);outline-offset:-10px;transition:transform .6s cubic-bezier(.2,.7,.2,1),outline-offset .4s}
.gallery a:hover img{transform:scale(1.03);outline-offset:-16px}

/* banners and the photo call-to-action: lime crop marks framing the picture, like a viewfinder */
.hero-banner.has-img::after,.cta-photo::after{--mk-c:rgba(215,223,33,.85);--mk-l:26px;inset:clamp(16px,2.2vw,30px);z-index:-1}

@media (max-width:960px){
  .split-img img{clip-path:polygon(0 0,calc(100% - 36px) 0,100% 36px,100% 100%,0 100%)}
  .split.flip .split-img img{clip-path:polygon(0 0,calc(100% - 36px) 0,100% 36px,100% 100%,0 100%)}
  .split-img,.split.flip .split-img{position:relative;top:0;margin:0 14px 14px 0}
  .split-img::before,.split.flip .split-img::before{inset:14px -14px -14px 14px}
  .split-img::after,.split.flip .split-img::after{left:0;right:auto;bottom:-14px;width:72px}
  .hero-banner.has-img::after,.cta-photo::after{--mk-l:18px}
}
@media (prefers-reduced-motion:reduce){.practice-img::before,.practice-img::after,.gallery img{transition:none}}

/* footer service lists: open columns on wide screens, tap-to-open sections on phones (site.js closes them there) */
.ft-acc summary{list-style:none;display:block}
.ft-acc summary::-webkit-details-marker{display:none}
.ft-acc .ft-n,.ft-acc .ft-all{display:none}
@media (min-width:701px){.ft-acc summary{pointer-events:none}.ft-acc summary a{pointer-events:auto}}
@media (max-width:700px){
  .ft-grid{grid-template-columns:1fr;gap:0;padding-top:44px}
  .ft-about{padding-bottom:30px}
  .ft-acc{border-top:1px solid var(--line-ink)}
  .ft-acc summary{display:flex;align-items:center;gap:12px;padding:18px 0;cursor:pointer;-webkit-tap-highlight-color:transparent}
  .ft-acc summary h3{margin:0;flex:1;white-space:normal}
  .ft-acc summary h3 a{pointer-events:none}
  .ft-acc .ft-n{display:inline;font-size:.78rem;color:#9c9d99}
  .ft-acc summary::after{content:"";width:8px;height:8px;border-right:1.5px solid var(--lime);border-bottom:1.5px solid var(--lime);transform:translateY(-3px) rotate(45deg);transition:transform .3s}
  .ft-acc[open] summary::after{transform:translateY(2px) rotate(-135deg)}
  .ft-acc ul{padding:0 0 20px}
  .ft-acc li{margin:0 0 10px}
  .ft-acc .ft-all{display:list-item;margin-top:14px}
  .ft-acc .ft-all a{color:var(--lime)}
  .ft-cnt{border-top:1px solid var(--line-ink);padding-top:22px}
  .ft-cnt h3{margin-bottom:14px}
}
