
:root{
  --ink:#0b1020;
  --muted:#647089;
  --line:#e6eaf2;
  --line-strong:#d7ddeb;
  --paper:#ffffff;
  --soft:#f7f9fc;
  --soft-blue:#eef6ff;
  --navy:#091326;
  --blue:#2563eb;
  --violet:#7c3aed;
  --pink:#ec4899;
  --green:#16a34a;
  --orange:#f59e0b;
  --shadow:0 18px 50px rgba(24,39,75,.08);
  --shadow-sm:0 8px 24px rgba(24,39,75,.07);
  --radius:22px;
  --shell:min(1460px,calc(100vw - 40px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;max-width:100%;overflow-x:clip}
body{
  margin:0;
  width:100%;
  max-width:100%;
  min-height:100vh;
  min-height:100dvh;
  display:flex;
  flex-direction:column;
  overflow-x:clip;
  color:var(--ink);
  background:
    radial-gradient(900px 360px at 2% 6%,rgba(37,99,235,.055),transparent 66%),
    radial-gradient(760px 340px at 98% 9%,rgba(124,58,237,.06),transparent 68%),
    var(--paper);
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  line-height:1.55;
}
a{color:inherit}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
img{display:block;max-width:100%}
main{flex:1 0 auto;width:100%;min-width:0;max-width:100%}
.site-header,.site-footer{flex:0 0 auto;width:100%;min-width:0;max-width:100%}
.shell{width:var(--shell);max-width:100%;min-width:0;margin-inline:auto}
.header-main>*,.hero-grid>*,.font-card-grid>*,.browser-grid>*,.browser-layout>*,.tool-layout>*,.font-detail-grid>*,.font-info-layout>*,.pairing-grid>*,.footer-grid>*{min-width:0}
input,select,textarea,button{max-width:100%}

@supports not (overflow:clip){
  html{overflow-x:hidden}
  body{overflow-x:hidden}
}

.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.site-header{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(15,23,42,.06)}
.header-main{min-height:78px;display:grid;grid-template-columns:auto minmax(320px,640px) auto;gap:28px;align-items:center}
.wordmark{font-size:clamp(1.75rem,2vw,2.45rem);font-weight:900;letter-spacing:-.055em;text-decoration:none;white-space:nowrap;position:relative}
.wordmark-this,.wordmark-dot{color:#101522}
.wordmark-font{color:var(--blue)}
.spark{font-size:.68em;position:absolute;right:-19px;top:-6px;color:var(--violet);transform:rotate(12deg)}
.header-search{height:48px;border:1px solid var(--line);background:#f9fbfe;border-radius:999px;display:flex;align-items:center;padding:4px 5px 4px 16px;box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
.header-search svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;flex:none}
.header-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;padding:0 12px;color:var(--ink)}
.header-search button{border:0;background:linear-gradient(135deg,var(--blue),var(--violet));color:#fff;border-radius:999px;height:38px;padding:0 18px;font-weight:800}
.header-actions{display:flex;gap:18px;align-items:center;justify-content:flex-end}
.header-actions a{font-size:.92rem;font-weight:750;text-decoration:none;color:#20283b}
.main-nav{background:var(--navy);color:#fff;overflow-x:auto}
.nav-inner{min-height:48px;display:flex;align-items:center;gap:7px}
.nav-inner a{text-decoration:none;white-space:nowrap;font-size:.91rem;font-weight:700;padding:14px 14px 12px;border-bottom:3px solid transparent;color:#eef2ff}
.nav-inner a:hover{color:#fff;border-bottom-color:var(--violet)}
.nav-badge{font-size:.64rem;padding:3px 6px;border-radius:999px;background:var(--violet);margin-left:4px}

.hero{padding:44px 0 22px;position:relative;overflow:hidden}
.hero:before,.hero:after{content:"";position:absolute;border:2px solid rgba(124,58,237,.18);border-radius:50%;pointer-events:none}
.hero:before{width:180px;height:180px;left:-115px;top:120px}
.hero:after{width:270px;height:270px;right:-190px;top:30px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(500px,.98fr);gap:34px;align-items:center}
.kicker{display:inline-flex;align-items:center;gap:8px;font-size:.86rem;font-weight:800;color:var(--violet);background:#f4efff;border:1px solid #e7dcff;padding:8px 11px;border-radius:999px}
.hero h1{font-size:clamp(2.8rem,5.15vw,5.45rem);line-height:.98;letter-spacing:-.06em;margin:18px 0 18px;max-width:780px}
.gradient-text{background:linear-gradient(90deg,var(--blue),var(--violet),var(--pink));-webkit-background-clip:text;background-clip:text;color:transparent;position:relative;display:inline-block}
.gradient-text:after{content:"";position:absolute;height:5px;border-radius:99px;left:4px;right:10%;bottom:-9px;background:linear-gradient(90deg,rgba(37,99,235,.55),rgba(236,72,153,.3));transform:rotate(-1deg)}
.hero-copy{font-size:1.08rem;color:#4b5870;max-width:62ch}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line-strong);background:#fff;color:var(--ink);border-radius:12px;padding:12px 16px;text-decoration:none;font-weight:800;box-shadow:0 3px 8px rgba(15,23,42,.04);transition:.18s ease}
.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm);border-color:#c5cde0}
.btn-primary{background:linear-gradient(135deg,var(--blue),var(--violet));border-color:transparent;color:#fff}
.btn-soft{background:#f7f9fd}
.btn-sm{padding:9px 12px;font-size:.86rem}
.btn-icon{width:42px;height:42px;padding:0}
.btn[disabled]{opacity:.5;cursor:not-allowed;transform:none}
.hero-specimens{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.specimen-tile{min-height:152px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,#f7fbff,#edf4ff);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;box-shadow:var(--shadow-sm)}
.specimen-tile:nth-child(2){background:linear-gradient(135deg,#fff8fb,#f6efff)}
.specimen-tile:nth-child(3){background:linear-gradient(135deg,#fffaf0,#fff3de)}
.specimen-tile:nth-child(4){background:linear-gradient(135deg,#f4fbf5,#e8f8ee)}
.specimen-tile:nth-child(5){grid-column:span 2;background:linear-gradient(135deg,#f7f3ff,#efeaff)}
.specimen-glyph{font-size:4.85rem;line-height:1}
.specimen-label{font-size:.82rem;font-weight:800;margin-top:5px}
.specimen-tile:after{content:"✦";position:absolute;color:rgba(124,58,237,.15);right:13px;top:8px;font-size:1.25rem}
.quick-categories{margin-top:26px;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:20px;padding:12px 10px;background:rgba(255,255,255,.95);display:grid;grid-template-columns:repeat(10,1fr);gap:4px}
.quick-cat{text-decoration:none;min-height:78px;border-radius:14px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:8px;transition:.18s ease}
.quick-cat:hover{background:#f7f9fd;transform:translateY(-2px)}
.quick-cat .glyph{font-size:1.9rem;line-height:1.1}
.quick-cat .name{font-size:.78rem;font-weight:800;margin-top:7px;text-align:center}
.quick-cat:nth-child(3n+1) .glyph{color:var(--blue)}
.quick-cat:nth-child(3n+2) .glyph{color:var(--violet)}
.quick-cat:nth-child(3n+3) .glyph{color:var(--pink)}

.section{padding:28px 0 12px}
.section-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:16px}
.section-title{font-size:1.32rem;line-height:1.2;margin:0;font-weight:900;letter-spacing:-.025em;position:relative}
.section-title:after{content:"";position:absolute;left:0;bottom:-8px;width:56px;height:3px;border-radius:99px;background:linear-gradient(90deg,var(--blue),var(--violet))}
.section-link{text-decoration:none;color:var(--violet);font-weight:800;font-size:.9rem}
.preview-toolbar{margin:22px 0 6px;background:#fbfcff;border:1px solid var(--line);border-radius:18px;padding:12px;display:grid;grid-template-columns:minmax(220px,1.5fr) 160px 160px auto;gap:10px;align-items:end}
.field label{display:block;color:#5e6b82;font-size:.78rem;font-weight:800;margin:0 0 6px}
.field input[type="text"],.field input[type="search"],.field input[type="number"],.field select,.field textarea{width:100%;min-height:44px;border:1px solid var(--line-strong);border-radius:11px;background:#fff;color:var(--ink);padding:10px 12px;outline:0}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#9cb7fb;box-shadow:0 0 0 3px rgba(37,99,235,.11)}
.field input[type="color"]{width:100%;height:44px;border:1px solid var(--line-strong);border-radius:11px;background:#fff;padding:4px}
.font-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.font-card{border:1px solid var(--line);background:#fff;border-radius:18px;overflow:hidden;box-shadow:var(--shadow-sm);min-width:0;transition:.18s ease}
.font-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.font-preview{min-height:182px;padding:18px;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#fff,#f8faff);position:relative;overflow:hidden}
.font-preview:before{content:"";position:absolute;width:120px;height:120px;border-radius:50%;background:rgba(37,99,235,.035);right:-44px;bottom:-50px}
.font-sample{font-size:2.5rem;line-height:1.04;text-align:center;word-break:break-word;position:relative;z-index:2}
.font-card-body{padding:15px}
.font-name-row{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.font-name{font-weight:900;font-size:1rem}
.font-meta{font-size:.78rem;color:var(--muted);margin-top:3px}
.font-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}
.pill{display:inline-flex;align-items:center;border:1px solid var(--line);background:#fafbfe;border-radius:999px;padding:5px 8px;font-size:.72rem;color:#59667c;font-weight:700}
.font-card-actions{display:flex;gap:7px;margin-top:14px}
.font-card-actions .btn{flex:1}
.heart-btn{border:0;background:transparent;font-size:1.2rem;padding:0;color:#39445a}
.heart-btn.is-saved{color:var(--pink)}
.category-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.category-card{display:flex;flex-direction:column;min-height:150px;border:1px solid var(--line);border-radius:18px;background:#fff;padding:18px;text-decoration:none;box-shadow:var(--shadow-sm);transition:.18s ease}
.category-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.category-glyph{font-size:2.7rem;line-height:1;color:var(--blue)}
.category-card:nth-child(3n+2) .category-glyph{color:var(--violet)}
.category-card:nth-child(3n+3) .category-glyph{color:var(--orange)}
.category-name{font-weight:900;margin-top:auto}
.category-count{font-size:.82rem;color:var(--muted)}
.tools-showcase{margin-top:34px;padding:30px;border-radius:28px;background:linear-gradient(135deg,#091326,#131f39);color:#fff;position:relative;overflow:hidden}
.tools-showcase:before{content:"";position:absolute;right:-80px;top:-100px;width:350px;height:350px;border-radius:50%;background:radial-gradient(circle,rgba(124,58,237,.32),transparent 67%)}
.tools-intro{max-width:720px;position:relative;z-index:2}
.tools-intro h2{font-size:clamp(1.9rem,3vw,3.2rem);line-height:1.05;letter-spacing:-.045em;margin:0 0 10px}
.tools-intro p{color:#c7d0e2}
.tool-card-grid{margin-top:24px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;position:relative;z-index:2}
.tool-card{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.07);border-radius:18px;padding:18px;text-decoration:none;min-height:170px;backdrop-filter:blur(8px)}
.tool-card:hover{background:rgba(255,255,255,.1)}
.tool-icon{font-size:1.7rem}
.tool-card h3{margin:20px 0 6px}
.tool-card p{color:#bcc6d8;font-size:.9rem;margin:0}

.page-hero{padding:42px 0 24px}
.page-hero-inner{max-width:900px}
.page-hero h1{font-size:clamp(2.5rem,5vw,4.6rem);letter-spacing:-.055em;line-height:1;margin:0 0 14px}
.page-hero p{font-size:1.08rem;color:#55627a;max-width:70ch}
.content-card{border:1px solid var(--line);background:#fff;border-radius:22px;box-shadow:var(--shadow-sm);padding:24px}
.content-card + .content-card{margin-top:14px}
.prose{max-width:900px}
.prose h2{font-size:1.6rem;letter-spacing:-.025em;margin:34px 0 12px}
.prose h3{margin:24px 0 8px}
.prose p,.prose li{color:#48556d}
.prose code{background:#f0f4fa;padding:2px 5px;border-radius:5px}
.prose pre{overflow:auto;background:#091326;color:#e8efff;padding:16px;border-radius:14px}
.install-tabs{display:grid;grid-template-columns:220px 1fr;gap:16px}
.install-nav{display:flex;flex-direction:column;gap:7px;position:sticky;top:148px;align-self:start}
.install-nav a{text-decoration:none;font-weight:800;border:1px solid var(--line);border-radius:11px;padding:10px 12px;background:#fff}
.install-step{display:grid;grid-template-columns:42px 1fr;gap:12px;margin:16px 0}
.step-num{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--violet));color:#fff;display:grid;place-items:center;font-weight:900}

.browser-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:18px;padding-bottom:50px}
.filters{align-self:start;position:sticky;top:150px;border:1px solid var(--line);border-radius:18px;background:#fff;padding:16px;box-shadow:var(--shadow-sm)}
.filters .field + .field{margin-top:12px}
.filters h2{font-size:1rem;margin:0 0 14px}
.browser-main{min-width:0}
.browser-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px}
.browser-summary strong{font-size:1.05rem}
.browser-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.pagination{display:flex;justify-content:center;gap:8px;margin:24px 0}
.loading-card{min-height:300px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(90deg,#f6f8fb,#fff,#f6f8fb);background-size:200% 100%;animation:shimmer 1.2s infinite}
@keyframes shimmer{to{background-position:-200% 0}}


.font-info-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:18px}
.pairing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}

.font-detail-hero{padding:34px 0 18px}
.font-detail-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:18px}
.big-specimen{min-height:430px;border:1px solid var(--line);border-radius:26px;background:linear-gradient(145deg,#fff,#f5f8ff);padding:24px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.big-specimen-text{font-size:clamp(4rem,9vw,9rem);line-height:.92;text-align:center;word-break:break-word}
.font-side-panel{border:1px solid var(--line);border-radius:26px;background:#fff;padding:22px;box-shadow:var(--shadow-sm)}
.font-side-panel h1{font-size:2.2rem;line-height:1.05;margin:0 0 8px;letter-spacing:-.04em}
.detail-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0}
.detail-stat{border:1px solid var(--line);border-radius:13px;padding:10px;background:#fafbfe}
.detail-stat small{display:block;color:var(--muted)}
.download-list{display:grid;gap:8px}
.download-row{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:10px}

.tool-page{padding:34px 0 60px}
.tool-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px}
.tool-controls{border:1px solid var(--line);background:#fff;border-radius:20px;padding:18px;box-shadow:var(--shadow-sm);align-self:start;position:sticky;top:150px}
.tool-controls .field + .field{margin-top:12px}
.logo-stage-wrap,.colour-stage-wrap{min-width:0}
.logo-stage{min-height:560px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center;padding:40px;overflow:hidden}
.logo-output{max-width:100%;word-break:break-word;text-align:center;line-height:1}
.tool-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.tool-note{border:1px solid #e3dbff;background:#f7f3ff;color:#554176;border-radius:13px;padding:12px;font-size:.85rem;margin-top:14px}
.palette-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.palette-option{border:1px solid var(--line);border-radius:13px;background:#fff;padding:10px;text-align:left}
.palette-swatches{display:flex;height:28px;border-radius:8px;overflow:hidden;margin-bottom:8px}
.palette-swatches span{flex:1}
.colour-stage{min-height:520px;border-radius:24px;border:1px solid var(--line);box-shadow:var(--shadow);padding:45px;display:flex;flex-direction:column;justify-content:center}
.colour-stage .eyebrow-demo{font-size:.82rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.colour-stage h2{font-size:clamp(3rem,7vw,7rem);line-height:.92;letter-spacing:-.05em;margin:14px 0}
.colour-stage p{font-size:clamp(1rem,1.7vw,1.3rem);max-width:58ch}

.legal-meta{font-size:.82rem;color:var(--muted);margin-top:4px}
.alert{border:1px solid #f7d69a;background:#fff8e8;border-radius:14px;padding:12px 14px;color:#6d4c0e}
.empty{padding:28px;border:1px dashed var(--line-strong);border-radius:16px;text-align:center;color:var(--muted)}
.site-footer{margin-top:70px;background:#091326;color:#dce4f3;padding:44px 0 20px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}
.footer-wordmark .wordmark-this,.footer-wordmark .wordmark-dot{color:#fff}
.footer-grid p{color:#9eabc2;max-width:44ch}
.footer-grid>div{display:flex;flex-direction:column;gap:8px}
.footer-grid strong{color:#fff;margin-bottom:4px}
.footer-grid a{text-decoration:none;color:#b8c3d6}
.footer-grid a:hover{color:#fff}
.footer-bottom{margin-top:28px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.8rem;color:#8f9db5}
.tf-toast{position:fixed;right:18px;bottom:18px;background:#0d1729;color:#fff;border-radius:12px;padding:10px 13px;box-shadow:var(--shadow);opacity:0;transform:translateY(8px);pointer-events:none;transition:.18s ease;z-index:120}
.tf-toast.show{opacity:1;transform:none}

@media(max-width:1180px){
  .header-main{grid-template-columns:auto 1fr}.header-actions{display:none}
  .hero-grid{grid-template-columns:1fr}
  .hero-copy{max-width:760px}
  .quick-categories{grid-template-columns:repeat(5,1fr)}
  .font-card-grid{grid-template-columns:repeat(2,1fr)}
  .category-grid{grid-template-columns:repeat(3,1fr)}
  .tool-layout{grid-template-columns:280px minmax(0,1fr)}
  .tool-card-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:840px){
  :root{--shell:min(100% - 24px,1460px)}
  html,body{max-width:100%;overflow-x:clip}
  .shell{width:calc(100% - 24px);max-width:calc(100% - 24px)}
  .site-header,.site-footer,main,.hero,.page-hero,.section{max-width:100%;min-width:0}
  .main-nav{width:100%;max-width:100vw;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .main-nav::-webkit-scrollbar{display:none}
  .nav-inner{max-width:none;min-width:max-content}
  .quick-categories{max-width:100%;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
  .header-search,.hero-search-card,.preview-toolbar,.filters,.tool-controls{min-width:0;max-width:100%}
  .header-search input,.hero-search-card input{min-width:0;width:100%}

  .site-header{position:relative}
  .header-main{grid-template-columns:1fr;gap:12px;padding:14px 0}
  .header-search{width:100%}
  .main-nav{position:sticky;top:0;z-index:80}
  .hero{padding-top:26px}
  .hero h1{font-size:clamp(2.65rem,11vw,4.4rem)}
  .hero-specimens{grid-template-columns:1fr 1fr}
  .specimen-tile{min-height:125px}
  .quick-categories{display:flex;overflow-x:auto;justify-content:flex-start;padding:8px}
  .quick-cat{min-width:105px}
  .preview-toolbar{grid-template-columns:1fr 1fr}
  .preview-toolbar .field:first-child{grid-column:1/-1}
  .font-card-grid,.browser-grid{grid-template-columns:1fr}
  .category-grid{grid-template-columns:repeat(2,1fr)}
  .tool-card-grid{grid-template-columns:1fr}
  .browser-layout,.tool-layout,.install-tabs{grid-template-columns:1fr}
  .filters,.tool-controls,.install-nav{position:static}
  .install-nav{display:grid;grid-template-columns:repeat(2,1fr)}
  .font-detail-grid,.font-info-layout,.pairing-grid{grid-template-columns:1fr}
  .big-specimen{min-height:320px}
  .palette-list{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-grid>div:first-child{grid-column:1/-1}
}
@media(max-width:560px){
  .wordmark-v2{max-width:100%}
  .home-v2 .hero h1{overflow-wrap:anywhere}
  .hero-search-card{max-width:100%}
  .footer-bottom{max-width:100%}

  .header-search button{width:40px;padding:0;font-size:0}
  .header-search button:after{content:"→";font-size:1rem}
  .hero h1{font-size:2.75rem}
  .hero-specimens{grid-template-columns:1fr}
  .specimen-tile:nth-child(5){grid-column:auto}
  .preview-toolbar{grid-template-columns:1fr}
  .preview-toolbar .field:first-child{grid-column:auto}
  .font-card-grid,.category-grid{grid-template-columns:1fr}
  .tools-showcase{padding:22px}
  .page-hero{padding-top:28px}
  .logo-stage,.colour-stage{min-height:380px;padding:24px}
  .palette-list{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .footer-grid>div:first-child{grid-column:auto}
}

/* ========================================================================
   ThisFont v2 brand + homepage enhancements
   ======================================================================== */
.wordmark-v2{
  display:inline-flex;
  align-items:baseline;
  gap:0;
  font-family:Inter,Arial,Helvetica,sans-serif;
  font-weight:900;
  letter-spacing:-.055em;
  line-height:1;
}
.wordmark-v2 .wordmark-this{
  color:#0b1020;
  font-family:Inter,Arial,Helvetica,sans-serif;
  font-weight:900;
  letter-spacing:-.065em;
}
/* Fixed morph boxes: rotating fonts must never alter header/hero geometry. */
.brand-morph-stage{
  position:relative;
  display:inline-block;
  width:5.30ch;
  min-width:5.30ch;
  max-width:5.30ch;
  height:1.02em;
  min-height:1.02em;
  line-height:1;
  vertical-align:-.055em;
  contain:layout;
}
.brand-morph-layer{
  position:absolute;
  left:0;
  bottom:0;
  display:block;
  width:max-content;
  max-width:none;
  line-height:.96;
  transform-origin:left bottom;
  white-space:nowrap;
  will-change:opacity,transform,filter,color;
  transition:
    opacity var(--morph-ms,.72s) cubic-bezier(.22,1,.36,1),
    transform var(--morph-ms,.72s) cubic-bezier(.22,1,.36,1),
    filter var(--morph-ms,.72s) cubic-bezier(.22,1,.36,1),
    color var(--morph-ms,.72s) cubic-bezier(.22,1,.36,1);
}
.brand-morph-layer.is-current{opacity:1;transform:translateY(0) scale(var(--fit-scale,1));filter:blur(0)}
.brand-morph-layer.is-next{opacity:0;transform:translateY(.12em) scale(calc(var(--fit-scale,1) * .985));filter:blur(4px)}
.brand-morph-stage.is-morphing .brand-morph-layer.is-current{opacity:0;transform:translateY(-.09em) scale(var(--fit-scale,1));filter:blur(4px)}
.brand-morph-stage.is-morphing .brand-morph-layer.is-next{opacity:1;transform:translateY(0) scale(var(--fit-scale,1));filter:blur(0)}
.brand-morph-logo{margin-left:.015em;color:#155eef}
.footer-wordmark-v2{display:inline-flex;align-items:baseline;font-weight:900;font-size:1.75rem;letter-spacing:-.055em;text-decoration:none}
.site-footer .footer-wordmark-v2 .wordmark-this{color:#fff}
.footer-wordmark-v2 .footer-font{color:#6ea8ff}

.home-v2 .hero{padding:54px 0 26px}
.home-v2 .hero-grid{grid-template-columns:minmax(0,1.02fr) minmax(470px,.98fr);gap:42px}
.home-v2 .hero h1{max-width:900px;font-size:clamp(3.4rem,6.25vw,6.7rem);line-height:.94;letter-spacing:-.073em;margin:16px 0 18px}
.home-v2 .hero-copy{max-width:65ch;font-size:1.11rem}
.home-v2 .kicker{background:#f7f5ff;color:#5b21b6;border-color:#e7dcff}
.inline-font-morph{
  display:inline-block;
  width:2.70em;
  min-width:2.70em;
  max-width:2.70em;
  height:.96em;
  min-height:.96em;
  color:#155eef;
  vertical-align:-.045em;
  margin-inline:.025em;
}
.inline-font-morph .brand-morph-layer{line-height:.92}
.hero-search-card{
  margin-top:28px;
  max-width:740px;
  padding:7px;
  display:flex;
  gap:8px;
  align-items:center;
  border:1px solid #dfe5f0;
  background:rgba(255,255,255,.92);
  border-radius:17px;
  box-shadow:0 16px 40px rgba(24,39,75,.09);
}
.hero-search-card svg{width:22px;height:22px;margin-left:10px;fill:none;stroke:#5a6880;stroke-width:1.9;flex:none}
.hero-search-card input{flex:1;min-width:0;border:0;outline:0;padding:12px 6px;background:transparent;color:#0b1020;font-size:1rem}
.hero-search-card button{border:0;border-radius:12px;background:#0b1020;color:#fff;padding:12px 17px;font-weight:850;white-space:nowrap}
.hero-proof{display:flex;gap:10px 18px;flex-wrap:wrap;margin-top:18px;color:#68748a;font-size:.82rem;font-weight:750}
.hero-proof span{display:inline-flex;align-items:center;gap:7px}
.hero-proof span:before{content:"";width:6px;height:6px;border-radius:50%;background:linear-gradient(135deg,#2563eb,#7c3aed)}
.hero-specimen-note{position:absolute;left:14px;bottom:10px;color:#7b879a;font-size:.7rem;font-weight:750;opacity:.75}

.job-section{padding:34px 0 8px}
.job-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}
.job-card{
  min-height:142px;
  border:1px solid var(--line);
  background:#fff;
  border-radius:17px;
  padding:16px;
  text-decoration:none;
  box-shadow:var(--shadow-sm);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
  position:relative;
  overflow:hidden;
}
.job-card:after{content:"";position:absolute;width:76px;height:76px;border-radius:50%;right:-35px;bottom:-33px;background:rgba(37,99,235,.045)}
.job-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#ced7e8}
.job-icon{font-weight:900;font-size:1.45rem;color:#4f46e5;letter-spacing:-.05em}
.job-name{margin-top:20px;font-weight:900;font-size:.94rem;line-height:1.2}
.job-count{margin-top:5px;color:#748096;font-size:.74rem;font-weight:700}

.insight-strip{margin-top:22px;display:grid;grid-template-columns:1.15fr .85fr;gap:14px}
.insight-card{border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow-sm);padding:22px;position:relative;overflow:hidden}
.insight-card.dark{background:#0b1325;color:#fff;border-color:#0b1325}
.insight-card.dark p{color:#b9c2d4}
.insight-card h3{margin:0 0 8px;font-size:1.35rem;letter-spacing:-.035em}
.insight-card p{margin:0;color:#607089;max-width:58ch}
.insight-card .btn{margin-top:18px}
.pairing-preview{margin-top:18px;display:grid;gap:5px}
.pairing-heading{font-size:2.5rem;line-height:1;letter-spacing:-.04em}
.pairing-body{font-size:1rem;line-height:1.55;color:#5c687d}
.insight-card.dark .pairing-body{color:#c4ccda}

.category-grid .category-card:nth-child(4n+1){background:linear-gradient(160deg,#fff,#f5f9ff)}
.category-grid .category-card:nth-child(4n+2){background:linear-gradient(160deg,#fff,#faf6ff)}
.category-grid .category-card:nth-child(4n+3){background:linear-gradient(160deg,#fff,#fff8f5)}
.category-grid .category-card:nth-child(4n){background:linear-gradient(160deg,#fff,#f4fbf7)}


/* v2.2 layout stability: animated type is never allowed to resize its parent. */
.header-main > *, .hero-grid > *, .hero-grid > div, .hero-copy, .hero-search-card{min-width:0}
.header-search{min-width:0}
.wordmark-v2{flex:none}
@media (max-width:840px){
  .header-main{width:100%}
  .hero-grid,.hero-grid>div{width:100%;max-width:100%}
  .hero-search-card{width:100%;box-sizing:border-box}
}

@media (prefers-reduced-motion: reduce){
  .brand-morph-layer,.brand-morph-stage,.inline-font-morph{transition:none!important}
}
@media (max-width:1200px){
  .job-grid{grid-template-columns:repeat(4,1fr)}
}
@media (max-width:980px){
  .home-v2 .hero-grid{grid-template-columns:1fr}
  .home-v2 .hero h1{font-size:clamp(3.25rem,10vw,5.5rem)}
  .insight-strip{grid-template-columns:1fr}
  .header-main{grid-template-columns:auto 1fr}
  .header-actions{display:none}
}
@media (max-width:720px){
  .wordmark-v2{font-size:1.65rem;max-width:100%}
  /* Keep exactly the same reserved geometry on mobile; only the type scales inside it. */
  .brand-morph-logo{width:5.30ch!important;min-width:5.30ch!important;max-width:5.30ch!important}
  .inline-font-morph{width:2.70em!important;min-width:2.70em!important;max-width:2.70em!important}
  .brand-morph-layer{max-width:none}
  .home-v2 .hero{padding-top:32px}
  .home-v2 .hero h1{font-size:clamp(3rem,14vw,4.25rem)}
  .hero-search-card{display:grid;grid-template-columns:auto 1fr}
  .hero-search-card button{grid-column:1/-1;width:100%}
  .job-grid{grid-template-columns:repeat(2,1fr)}
}

/* =======================================================================
   ThisFont v3 — discovery, groups, brands and brand-building experiences
   ======================================================================= */
.section-tight{padding-top:18px!important}
.section-meta{color:var(--muted);font-size:.92rem;font-weight:700}
.eyelink{display:inline-flex;margin-bottom:16px;color:var(--muted);font-weight:750;text-decoration:none}

/* Keep the animated logo visually aligned without contributing to layout motion. */
.brand-morph-logo{position:relative;top:10px}
.brand-morph-logo .brand-morph-layer.is-current,
.brand-morph-logo .brand-morph-layer.is-next,
.brand-morph-logo.is-morphing .brand-morph-layer.is-current,
.brand-morph-logo.is-morphing .brand-morph-layer.is-next{transform:scale(var(--fit-scale,1))}
.site-footer .footer-wordmark-v2 .wordmark-this{color:#fff!important}

/* Groups */
.groups-hero{background:linear-gradient(180deg,#fbfcff 0%,#fff 100%)}
.group-index-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.group-index-card{position:relative;min-width:0;min-height:250px;padding:22px;border:1px solid var(--line);border-radius:24px;text-decoration:none;background:#fff;overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.group-index-card:before{content:"";position:absolute;inset:0;background:radial-gradient(350px 180px at 100% 0,color-mix(in srgb,var(--group-a),transparent 84%),transparent 70%);pointer-events:none}
.group-index-card:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:5px;background:linear-gradient(90deg,var(--group-a),var(--group-b))}
.group-index-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--group-a),#fff 60%)}
.group-card-top,.group-card-meta{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px}
.group-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:color-mix(in srgb,var(--group-a),#fff 88%);color:var(--group-a);font-size:1.18rem;font-weight:900}
.group-type{font-size:.76rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.group-index-card h2{position:relative;margin:30px 0 8px;font-size:1.35rem;letter-spacing:-.035em}
.group-index-card p{position:relative;margin:0;color:var(--muted);font-size:.94rem}
.group-card-meta{margin-top:24px;color:var(--muted);font-size:.88rem}
.group-card-meta strong{color:var(--ink);font-size:1.08rem}.group-card-meta span{color:var(--group-a);font-weight:850}
.group-detail-hero{padding:54px 0 36px;background:linear-gradient(120deg,color-mix(in srgb,var(--group-a),#fff 94%),#fff 46%,color-mix(in srgb,var(--group-b),#fff 94%));border-bottom:1px solid var(--line)}
.group-detail-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:34px;align-items:center}
.group-detail-hero h1{font-size:clamp(2.8rem,5vw,5.3rem);line-height:.96;letter-spacing:-.06em;margin:13px 0 16px}
.group-detail-hero p{font-size:1.08rem;color:#4b5870;max-width:68ch}
.group-guidance{padding:24px;border:1px solid color-mix(in srgb,var(--group-a),#fff 75%);border-radius:24px;background:rgba(255,255,255,.82);box-shadow:var(--shadow-sm)}
.group-guidance strong{font-size:1.15rem}.group-guidance p{font-size:.96rem}.group-swatch-row{display:grid;grid-template-columns:2fr 1fr 1fr;gap:7px;margin-top:20px}.group-swatch-row span{height:38px;border-radius:10px;background:var(--group-a)}.group-swatch-row span:nth-child(2){background:var(--group-b)}.group-swatch-row span:nth-child(3){background:var(--ink)}

/* Homepage v3 modules */
.home-group-section{background:#f8faff;border-block:1px solid var(--line)}
.home-group-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.home-group-card{display:flex;align-items:center;gap:13px;min-width:0;padding:15px;border:1px solid var(--line);background:#fff;border-radius:18px;text-decoration:none;box-shadow:0 4px 14px rgba(15,23,42,.035)}
.home-group-card>span{width:45px;height:45px;flex:none;display:grid;place-items:center;border-radius:13px;background:linear-gradient(135deg,color-mix(in srgb,var(--ga),#fff 80%),color-mix(in srgb,var(--gb),#fff 84%));color:var(--ga);font-weight:900}.home-group-card div{min-width:0}.home-group-card strong,.home-group-card small{display:block}.home-group-card strong{font-size:.95rem}.home-group-card small{margin-top:2px;color:var(--muted)}
.engagement-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.engagement-feature{min-height:330px;padding:28px;border-radius:26px;text-decoration:none;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;position:relative;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.engagement-feature:before{content:"Aa";position:absolute;right:-14px;top:-42px;font-size:12rem;line-height:1;font-weight:900;opacity:.07;transform:rotate(-7deg)}
.engagement-feature h2{font-size:clamp(1.7rem,2.5vw,2.55rem);line-height:1;letter-spacing:-.05em;margin:16px 0 10px}.engagement-feature p{margin:0 0 22px;max-width:42ch}.engagement-feature>strong{font-size:.93rem}.brand-generator-feature{background:linear-gradient(135deg,#f1f5ff,#fbf5ff)}.roulette-feature{background:#091326;color:#fff;border-color:#17243a}.roulette-feature p{color:#cbd5e1}.roulette-feature .kicker{background:rgba(124,58,237,.18);border-color:#3b2e68;color:#dfd2ff}.board-feature{background:linear-gradient(135deg,#fff8ed,#fff 55%,#f3f4ff)}
.brand-home-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.brand-home-row a{padding:18px;border:1px solid var(--line);border-radius:18px;text-decoration:none;background:#fff;text-align:center}.brand-home-row span{width:48px;height:48px;margin:0 auto 10px;border-radius:14px;background:#0b1020;color:#fff;display:grid;place-items:center;font-weight:900}.brand-home-row strong,.brand-home-row small{display:block}.brand-home-row small{color:var(--muted);margin-top:3px}

/* Design finder */
.designing-picker,.generator-input-row{margin-top:24px;display:flex;align-items:center;gap:10px;max-width:860px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm)}
.designing-picker label{font-weight:850;padding-left:10px;white-space:nowrap}.designing-picker select,.generator-input-row input{flex:1;min-width:0;border:0;background:transparent;outline:0;padding:12px;font-size:1rem;color:var(--ink)}
.design-answer{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:24px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow-sm)}.design-answer h2{margin:10px 0 6px;font-size:1.65rem}.design-answer p{margin:0;color:var(--muted)}
.palette-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.palette-card{display:block;padding:10px;border:1px solid var(--line);border-radius:16px;background:#fff;text-decoration:none}.palette-strip{height:65px;display:flex;border-radius:11px;overflow:hidden;margin-bottom:10px}.palette-strip span{flex:1}.palette-card strong,.palette-card small{display:block}.palette-card small{color:var(--muted);margin-top:2px}

/* Brands */
.brand-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.brand-card{display:flex;gap:18px;padding:22px;border:1px solid var(--line);border-radius:22px;text-decoration:none;background:#fff;box-shadow:var(--shadow-sm);min-width:0}.brand-card h2{margin:1px 0 5px;font-size:1.25rem}.brand-card p{margin:0 0 12px;color:var(--muted);font-size:.93rem}.brand-card small{color:var(--muted)}
.brand-monogram{width:54px;height:54px;flex:none;border-radius:15px;background:#0b1020;color:#fff;display:grid;place-items:center;font-weight:900;letter-spacing:-.05em}.brand-monogram.large{width:86px;height:86px;border-radius:24px;font-size:1.5rem}
.brand-detail-hero{padding:52px 0 34px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#f8faff,#fff)}.brand-detail-title{display:flex;gap:24px;align-items:center}.brand-detail-title h1{font-size:clamp(2.8rem,5vw,5.1rem);line-height:.96;letter-spacing:-.06em;margin:12px 0}.brand-detail-title p{max-width:65ch;color:var(--muted)}
.brand-type-list{display:grid;gap:12px}.brand-type-card{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px;border:1px solid var(--line);border-radius:20px;background:#fff}.brand-type-card h3{margin:8px 0 4px;font-size:1.35rem}.brand-type-card p{margin:0;color:var(--muted)}.brand-type-card small{display:block;margin-top:8px;max-width:75ch;color:var(--muted)}.brand-type-actions{display:flex;gap:8px;flex-wrap:wrap}.status-chip{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:.72rem;font-weight:850}.status-chip.verified{background:#ecfdf3;color:#067647;border:1px solid #abefc6}.alt-section{background:#fafbfe;border-block:1px solid var(--line)}
.brand-usage-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.brand-usage-card{display:flex;align-items:center;gap:13px;padding:15px;border:1px solid var(--line);border-radius:17px;background:#fff;text-decoration:none}.brand-usage-card strong,.brand-usage-card span,.brand-usage-card small{display:block}.brand-usage-card span,.brand-usage-card small{color:var(--muted);font-size:.82rem}

/* Rich font detail intelligence */
.fit-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.fit-panel h3{margin-top:0}.fit-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:11px 0 15px;text-decoration:none;color:inherit}.fit-row i{position:absolute;left:0;right:0;bottom:5px;height:4px;background:#edf0f5;border-radius:999px;overflow:hidden}.fit-row i:after{content:"";display:block;width:var(--fit);height:100%;background:linear-gradient(90deg,var(--blue),var(--violet));border-radius:inherit}.fit-row strong{color:var(--blue)}
.font-groups-inline{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:18px}.font-groups-inline>a{display:inline-flex;gap:7px;align-items:center;padding:8px 10px;border-radius:999px;background:color-mix(in srgb,var(--chip),#fff 90%);border:1px solid color-mix(in srgb,var(--chip),#fff 74%);text-decoration:none;font-size:.84rem;font-weight:780}.font-groups-inline>a span{color:var(--chip)}
.psychology-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.psychology-item{padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:#fff}.psychology-item>div:first-child{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;font-size:.78rem;color:var(--muted)}.psychology-item>div:first-child span:last-child{text-align:right}.psychology-item strong{color:var(--ink)}.psychology-track{position:relative;height:7px;margin-top:10px;border-radius:999px;background:linear-gradient(90deg,#dbeafe,#f1f5f9 50%,#ede9fe)}.psychology-track i{position:absolute;top:50%;width:13px;height:13px;border:3px solid #fff;background:var(--violet);border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #c4b5fd}
.font-colour-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.font-colour-card{display:block;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff;text-decoration:none}.font-colour-demo{height:170px;padding:20px;background:var(--pbg);color:var(--pfg);display:flex;flex-direction:column;justify-content:space-between}.font-colour-demo .font-sample{font-size:clamp(2rem,3vw,3.5rem);line-height:.95}.font-colour-demo b{align-self:flex-start;background:var(--pa);color:var(--pbg);padding:7px 10px;border-radius:999px;font:750 .75rem Inter,sans-serif}.font-colour-meta{padding:13px 14px}.font-colour-meta strong,.font-colour-meta span{display:block}.font-colour-meta span{color:var(--muted);font-size:.82rem;margin-top:2px}

/* 100-brand generator */
.generator-input-row input{font-size:1.15rem;font-weight:800;letter-spacing:.01em}.generator-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.generator-toolbar strong,.generator-toolbar span{display:block}.generator-toolbar span{color:var(--muted);font-size:.85rem}.generator-toolbar label{display:flex;align-items:center;gap:8px;font-size:.86rem;font-weight:750}.generator-toolbar select{border:1px solid var(--line);border-radius:10px;padding:9px;background:#fff}.brand-example-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.brand-example-card{position:relative;min-width:0;height:230px;padding:18px;border:1px solid var(--line);border-radius:20px;background:var(--brand-bg);color:var(--brand-fg);display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;overflow:hidden;transition:transform .15s ease,box-shadow .15s ease}.brand-example-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.brand-example-card:after{content:"";position:absolute;width:100px;height:100px;border-radius:50%;right:-45px;top:-45px;background:var(--brand-accent);opacity:.14}.brand-example-number{font:800 .72rem Inter,sans-serif;opacity:.5}.brand-example-word{font-size:clamp(1.9rem,3.1vw,3.8rem);line-height:.92;word-break:break-word;transition:font-family .15s ease}.brand-example-meta{display:flex;justify-content:space-between;gap:10px;align-items:end;font:700 .75rem Inter,sans-serif}.brand-example-meta span{opacity:.65;text-align:right}

/* Multi-colour logo maker */
.two-col-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px}.logo-output-painted{display:flex;align-items:baseline;justify-content:center;max-width:100%;white-space:nowrap}.logo-letter{display:inline-block;cursor:pointer;transition:color .12s ease,transform .12s ease}.logo-letter:hover{transform:translateY(-4px)}.logo-paint-panel{margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:16px;background:#f8faff}.paint-head strong,.paint-head span{display:block}.paint-head span{font-size:.78rem;color:var(--muted);margin-top:2px}.paint-swatches{display:flex;gap:9px;margin-top:12px}.paint-swatch{position:relative;width:52px;height:52px;border:2px solid transparent;border-radius:14px;overflow:hidden;background:#fff;display:grid;place-items:center;font-size:.72rem;font-weight:900;cursor:pointer}.paint-swatch.active{border-color:var(--blue);box-shadow:0 0 0 3px #dbeafe}.paint-swatch input{position:absolute;inset:0;width:100%;height:100%;opacity:.88;border:0;padding:0;cursor:pointer}.paint-swatch{color:#fff;text-shadow:0 1px 3px #000;z-index:1}.paint-swatch::after{content:attr(data-paint-select);position:relative;z-index:2;pointer-events:none}.paint-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:11px}.logo-stage-hint{margin:9px 0 15px;color:var(--muted);font-size:.85rem;text-align:center}

/* Brand board */
.brand-board-layout{display:grid;grid-template-columns:minmax(290px,360px) minmax(0,1fr);gap:18px;align-items:start}.brand-board-controls{top:145px}.colour-control-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.colour-control-grid label{font-size:.78rem;font-weight:750;color:var(--muted)}.colour-control-grid input{display:block;width:100%;height:42px;border:1px solid var(--line);border-radius:10px;padding:3px;margin-top:5px;background:#fff}.brand-board-canvas{--board-bg:#fff;--board-fg:#111827;--board-accent:#2563eb;--board-secondary:#7c3aed;min-height:760px;padding:clamp(28px,5vw,70px);border:1px solid var(--line);border-radius:26px;background:var(--board-bg);color:var(--board-fg);box-shadow:var(--shadow);overflow:hidden}.board-logo{font-size:clamp(3rem,7vw,7rem);line-height:.9;letter-spacing:-.06em;font-weight:800;word-break:break-word}.board-tagline{margin-top:16px;font-size:1.05rem;opacity:.68}.board-divider{height:1px;background:color-mix(in srgb,var(--board-fg),transparent 78%);margin:60px 0 26px}.board-section-label{text-transform:uppercase;letter-spacing:.14em;font-size:.7rem;font-weight:850;opacity:.5;margin:25px 0 12px}.brand-board-canvas h2{max-width:16ch;font-size:clamp(2.2rem,4vw,4.4rem);line-height:.98;letter-spacing:-.045em;margin:0 0 18px}.brand-board-canvas p{max-width:58ch;font-size:1rem;line-height:1.7;opacity:.76}.board-ui-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:30px}.board-ui-row button{border:0;border-radius:999px;background:var(--board-accent);color:var(--board-bg);padding:12px 18px;font-weight:850}.board-ui-row span{font-size:.72rem;letter-spacing:.15em;font-weight:800;color:var(--board-secondary)}.board-colours{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:8px}.board-colours span{height:95px;border-radius:14px;border:1px solid color-mix(in srgb,var(--board-fg),transparent 88%)}

/* Roulette */
.roulette-page{background:#07101d;color:#fff;min-height:calc(100dvh - 126px);display:flex}.roulette-shell{width:min(1500px,calc(100vw - 40px));margin:auto;padding:28px 0}.roulette-top,.roulette-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px}.roulette-actions{display:flex;gap:9px}.roulette-stage{position:relative;min-height:min(65vh,720px);margin:18px 0;border:1px solid #26354b;border-radius:30px;background:radial-gradient(800px 430px at 50% 40%,#15243b,#091326 68%);display:grid;place-items:center;overflow:hidden}.roulette-copy{width:90%;border:0!important;outline:0;background:transparent!important;color:#fff!important;text-align:center;font-size:clamp(3.2rem,8vw,9rem);line-height:.94;letter-spacing:-.045em;transition:opacity .16s ease;padding:30px}.roulette-hidden{position:absolute;left:25px;bottom:25px;display:flex;gap:10px;align-items:center;padding:10px 12px;border:1px solid #334155;border-radius:999px;background:rgba(7,16,29,.88);opacity:0;transform:translateY(8px);transition:.18s ease;pointer-events:none}.roulette-hidden.is-visible{opacity:1;transform:none;pointer-events:auto}.roulette-hidden strong{color:#fff}.roulette-hidden span{color:#94a3b8}.roulette-hidden a{color:#93c5fd;text-decoration:none}.roulette-bottom p{color:#94a3b8}.heart-btn.large{width:auto;padding:10px 14px;border-radius:999px;color:#fff;border-color:#334155;background:#111c2d}

@media(max-width:1180px){
  .group-index-grid,.home-group-grid,.brand-example-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .brand-home-row,.palette-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .font-colour-grid,.brand-usage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .brand-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .group-detail-grid,.brand-board-layout{grid-template-columns:1fr}.brand-board-controls{position:static}
  .group-index-grid,.home-group-grid,.brand-example-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .engagement-feature-grid{grid-template-columns:1fr}.engagement-feature{min-height:260px}
  .fit-columns,.psychology-grid{grid-template-columns:1fr}
  .brand-type-card,.design-answer{align-items:flex-start;flex-direction:column}
}
@media(max-width:640px){
  .group-index-grid,.home-group-grid,.brand-example-grid,.brand-grid,.brand-home-row,.palette-grid,.font-colour-grid,.brand-usage-grid{grid-template-columns:1fr}
  .designing-picker,.generator-input-row{display:grid;grid-template-columns:1fr;width:100%;border-radius:16px}.designing-picker label{padding:5px 10px 0}.designing-picker select,.generator-input-row input{width:100%}
  .generator-toolbar{align-items:flex-start;flex-direction:column}.generator-toolbar label{width:100%;justify-content:space-between}.generator-toolbar select{max-width:65%}
  .brand-detail-title{align-items:flex-start;flex-direction:column}.brand-monogram.large{width:68px;height:68px;border-radius:19px}.brand-detail-title h1{font-size:2.75rem}
  .two-col-controls{grid-template-columns:1fr}.logo-stage{padding:18px;min-height:340px}.logo-output-painted{font-size:min(15vw,86px)!important;max-width:100%;transform-origin:center}
  .brand-board-canvas{min-height:610px;padding:26px 20px}.board-colours{grid-template-columns:1fr 1fr}.board-colours span{height:70px}
  .roulette-shell{width:calc(100vw - 24px);padding:14px 0}.roulette-top{align-items:flex-start;flex-direction:column}.roulette-actions{width:100%}.roulette-actions .btn{flex:1}.roulette-stage{min-height:58vh;border-radius:20px}.roulette-copy{font-size:clamp(2.6rem,13vw,5rem);width:96%}.roulette-hidden{left:12px;right:12px;bottom:12px;border-radius:15px;flex-wrap:wrap}.roulette-bottom{align-items:flex-start}
}

/* v3 font-aware colour recommendations */
.font-colour-rec-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.font-colour-rec{appearance:none;text-align:left;border:1px solid var(--line,#e6e9ef);background:#fff;border-radius:18px;padding:12px;cursor:pointer;min-width:0;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.font-colour-rec:hover{transform:translateY(-2px);border-color:#b8c0d0;box-shadow:0 12px 30px rgba(15,23,42,.08)}
.font-colour-rec-swatches{height:76px;border-radius:12px;overflow:hidden;display:grid;grid-template-columns:2fr 1fr 1fr;margin-bottom:10px;border:1px solid rgba(15,23,42,.08)}
.font-colour-rec-swatches span{display:block;min-width:0}
.font-colour-rec strong{display:block;color:#111827;font-size:.98rem}
.font-colour-rec small{display:block;color:#64748b;margin-top:4px;line-height:1.4}
.font-colour-score{display:inline-flex;margin-top:8px;font-size:.76rem;font-weight:800;color:#155eef;background:#eef4ff;border-radius:999px;padding:5px 8px}
@media(max-width:820px){.font-colour-rec-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.font-colour-rec-grid{grid-template-columns:1fr}}
.generator-context-form{display:grid;grid-template-columns:auto minmax(220px,420px) auto;gap:10px;align-items:center;margin-top:14px;max-width:780px}
.generator-context-form label{font-weight:800;color:#344054}.generator-context-form select{min-width:0;border:1px solid var(--line,#dfe3ea);border-radius:12px;background:#fff;padding:12px 14px;color:#111827}
@media(max-width:680px){.generator-context-form{grid-template-columns:1fr}.generator-context-form .btn{width:100%}}

/* v3 richer individual font specimens */
.section-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.font-context-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.font-context-demo{min-height:230px;border:1px solid var(--line,#e7eaf0);border-radius:22px;background:#fff;padding:22px;display:flex;flex-direction:column;justify-content:center;min-width:0;overflow:hidden}.font-context-demo>small{font-family:Inter,system-ui,sans-serif;font-size:.7rem;font-weight:900;letter-spacing:.14em;color:#667085;margin-bottom:20px}.font-context-demo .font-sample{line-height:1.02;color:#101828}.wordmark-demo .font-sample{font-size:clamp(2.3rem,5vw,5.2rem);white-space:nowrap}.wordmark-demo span,.editorial-demo p{font-family:Inter,system-ui,sans-serif;color:#667085;margin-top:14px}.editorial-demo .font-sample{font-size:clamp(2rem,4vw,4.4rem);max-width:12ch}.interface-demo{background:#0f172a}.interface-demo>small{color:#94a3b8}.interface-demo .font-sample{color:#fff;font-size:clamp(1.7rem,3vw,3rem);max-width:14ch}.interface-demo button{align-self:flex-start;margin-top:24px;border:0;border-radius:999px;background:#fff;color:#0f172a;padding:10px 16px;font:800 .85rem Inter,system-ui,sans-serif}.glyph-demo .font-sample{font-size:clamp(1.3rem,2.6vw,2.5rem);line-height:1.55;overflow-wrap:anywhere}
@media(max-width:760px){.font-context-grid{grid-template-columns:1fr}.font-context-demo{min-height:190px}.wordmark-demo .font-sample{white-space:normal}.section-actions{width:100%}.section-actions .btn{flex:1}}

/* =======================================================================
   ThisFont v3.1 — productised tools hub + polished tool surfaces
   ======================================================================= */
.tools-home{background:linear-gradient(180deg,#fbfcff 0,#fff 520px)}
.tools-home-hero{padding:64px 0 44px;border-bottom:1px solid var(--line);overflow:hidden;background:
 radial-gradient(700px 380px at 8% 10%,rgba(37,99,235,.09),transparent 70%),
 radial-gradient(620px 360px at 92% 0,rgba(139,92,246,.10),transparent 68%)}
.tools-home-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);gap:54px;align-items:center}
.tools-home-hero h1{font-size:clamp(3rem,5.7vw,6.25rem);line-height:.94;letter-spacing:-.067em;max-width:900px;margin:14px 0 20px}
.tools-home-hero p{font-size:1.09rem;color:#58677f;max-width:65ch}
.tools-proof-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.tools-proof-row span{padding:9px 12px;border:1px solid #e2e7ef;border-radius:999px;background:rgba(255,255,255,.76);font-size:.82rem;color:#667085}
.tools-proof-row strong{color:#111827;margin-right:4px}
.tools-hero-demo{position:relative;min-height:510px}
.demo-brand-card{position:absolute;width:min(440px,86%);min-height:190px;padding:25px 27px;border-radius:27px;box-shadow:0 26px 70px rgba(15,23,42,.16);display:flex;flex-direction:column;justify-content:center;transition:transform .2s ease}
.demo-brand-card small{font:800 .68rem/1 Inter,sans-serif;letter-spacing:.16em;opacity:.62;margin-bottom:24px}
.demo-brand-card strong{font-size:clamp(2.2rem,4vw,4.8rem);line-height:.9;letter-spacing:-.055em}
.demo-brand-card span{font:700 .76rem/1.2 Inter,sans-serif;margin-top:18px;opacity:.62}
.demo-brand-a{left:0;top:30px;background:#f3ead8;color:#362014;transform:rotate(-4deg)}
.demo-brand-a strong{font-family:Georgia,serif}
.demo-brand-b{right:0;top:160px;background:#1827db;color:#fff;transform:rotate(4deg)}
.demo-brand-b strong{font-family:Inter,sans-serif;font-weight:900}
.demo-brand-c{left:40px;bottom:5px;background:#281631;color:#f7ecdf;transform:rotate(-1deg)}
.demo-brand-c strong{font-family:"Times New Roman",serif;font-weight:500}
.tools-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.tool-product-card{position:relative;min-height:310px;padding:24px;border:1px solid #e5e9f0;border-radius:25px;background:#fff;color:#111827;text-decoration:none;box-shadow:0 8px 28px rgba(15,23,42,.055);overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.tool-product-card:before{content:"";position:absolute;inset:0;background:radial-gradient(310px 210px at 100% 0,color-mix(in srgb,var(--tool-a),transparent 86%),transparent 72%);pointer-events:none}
.tool-product-card:after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:linear-gradient(90deg,var(--tool-a),var(--tool-b))}
.tool-product-card:hover{transform:translateY(-4px);box-shadow:0 18px 45px rgba(15,23,42,.11);border-color:color-mix(in srgb,var(--tool-a),#fff 62%)}
.tool-product-top{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px}
.tool-product-mark{width:54px;height:54px;border-radius:17px;display:grid;place-items:center;background:color-mix(in srgb,var(--tool-a),#fff 88%);color:var(--tool-a);font-weight:950;font-size:1.22rem;letter-spacing:-.05em}
.tool-product-kicker{font-size:.7rem;text-transform:uppercase;letter-spacing:.13em;font-weight:900;color:#7b8799}
.tool-product-card h2{position:relative;margin:36px 0 9px;font-size:1.45rem;letter-spacing:-.04em}
.tool-product-card p{position:relative;margin:0;color:#667085;font-size:.94rem;line-height:1.62}
.tool-product-cta{position:absolute;left:24px;bottom:24px;color:var(--tool-a);font-weight:900;font-size:.88rem}
.tools-flow-section{background:#0b1325;color:#fff;margin-top:28px}
.tools-flow-section .section-title{color:#fff}.tools-flow-section .kicker{background:#1a2640;border-color:#253454;color:#a8c1ff}
.tools-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;border:1px solid #26334a;border-radius:24px;overflow:hidden;background:#26334a}
.tools-flow a{min-height:205px;background:#0e192d;padding:24px;text-decoration:none;color:#fff;transition:background .18s ease}
.tools-flow a:hover{background:#14223a}.tools-flow span{color:#7fa6ff;font-weight:900;font-size:.78rem;letter-spacing:.1em}.tools-flow strong{display:block;font-size:1.16rem;margin:34px 0 7px}.tools-flow p{margin:0;color:#99a7bc;font-size:.9rem}

/* Tool page consistency */
.tool-page .page-hero-inner,.brand-generator-page .page-hero-inner{max-width:980px}
.tool-page .page-hero h1,.brand-generator-page .page-hero h1{font-size:clamp(2.8rem,5vw,5.4rem);line-height:.96;letter-spacing:-.06em}
.tool-controls{border:1px solid #e4e8ef;border-radius:22px;background:#fff;padding:18px;box-shadow:0 8px 28px rgba(15,23,42,.055)}
.tool-controls .field+ .field{margin-top:13px}
.tool-controls select,.tool-controls input[type="text"],.tool-controls textarea{background:#fbfcfe}
.generator-input-row input{font-weight:820;letter-spacing:-.02em}
.brand-example-card{isolation:isolate}
.brand-example-card:after{content:"Refine →";position:absolute;right:16px;top:14px;font:800 .68rem/1 Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;opacity:0;transform:translateY(-4px);transition:.18s ease}
.brand-example-card:hover:after{opacity:.65;transform:none}
.logo-stage,.brand-board-canvas,.colour-stage{box-shadow:0 18px 54px rgba(15,23,42,.10)}
.logo-stage{background-image:linear-gradient(rgba(15,23,42,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(15,23,42,.025) 1px,transparent 1px);background-size:28px 28px}
.font-colour-rec-grid{align-items:stretch}
.font-colour-rec{height:100%}
.roulette-stage:before{content:"THISFONT / BLIND TEST";position:absolute;left:24px;top:22px;font:800 .68rem/1 Inter,sans-serif;letter-spacing:.16em;color:#64748b}
.roulette-copy{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis}

/* Make every tool safe on narrow screens. */
.tools-home,.tool-page,.brand-generator-page,.roulette-page{max-width:100%;overflow-x:clip}
.tools-home *, .tool-page *, .brand-generator-page *, .roulette-page *{min-width:0}
@supports not (overflow:clip){.tools-home,.tool-page,.brand-generator-page,.roulette-page{overflow-x:hidden}}

@media(max-width:1180px){
  .tools-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tools-home-hero-grid{grid-template-columns:1fr 420px;gap:30px}
}
@media(max-width:900px){
  .tools-home-hero-grid{grid-template-columns:1fr}.tools-hero-demo{min-height:430px;max-width:620px;width:100%;margin:0 auto}
  .tools-flow{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .tools-home-hero{padding-top:36px}.tools-home-hero h1{font-size:clamp(2.85rem,13vw,4.25rem)}
  .tools-product-grid,.tools-flow{grid-template-columns:1fr}.tool-product-card{min-height:270px}
  .tools-hero-demo{min-height:350px}.demo-brand-card{min-height:145px;padding:19px;width:88%}.demo-brand-a{top:5px}.demo-brand-b{top:110px}.demo-brand-c{left:18px;bottom:4px}
  .tools-flow a{min-height:160px}.tools-flow strong{margin-top:20px}
  .tool-page .page-hero h1,.brand-generator-page .page-hero h1{font-size:clamp(2.65rem,12vw,4rem)}
}
.tools-next{padding:24px 0 72px}.tools-next-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tools-next-card{padding:20px;border:1px solid #e5e9f0;border-radius:20px;background:#fff;text-decoration:none;color:#111827;box-shadow:0 7px 24px rgba(15,23,42,.045);transition:.18s ease}.tools-next-card:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(15,23,42,.09)}.tools-next-card span{display:block;font-size:.7rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#667085}.tools-next-card strong{display:block;margin:13px 0 5px;font-size:1.05rem}.tools-next-card p{margin:0;color:#667085;font-size:.88rem}.tools-next-card b{display:block;margin-top:16px;color:#155eef;font-size:.82rem}
@media(max-width:720px){.tools-next-grid{grid-template-columns:1fr}}


/* =========================================================
   ThisFont v3.2 — brand generator controls + inspiration lab
   ========================================================= */

.generator-colour-toolbar{
  margin-top:18px;padding:14px 16px;border:1px solid var(--line);border-radius:18px;
  background:rgba(255,255,255,.72);display:flex;align-items:end;gap:12px;flex-wrap:wrap
}
.generator-colour-toolbar>div{flex:1 1 280px}
.generator-colour-toolbar strong,.generator-colour-toolbar span{display:block}
.generator-colour-toolbar span{color:var(--muted);font-size:.82rem;margin-top:3px}
.generator-colour-toolbar label{display:grid;gap:5px;font-size:.72rem;font-weight:800;color:var(--muted)}
.generator-colour-toolbar input[type=color]{
  width:48px;height:38px;padding:2px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer
}

.brand-example-card{
  height:260px;padding-bottom:14px;
}
.brand-example-card:after{display:none}
.brand-example-editbar{
  position:relative;z-index:2;display:flex;gap:7px;align-items:center;flex-wrap:wrap;
  padding-top:10px;border-top:1px solid color-mix(in srgb,var(--brand-fg),transparent 78%);
  font:700 .67rem/1 Inter,sans-serif
}
.brand-example-editbar label{
  display:flex;align-items:center;gap:5px;padding:4px 6px;border-radius:9px;
  background:color-mix(in srgb,var(--brand-bg),var(--brand-fg) 10%);
  border:1px solid color-mix(in srgb,var(--brand-fg),transparent 80%)
}
.brand-example-editbar label span{opacity:.7}
.brand-example-editbar input[type=color]{
  width:22px;height:22px;padding:0;border:1px solid color-mix(in srgb,var(--brand-fg),transparent 70%);
  border-radius:6px;background:transparent;cursor:pointer
}
.brand-card-mini-btn,.brand-card-open{
  min-height:31px;border-radius:9px;border:1px solid color-mix(in srgb,var(--brand-fg),transparent 76%);
  background:color-mix(in srgb,var(--brand-bg),var(--brand-fg) 8%);color:var(--brand-fg);
  padding:7px 8px;font:800 .68rem/1 Inter,sans-serif;text-decoration:none;cursor:pointer
}
.brand-card-open{margin-left:auto;background:var(--brand-fg);color:var(--brand-bg);border-color:transparent}
.brand-contrast-score{opacity:.72;white-space:nowrap}
.brand-contrast-score[data-level=fail]{font-weight:900;text-decoration:underline}
.brand-example-word{max-width:100%;overflow-wrap:anywhere}

/* Brand Inspiration Lab */
.brand-inspiration-page{max-width:100%;overflow-x:clip}
@supports not (overflow:clip){.brand-inspiration-page{overflow-x:hidden}}
.brand-lab-disclaimer{
  margin-top:22px;padding:15px 17px;border-radius:16px;border:1px solid #f4cf80;
  background:#fff8e7;color:#4d3908;display:grid;gap:4px;max-width:900px
}
.brand-lab-disclaimer strong{font-size:.88rem}
.brand-lab-disclaimer span{font-size:.83rem;line-height:1.5}
.brand-lab-toolbar{
  display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(170px,.75fr) minmax(170px,.75fr) auto;
  gap:12px;align-items:end;margin-bottom:20px;padding:14px;border:1px solid var(--line);
  border-radius:20px;background:#fff;box-shadow:var(--shadow-sm)
}
.brand-lab-toolbar label{display:grid;gap:6px;font-size:.74rem;font-weight:800;color:var(--muted)}
.brand-lab-toolbar input,.brand-lab-toolbar select{
  width:100%;min-width:0;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--text);
  min-height:44px;padding:9px 11px
}
.brand-lab-count{
  min-width:120px;padding:8px 12px;border-left:1px solid var(--line);text-align:right
}
.brand-lab-count strong,.brand-lab-count span{display:block}.brand-lab-count strong{font-size:1.35rem}.brand-lab-count span{font-size:.7rem;color:var(--muted)}
.brand-inspiration-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.brand-inspiration-card{
  min-width:0;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#fff;box-shadow:var(--shadow-sm)
}
.brand-reference-preview{
  min-height:190px;padding:18px;display:flex;flex-direction:column;justify-content:space-between;
  background:var(--ref-bg);color:var(--ref-fg);position:relative;isolation:isolate
}
.brand-reference-preview:after{
  content:"";position:absolute;right:-48px;bottom:-54px;width:150px;height:150px;border-radius:50%;
  background:var(--ref-accent);opacity:.18;z-index:-1
}
.brand-reference-preview strong{
  display:block;font-size:clamp(2rem,3vw,4rem);line-height:.88;letter-spacing:-.045em;overflow-wrap:anywhere
}
.brand-reference-preview small{font:700 .7rem/1 Inter,sans-serif;opacity:.7}
.brand-reference-status{
  align-self:flex-start;padding:6px 8px;border-radius:999px;border:1px solid currentColor;
  font:800 .62rem/1 Inter,sans-serif;letter-spacing:.06em;text-transform:uppercase;opacity:.72
}
.brand-reference-body{padding:16px}
.brand-reference-body h2{font-size:1.05rem;margin:0}.brand-reference-body p{margin:3px 0 10px;color:var(--muted);font-size:.78rem}
.brand-reference-swatches{display:flex;gap:5px;margin:11px 0}
.brand-reference-swatches span{width:24px;height:24px;border-radius:8px;background:var(--swatch);border:1px solid rgba(15,23,42,.12);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.brand-reference-facts{display:grid;gap:8px;margin:12px 0}
.brand-reference-facts div{display:grid;grid-template-columns:1fr 1.2fr;gap:8px;padding-top:7px;border-top:1px solid var(--line)}
.brand-reference-facts dt{font-size:.67rem;color:var(--muted);font-weight:800}.brand-reference-facts dd{margin:0;font-size:.71rem;font-weight:750;text-align:right}
.brand-reference-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}
.brand-reference-actions .btn{flex:1 1 auto}
.brand-lab-empty{padding:42px;text-align:center;border:1px dashed var(--line);border-radius:20px;color:var(--muted)}
.brand-inspiration-teaser-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.brand-inspiration-teaser{
  min-height:130px;padding:16px;border-radius:18px;background:var(--teaser-bg);color:var(--teaser-fg);
  text-decoration:none;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative
}
.brand-inspiration-teaser:after{content:"";position:absolute;right:-25px;top:-25px;width:80px;height:80px;border-radius:50%;background:var(--teaser-accent);opacity:.2}
.brand-inspiration-teaser strong{font-size:1.7rem;line-height:.95;overflow-wrap:anywhere}.brand-inspiration-teaser span{font:700 .69rem Inter,sans-serif;opacity:.7}

/* Editor dialog */
.brand-editor-dialog{
  width:min(1080px,calc(100vw - 28px));max-height:calc(100dvh - 28px);padding:0;border:0;border-radius:26px;
  box-shadow:0 40px 120px rgba(15,23,42,.32);overflow:auto
}
.brand-editor-dialog::backdrop{background:rgba(7,15,29,.68);backdrop-filter:blur(5px)}
.brand-editor-shell{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);position:relative;background:#fff}
.brand-editor-close{
  position:absolute;right:14px;top:14px;z-index:4;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);
  background:#fff;font-size:1.4rem;cursor:pointer
}
.brand-editor-copy{padding:30px}
.brand-editor-copy h2{font-size:clamp(2rem,4vw,3.4rem);line-height:.95;margin:10px 0 12px}
.brand-editor-copy>p{color:var(--muted);font-size:.92rem}
.brand-editor-fields{display:grid;gap:12px;margin-top:22px}
.brand-editor-fields label{display:grid;gap:6px;font-size:.72rem;font-weight:800;color:var(--muted)}
.brand-editor-fields input[type=text]{border:1px solid var(--line);border-radius:12px;padding:11px 12px;font-size:1rem}
.brand-editor-colours{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.brand-editor-colours label{padding:9px;border:1px solid var(--line);border-radius:12px;background:#fafbfc}
.brand-editor-colours input[type=color]{width:100%;height:38px;border:0;background:transparent;padding:0;cursor:pointer}
.brand-editor-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:13px 0 18px}
.brand-editor-contrast{font-size:.75rem;font-weight:800}.brand-editor-contrast[data-level=fail]{color:#b42318}.brand-editor-contrast[data-level=aa],.brand-editor-contrast[data-level=aaa]{color:#067647}
.brand-editor-fact{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-top:1px solid var(--line);font-size:.76rem}
.brand-editor-fact span{text-align:right;color:var(--muted)}
.brand-editor-legal{margin-top:16px;padding:12px;border-radius:12px;background:#f8fafc;color:#667085;font-size:.72rem;line-height:1.45}
.brand-editor-preview{
  min-height:560px;padding:36px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;
  background:#111827;color:#fff;position:relative;overflow:hidden
}
.brand-editor-preview:after{
  content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-80px;bottom:-90px;background:var(--editor-accent,#2563eb);opacity:.24
}
.brand-editor-preview small{font:800 .66rem Inter,sans-serif;letter-spacing:.15em;opacity:.65}
.brand-editor-preview strong{font-size:clamp(3rem,7vw,7rem);line-height:.86;letter-spacing:-.055em;max-width:100%;overflow-wrap:anywhere;margin:28px 0 22px;z-index:1}
.brand-editor-preview span{font:700 .72rem Inter,sans-serif;opacity:.72;z-index:1}
.brand-editor-footer{grid-column:1/-1;padding:14px 18px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px;background:#fff;position:sticky;bottom:0}

@media(max-width:1180px){
  .brand-inspiration-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  .brand-lab-toolbar{grid-template-columns:1fr 1fr}.brand-lab-count{border-left:0;text-align:left}
  .brand-inspiration-grid,.brand-inspiration-teaser-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .brand-editor-shell{grid-template-columns:1fr}.brand-editor-preview{min-height:360px}.brand-editor-footer{position:static}
}
@media(max-width:620px){
  .generator-colour-toolbar{align-items:stretch}.generator-colour-toolbar>div{flex-basis:100%}
  .generator-colour-toolbar label{grid-template-columns:1fr auto;align-items:center}
  .brand-example-card{height:285px}.brand-example-editbar{gap:5px}.brand-card-open{margin-left:0}
  .brand-lab-toolbar{grid-template-columns:1fr}.brand-lab-count{padding-left:0}
  .brand-inspiration-grid,.brand-inspiration-teaser-grid{grid-template-columns:1fr}
  .brand-reference-preview{min-height:175px}.brand-reference-preview strong{font-size:clamp(2.4rem,15vw,4.4rem)}
  .brand-editor-dialog{width:calc(100vw - 14px);max-height:calc(100dvh - 14px);border-radius:18px}
  .brand-editor-copy{padding:22px 16px}.brand-editor-colours{grid-template-columns:1fr 1fr 1fr}.brand-editor-preview{padding:22px 14px}
  .brand-editor-footer{flex-direction:column}.brand-editor-footer .btn{width:100%}
}

.brand-reference-source{width:100%;font-size:.68rem;color:var(--muted);text-decoration:none;padding-top:3px}.brand-reference-source:hover{color:var(--text);text-decoration:underline}

/* =========================================================
   ThisFont v3.3 — clearer generator colours + brand cards
   ========================================================= */
.brand-example-card{
  min-height:292px;
  height:auto;
  background:var(--brand-bg,#111827);
  color:var(--brand-fg,#fff);
}
.brand-example-editbar{
  gap:8px;
  align-items:stretch;
}
.brand-card-colour{
  min-width:116px;
  flex:1 1 116px;
  display:grid!important;
  grid-template-columns:auto 34px;
  grid-template-areas:"label swatch" "code swatch";
  align-items:center;
  gap:2px 8px!important;
  padding:7px 8px!important;
  background:#fff!important;
  color:#111827!important;
  border:1px solid rgba(15,23,42,.14)!important;
  box-shadow:0 1px 2px rgba(15,23,42,.05);
}
.brand-card-colour>span{
  grid-area:label;
  opacity:1!important;
  color:#475467;
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.brand-card-colour>code{
  grid-area:code;
  padding:0;
  background:transparent;
  color:#111827;
  font:800 .62rem/1.1 Inter,sans-serif;
}
.brand-card-colour input[type=color]{
  grid-area:swatch;
  width:34px!important;
  height:34px!important;
  border:1px solid rgba(15,23,42,.15)!important;
  border-radius:9px!important;
  background:#fff!important;
}
.brand-card-colour-bg{border-left:4px solid #344054!important}
.brand-card-colour-fg{border-left:4px solid #d0d5dd!important}
.brand-card-mini-btn{
  background:rgba(255,255,255,.96);
  color:#111827;
  border-color:rgba(15,23,42,.12);
}
.brand-contrast-score{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:52px;
  padding:0 7px;
  border-radius:9px;
  background:rgba(255,255,255,.96);
  color:#111827;
  font-weight:900;
}
.brand-card-open{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  color:#111827;
  border:1px solid rgba(15,23,42,.12);
}

/* Brand Inspiration cards: heading first, then full-width brand treatment. */
.brand-inspiration-card{
  display:flex;
  flex-direction:column;
  min-height:470px;
}
.brand-reference-head{
  min-height:82px;
  padding:16px 17px 14px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  background:#fff;
  border-bottom:1px solid var(--line);
}
.brand-reference-head h2{margin:0;font-size:1.08rem;line-height:1.15}
.brand-reference-head p{margin:4px 0 0;color:var(--muted);font-size:.76rem}
.brand-reference-head .brand-reference-status{flex:0 0 auto;align-self:flex-start;color:#475467;border-color:#d0d5dd;background:#f8fafc}
.brand-reference-preview{
  width:100%;
  min-height:150px;
  padding:22px 18px 18px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:12px;
  background:var(--ref-bg);
  color:var(--ref-fg);
  position:relative;
  isolation:auto;
}
.brand-reference-preview:after{display:none!important;content:none!important}
.brand-reference-preview strong{
  width:100%;
  font-size:clamp(2.25rem,3.25vw,4.35rem);
  line-height:.9;
  letter-spacing:-.045em;
  overflow-wrap:anywhere;
}
.brand-reference-preview small{opacity:.8}
.brand-reference-body{flex:1;padding:15px 17px 17px}
.brand-reference-note{margin:0 0 12px!important;color:#475467!important;font-size:.78rem!important;line-height:1.5}
.brand-inspiration-teaser:after{display:none!important;content:none!important}

@media(max-width:620px){
  .brand-example-card{min-height:330px}
  .brand-card-colour{min-width:calc(50% - 4px);flex-basis:calc(50% - 4px)}
  .brand-card-mini-btn,.brand-contrast-score,.brand-card-open{flex:1 1 auto}
  .brand-reference-head{min-height:76px;padding:14px}
  .brand-reference-preview{min-height:142px;padding:20px 14px}
  .brand-reference-preview strong{font-size:clamp(2.25rem,14vw,4rem)}
}

/* =========================================================
   ThisFont v3.4 — managed brand previews & one-line brand names
   ========================================================= */
/* Brand Generator owns its palette. Generic .font-preview rules must never repaint it. */
.brand-example-card[data-preview-managed="brand-generator"]{
  background-image:none!important;
  background-color:var(--brand-bg,#111827)!important;
  color:var(--brand-fg,#fff)!important;
  align-items:stretch;
  justify-content:space-between;
}
.brand-example-card[data-preview-managed="brand-generator"]:before,
.brand-example-card[data-preview-managed="brand-generator"]:after{display:none!important;content:none!important}
.brand-example-card .brand-example-word{
  position:relative;z-index:1;
  display:block;
  width:100%;
  max-width:100%;
  color:inherit!important;
  opacity:1!important;
  visibility:visible!important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:clip;
  overflow-wrap:normal;
  word-break:normal;
  line-height:.94;
  text-align:left;
}
.brand-example-card .brand-example-meta{position:relative;z-index:2}
.brand-example-card .brand-example-editbar{margin-top:auto}

/* Brand Inspiration: the card and modal deliberately share the same live preview language. */
.brand-reference-preview.brand-live-preview,
.brand-editor-preview.brand-live-preview{
  background-image:none!important;
}
.brand-reference-preview.brand-live-preview:before,
.brand-reference-preview.brand-live-preview:after,
.brand-editor-preview.brand-live-preview:before,
.brand-editor-preview.brand-live-preview:after{display:none!important;content:none!important}
.brand-live-word{
  display:block;
  width:100%;
  max-width:100%;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  line-height:.9!important;
  letter-spacing:-.045em;
}
.brand-reference-preview .brand-live-word{text-align:left}
.brand-reference-preview .brand-live-caption{font:700 .7rem/1 Inter,sans-serif;opacity:.8}
.brand-editor-preview.brand-live-preview{
  align-items:center;
  justify-content:center;
  text-align:center;
}
.brand-editor-preview .brand-live-word{
  margin:26px 0 18px;
  text-align:center;
  z-index:1;
}
.brand-editor-preview .brand-live-caption{font:700 .72rem/1 Inter,sans-serif;opacity:.78;z-index:1}
.brand-editor-version-label{font:800 .66rem Inter,sans-serif;letter-spacing:.15em;opacity:.65}

@media(max-width:620px){
  .brand-example-card .brand-example-word{line-height:.96}
  .brand-live-word{letter-spacing:-.035em}
}


/* =========================================================
   ThisFont v3.5 — brand accent stages + contrast label
   ========================================================= */
.brand-contrast-label{
  display:inline-flex;
  align-items:center;
  min-height:31px;
  padding:7px 8px;
  border-radius:9px;
  background:rgba(255,255,255,.96);
  color:#475467;
  border:1px solid rgba(15,23,42,.12);
  font:800 .66rem/1 Inter,sans-serif;
  white-space:nowrap;
}
.brand-reference-preview.brand-live-preview{
  /* JS sets the exact brand primary/accent colour; this avoids any generic preview repaint. */
  background-color:var(--ref-bg)!important;
}
@media(max-width:620px){
  .brand-contrast-label,.brand-contrast-score,.brand-card-open{flex:1 1 auto}
}

/* ========================================================================
   ThisFont v3.7 — mobile header, predictive search and brand profiles
   ======================================================================== */
.predictive-search{position:relative;overflow:visible}
.predictive-panel{
  position:absolute;left:0;right:0;top:calc(100% + 9px);z-index:220;
  display:none;max-height:min(430px,62vh);overflow:auto;padding:8px;
  background:rgba(255,255,255,.985);border:1px solid #dfe4ee;border-radius:18px;
  box-shadow:0 26px 70px rgba(15,23,42,.18);backdrop-filter:blur(16px)
}
.predictive-panel.show{display:grid;gap:4px}
.predictive-item{
  display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:11px;align-items:center;
  min-width:0;padding:9px 10px;border-radius:12px;text-decoration:none;color:var(--ink);background:#fff
}
.predictive-item:hover,.predictive-item.is-active{background:#f2f5ff}
.predictive-icon{
  width:36px;height:36px;border-radius:10px;display:grid;place-items:center;flex:none;
  background:linear-gradient(135deg,#eef4ff,#f6efff);border:1px solid #e2e8f5;
  font-size:.84rem;font-weight:900;color:#3346b5
}
.predictive-copy{min-width:0;display:grid;gap:2px}
.predictive-copy strong{font-size:.9rem;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.predictive-copy small{font-size:.72rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.predictive-type{font-size:.67rem;font-weight:800;color:#667085;background:#f7f8fb;border:1px solid #e8ebf1;border-radius:999px;padding:4px 7px;white-space:nowrap}
.mobile-header-actions,.mobile-search-row,.mobile-menu-panel{display:none}
.mobile-head-btn{width:40px;height:40px;padding:0;border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;justify-content:center;color:#182033}
.mobile-head-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9}
.mobile-head-btn.is-active{background:#f0f3ff;border-color:#cdd7ff;color:#3538cd}
.mobile-menu-btn{display:grid;place-content:center;gap:4px}
.mobile-menu-btn span{display:block;width:18px;height:2px;background:currentColor;border-radius:99px}
.mobile-search-row{background:#fff;border-top:1px solid rgba(15,23,42,.06);padding:9px 0 12px}
.mobile-predictive-search{height:46px;border:1px solid var(--line);background:#f9fbfe;border-radius:999px;display:flex;align-items:center;padding:4px 5px 4px 14px}
.mobile-predictive-search>svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;flex:none}
.mobile-predictive-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;padding:0 10px;color:var(--ink)}
.mobile-predictive-search>button{border:0;background:linear-gradient(135deg,var(--blue),var(--violet));color:#fff;border-radius:999px;height:36px;padding:0 13px;font-weight:800}
.mobile-menu-panel{background:#fff;border-top:1px solid rgba(15,23,42,.07);box-shadow:0 18px 40px rgba(15,23,42,.08)}
.mobile-menu-inner{padding-top:12px;padding-bottom:16px}
.mobile-menu-primary{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mobile-menu-primary a{display:grid;gap:3px;padding:12px;border:1px solid var(--line);border-radius:14px;text-decoration:none;background:#fafbfe}
.mobile-menu-primary strong{font-size:.86rem}.mobile-menu-primary span{font-size:.68rem;line-height:1.3;color:var(--muted)}
.mobile-menu-secondary{display:flex;gap:6px;overflow-x:auto;padding-top:10px;scrollbar-width:none}
.mobile-menu-secondary::-webkit-scrollbar{display:none}
.mobile-menu-secondary a{flex:none;text-decoration:none;font-size:.74rem;font-weight:800;padding:8px 10px;border-radius:999px;background:#f3f5f9;border:1px solid #e5e9f0}
body.mobile-menu-open{overflow:hidden}

/* Dedicated brand pages */
.brand-profile-hero{padding:48px 0 34px;background:linear-gradient(135deg,#f8faff,#fff);border-bottom:1px solid var(--line)}
.brand-profile-hero-grid{display:grid;grid-template-columns:minmax(0,.86fr) minmax(420px,1.14fr);gap:34px;align-items:center;margin-top:18px}
.brand-profile-copy h1{font-size:clamp(3rem,6vw,6.2rem);line-height:.92;letter-spacing:-.065em;margin:12px 0 16px}
.brand-profile-copy>p{font-size:1.03rem;line-height:1.65;color:#526079;max-width:62ch}
.brand-profile-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.brand-profile-legal{font-size:.72rem!important;color:#7b8496!important;max-width:70ch!important;margin-top:18px!important}
.brand-profile-reference{min-height:330px;border-radius:28px;padding:30px;display:flex;flex-direction:column;justify-content:center;overflow:hidden;background:var(--brand-bg);color:var(--brand-fg);box-shadow:0 24px 60px rgba(15,23,42,.16)}
.brand-profile-reference small{font:900 .68rem Inter,sans-serif;letter-spacing:.15em;opacity:.72;margin-bottom:24px}
.brand-profile-reference strong{font-size:clamp(3.2rem,7vw,7.4rem);line-height:.88;white-space:nowrap;overflow:hidden;text-overflow:clip}
.brand-profile-reference span{font:700 .75rem Inter,sans-serif;opacity:.78;margin-top:18px}
.brand-profile-info-grid{display:grid;grid-template-columns:1.05fr 1fr 1fr;gap:16px}
.brand-profile-info-grid .content-card{padding:22px}
.brand-profile-info-grid h2{margin:11px 0 9px;font-size:1.45rem}
.brand-profile-info-grid p{color:var(--muted);line-height:1.55}
.brand-profile-swatches{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}
.brand-profile-swatches>div{display:grid;gap:5px}.brand-profile-swatches span{display:block;width:48px;height:48px;border-radius:12px;background:var(--c);border:1px solid rgba(15,23,42,.1)}
.brand-profile-swatches code{font-size:.65rem;color:#667085}
.brand-type-compare{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:16px}.brand-type-compare>div{padding:12px;border-radius:14px;background:#f8f9fc;border:1px solid var(--line);display:grid;gap:4px}.brand-type-compare small{font-size:.66rem;color:var(--muted);font-weight:800}.brand-type-compare strong,.brand-type-compare a{font-size:.82rem;font-weight:850}
.related-brand-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.related-brand-card{min-height:125px;padding:18px;border-radius:19px;background:var(--rb-bg);color:#fff;text-decoration:none;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}.related-brand-card strong{font-size:1.35rem}.related-brand-card span{font-size:.72rem;opacity:.78;margin-top:4px}
.brand-reference-title-link{color:inherit;text-decoration:none}.brand-reference-title-link:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}

@media(max-width:840px){
  .desktop-nav,.header-actions,.header-main>.header-search{display:none!important}
  .site-header{position:sticky;top:0}
  .header-main{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;min-height:60px!important;padding:8px 0!important;gap:8px!important}
  .mobile-header-actions{display:flex;gap:6px;align-items:center;justify-content:flex-end}
  .mobile-search-row:not([hidden]),.mobile-menu-panel:not([hidden]){display:block}
  .wordmark-v2{font-size:1.48rem!important;width:auto;max-width:max-content}
  .brand-morph-stage{width:5.05ch;min-width:5.05ch;max-width:5.05ch}
  .brand-profile-hero{padding:30px 0 24px}.brand-profile-hero-grid{grid-template-columns:1fr;gap:22px}.brand-profile-reference{min-height:240px}.brand-profile-info-grid{grid-template-columns:1fr}.related-brand-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .header-main{min-height:54px!important}
  .wordmark-v2{font-size:1.24rem!important;letter-spacing:-.06em}
  .wordmark-v2 .wordmark-this{letter-spacing:-.07em}
  .brand-morph-stage{width:4.95ch;min-width:4.95ch;max-width:4.95ch;height:1em;min-height:1em}
  .brand-morph-logo{top:6px!important}
  .mobile-head-btn{width:36px;height:36px;border-radius:11px}.mobile-head-btn svg{width:17px;height:17px}.mobile-menu-btn span{width:16px}
  .mobile-menu-primary{grid-template-columns:1fr 1fr}.mobile-menu-primary a{padding:10px}.mobile-menu-primary span{display:none}
  .predictive-panel{position:fixed;left:12px;right:12px;top:auto;max-height:52vh;border-radius:16px}
  .mobile-search-row .predictive-panel{position:absolute;left:0;right:0;top:calc(100% + 7px)}
  .predictive-item{grid-template-columns:34px minmax(0,1fr);padding:8px}.predictive-icon{width:32px;height:32px}.predictive-type{display:none}
  .brand-profile-copy h1{font-size:3rem}.brand-profile-reference{min-height:205px;padding:22px}.brand-profile-reference strong{font-size:clamp(2.2rem,14vw,4.5rem)}.brand-profile-reference span{font-size:.68rem}.brand-profile-info-grid .content-card{padding:17px}.related-brand-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:380px){.mobile-menu-primary{grid-template-columns:1fr}.related-brand-grid{grid-template-columns:1fr}}
.brand-directory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.brand-directory-card{min-height:168px;border-radius:20px;padding:16px;background:var(--bd-bg);color:#fff;text-decoration:none;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),0 8px 22px rgba(15,23,42,.08);transition:.18s ease}
.brand-directory-card:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 16px 34px rgba(15,23,42,.14)}
.brand-directory-card>span{font:800 .66rem Inter,sans-serif;letter-spacing:.06em;text-transform:uppercase;opacity:.76}
.brand-directory-card>strong{font-size:clamp(1.65rem,2.7vw,3.2rem);line-height:.92;margin:14px 0 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand-directory-card>small{font:700 .68rem Inter,sans-serif;opacity:.8}
@media(max-width:1050px){.brand-directory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.brand-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-directory-card{min-height:145px}}
@media(max-width:430px){.brand-directory-grid{grid-template-columns:1fr 1fr;gap:8px}.brand-directory-card{padding:12px;min-height:128px}.brand-directory-card>strong{font-size:1.55rem}.brand-directory-card>small{font-size:.62rem}}
