@font-face{font-family:"Rays Serif";src:url("assets/fonts/RaysSerif-VF.woff2?v=78b46fbfd060") format("woff2");font-style:normal;font-weight:300 700;font-display:swap}
@font-face{font-family:"Rays Serif";src:url("assets/fonts/RaysSerif-Italic-VF.woff2?v=269919f65463") format("woff2");font-style:italic;font-weight:300 700;font-display:swap}
@font-face{font-family:"Rays Display";src:url("assets/fonts/RaysDisplay-Italic-VF.woff2?v=bfc29a057c45") format("woff2");font-style:italic;font-weight:300 700;font-display:swap}
@font-face{font-family:"Rays Display";src:url("assets/fonts/RaysDisplay-VF.woff2?v=43f7c0dcbae6") format("woff2");font-style:normal;font-weight:300 700;font-display:swap}
:root{--orange:#ff5c35;--ink:#202124;--paper:#fff;--line:rgba(32,33,36,.32);--surface:#fff;--text:#202124;--muted:#66696b;--track:#dbdcde;--hover:#a92d10;--gutter:clamp(22px,3.89vw,72px);font-family:"Rays Display",sans-serif;color:var(--text);background:var(--surface);color-scheme:light;font-synthesis:none;font-size:1rem}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit;color:inherit}
button,a,input,textarea{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
button{border:0;border-radius:0;background:none;padding:0;font-size:0.875rem}
button:disabled{cursor:default}
/* Near-opaque alpha avoids WebKit's automatic translucent selection wash. */
::selection{background:color-mix(in srgb,var(--orange) 99.6%,transparent);color:var(--ink)}
.intro::selection,.intro ::selection{background:var(--ink);color:var(--orange)}
:focus-visible{outline:2px solid currentColor;outline-offset:6px}
.page-gutter{padding-left:var(--gutter);padding-right:var(--gutter)}
.icon-library{position:absolute;width:0;height:0;overflow:hidden}
.icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:square;stroke-linejoin:miter;flex-shrink:0}
.visually-hidden,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link:focus{position:absolute;top:12px;left:12px;background:var(--surface);color:var(--text);padding:14px;z-index:10}
.intro{background:var(--orange);color:var(--ink);--line:rgba(32,33,36,.32);color-scheme:light}
.site-header{height:84px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:30px}
.brand{font-family:"Rays Display",sans-serif;font-size:1.625rem;font-weight:700;white-space:nowrap;line-height:1.2}
.site-header nav{display:flex;align-items:center;gap:42px;font-size:0.9375rem}
.site-header nav>a:not(.header-action){padding:12px 0}
.site-header nav>a:not(.header-action):hover{text-decoration:underline;text-underline-offset:5px}
.header-action{border:1px solid var(--ink);display:inline-flex;align-items:center;gap:16px;padding:13px 17px;transition:color .2s,background .2s}
.header-action:hover{background:var(--ink);color:var(--orange)}
.hero-stage{position:relative;isolation:isolate;--outline-duration:2.6s;--fill-duration:1.2s;--fill-delay:calc(var(--last-contour-delay,0ms) + var(--outline-duration) + 1.5s)}
.hero-title{margin:0;padding-top:40px;padding-bottom:57px;font-family:var(--hero-family,"Rays Display"),sans-serif;font-weight:700;letter-spacing:-.026em;line-height:.96}
.hero-word{display:block;position:relative;white-space:nowrap}
.hero-text{position:relative;z-index:1;padding-right:.12em;margin-right:-.12em}
.hero-trace{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:1}
.hero-outline{fill:none;stroke:var(--ink);stroke-width:var(--outline-stroke-width,1.15);stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}
.hero-stage[data-drawing="waiting"] .hero-text{opacity:.06}
.hero-stage[data-drawing="resting"] .hero-text{opacity:0}
.hero-stage[data-drawing="running"] .hero-text{animation:hero-fill var(--fill-duration) ease-out var(--fill-delay) both}
.hero-stage[data-drawing="running"] .hero-outline{animation:hero-outline-draw var(--outline-duration) linear var(--draw-delay) both}
.hero-stage[data-drawing="running"] .hero-trace{animation:hero-trace-out var(--fill-duration) linear var(--fill-delay) both}
.hero-stage[data-drawing="erasing"] .hero-text{animation:hero-unfill .45s ease-in both}
.hero-stage[data-drawing="erasing"] .hero-outline{animation:hero-outline-erase 1s ease-in-out var(--erase-delay) both}
.hero-stage[data-drawing="erasing"] .hero-trace{animation:hero-erase-out .1s linear 1.9s both}
.hero-stage[data-drawing-paused="true"] .hero-text,.hero-stage[data-drawing-paused="true"] .hero-outline,.hero-stage[data-drawing-paused="true"] .hero-trace{animation-play-state:paused}
@keyframes hero-outline-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes hero-fill{from{opacity:0}to{opacity:1}}
@keyframes hero-trace-out{from{opacity:1}to{opacity:0}}
@keyframes hero-unfill{from{opacity:1}to{opacity:0}}
@keyframes hero-outline-erase{from{stroke-dashoffset:0}to{stroke-dashoffset:1}}
@keyframes hero-erase-out{from{opacity:1}to{opacity:0}}
@media(prefers-reduced-motion:reduce){.hero-stage .hero-text{opacity:1!important}.hero-trace{display:none}}
.hero-word:first-child{font-size:calc((100vw - var(--gutter)*2)/3.4)}
.hero-word:last-child{font-size:calc((100vw - var(--gutter)*2 - 78px)/3.96);margin-top:clamp(42px,3.6vw,64px)}
.baseline-probe{display:inline-block;width:0;height:0;vertical-align:baseline;font-size:0;line-height:0}
.type-guides{position:absolute;inset:0;pointer-events:none;z-index:2;overflow:hidden}
.type-guide{position:absolute;left:0;right:0;height:0;border-top:1px solid rgba(32,33,36,.28)}
.type-guide[data-kind="xHeight"]{border-top-style:dashed;border-top-color:rgba(32,33,36,.2)}
.type-guide[data-kind="baseline"]{border-top-color:rgba(32,33,36,.5)}
.type-guide[data-kind="descender"]{border-top-style:dotted;border-top-color:rgba(32,33,36,.26)}
.type-guide::before,.type-guide::after{content:"";position:absolute;top:-3px;width:5px;height:5px;border:1px solid rgba(32,33,36,.4);background:var(--orange)}
.type-guide::before{left:calc(var(--gutter) - 12px)}
.type-guide::after{right:calc(var(--gutter) - 12px)}
.guide-label{position:absolute;right:var(--gutter);bottom:6px;font:0.625rem/1.1 "Rays Display",sans-serif;letter-spacing:.04em;color:var(--ink);background:var(--orange);padding:2px 0 2px 8px;white-space:nowrap}
.guide-value{margin-left:9px;font-variant-numeric:tabular-nums;opacity:.9}
.intro-description{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;border-top:1px solid var(--line);padding-top:26px;padding-bottom:38px;align-items:start}
.intro-statement{font-family:"Rays Display",sans-serif;font-size:clamp(28px,4.15vw,65px);font-weight:400;line-height:1.08;letter-spacing:0;margin:0}
.intro-copy>p{font-size:1.125rem;line-height:1.5;margin:0;max-width:620px}
.intro-links{display:flex;gap:36px;margin-top:34px;flex-wrap:wrap}
.text-link{display:inline-flex;gap:10px;align-items:center;width:fit-content;border-bottom:1px solid currentColor;padding-bottom:5px;font-size:1rem;line-height:1.4}
.text-link:hover{opacity:.68}
.text-link .icon{width:19px;height:19px}
.intro-meta{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:21px;padding-bottom:21px;border-top:1px solid var(--line);font-size:0.75rem}
.type-tester{padding-top:100px;padding-bottom:56px}
h2{font-family:"Rays Display",sans-serif;font-weight:600;letter-spacing:0;font-size:clamp(32px,4.05vw,64px);line-height:1.12;margin:0 0 18px}
.section-description{font-size:1rem;line-height:1.5;margin:0}
.tester-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 72px;margin-top:55px;margin-bottom:34px}
.range-control{display:flex;flex-direction:column;min-width:0}
.weight-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.range-control .weight-label-row label{margin-bottom:0}
.weight-playback{display:inline-flex;align-items:center;gap:12px}
.weight-animation,.animation-speed{display:inline-flex;align-items:center;justify-content:center;min-width:24px;padding:4px 0;margin:-4px 0;font-size:0.8125rem;line-height:1.4;white-space:nowrap;color:inherit}
.animation-speed{font-variant-numeric:tabular-nums}
.weight-animation:hover,.animation-speed:hover{color:var(--hover)}
.weight-animation svg{width:14px;height:14px;fill:currentColor}
.weight-animation .animation-pause,.weight-animation[aria-pressed="true"] .animation-play{display:none}
.weight-animation[aria-pressed="true"] .animation-pause{display:block}
.range-control label{font-size:0.8125rem;line-height:1.4;margin-bottom:8px}
.range-control output{font-size:1.1875rem;line-height:1.5;margin-bottom:12px;font-variant-numeric:tabular-nums}
input[type="range"]{appearance:none;-webkit-appearance:none;background:linear-gradient(to right,var(--orange) 0%,var(--orange) var(--progress,25%),var(--track) var(--progress,25%),var(--track) 100%);width:100%;height:4px;margin:8px 0 12px;cursor:pointer;border:0;border-radius:0}
input[type="range"]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;border:0;border-radius:50%;width:20px;height:20px;background:var(--orange)}
input[type="range"]::-moz-range-thumb{border:0;border-radius:50%;width:20px;height:20px;background:var(--orange)}
input[type="range"]:focus-visible{outline-offset:10px}
.specimen-canvas{border-top:1px solid currentColor;border-bottom:1px solid currentColor;padding:36px 24px 32px;transition:background .2s,color .2s;--test-weight:400;--test-size:104px;--responsive-size:104px}
/* Default line height clears accents/descenders; the tester can override it. */
.font-sample{font-style:var(--test-style,normal);display:block;width:100%;min-height:0;resize:none;border:0;padding:0;margin:0;background:transparent;font-family:"Rays Display",sans-serif;font-weight:var(--test-weight);font-variation-settings:"wght" var(--test-weight);font-size:var(--responsive-size);line-height:var(--test-line-height,1.3);letter-spacing:var(--test-tracking,0em);overflow:hidden;overflow-wrap:anywhere;white-space:pre-wrap;caret-color:var(--orange);outline:none;font-feature-settings:"kern" 1,"dlig" 0;transition:color .18s}
.font-sample:focus-visible{outline:2px solid var(--orange);outline-offset:8px}
@media(hover:hover){.font-sample:hover{color:var(--orange)}}
.sample-toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:18px;font-size:0.875rem}
.sample-tabs{display:flex;gap:36px}
.sample-toolbar button,.glyph-filters button{padding:8px 0 12px;border-bottom:2px solid transparent;white-space:nowrap}
.sample-toolbar button[aria-pressed="true"],.glyph-filters button[aria-pressed="true"]{border-bottom-color:var(--orange)}
.sample-toolbar button:hover,.glyph-filters button:hover{color:var(--hover)}
#reset-tester{color:var(--muted)}
.glyph-section{padding-top:56px;padding-bottom:72px}
.glyph-toolbar{margin-top:42px;margin-bottom:26px;display:flex;justify-content:space-between;align-items:center;gap:32px;border-bottom:1px solid currentColor}
.glyph-filters{display:flex;gap:34px}
.glyph-filters button[aria-pressed="true"]{color:var(--hover)}
.glyph-weight-control{display:flex;gap:20px;align-items:center;width:290px;font-size:0.875rem}
.glyph-weight-control output{white-space:nowrap;min-width:92px;text-align:right;font-variant-numeric:tabular-nums}
.glyph-weight-control input{margin:0 0 5px}
/* The widest centered italic outline spans 1.351em; 72cqi fits it inside the padded cell. */
.glyph-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line);--glyph-weight:400}
.glyph-cell{min-width:0;container-type:inline-size;aspect-ratio:.78;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:12px 8px 14px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.glyph-character{font-style:var(--glyph-style,normal);font-family:"Rays Display",sans-serif;font-weight:var(--glyph-weight);font-variation-settings:"wght" var(--glyph-weight);font-size:clamp(24px,4vw,78px);font-size:clamp(24px,72cqi,78px);line-height:1.5;min-height:1.5em;width:100%;display:flex;flex:1 0 auto;align-items:center;justify-content:center}
.glyph-unicode{font-size:0.625rem;color:var(--muted);line-height:1.2;white-space:nowrap}
.show-glyphs{margin-top:23px;font-size:0.875rem}
.show-glyphs[hidden]{display:none}
.downloads{padding-top:65px;padding-bottom:30px;background:var(--ink);color:var(--paper)}
.download-intro{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:90px;align-items:start;margin-bottom:50px}
.download-intro h2{font-size:clamp(48px,7.2vw,116px);font-weight:600;line-height:1.1;letter-spacing:0}
.download-intro p{font-size:1.25rem;line-height:1.5;margin:10px 0 0;max-width:440px;color:var(--orange)}
.download-list{border-top:1px solid rgba(255,255,255,.6)}
.download-row{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid rgba(255,255,255,.6);padding:20px 0;font-size:clamp(22px,2.5vw,36px);transition:color .2s}
.download-row strong{font-weight:400}
.download-row small{display:block;font-size:0.875rem;line-height:1.5;margin-top:4px;color:#d2d2d3}
.download-row .icon{width:32px;height:32px}
.download-row:hover{color:var(--orange)}
.site-footer{display:flex;justify-content:space-between;gap:25px;margin-top:40px;font-size:0.75rem;line-height:1.5}
.site-footer a:hover{text-decoration:underline;text-underline-offset:4px}
.footer-legal{display:flex;flex-wrap:wrap;gap:20px}.site-footer .footer-legal a{margin-left:0}
@media(min-width:1800px){.hero-word:first-child{font-size:30rem}.hero-word:last-child{font-size:26.25rem}.hero-title{padding-left:var(--gutter)}.type-tester,.glyph-section,.downloads{padding-left:max(var(--gutter),calc((100vw - 1600px)/2));padding-right:max(var(--gutter),calc((100vw - 1600px)/2))}}
@media(max-width:1000px){.site-header nav{gap:24px;font-size:0.875rem}.intro-description{grid-template-columns:1fr 1fr;gap:25px}.intro-links{gap:17px;margin-top:24px}.text-link{font-size:0.875rem}.intro-copy>p{font-size:1rem}.desktop-break{display:none}.tester-controls{gap:38px;grid-template-columns:repeat(2,minmax(0,1fr))}.glyph-weight-control{width:245px;gap:12px}.glyph-filters{gap:24px}.download-intro{gap:45px}.download-intro p{font-size:1.125rem}.glyph-cell{aspect-ratio:.68}.glyph-unicode{font-size:0.5rem}}
@media(max-width:680px){html{scroll-padding-top:15px}.site-header{height:auto;min-height:78px;gap:16px;flex-wrap:wrap;padding-top:18px;padding-bottom:16px}.brand{font-size:1.4375rem}.site-header nav{width:100%;justify-content:space-between;gap:12px;font-size:0.75rem}.header-action{padding:8px 10px;gap:8px}.header-action .icon{width:17px;height:17px}.hero-title{padding-top:36px;padding-bottom:36px;line-height:1.06}.hero-word:first-child{font-size:calc((100vw - var(--gutter)*2)/3.05)}.hero-word:last-child{font-size:calc((100vw - var(--gutter)*2 - 28px)/4.02);margin-top:20px}.guide-label{right:12px;font-size:0.5625rem;bottom:4px;letter-spacing:.01em;padding-left:4px}.guide-value{display:none}.type-guide::before{left:10px}.type-guide::after{right:7px}.intro-description{grid-template-columns:1fr;gap:24px;padding-top:25px;padding-bottom:27px}.intro-statement{font-size:2.125rem;line-height:1.06}.intro-copy>p{font-size:0.9375rem;line-height:1.5}.intro-links{gap:22px;margin-top:25px}.text-link{font-size:0.75rem;gap:6px}.intro-meta{font-size:0.625rem;gap:12px;flex-wrap:wrap;padding-top:16px;padding-bottom:16px}.intro-meta span:last-child{margin-left:auto}.type-tester{padding-top:60px;padding-bottom:36px}h2{font-size:2.125rem;letter-spacing:0}.section-description{font-size:0.875rem}.tester-controls{margin-top:35px;margin-bottom:25px;grid-template-columns:1fr 1fr;gap:28px 25px}.range-control output{font-size:1rem}.theme-control{grid-column:1/-1;grid-row:auto;display:flex;align-items:center;gap:8px}.theme-control legend{float:left;margin:0 20px 0 0;padding-top:10px;font-size:0.75rem}.swatch{width:36px;height:36px;margin-right:4px}.swatch span{width:16px;height:16px}.specimen-canvas{padding-top:28px;padding-bottom:25px}.sample-toolbar{align-items:flex-start;flex-wrap:wrap;gap:8px;margin-top:14px}.sample-tabs{gap:20px;flex-wrap:wrap}.sample-toolbar button{font-size:0.75rem;padding-bottom:9px}#reset-tester{margin-left:auto}.glyph-section{padding-top:32px;padding-bottom:48px}.glyph-toolbar{margin-top:28px;margin-bottom:20px;align-items:stretch;flex-direction:column;gap:20px}.glyph-filters{justify-content:space-between;gap:16px}.glyph-filters button{font-size:0.75rem}.glyph-weight-control{width:100%;gap:20px;padding-bottom:20px;flex-direction:row-reverse;justify-content:space-between}.glyph-weight-control output{font-size:0.75rem;min-width:85px}.glyph-weight-control input{max-width:210px}.glyph-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.glyph-cell{aspect-ratio:.85}.glyph-unicode{font-size:0.5625rem}.downloads{padding-top:48px;padding-bottom:25px}.download-intro{grid-template-columns:1fr;gap:20px;margin-bottom:35px}.download-intro h2{font-size:clamp(34px,calc((100vw - var(--gutter)*2)/7.7),65px);line-height:1.1}.download-intro p{font-size:1rem;margin-top:0}.download-row{font-size:1.375rem;padding:18px 0}.download-row small{font-size:0.75rem;margin-top:7px}.download-row .icon{width:25px;height:25px}.site-footer{font-size:0.625rem;gap:16px;flex-wrap:wrap;margin-top:28px}.site-footer a{margin-left:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

.tester-style-row{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:35px}.style-options{display:flex;gap:26px}.style-options button{padding:10px 0;border-bottom:2px solid transparent}.style-options button[aria-pressed="true"]{border-bottom-color:var(--orange)}.style-options button:hover{color:var(--hover)}.cut-control{display:flex;align-items:center;gap:14px;font-size:0.8125rem}.cut-control select{font-size:0.875rem;border:1px solid var(--line);border-radius:0;background:var(--surface);padding:8px 30px 8px 10px;min-width:150px}.tester-style-row+.tester-controls{margin-top:28px}.glyph-style-options{margin-top:25px;margin-bottom:-20px}@media(max-width:680px){.tester-style-row{gap:16px;align-items:flex-start;flex-wrap:wrap;margin-top:24px}.style-options{gap:22px}.style-options button{font-size:0.8125rem}.cut-control{gap:10px}.cut-control select{min-width:130px}.glyph-style-options{margin-bottom:0}.glyph-style-options+.glyph-toolbar{margin-top:18px}}

.icon-section{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.4fr);gap:clamp(32px,5vw,80px);align-items:center;padding-top:64px;padding-bottom:64px;background:var(--ink);color:var(--paper)}
.section-eyebrow{font-size:0.8125rem;color:var(--orange);margin:0 0 20px}
.icon-section h2{font-size:clamp(34px,4.05vw,64px)}
.icon-section .section-description{max-width:370px;color:#d2d2d3}
.icon-catalog-link{margin-top:28px;border:1px solid var(--orange);padding:13px 17px;color:var(--orange)}
.icon-catalog-link:hover{opacity:1;background:var(--orange);color:var(--ink)}
.icon-preview-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.32);border-left:1px solid rgba(255,255,255,.32)}
.icon-preview-grid li{position:relative;height:120px;min-width:0;perspective:600px;overflow:hidden;background:var(--ink);border-right:1px solid rgba(255,255,255,.32);border-bottom:1px solid rgba(255,255,255,.32)}
.icon-preview-face{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:12px 5px;background:var(--ink)}
.icon-preview-grid img{display:block;width:44px;height:44px;filter:invert(1)}
.icon-preview-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;width:100%;height:2.5em;align-content:center;font-size:0.6875rem;line-height:1.25;color:#d2d2d3;text-align:center;overflow-wrap:anywhere}
.icon-preview-caption{font-size:0.6875rem;line-height:1.5;color:#d2d2d3;margin:14px 0 0}
@media(min-width:1800px){.icon-section{padding-left:max(var(--gutter),calc((100vw - 1600px)/2));padding-right:max(var(--gutter),calc((100vw - 1600px)/2))}}
@media(max-width:900px){.site-header{height:auto;min-height:84px;flex-wrap:wrap;gap:18px;padding-top:20px;padding-bottom:20px}.site-header nav{width:100%;justify-content:space-between}.icon-section{grid-template-columns:1fr;gap:32px}.icon-section-copy{max-width:520px}.icon-section h2 br{display:none}.icon-section .section-description{max-width:480px}}
@media(max-width:680px){.site-header nav{flex-wrap:wrap;gap:10px 20px}.site-header .header-action{flex-basis:100%;justify-content:space-between}.icon-section{padding-top:42px;padding-bottom:42px}.section-eyebrow{margin-bottom:15px}.icon-section h2{font-size:2.125rem;max-width:320px}.icon-catalog-link{margin-top:22px;font-size:0.875rem}.icon-preview-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.icon-preview-grid li{height:108px}.icon-preview-face{gap:10px;padding:10px 4px}.icon-preview-grid img{width:40px;height:40px}.icon-preview-name{font-size:0.625rem}}

/* Keep the complete desktop poster in view; reserve real space for its copy. */
@supports (font-size:1cqh){
  @media(min-width:901px) and (min-height:600px){
    .intro{height:100svh;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto}
    .hero-stage{min-height:0;container-type:size;display:flex;align-items:center;--hero-fit-size:calc((100cqh - 96px)/1.93)}
    .hero-title{width:100%;padding-top:24px;padding-bottom:calc(24px + var(--hero-fit-size)*.13)}
    .hero-word:first-child{font-size:min(480px,calc((100vw - var(--gutter)*2)/3.4),var(--hero-fit-size))}
    .hero-word:last-child{font-size:min(420px,calc((100vw - var(--gutter)*2 - 78px)/3.96),calc(var(--hero-fit-size)*.875));margin-top:48px}
  }
}

/* System is the default; explicit modes only affect this page visit. */
:root[data-theme="dark"]{--surface:#202124;--text:#fff;--line:rgba(255,255,255,.32);--muted:#b6b9bd;--track:#44474b;--hover:#ff5c35;color-scheme:dark}
@media(prefers-color-scheme:dark){:root[data-theme="system"]{--surface:#202124;--text:#fff;--line:rgba(255,255,255,.32);--muted:#b6b9bd;--track:#44474b;--hover:#ff5c35;color-scheme:dark}}

.icon-preview-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px}
.icon-preview-meta .icon-preview-caption{margin:0}
.icon-flip-toggle{display:inline-flex;align-items:center;gap:7px;padding:6px 0;font-size:0.6875rem;color:#d2d2d3;white-space:nowrap}
.icon-flip-toggle[hidden]{display:none}
.icon-flip-toggle:hover{color:var(--orange)}
.icon-flip-toggle svg{width:12px;height:12px;fill:currentColor}
.icon-flip-toggle .flip-pause,.icon-flip-toggle[aria-pressed="true"] .flip-play{display:none}
.icon-flip-toggle[aria-pressed="true"] .flip-pause{display:block}
.icon-flap-half{position:absolute;left:0;right:0;height:50%;overflow:hidden;backface-visibility:hidden;pointer-events:none}
.icon-flap-half .icon-preview-face{height:200%;bottom:auto}
.icon-flap-next-top,.icon-flap-old-top{top:0;transform-origin:bottom center}
.icon-flap-next-top{z-index:1}
.icon-flap-old-top{z-index:3}
.icon-flap-next-bottom{top:50%;z-index:2;transform-origin:top center}
.icon-flap-next-bottom .icon-preview-face{top:-100%}

/* Keep the original button borders as the no-JavaScript fallback. */
.style-options[data-style-indicator]{position:relative}
.style-options[data-style-indicator]::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:var(--style-indicator-width);transform:translateX(var(--style-indicator-x));background:var(--orange);pointer-events:none;transition:transform .24s cubic-bezier(.22,.61,.36,1),width .24s cubic-bezier(.22,.61,.36,1)}
.style-options[data-style-indicator] button[aria-pressed="true"]{border-bottom-color:transparent}
@supports(view-transition-name:font-style){
  :root{view-transition-name:none}
  ::view-transition{pointer-events:none}
  ::view-transition-group(font-style){animation-duration:.24s;animation-timing-function:ease-out}
  ::view-transition-old(font-style){animation:rays-style-fade-out .24s ease-out both;mix-blend-mode:plus-lighter}
  ::view-transition-new(font-style){animation:rays-style-fade-in .24s ease-out both;mix-blend-mode:plus-lighter}
}
@keyframes rays-style-fade-out{from{opacity:1}to{opacity:0}}
@keyframes rays-style-fade-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){
  ::view-transition-group(font-style),::view-transition-old(font-style),::view-transition-new(font-style){animation:none!important}
}

/* Explicit language links also work without JavaScript. */
.language-switch{display:inline-flex;align-items:center;gap:2px;flex:none;font-size:0.75rem;line-height:1.25}
.language-switch a{padding:10px 8px;text-decoration:none;border-bottom:2px solid transparent;white-space:nowrap}
.language-switch a[aria-current="true"]{border-bottom-color:currentColor}
.language-switch a:not([aria-current]):hover{border-bottom-color:currentColor}
@media(min-width:901px){.site-header{gap:20px}.site-header nav{gap:clamp(16px,2.2vw,42px);margin-left:auto}}
@media(max-width:900px){.site-header .brand{order:0}.site-header .language-switch{order:1;margin-left:auto}.site-header nav{order:2}}

/* Apple-design review: direct feedback and accessible control sizing. */
button,a,input,select{touch-action:manipulation}
.brand,.site-header nav a,.language-switch a,.site-footer a,.text-link{min-height:44px}
.brand,.site-header nav a,.language-switch a,.site-footer a{display:inline-flex;align-items:center}
.language-switch a,.weight-animation,.animation-speed{min-width:44px;min-height:44px;justify-content:center}
.weight-animation,.animation-speed{margin:0;padding:4px}.weight-playback{gap:4px;margin-left:auto}
.weight-label-row{flex-wrap:wrap;min-height:44px}
.sample-toolbar button,.glyph-filters button,.style-options button,.theme-options button,.cut-control select,.icon-flip-toggle{min-height:44px}
.style-options button{min-width:44px}
input[type=range]{height:44px;margin:0;background-size:100% 4px;background-position:center;background-repeat:no-repeat}
input[type=range]:focus-visible{outline-offset:2px}
input[type=range]:active::-webkit-slider-thumb{box-shadow:0 0 0 4px color-mix(in srgb,var(--orange) 25%,transparent)}
input[type=range]:active::-moz-range-thumb{box-shadow:0 0 0 4px color-mix(in srgb,var(--orange) 25%,transparent)}
button:not(:disabled):active,.header-action:active{box-shadow:inset 0 0 0 1px currentColor;transition:none}
.text-link:active,.site-header nav a:active,.site-footer a:active{text-decoration:underline}
.tester-controls{align-items:end}.site-header nav{flex-wrap:wrap;row-gap:4px}
.brand{max-width:100%;white-space:normal}h2,.download-intro h2{overflow-wrap:anywhere}
.glyph-unicode{max-width:100%;white-space:normal;overflow-wrap:anywhere}
html[data-large-text] .intro{height:auto;display:block}
html[data-large-text] .hero-stage{container-type:normal}
html[data-large-text] .hero-word:first-child{font-size:min(480px,calc((100vw - var(--gutter)*2)/3.4))}
html[data-large-text] .hero-word:last-child{font-size:min(420px,calc((100vw - var(--gutter)*2 - 78px)/3.96))}
html[data-large-text] .hero-title{padding-top:36px;padding-bottom:48px}
@media(prefers-contrast:more){:root{--muted:var(--text);--line:currentColor;--track:currentColor}:focus-visible{outline-width:3px}}

/* Keep the wordmark compact while enlarged reading text can reflow freely. */
.header-navigation{display:flex;align-items:center;justify-content:flex-end;gap:20px;flex:1;min-width:0;max-width:100%}.header-menu-toggle[hidden]{display:none}
.site-header{height:auto;min-height:84px;padding-top:12px;padding-bottom:12px;min-width:0}
.site-header .brand{flex:none}.site-header nav{min-width:0;max-width:100%}
.site-header nav a{max-width:100%;overflow-wrap:anywhere}
.intro>*{min-width:0}
@media(max-width:900px){.header-navigation{display:contents}}
.header-menu-toggle{font-size:0.75rem;min-height:44px;padding:8px 12px;border:1px solid currentColor;margin-left:auto}
.cut-control{flex-wrap:wrap;max-width:100%}.cut-control select{max-width:100%}
.theme-options,.glyph-filters{flex-wrap:wrap;max-width:100%}.theme-options button{flex:1}
html[data-large-text] .guide-label{display:none}
html[data-large-text] .site-header{height:auto;flex-wrap:wrap}
html[data-compact-nav] .site-header .brand{font-size:23px;white-space:nowrap;flex:none}
html[data-compact-nav] .site-header{gap:12px;padding-top:18px;padding-bottom:18px}
html[data-compact-nav] .header-navigation{display:none;flex-basis:100%;min-width:0}
html[data-compact-nav][data-nav-open] .header-navigation{display:flex;flex-direction:column;gap:16px}
html[data-compact-nav] .site-header nav{order:0;display:flex;flex-direction:column;align-items:stretch;margin:0;gap:6px;font-size:0.875rem}
html[data-compact-nav] .site-header .language-switch{order:1;margin:0;align-self:flex-start}
@media(max-width:680px){.cut-control select{min-width:0}html[data-large-text] .cut-control{flex-basis:100%}}

.intro-description>*,.intro-copy{min-width:0}.intro-statement,.intro-copy{overflow-wrap:anywhere;hyphens:auto}
.intro-links{flex-wrap:wrap}.text-link{max-width:100%}.text-link>span,.download-row>span{min-width:0;overflow-wrap:anywhere}
@media(max-width:680px){.intro-description{grid-template-columns:minmax(0,1fr)}}

.site-header .brand{font-size:26px}@media(max-width:680px){.site-header .brand{font-size:23px}}

html[data-large-text] .tester-controls{grid-template-columns:minmax(0,1fr)}
html[data-large-text] .glyph-weight-control{width:100%;flex-direction:column;align-items:stretch;gap:8px}
html[data-large-text] .glyph-weight-control output{width:auto;min-width:0}
html[data-large-text] .glyph-weight-control input{max-width:none;min-width:0}
html[data-large-text] .sample-toolbar,html[data-large-text] .sample-tabs{flex-wrap:wrap;min-width:0}

@media(max-width:680px){html[data-large-text] .intro-statement{font-size:clamp(34px,10vw,48px);hyphens:manual}}

/* Selectable Rays character catalog and a baseline-measured large specimen. */
.glyph-selection-hint{font-size:.8125rem;line-height:1.5;color:var(--muted);margin:0 0 24px}
.glyph-explorer{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:36px;align-items:start;--glyph-weight:400}
.glyph-catalog{min-width:0}.glyph-explorer .glyph-grid{grid-template-columns:repeat(8,minmax(0,1fr));--glyph-weight:inherit}
.glyph-groups{display:grid;gap:36px}
.glyph-group{min-width:0}
.glyph-group-title{margin:0 0 16px;font-size:.875rem;line-height:1.4;font-weight:400}
.glyph-explorer .glyph-cell{aspect-ratio:.94;padding:6px 5px 10px;min-height:74px;text-align:center;transition:background-color .15s,color .15s}
.glyph-explorer .glyph-character{font-size:clamp(24px,66cqi,66px);line-height:1.38;min-height:1.38em}
.glyph-cell:hover{background:color-mix(in srgb,var(--text) 6%,var(--surface))}
.glyph-cell[aria-pressed="true"]{background:var(--orange);color:var(--ink)}
.glyph-cell[aria-pressed="true"] .glyph-unicode{color:var(--ink)}
.glyph-cell:focus-visible{outline:2px solid var(--text);outline-offset:-3px}
.glyph-detail{margin:0;min-width:0;position:sticky;top:24px;background:var(--surface)}
.glyph-detail-caption{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 20px;min-height:38px;padding-bottom:16px;border-bottom:1px solid var(--line);font-size:.875rem;line-height:1.4}
#glyph-detail-unicode{color:var(--muted);font-size:.75rem;font-variant-numeric:tabular-nums}
.glyph-detail-stage{height:clamp(340px,38vw,540px);position:relative;isolation:isolate;overflow:hidden}
.glyph-detail-letter{position:absolute;left:50%;top:0;transform:translateX(-50%);z-index:1;white-space:nowrap;font-family:"Rays Display",sans-serif;font-size:240px;line-height:1.26;font-style:var(--glyph-style,normal);font-weight:var(--glyph-weight);font-variation-settings:"wght" var(--glyph-weight)}
.glyph-detail-guides{position:absolute;inset:0;pointer-events:none;z-index:0}
.glyph-metric{position:absolute;left:0;right:0;border-top:1px solid var(--line);height:0;display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:.625rem;line-height:1.2}
.glyph-metric span{position:relative;bottom:1.5em;background:var(--surface);padding-right:8px}
.glyph-metric span:last-child{padding:0 0 0 8px;font-variant-numeric:tabular-nums}
.glyph-metric[data-metric="baseline"]{border-color:var(--orange);color:var(--text)}
.glyph-metric::before{content:"";position:absolute;left:0;top:-3px;width:5px;height:5px;background:var(--surface);border:1px solid var(--muted)}
.glyph-metric[data-metric="baseline"]::before{background:var(--orange);border-color:var(--orange)}
.glyph-detail-style{margin:0;padding:14px 0 0;border-top:1px solid var(--line);font-size:.75rem;color:var(--muted)}
@media(max-width:1100px){.glyph-explorer{gap:28px}.glyph-explorer .glyph-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.glyph-detail-caption{font-size:.8125rem}.glyph-explorer .glyph-unicode{font-size:.5rem}}
@media(max-width:760px){.glyph-explorer{grid-template-columns:minmax(0,1fr);gap:24px}.glyph-detail{grid-row:1;top:0;z-index:3;padding-top:10px;padding-bottom:16px;border-bottom:1px solid var(--line)}.glyph-detail-stage{height:270px}.glyph-detail-caption{padding-bottom:10px;min-height:30px}.glyph-detail-style{padding-top:10px}.glyph-explorer .glyph-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.glyph-explorer .glyph-cell{aspect-ratio:.8;scroll-margin-top:var(--glyph-detail-clearance,350px)}.glyph-explorer .glyph-unicode{font-size:.5rem}.glyph-selection-hint{font-size:.75rem;margin-bottom:12px}}
@media(max-width:420px){.glyph-explorer .glyph-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.glyph-explorer .glyph-cell{aspect-ratio:.94}.glyph-detail-stage{height:250px}}
@media(prefers-reduced-motion:reduce){.glyph-cell{transition:none}}

/* Family choices affect specimens only; interface and poster retain Display. */
.font-sample{font-family:var(--specimen-family,"Rays Serif"),serif}
.glyph-explorer .glyph-character,.glyph-detail-letter{font-family:var(--glyph-family,"Rays Serif"),serif}
.tester-style-row{flex-wrap:wrap;justify-content:flex-start}.tester-style-row>.cut-control:last-child{margin-left:auto}
.cut-control select{min-height:44px}.family-control select{min-width:174px}
.glyph-family-row{display:flex;align-items:center;gap:32px;flex-wrap:wrap;margin-top:28px}
.glyph-family-row .glyph-style-options{margin:0}
.download-family-title{font-size:clamp(24px,3vw,40px);font-weight:400;margin:45px 0 12px;color:var(--orange)}
.download-family-title:first-child{margin-top:0}
@media(max-width:680px){.tester-style-row>.cut-control:last-child{margin-left:0}.family-control{width:100%;justify-content:space-between}.family-control select{min-width:164px}.glyph-family-row{gap:12px}.glyph-family-row .glyph-style-options{margin:0}.tester-style-row{column-gap:24px;row-gap:12px}}

.header-tools{display:flex;align-items:center;gap:8px;flex:none}.site-header .header-navigation{flex:1}
@media(max-width:900px){.header-tools{order:1;margin-left:auto}.site-header .language-switch{margin-left:0}}

.header-tools>.rays-appearance-toggle{order:2}
