/* Typography roles and reference-led editorial specimen. No synthetic weights. */
:root{--font-text-latin:"aktiv-grotesk-georgian",AktivGE,Arial,sans-serif;--font-title-latin:"aktiv-grotesk-extended",Aktiv,sans-serif;--font-text-ge:"aktiv-grotesk-georgian",AktivGE,Arial,sans-serif;--mint-on-emerald:#C7E0E1}
.story-edition .st-kicker,.story-edition .st-edition,.story-edition .st-intro-tag,.story-edition .st-logo-panel figcaption,.story-edition .st-colour>span,.story-edition .st-colour>b,.story-edition .st-ratio,.story-edition .st-pattern-label,.story-edition .st-pattern-copy>small,.story-edition .st-manifesto p,.story-edition .st-footer>span:not(.logo){font-family:var(--font-text-latin)}
.story-edition .st-cover h1,.story-edition .st-manifesto h2,.story-edition .st-colour h3,.story-edition .st-pattern-copy>strong,.story-edition .sm-post-type,.story-edition .sm-carousel-slogan{font-family:var(--font-title-latin)}
.ts-specimen{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;min-height:min(500px,calc(100svh - 190px));max-height:540px;background:#111615;color:#fff;border-radius:20px;overflow:hidden;isolation:isolate;font-family:var(--font-text-latin);font-synthesis:none}
.ts-label{display:block;font:400 10px/1.4 var(--font-text-latin);letter-spacing:.04em}
.ts-info{display:flex;flex-direction:column;justify-content:space-between;padding:26px 28px 24px;min-width:0}
.ts-info>.ts-label{color:#c2cecb}
.ts-specimen .ts-family{font:400 clamp(42px,4.5vw,70px)/.97 var(--font-text-latin);letter-spacing:-.045em;margin:24px 0 28px}
.ts-type-details{border-top:1px solid #ffffff55;padding-top:20px;display:grid;grid-template-columns:.85fr 1.2fr;gap:20px}
.ts-type-details .ts-label{font-size:9px;color:#adbfba;margin-bottom:14px}
.ts-styles{list-style:none;margin:0;padding:0;font-size:17px;line-height:1.4;letter-spacing:-.025em}
.ts-styles em{font-style:italic;font-synthesis:style;font-synthesis-style:auto}
.ts-styles strong{font-weight:700}
.ts-alphabet{font-size:11.5px;line-height:1.4;letter-spacing:-.02em}
.ts-alphabet>span{display:inline-block;margin-top:8px;color:#adbfba}
.ts-letter-column{position:relative;display:flex;flex-direction:column;justify-content:space-between;align-items:center;border-left:1px solid #ffffff55;min-width:0;overflow:hidden;padding:24px 0 20px;container-type:inline-size}
.ts-letter-column>.ts-label{font-size:9px;color:#c2cecb}
.ts-letter{font:400 145cqw/.75 var(--font-text-latin);align-self:center;position:absolute;bottom:48px;left:50%;transform:translateX(-50%);transition:color .35s ease}
.ts-italic .ts-letter{font-style:italic;font-synthesis:style;font-synthesis-style:auto;transform:translateX(-50%)}
.ts-bold .ts-letter{font-weight:700;transform:translate(-50%,-.035em)}
.ts-weight{font-size:9px;line-height:1;color:#adbfba;letter-spacing:.07em}
.ts-letter-column:hover .ts-letter{color:var(--mint)}
.ts-hierarchy{margin-top:20px;background:var(--paper,#f4f7f6);border:1px solid var(--line,#16232a1f);border-radius:24px;padding:38px 40px 34px;overflow:hidden;isolation:isolate;font-family:var(--font-text-latin);font-synthesis:none;scroll-margin-top:86px;scroll-snap-align:start;scroll-snap-stop:normal}
.ts-pairings-header{display:flex;justify-content:space-between;align-items:flex-start;gap:36px;padding-bottom:28px;margin-bottom:30px;border-bottom:1px solid var(--line,#16232a18)}
.ts-pairings-title-group{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.ts-pill-tag{display:inline-flex;align-items:center;background:#16232a;color:#fff;font-family:var(--font-text-latin);font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 14px;border-radius:999px}
.ts-pairings-title{font-family:var(--font-title-latin,Aktiv,"aktiv-grotesk-extended",sans-serif);font-size:clamp(22px,2.25vw,31px);font-weight:700;letter-spacing:-.035em;line-height:1.28;color:var(--midnight,#16232a);margin:0}
.ts-pairings-title b{font-weight:700;color:var(--midnight,#16232a)}
.ts-pairings-title span{font-family:var(--font-text-latin,"aktiv-grotesk-georgian",AktivGE,sans-serif);font-weight:400;font-size:clamp(22px,2.25vw,31px);line-height:1.28;letter-spacing:-.015em;color:var(--muted);display:inline}
.ts-pairings-desc{font-family:var(--font-text-latin);font-size:13.5px;line-height:1.55;color:var(--muted,#51646b);max-width:400px;margin:0}
.ts-pairings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.ts-pair-card{border-radius:20px;overflow:hidden;border:1px solid #e1e9ea;background:#fff;box-shadow:0 4px 18px rgba(22,35,42,.04);display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease}
.ts-pair-card:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(22,35,42,.09)}
.ts-pair-stage{padding:36px 30px 32px;min-height:245px;display:flex;flex-direction:column;justify-content:flex-start;border-radius:20px 20px 0 0}
.ts-stage-mist{background:var(--mist,#e4eef0);color:var(--midnight,#16232a)}
.ts-stage-midnight{background:var(--midnight,#16232a);color:#ffffff}
.ts-stage-emerald{background:var(--emerald,#0a6670);color:#ffffff}
.ts-pair-eyebrow{font:700 11px/1 var(--font-text-latin);letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px}
.ts-stage-mist .ts-pair-eyebrow{color:var(--emerald,#0a6670)}
.ts-stage-midnight .ts-pair-eyebrow{color:var(--mint,#b4d3d5)}
.ts-stage-emerald .ts-pair-eyebrow{color:var(--mint-on-emerald,#c7e0e1)}
.ts-extended .ts-label,.ts-extended-role small,.ts-extended-foot,.ts-headline span{color:var(--mint-on-emerald,#c7e0e1)}
.ts-extended-role small,.ts-extended-foot{font-size:9px}
.ts-pair-headline{font-family:var(--font-title-latin);font-weight:700;font-size:27px;line-height:1.16;letter-spacing:-.035em;margin:0 0 16px 0}
.ts-stage-mist .ts-pair-headline{color:var(--midnight,#16232a)}
.ts-stage-midnight .ts-pair-headline{color:#ffffff}
.ts-stage-emerald .ts-pair-headline{color:#ffffff}
.ts-pair-body{font-family:var(--font-text-latin);font-weight:400;font-size:13.5px;line-height:1.55;margin:0}
.ts-stage-mist .ts-pair-body{color:#3a4e55}
.ts-stage-midnight .ts-pair-body{color:#e4eef0}
.ts-stage-emerald .ts-pair-body{color:#e4eef0}
.ts-pair-meta{background:#ffffff;padding:24px 28px 24px;border-top:1px solid #edf2f4;display:flex;flex-direction:column;justify-content:space-between;flex:1}
.ts-pair-spec-list{display:flex;flex-direction:column;gap:10px}
.ts-pair-spec-row{display:flex;justify-content:space-between;align-items:baseline}
.ts-spec-role{font:700 10px/1.2 var(--font-text-latin);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.ts-spec-font{font:600 12px/1.2 var(--font-text-latin);color:#16232a}
.ts-pair-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.ts-pair-pill{border:1px solid #d8e4e6;border-radius:999px;padding:5px 13px;font:700 9.5px/1 var(--font-text-latin);letter-spacing:.06em;text-transform:uppercase;color:#51646b;background:#ffffff;transition:border-color .15s ease,color .15s ease}
.ts-pair-pill:hover{border-color:#16232a;color:#16232a}
.ts-scale-ladder{margin-top:34px;border-top:1px solid var(--line,#16232a18);padding-top:22px;display:flex;flex-direction:column;gap:4px}
.ts-ladder-header,.ts-ladder-row{display:grid;grid-template-columns:120px 1.6fr 1.3fr 1.8fr;align-items:center;gap:14px;padding:9px 12px;font-size:11.5px;border-radius:6px}
.ts-ladder-header{font:600 9px/1.3 var(--font-text-latin);letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#51646b);border-bottom:1px solid var(--line,#16232a12);padding-bottom:10px}
.ts-ladder-row{color:var(--midnight,#16232a);transition:background .15s ease}
.ts-ladder-row:hover{background:rgba(10,102,112,.04)}
.ts-ladder-level{font:500 11px/1.3 var(--font-text-latin);color:var(--emerald,#0a6670);display:flex;gap:6px;align-items:baseline}
.ts-ladder-level b{font-weight:700;font-size:11.5px;color:var(--midnight,#16232a)}
.ts-ladder-font{font-weight:500;font-size:11.5px;color:#1e3138}
.ts-ladder-metrics{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;color:#5a7077}
.ts-ladder-usage{font-size:11px;color:#51646b;line-height:1.4}
.ts-font-note{font:400 12px/1.6 var(--font-text-ge);margin-top:20px;color:var(--muted)}
@media(min-width:1800px){.ts-specimen .ts-family{font-size:92px}}
@media(max-width:1100px){.ts-specimen{min-height:510px;grid-template-columns:1.7fr 1fr 1fr 1fr}.ts-info{padding:28px 25px}.ts-specimen .ts-family{font-size:54px;margin:40px 0}.ts-type-details{gap:15px;grid-template-columns:1fr}.ts-type-details>div:last-child{display:none}.ts-styles{font-size:16px}.ts-letter-column{padding-top:28px}.ts-letter{bottom:60px}.ts-hierarchy{padding:28px 24px 24px}.ts-pairings-header{flex-direction:column;align-items:flex-start;gap:12px}.ts-pairings-grid{grid-template-columns:1fr;gap:18px}.ts-ladder-header,.ts-ladder-row{grid-template-columns:100px 1.4fr 1.2fr 1.6fr;gap:10px;font-size:11px}}
@media(max-width:700px){.ts-specimen{grid-template-columns:repeat(3,minmax(0,1fr));border-radius:14px;min-height:0}.ts-info{grid-column:1/-1;padding:28px 25px}.ts-specimen .ts-family{font-size:clamp(60px,17vw,98px);margin:38px 0;line-height:.95}.ts-type-details{grid-template-columns:.85fr 1.2fr;gap:22px;padding-top:20px}.ts-type-details>div:last-child{display:block}.ts-type-details .ts-label{margin-bottom:14px}.ts-styles{font-size:17px}.ts-alphabet{font-size:11px}.ts-letter-column{border-top:1px solid #ffffff55;min-height:260px;padding:24px 0 20px}.ts-letter-column:nth-child(2){border-left:0}.ts-letter{bottom:49px;font-size:182cqw}.ts-letter-column>.ts-label{font-size:9px}.ts-weight{font-size:9px}.ts-hierarchy{border-radius:16px;margin-top:14px;padding:20px 16px}.ts-pairings-header{padding-bottom:18px;margin-bottom:20px}.ts-pairings-title{font-size:24px}.ts-pair-stage{padding:24px 20px;min-height:auto}.ts-pair-headline{font-size:22px}.ts-pair-meta{padding:18px 20px}.ts-scale-ladder{margin-top:20px;padding-top:16px}.ts-ladder-header{display:none}.ts-ladder-row{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:8px 6px;border-bottom:1px solid var(--line,#16232a12)}.ts-ladder-row:last-child{border-bottom:0}}
@media(prefers-reduced-motion:reduce){.ts-letter{transition:none}.ts-pair-card{transition:none}}
@media print{.ts-specimen,.ts-hierarchy{break-inside:avoid}.ts-specimen{min-height:100mm}.ts-specimen .ts-family{font-size:48pt}.ts-letter{font-size:110pt}}

/* Approved GV type system: one family, two widths. */
.ts-approved-fonts{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);align-items:stretch;margin:20px 0;border-radius:20px;overflow:hidden;background:var(--midnight,#16232a);color:#fff;font-family:var(--font-text-latin,"aktiv-grotesk-georgian",AktivGE,sans-serif)}
.ts-approved-kicker{display:flex;align-items:center;padding:22px 26px;background:var(--emerald,#0a6670);font:700 10px/1.35 "aktiv-grotesk-extended",Aktiv,sans-serif;letter-spacing:.13em}
.ts-approved-fonts>div{display:flex;flex-direction:column;justify-content:center;gap:7px;min-height:96px;padding:19px 27px;border-left:1px solid rgba(255,255,255,.14)}
.ts-approved-fonts small{color:#8fc9cd;font:600 9px/1 "aktiv-grotesk-georgian",AktivGE,sans-serif;letter-spacing:.13em}
.ts-approved-fonts strong{font:700 clamp(14px,1.45vw,21px)/1.15 "aktiv-grotesk-extended",Aktiv,sans-serif;letter-spacing:-.02em}
.ts-approved-fonts>div:last-child strong{font-family:"aktiv-grotesk-georgian",AktivGE,sans-serif;letter-spacing:0}
@media(max-width:760px){#typography{padding-top:72px;scroll-margin-top:72px}.ts-approved-fonts{grid-template-columns:1fr}.ts-approved-kicker{min-height:58px}.ts-approved-fonts>div{border-left:0;border-top:1px solid rgba(255,255,255,.14);min-height:82px;padding:17px 21px}.ts-approved-fonts strong{font-size:17px}}
