@font-face{font-family:Geologica;src:url('assets/geologica.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}@font-face{font-family:Inter;src:url('assets/inter.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}@font-face{font-family:Inter;src:url('assets/inter-italic.woff2') format('woff2');font-style:italic;font-weight:100 900;font-display:swap}
:root{--margin:clamp(22px,5.4vw,126px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.6 Inter,Arial,sans-serif;font-synthesis:none;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--oxide);outline-offset:5px}img{display:block;max-width:100%}svg{max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:Geologica,Arial,sans-serif;font-weight:400;font-variation-settings:'SHRP' 50,'CRSV' 0,'slnt' 0;letter-spacing:-.045em;line-height:1.1;text-wrap:balance;hyphens:none;overflow-wrap:normal}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;background:white;padding:10px;z-index:100}.topbar{height:82px;display:flex;align-items:center;gap:35px;padding:0 var(--margin);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;background:#f6f7f7ef;backdrop-filter:blur(18px)}.brand{width:135px;display:block;flex:none;line-height:0}.topline{font-size:9px;letter-spacing:.17em;text-transform:uppercase;padding-left:25px;border-left:1px solid var(--line)}.topbar nav{margin-left:auto;display:flex;gap:30px;align-items:center;font-size:12px}.topbar nav a:hover,.underlink:hover{color:var(--oxide)}.topbar nav .back{border-bottom:1px solid currentColor;padding-bottom:7px}.eyebrow,.section-marker{display:block;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.hero{min-height:780px;display:grid;grid-template-columns:52% 48%;position:relative;overflow:hidden}.hero-copy{padding:90px 0 110px var(--margin);z-index:2}.hero h1{font-size:clamp(62px,5.5vw,116px);margin:65px 0 37px;max-width:1000px;line-height:1.04}.hero h1 span{color:inherit}.hero .lead{max-width:520px;font-size:17px;color:var(--muted)}.underlink{display:inline-block;border-bottom:1px solid currentColor;padding-bottom:9px;font-size:13px;margin-top:55px}.underlink span{margin-left:28px}.hero-art{position:relative;overflow:hidden}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:74% center;mask-image:linear-gradient(to right,transparent,#000 17%)}.art-caption{position:absolute;right:var(--margin);bottom:35px;font-size:9px;letter-spacing:.12em;color:var(--muted)}.hero-index{position:absolute;left:var(--margin);bottom:32px;font-size:10px;color:var(--muted);letter-spacing:.14em}.principle{min-height:600px;padding:90px var(--margin);background:var(--depth);color:var(--depth-text)}.principle .section-marker{grid-column:1/-1;color:#aebdc5}.principle>h2{font:400 clamp(60px,5.4vw,118px)/1.08 Geologica;letter-spacing:-.045em;font-variation-settings:'SHRP' 50,'CRSV' 0,'slnt' 0;margin-top:45px}.principle>h2 span{display:block}.principle-side{padding-bottom:13px;max-width:750px;margin-top:42px}.principle-side p{font-size:15px;color:#b4c2c9}.brass-rule{display:block;height:1px;width:116px;background:var(--brass-metal);margin-bottom:28px}.identity,.palette,.type,.material{padding:120px var(--margin);border-bottom:1px solid var(--line)}.section-head{display:flex;flex-direction:column;align-items:stretch;gap:25px;margin-bottom:60px}.section-head .section-marker{grid-column:1/-1}.section-head h2{font-size:clamp(47px,4.4vw,88px);font-weight:500;width:100%;max-width:none}.section-head>p{max-width:780px;color:var(--muted);font-size:16px}.logo-stage{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line)}.logo-stage>div{height:390px;display:flex;flex-direction:column;justify-content:space-between;padding:35px 50px;background:white}.logo-stage>div.logo-dark{background:var(--depth);color:var(--depth-text)}.logo-stage span{font-size:10px;letter-spacing:.14em}.logo-drawing{width:76%;max-width:520px;align-self:center;margin:auto}.logo-drawing svg{width:100%;height:auto}.palette{background:white}.color-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.color-tile{height:385px;display:flex;flex-direction:column;padding:25px;position:relative;overflow:hidden}.color-tile span,.color-tile code{font:500 11px/1.4 Inter;letter-spacing:.09em}.color-tile strong{margin-top:auto;font:400 clamp(32px,3.6vw,69px)/1.1 Geologica;letter-spacing:-.04em;font-variation-settings:'SHRP' 50,'CRSV' 0,'slnt' 0}.color-tile code{margin-top:12px}.color-tile.paper{background:var(--paper);border:1px solid var(--line)}.color-tile.depth{background:var(--depth);color:var(--depth-text)}.color-tile.oxide{background:var(--oxide);color:var(--paper)}.color-tile.brass{background:var(--depth);color:var(--depth-text)}.color-tile.brass:before{content:'';position:absolute;inset:22% 17% 42%;background:var(--brass-metal);box-shadow:0 22px 35px #0008,inset 0 1px 0 #fff6,inset 0 -2px 0 #2c1a09;border:1px solid #f0d49a55}.color-tile.brass:after{content:'';position:absolute;inset:22% 17% 42%;background:repeating-linear-gradient(0deg,transparent 0px,#fff1 .8px,transparent 2px,#120a050b 3px);mix-blend-mode:overlay}.color-tile.brass strong,.color-tile.brass code{z-index:1}.palette-note{margin-top:26px;max-width:750px;color:var(--muted);font-size:13px}.type-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:70px}.type-grid>div{border-top:1px solid var(--line);padding-top:24px}.type-grid span{font-size:10px;letter-spacing:.15em}.type-grid .geo p{font:400 clamp(50px,4.7vw,95px)/1.1 Geologica;letter-spacing:-.05em;font-variation-settings:'SHRP' 50,'CRSV' 0,'slnt' 0;margin:45px 0}.type-grid .geo em{font-style:normal;color:inherit}.type-grid .inter p{font-size:20px;line-height:1.65;margin:40px 0 20px;max-width:600px}.type-grid .inter p+p{margin-top:0}.type-grid .inter strong{font-weight:600}.type-grid .inter blockquote{font:italic 400 25px/1.55 Inter;margin:48px 0 12px;max-width:590px}.type-grid small{font-size:10px;color:var(--muted)}.material{background:#e8ecee}.crystals{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.crystals figure{background:white;min-height:450px;display:flex;flex-direction:column;justify-content:space-between;padding:30px}.crystals img{width:100%;height:340px;object-fit:contain}.crystals figcaption{font-size:10px;letter-spacing:.12em}.closing{background:var(--depth);color:var(--depth-text);padding:110px var(--margin) 130px}.closing .section-marker{color:var(--brass-label-on-depth)}.closing h2{font-size:clamp(62px,6.3vw,124px);margin:72px 0 45px;color:var(--depth-text);width:100%}.closing h2 span{display:block}.closing>.brass-rule{margin-bottom:45px}.closing-actions{display:flex;align-items:center;gap:55px}.main-cta{display:inline-flex;justify-content:space-between;gap:40px;min-width:260px;background:var(--oxide);color:white;padding:18px 23px;font-size:13px}.closing .underlink{margin:0}footer{padding:45px var(--margin);background:#0b151b;color:#dce6e9;display:flex;align-items:center;gap:35px;font-size:11px}footer .brand{color:var(--paper)}footer p{margin-right:auto}
@media(max-width:1100px){.topline{display:none}.hero{min-height:690px}.hero h1{font-size:clamp(44px,5.7vw,70px)}.section-head{gap:35px}.color-tile{height:300px}.color-tile strong{font-size:42px}.crystals figure{min-height:380px}.crystals img{height:270px}}
@media(max-width:720px){.topbar{height:70px;gap:18px}.brand{width:105px}.topbar nav{gap:14px;font-size:10px}.topbar nav a:not(.back){display:none}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:55px var(--margin) 0}.hero h1{font-size:clamp(46px,12vw,67px);margin:42px 0 30px}.hero .lead{font-size:15px}.hero-art{height:440px}.hero-art img{mask-image:linear-gradient(to bottom,transparent,#000 20%);object-position:80% center}.art-caption{right:22px;bottom:15px;font-size:7px}.hero-index{display:none}.principle{min-height:0;display:block;padding:75px var(--margin)}.principle>h2{font-size:clamp(39px,9vw,65px);margin:40px 0}.principle-side{margin-top:0}.principle-side{padding-bottom:0}.identity,.palette,.type,.material{padding:75px var(--margin)}.section-head{display:block;margin-bottom:36px}.section-head h2{font-size:clamp(42px,10vw,62px);margin:28px 0 22px}.logo-stage,.color-grid,.type-grid,.crystals{grid-template-columns:1fr}.logo-stage>div{height:240px;padding:25px}.logo-drawing{width:78%}.color-tile{height:240px}.color-tile strong{font-size:50px}.color-tile.brass:before,.color-tile.brass:after{inset:18% 17% 40%}.type-grid{gap:35px}.type-grid .geo p{font-size:clamp(42px,9vw,58px);margin:30px 0}.type-grid .inter p{font-size:17px;margin-top:25px}.type-grid .inter blockquote{font-size:22px}.crystals figure{min-height:300px}.crystals img{height:260px}.closing{padding:85px var(--margin)}.closing h2{font-size:clamp(43px,9vw,68px);margin:45px 0}.closing h2 span{display:inline}.closing-actions{display:block}.closing .underlink{margin-top:28px}footer{display:grid;grid-template-columns:1fr 1fr;gap:18px}footer p{grid-column:1/-1;grid-row:2}footer a:last-child{text-align:right}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* The presentation and the complete implementation guide share one page. */
section[id],details[id]{scroll-margin-top:100px}
.quick-spec{display:grid;grid-template-columns:repeat(3,1fr) 1.35fr;border:1px solid var(--line);border-top:0;background:#fff}
.quick-spec>div,.quick-spec>a{min-height:132px;padding:28px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}
.quick-spec>*:last-child{border-right:0}
.quick-spec strong{font:400 clamp(24px,2vw,37px)/1.05 Geologica;letter-spacing:-.04em;font-variation-settings:'SHRP' 50,'CRSV' 0,'slnt' 0}
.quick-spec span{font-size:11px;color:var(--muted)}
.quick-spec>a{font-size:13px;color:var(--oxide);justify-content:end}
.quick-spec>a:hover{text-decoration:underline}
.support-colors{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:12px}
.support-colors>div{min-height:116px;padding:20px;background:var(--paper);display:flex;flex-direction:column;justify-content:space-between;position:relative;border:1px solid var(--line)}
.support-colors>div:before{content:'';width:32px;height:32px;background:var(--sample);border:1px solid #1112;position:absolute;right:18px;top:18px}
.support-colors span{font-size:10px;letter-spacing:.12em}
.support-colors code{font:500 11px Inter}
.weight-samples{display:grid;gap:9px;margin:0 0 35px}
.weight-samples b{font:400 15px/1.4 Geologica;font-variation-settings:'SHRP' 50,'CRSV' 0,'slnt' 0}
.weight-samples .geo-500{font-weight:500}.weight-samples .geo-600{font-weight:600}
.crystals{grid-template-columns:repeat(4,1fr)}
.crystals figure{min-height:405px;padding:22px}.crystals img{height:320px}
.spec{padding:120px var(--margin);background:#fff}
.spec-intro{display:grid;grid-template-columns:1fr;gap:25px;padding:38px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:55px}
.spec-intro span,.spec-toc>p{font-size:10px;letter-spacing:.15em;color:var(--muted)}
.spec-intro p{font:400 clamp(23px,2.5vw,42px)/1.28 Geologica;letter-spacing:-.03em;max-width:1180px;font-variation-settings:'SHRP' 50,'CRSV' 0,'slnt' 0}
.spec-layout{display:grid;grid-template-columns:minmax(210px,.29fr) minmax(0,1fr);gap:clamp(45px,6vw,120px)}
.spec-toc{position:sticky;top:115px;align-self:start;display:grid;gap:0}
.spec-toc>p{padding:0 0 20px}
.spec-toc a{display:grid;grid-template-columns:36px 1fr;gap:10px;padding:11px 0;border-top:1px solid var(--line);font-size:12px;line-height:1.4}
.spec-toc a span{color:var(--oxide)}.spec-toc a:hover{color:var(--oxide)}
.rule{border-top:1px solid var(--line)}.rule:last-child{border-bottom:1px solid var(--line)}
.rule summary{list-style:none;display:grid;grid-template-columns:45px 1fr 22px;align-items:center;gap:15px;cursor:pointer;padding:25px 4px}
.rule summary::-webkit-details-marker{display:none}
.rule summary span{font-size:11px;letter-spacing:.1em;color:var(--oxide)}
.rule summary strong{font:500 clamp(24px,2.2vw,41px)/1.1 Geologica;letter-spacing:-.035em;font-variation-settings:'SHRP' 50,'CRSV' 0,'slnt' 0}
.rule summary i{font:400 25px/1 Inter;color:var(--oxide);font-style:normal;transition:transform .2s ease}
.rule[open] summary i{transform:rotate(45deg)}
.rule-body{padding:8px 55px 48px 60px;max-width:1120px;font-size:14px;line-height:1.75;color:#354147}
.rule-body p,.rule-body ul,.rule-body ol,.rule-body h3,.rule-body .rule-table{margin:0 0 22px}
.rule-body h3{font-size:clamp(20px,1.6vw,29px);font-weight:500;letter-spacing:-.035em;margin:38px 0 17px;color:var(--ink)}
.rule-body h3:first-child{margin-top:0}
.rule-body ul,.rule-body ol{padding-left:22px}.rule-body li{margin-bottom:8px;max-width:820px}
.rule-body li::marker{color:var(--oxide)}
.rule-body strong{font-weight:600;color:var(--ink)}
.rule-body code{font:500 .9em/1.5 Inter;background:#e8ecee;padding:2px 4px;overflow-wrap:anywhere}
.rule-table{max-width:100%;overflow-x:auto}
.rule-table table{border-collapse:collapse;width:100%;min-width:530px;font-size:12px;line-height:1.55}
.rule-table th,.rule-table td{text-align:left;vertical-align:top;padding:13px 12px 13px 0;border-bottom:1px solid var(--line)}
.rule-table th{font-weight:600;color:var(--ink)}
.resources{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;background:var(--paper);padding:60px;margin-top:85px}
.resources h3{font-size:clamp(32px,3vw,56px);margin:26px 0}
.resources p{font-size:14px;color:var(--muted);max-width:530px}
.resource-links{display:grid;align-content:start}
.resource-links a{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:17px 0;font-size:14px}
.resource-links a:first-child{border-top:1px solid var(--line)}
.resource-links a:hover{color:var(--oxide)}
.resource-links a span{color:var(--oxide)}
@media(max-width:1100px){.quick-spec{grid-template-columns:repeat(2,1fr)}.quick-spec>*:nth-child(2){border-right:0}.quick-spec>*:nth-child(-n+2){border-bottom:1px solid var(--line)}.crystals{grid-template-columns:repeat(2,1fr)}.spec-layout{gap:40px}.resources{gap:40px}}
@media(max-width:720px){.topbar nav a[href="#spec"]{display:inline}.topbar nav{gap:18px}.quick-spec{grid-template-columns:1fr 1fr}.quick-spec>div,.quick-spec>a{min-height:104px;padding:18px}.quick-spec strong{font-size:23px}.quick-spec span{font-size:10px}.support-colors{grid-template-columns:1fr 1fr}.support-colors>div{min-height:100px}.weight-samples b{font-size:13px}.crystals{grid-template-columns:1fr}.crystals figure{min-height:300px}.crystals img{height:245px}.spec{padding:75px var(--margin)}.spec-intro{grid-template-columns:1fr;gap:18px;margin-bottom:40px}.spec-intro p{font-size:23px}.spec-layout{display:block}.spec-toc{position:static;grid-template-columns:1fr 1fr;column-gap:18px;margin-bottom:35px}.spec-toc>p{grid-column:1/-1}.spec-toc a{font-size:10px;grid-template-columns:25px 1fr;gap:5px;padding:9px 0}.rule summary{grid-template-columns:27px 1fr 18px;gap:10px;padding:20px 2px}.rule summary strong{font-size:22px}.rule-body{padding:0 0 25px 37px;font-size:13px}.rule-body h3{font-size:21px}.rule-table table{font-size:11px}.resources{grid-template-columns:1fr;margin-top:60px;padding:28px;gap:28px}.resources h3{font-size:35px}}
@media(prefers-reduced-motion:reduce){.rule summary i{transition:none}}

/* v1.5: the material library extends chapter 05; colors belong to the imagery. */
.material-group-title{font-size:clamp(24px,2vw,38px);font-weight:500;letter-spacing:-.035em;margin:0 0 30px}
.material-library{margin-top:110px;padding-top:80px;border-top:1px solid var(--line)}
.material-library-head{display:flex;flex-direction:column;align-items:stretch;gap:24px;margin-bottom:54px}
.material-library-head h3{font-size:clamp(42px,4.4vw,88px);font-weight:500;width:100%;max-width:none;letter-spacing:-.04em;text-wrap:balance}
.material-library-head>p{font-size:16px;color:var(--muted);max-width:780px}
.material-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:52px 28px}
.material-card{min-width:0;background:var(--paper)}
.material-card-image{display:block;position:relative;background:var(--depth);overflow:hidden}
.material-card-image img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.material-card-image>span{position:absolute;right:18px;bottom:18px;display:grid;place-items:center;width:34px;height:34px;background:var(--paper);color:var(--ink);font-size:21px;line-height:1}
.material-card-image:hover>span{background:var(--oxide);color:var(--paper)}
.material-card-copy{padding:28px 32px 34px}
.material-kicker{display:block;font-size:10px;line-height:1.5;letter-spacing:.1em;color:var(--muted);margin-bottom:20px}
.material-card h4{font:500 clamp(25px,2.1vw,40px)/1.17 Geologica,Arial,sans-serif;font-variation-settings:'SHRP' 50,'CRSV' 0,'slnt' 0;letter-spacing:-.035em;color:var(--ink);margin:0 0 18px;text-wrap:balance;hyphens:none}
.material-card-copy>p{font-size:14px;line-height:1.65;max-width:68ch;color:var(--muted)}
.material-card dl{margin:26px 0 0;padding-top:20px;border-top:1px solid var(--line);display:grid;gap:12px}
.material-card dl>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:16px;align-items:baseline}
.material-card dt{font-size:10px;line-height:1.5;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.material-card dd{margin:0;font-size:12px;line-height:1.55;color:var(--ink)}
.material-library-note{padding:56px 0 0;margin-top:40px}
.material-library-note h3{font-size:clamp(28px,3vw,52px);font-weight:500;margin-bottom:24px;width:100%;text-wrap:balance}
.material-library-note>p{max-width:800px;color:var(--muted);font-size:15px;line-height:1.7}
.material-rule-link{display:inline-flex;gap:24px;align-items:center;font-size:13px;line-height:1.5;margin-top:28px;border-bottom:1px solid var(--line);padding-bottom:9px}
.material-rule-link:hover{color:var(--oxide);border-color:var(--oxide)}
@media(max-width:1100px){.material-library-grid{gap:36px 20px}.material-card-copy{padding:25px}.material-card dl>div{grid-template-columns:1fr;gap:3px}.material-library{margin-top:80px;padding-top:60px}}
@media(max-width:720px){.material-group-title{font-size:25px;margin-bottom:24px}.material-library{margin-top:65px;padding-top:50px}.material-library-head{gap:22px;margin-bottom:35px}.material-library-head h3{font-size:clamp(35px,8.6vw,58px)}.material-library-head>p{font-size:15px}.material-library-grid{grid-template-columns:1fr;gap:32px}.material-card-copy{padding:23px}.material-card h4{font-size:28px}.material-card-copy>p{font-size:14px}.material-library-note{padding-top:35px;margin-top:25px}.material-library-note h3{font-size:32px}.material-library-note>p{font-size:14px}.material-card-image>span{width:30px;height:30px;right:12px;bottom:12px}}
