@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=Fraunces:opsz,wght@9..144,500;9..144,600&family=Noto+Sans+Symbols+2&display=swap');

:root { --ink:#133330; --forest:#0d3c3a; --forest-2:#145651; --paper:#f7f5f0; --cream:#ece6d8; --sun:#f1bd54; --coral:#dc7159; --mist:#d9e5df; --line:rgba(19,51,48,.16); --shadow:0 12px 32px rgba(12,51,48,.08); }
* { box-sizing:border-box; }
.gdt-symbol { width:1em; height:1em; display:block; flex:none; object-fit:contain; font-style:normal; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font:400 16px/1.55 "DM Sans",Arial,sans-serif; }
a { color:inherit; text-decoration:none; } button,input { font:inherit; } button { cursor:pointer; }
.shell { width:min(1160px, calc(100% - 48px)); margin-inline:auto; }
.skip-link { position:fixed; z-index:99; left:12px; top:-80px; padding:10px 16px; background:#fff; color:var(--forest); border-radius:6px; }.skip-link:focus{top:12px}
.site-header { position:sticky; z-index:10; top:0; background:rgba(247,245,240,.94); backdrop-filter:blur(14px); border-bottom:1px solid rgba(19,51,48,.08); }
.nav-wrap { min-height:78px; display:flex; align-items:center; justify-content:space-between; gap:24px; }.brand { display:inline-flex; align-items:center; gap:9px; font-size:18px; letter-spacing:-.04em; }.brand-mark { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; color:#fff; background:var(--forest); }.brand-position-mark { display:block; width:18px; height:18px; }.nav-links { display:flex; align-items:center; gap:28px; font-size:14px; font-weight:600; }.nav-links a:hover,.text-link:hover,.breadcrumb:hover { color:var(--coral); }.soon{font:500 10px/1 "DM Mono",monospace; background:var(--cream); padding:4px 5px; border-radius:4px; color:var(--forest)}.menu-button{display:none}
.hero { color:#fbfaf6; background:radial-gradient(circle at 80% 20%,rgba(62,137,126,.5),transparent 30%),var(--forest); overflow:hidden; }.hero-grid { min-height:610px; display:grid; grid-template-columns:1.12fr .88fr; align-items:center; gap:70px; }.eyebrow { margin:0 0 13px; color:var(--forest-2); font:500 11px/1.2 "DM Mono",monospace; text-transform:uppercase; letter-spacing:.12em; }.light { color:#b6d8cc; }.hero h1,.section-heading h2,.detail-title h1,.learn-hero h1,.shop-hero h1 { margin:0; letter-spacing:-.065em; line-height:.97; font-size:clamp(48px,6.2vw,77px); font-weight:600; }.hero h1 em,.section-heading em,.learn-hero em,.shop-hero em { color:var(--sun); font-family:Fraunces,serif; font-weight:500; }.hero-lede { max-width:585px; font-size:19px; color:#dce9e4; margin:28px 0; }.button-row { display:flex; gap:12px; flex-wrap:wrap; }.button { display:inline-flex; align-items:center; justify-content:center; gap:18px; min-height:48px; padding:13px 18px; border-radius:4px; border:1px solid transparent; font-size:14px; font-weight:700; transition:.2s transform,.2s background; }.button:hover{transform:translateY(-2px)}.primary{background:var(--sun);color:var(--forest)}.quiet{border-color:rgba(255,255,255,.35);color:#fff}.tiny-note{font-size:12px;color:#a9c7bd;margin-top:18px}
.gdt-mark{display:block;font-family:"Noto Sans Symbols 2","Noto Sans Symbols",sans-serif;line-height:1;font-style:normal}.feature-frame{position:relative;display:flex;width:max-content;background:#fff;border:2px solid var(--ink);margin:18px 0 25px;box-shadow:none}.feature-frame span{display:grid;place-items:center;min-height:44px;padding:8px 11px;border-right:1px solid var(--ink);font:500 16px "DM Mono",monospace}.feature-frame .frame-symbol{padding:7px 10px;background:#fff}.feature-frame .frame-symbol .gdt-mark{font-size:22px}.feature-frame span:last-child{border:0}.feature-frame .modifier{min-height:0;font-size:12px;border-radius:50%;padding:7px 5px;margin:3px;height:23px;border:1px solid var(--ink)}
.trust-strip{border-bottom:1px solid var(--line);background:#fffdfa}.trust-strip .shell{min-height:72px;display:flex;align-items:center;justify-content:center;gap:22px;font:500 12px "DM Mono",monospace;color:#49635e}.trust-strip i{width:4px;height:4px;border-radius:50%;background:var(--sun)}
.section { padding:104px 0; }.section-heading { display:flex; justify-content:space-between; gap:50px; align-items:end; margin-bottom:44px; }.section-heading h2 { font-size:clamp(36px,4.6vw,54px); }.section-heading p:last-child{max-width:365px;margin:0;color:#596b66}.intro-section{scroll-margin-top:80px}.symbol-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.symbol-card{position:relative;min-height:176px;display:grid;grid-template-columns:70px 1fr;align-items:start;gap:14px;padding:21px 20px;background:#fff;border:1px solid var(--line);box-shadow:0 1px 0 rgba(19,51,48,.03);transition:.22s transform,.22s box-shadow,.22s border}.symbol-card:hover{transform:translateY(-4px);border-color:rgba(19,51,48,.35);box-shadow:var(--shadow)}.card-link{position:absolute;inset:0;z-index:1}.symbol-glyph{width:70px;height:70px;display:flex;align-items:center;justify-content:center;background:transparent;border-radius:0;font:34px/1 Arial,sans-serif;color:var(--forest)}.symbol-glyph .gdt-symbol{width:68px;height:68px;transform:none}.card-family{margin:1px 0 6px;color:var(--coral);font:500 10px/1 "DM Mono",monospace;text-transform:uppercase;letter-spacing:.1em}.symbol-card h3{margin:0 0 6px;letter-spacing:-.035em;font-size:20px;line-height:1.1}.symbol-card p:not(.card-family){margin:0;color:#64736f;font-size:13px;line-height:1.45}
.how-section{padding:94px 0;background:var(--forest);color:#fff}.how-section .section-heading{align-items:end}.how-section .section-heading p:last-child{color:#b4d0c5}.narrow{margin-bottom:38px}.how-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.25);border-bottom:1px solid rgba(255,255,255,.25)}.how-grid article{padding:31px 32px 30px 0}.how-grid article+article{padding-left:32px;border-left:1px solid rgba(255,255,255,.25)}.how-grid span,.learn-cards span{color:var(--sun);font:500 11px "DM Mono",monospace}.how-grid h3{font-size:21px;letter-spacing:-.04em;margin:9px 0}.how-grid p{margin:0;color:#b4d0c5;font-size:14px}.text-link{display:inline-flex;gap:12px;margin-top:32px;color:var(--forest);font-weight:700;font-size:14px}.light-link{color:var(--sun)}.future-section{display:grid;grid-template-columns:1fr .75fr;align-items:center;gap:120px}.future-section h2{font-size:clamp(36px,4vw,49px);letter-spacing:-.06em;line-height:.98;margin:0 0 22px}.future-section>div>p:not(.eyebrow){max-width:460px;color:#596b66}.poster-preview,.large-poster{background:var(--sun);color:var(--forest);padding:28px;aspect-ratio:3/4;box-shadow:15px 15px 0 var(--forest);transform:rotate(3deg);display:flex;flex-direction:column;justify-content:space-between}.poster-preview>p{margin:0;font:600 23px/.9 "DM Mono",monospace;letter-spacing:-.1em}.poster-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:2px solid var(--forest);border-left:2px solid var(--forest)}.poster-grid span{display:grid;place-items:center;min-height:57px;border-right:2px solid var(--forest);border-bottom:2px solid var(--forest);font:25px Arial,sans-serif}.poster-preview small{font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.site-footer{padding:60px 0 0;background:#102b2a;color:#d6e2dd}.footer-grid{display:grid;grid-template-columns:1.25fr .65fr 1fr;gap:65px}.footer-brand{color:#fff}.footer-brand .brand-mark{background:var(--sun);color:var(--forest)}.footer-grid p{color:#a9c2b9;font-size:13px}.footer-grid>div:nth-child(2){display:flex;flex-direction:column;align-items:start;gap:8px}.footer-grid>div:nth-child(2) a{font-size:13px}.footer-grid>div:nth-child(2) a:hover{color:var(--sun)}.footer-base{margin-top:42px;padding:19px 0;border-top:1px solid rgba(255,255,255,.14);font-size:11px;color:#89a99d}
.detail-hero,.learn-hero,.shop-hero{padding:56px 0 72px;color:#fff;background:linear-gradient(120deg,var(--forest),#145951)}.breadcrumb{display:inline-block;margin-bottom:54px;color:#bbd6cb;font-size:13px;font-weight:700}.detail-title{display:flex;gap:26px;align-items:center}.detail-symbol{display:grid;place-items:center;flex:0 0 112px;width:112px;height:112px;background:transparent;color:var(--forest);font:46px Arial,sans-serif}.detail-symbol .gdt-symbol{width:96px;height:96px}.detail-title h1{font-size:clamp(44px,5vw,65px)}.detail-control-label{font-size:12px;letter-spacing:.14em}.detail-title>div:last-child>p:last-child{max-width:610px;margin:14px 0 0;color:#d5e4de;font-size:18px}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:90px;padding-top:76px;padding-bottom:100px}.detail-layout--single{grid-template-columns:minmax(0,900px);justify-content:center}.detail-layout--single .detail-main{max-width:none}.detail-main{max-width:700px}.intro-copy{margin:0 0 43px;font-size:23px;line-height:1.42;letter-spacing:-.025em;color:#314d47}.detail-main h2,.learn-layout h2{margin:39px 0 12px;letter-spacing:-.04em;font-size:29px}.detail-main>p:not(.intro-copy){color:#536763}.callout-example{padding:28px;margin:35px 0;background:var(--cream);border-left:5px solid var(--coral)}.callout-example .feature-frame{margin:15px 0}.custom-feature-frame{position:relative;width:var(--custom-frame-width,106px);height:44px;margin:15px 0;overflow:hidden;background:#fff}.custom-feature-frame img{position:absolute;top:-26px;left:-26px;display:block;width:var(--custom-image-width,158px);height:96px;max-width:none}.callout-example p:last-child{margin:0;color:#536763;font-size:14px}.fact-card,.help-card{padding:24px;background:#fff;border:1px solid var(--line);margin-bottom:16px}.fact-card dl{margin:0}.fact-card dl>div{padding:13px 0;border-top:1px solid var(--line)}.fact-card dt{font:500 10px "DM Mono",monospace;text-transform:uppercase;letter-spacing:.1em;color:#567069}.fact-card dd{margin:4px 0 0;font-size:14px;line-height:1.4}.help-card{background:var(--mist)}.help-card p:not(.eyebrow){font-size:14px;line-height:1.4}.help-card a{font-size:13px;font-weight:700;color:var(--forest)}.next-symbol{display:flex;justify-content:space-between;align-items:center;margin-top:65px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px}.next-symbol>span{color:#5b706a}.next-symbol a{font-weight:700}.next-symbol b{color:var(--coral);font-size:18px;margin-left:8px}
.learn-hero,.shop-hero{padding:85px 0}.learn-hero h1,.shop-hero h1{font-size:clamp(45px,5.6vw,70px)}.learn-hero>div>p:last-child,.shop-hero>div>p:last-child{margin:22px 0 0;max-width:650px;color:#d5e4de;font-size:19px}.learn-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:90px;padding-top:76px;padding-bottom:100px}.learn-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:26px 0 35px}.learn-cards>div{padding:19px;background:#fff;border:1px solid var(--line)}.learn-cards h3{margin:10px 0 8px;font-size:18px;line-height:1.1;letter-spacing:-.035em}.learn-cards p{margin:0;color:#5d6f6a;font-size:13px;line-height:1.45}.reading-list{margin:20px 0;padding:0;list-style:none;counter-reset:read}.reading-list li{position:relative;padding:0 0 18px 38px;color:#536763}.reading-list li:before{counter-increment:read;content:counter(read);position:absolute;left:0;top:1px;display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:var(--forest);color:#fff;font:11px "DM Mono",monospace}.full{width:100%}
.shop-layout{display:grid;grid-template-columns:1fr .72fr;gap:150px;align-items:center;padding-top:90px;padding-bottom:110px}.shop-layout h2{margin:0 0 16px;font-size:52px;letter-spacing:-.06em;line-height:.95}.shop-layout>div>p:not(.eyebrow){max-width:520px;color:#5a6d67}.shop-layout ul{padding-left:18px;margin:27px 0;color:#35544d}.shop-layout li{margin:7px 0}.disabled{background:#d6d3cc;color:#817f78;cursor:not-allowed}.disabled:hover{transform:none}.large-poster{min-height:470px;transform:rotate(-2deg);padding:31px;box-shadow:18px 18px 0 #bfd0c8}.poster-label{font:500 10px "DM Mono",monospace;letter-spacing:.1em}.large-poster h3{font:600 47px/.85 "DM Mono",monospace;letter-spacing:-.12em;margin:15px 0}.poster-rule{width:100%;height:4px;background:var(--forest)}.mini-symbols{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mini-symbols span{border:1px solid var(--forest);display:grid;place-items:center;min-height:60px;font:27px Arial,sans-serif}.large-poster p{margin:0;font-size:11px;text-transform:uppercase;letter-spacing:.11em}
@media(max-width:800px){.shell{width:min(100% - 32px,1160px)}.nav-wrap{min-height:67px}.menu-button{display:block;background:transparent;border:0;color:var(--forest);font-size:13px;font-weight:700}.nav-links{display:none;position:absolute;left:16px;right:16px;top:60px;flex-direction:column;align-items:stretch;gap:0;padding:8px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.nav-links.open{display:flex}.hero-grid{min-height:auto;grid-template-columns:1fr;gap:40px;padding:68px 0}.hero-diagram{width:min(100% - 16px,450px);justify-self:center;min-height:350px;transform:rotate(1deg);padding:31px 23px}.hero h1{font-size:clamp(48px,14vw,70px)}.trust-strip .shell{gap:12px;justify-content:space-between;font-size:10px}.trust-strip i{display:none}.section{padding:70px 0}.section-heading{display:block}.section-heading p:last-child{margin-top:20px}.symbol-grid{grid-template-columns:repeat(2,1fr)}.symbol-card{min-height:226px;grid-template-columns:1fr;padding:19px}.symbol-glyph{width:54px;height:54px;font-size:30px}.how-section{padding:65px 0}.how-grid{grid-template-columns:1fr}.how-grid article,.how-grid article+article{padding:21px 0;border-left:0}.how-grid article+article{border-top:1px solid rgba(255,255,255,.25)}.future-section{grid-template-columns:1fr;gap:45px}.poster-preview{max-width:270px;justify-self:center}.footer-grid{grid-template-columns:1fr;gap:25px}.detail-layout,.learn-layout,.shop-layout{grid-template-columns:1fr;gap:35px;padding-top:50px;padding-bottom:65px}.detail-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:14px}.detail-sidebar>*{margin:0}.detail-title{align-items:start}.detail-symbol{flex-basis:70px;width:70px;height:70px;font-size:32px}.detail-title h1{font-size:47px}.learn-cards{grid-template-columns:1fr}.shop-layout h2{font-size:45px}.large-poster{max-width:310px;justify-self:center;width:100%}}
@media(max-width:500px){.hero-grid{padding:57px 0}.hero-lede{font-size:17px}.hero-diagram{padding:25px 16px;box-shadow:10px 10px 0 rgba(6,25,24,.2)}.feature-frame span{padding:7px 8px;font-size:13px}.feature-frame span:first-child{font-size:19px}.diagram-part{margin:0 8px}.symbol-grid{grid-template-columns:1fr}.symbol-card{min-height:156px;grid-template-columns:58px 1fr}.detail-sidebar{grid-template-columns:1fr}.detail-title{gap:15px}.detail-symbol{flex-basis:60px;width:60px;height:60px}.detail-title h1{font-size:39px}.detail-title>div:last-child>p:last-child{font-size:15px}.intro-copy{font-size:20px}.callout-example{padding:19px}.trust-strip{display:none}}

/* Long-form symbol article components */
.article-section { margin-top:42px; }
.article-section > h2 { margin-top:0; }
.article-section > p { color:#536763; }
.zone-section { display:grid; grid-template-columns:145px minmax(0, 1fr); gap:27px; align-items:center; padding:27px; background:#e8eee9; border-left:5px solid var(--forest-2); }
.zone-section .eyebrow { margin-bottom:8px; }.zone-section h2 { margin:0 0 8px; letter-spacing:-.04em; font-size:26px; }.zone-section p:last-child { margin:0; color:#405c55; }
.zone-visual { position:relative; display:grid; gap:30px; align-items:center; justify-items:center; min-height:122px; overflow:hidden; background:#f8f7f1; border:1px solid rgba(19,51,48,.17); }
.zone-visual::before { display:none; }
.zone-visual i { display:none; }.zone-visual span { z-index:2; display:grid; place-items:center; width:auto; height:auto; background:transparent; color:var(--forest); }.zone-visual .gdt-mark { font-size:48px; }
.zone-profile i { width:88px; height:18px; border-top:2px solid var(--forest); border-radius:50%; background:transparent; }.zone-profile::before { border-radius:50%; }.zone-location::before,.zone-runout::before { border-radius:50%; inset:20px 34px; }.zone-location i,.zone-runout i { position:absolute; top:60px; width:105px; background:rgba(19,51,48,.56); }.zone-orientation i { transform:rotate(-16deg); }.zone-form i { width:95px; }
.frame-decoder { display:grid; grid-template-columns:repeat(3, 1fr); gap:12px; margin-top:22px; padding-top:18px; border-top:1px solid rgba(19,51,48,.18); }.frame-decoder div { display:flex; flex-direction:column; gap:4px; }.frame-decoder b { font:500 10px "DM Mono",monospace; letter-spacing:.1em; text-transform:uppercase; color:var(--forest-2); }.frame-decoder span { color:#526a63; font-size:12px; line-height:1.4; }
.application-section { display:grid; grid-template-columns:1fr 1fr; gap:48px; padding:38px 0 4px; border-top:1px solid var(--line); }.application-section > div + div { border-left:1px solid var(--line); padding-left:48px; }.application-section .eyebrow { margin-bottom:9px; }.application-section h2 { margin:0 0 10px; font-size:25px; line-height:1.1; }.application-section p:last-child { margin:0; color:#536763; }
.watch-card { margin-top:42px; padding:23px 25px; background:#fff; border:1px solid rgba(220,113,89,.45); border-left:5px solid var(--coral); }.watch-card .eyebrow { color:#b24d3c; margin-bottom:7px; }.watch-card p:last-child { margin:0; color:#4e625c; }
@media(max-width:800px) { .zone-section { grid-template-columns:112px minmax(0,1fr); padding:20px; gap:20px; }.zone-visual { min-height:115px; }.application-section { gap:28px; }.application-section > div + div { padding-left:28px; } }
@media(max-width:560px) { .zone-section,.application-section { grid-template-columns:1fr; }.zone-visual { max-width:155px; min-height:112px; }.application-section > div + div { border-left:0; border-top:1px solid var(--line); padding:31px 0 0; }.frame-decoder { grid-template-columns:1fr; gap:12px; }.frame-decoder div { display:grid; grid-template-columns:82px 1fr; align-items:start; }.detail-main .article-section { margin-top:35px; } }

/* Article-end symbol directory */
.article-symbol-directory { margin-top:58px; padding-top:39px; border-top:1px solid var(--line); }
.directory-heading { display:flex; justify-content:space-between; gap:20px; align-items:end; margin-bottom:18px; }.directory-heading .eyebrow { margin-bottom:7px; }.directory-heading h2 { margin:0; font-size:29px; letter-spacing:-.045em; }.directory-heading > a { color:var(--forest); font-size:13px; font-weight:700; white-space:nowrap; }.directory-heading > a:hover { color:var(--coral); }
.compact-symbol-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:9px; }.compact-symbol { min-height:66px; display:grid; grid-template-columns:48px minmax(0, 1fr) auto; align-items:center; gap:9px; padding:9px 11px; background:#fff; border:1px solid var(--line); color:var(--ink); transition:.18s transform,.18s border-color,.18s background; }.compact-symbol:not(.active):hover { transform:translateY(-2px); border-color:var(--forest); background:#f9fbf8; }.compact-symbol i { display:grid; place-items:center; width:44px; height:44px; background:transparent; font:17px/1 Arial,sans-serif; font-style:normal; color:var(--forest); }.compact-symbol i .gdt-symbol { width:42px; height:42px; }.compact-symbol b { font-size:12px; line-height:1.14; letter-spacing:-.015em; }.compact-symbol > span { color:var(--coral); font-weight:700; }.compact-symbol small { color:#60756e; font:9px/1.2 "DM Mono",monospace; text-transform:uppercase; letter-spacing:.06em; }.compact-symbol.active { grid-template-columns:48px minmax(0, 1fr); background:var(--forest); border-color:var(--forest); color:#fff; }.compact-symbol.active i { background:transparent; }.compact-symbol.active small { margin-top:3px; color:#b8d5ca; display:block; }
@media(max-width:800px) { .compact-symbol-grid { grid-template-columns:repeat(2, 1fr); } }
@media(max-width:560px) { .article-symbol-directory { margin-top:45px; padding-top:31px; }.directory-heading { align-items:start; flex-direction:column; gap:10px; }.compact-symbol-grid { grid-template-columns:1fr; }.compact-symbol { min-height:53px; } }

/* A fast path to the symbol library on the home page. */
.home .hero-grid { min-height:0; display:block; padding:28px 0 31px; }.home .hero-copy { max-width:730px; }.home .hero h1 { font-size:clamp(42px, 4.2vw, 54px); }.home .hero-lede { max-width:650px; margin:13px 0 16px; font-size:16px; }.home .intro-section { padding-top:36px; }.home .intro-section .section-heading { margin-bottom:30px; }.home .intro-section .section-heading h2 { font-size:clamp(34px, 3.7vw, 45px); }
@media(max-width:800px) { .home .hero-grid { padding:32px 0 35px; }.home .hero h1 { font-size:clamp(40px, 10vw, 52px); }.home .intro-section { padding-top:40px; } }
@media(max-width:500px) { .home .hero-grid { padding:30px 0 33px; }.home .hero-lede { margin:13px 0 16px; font-size:16px; }.home .intro-section .section-heading h2 { font-size:36px; } }

/* Separate learning library: datums, frames, and material conditions. */
.learning-library { padding-top:76px; padding-bottom:50px; }.learning-library > h2 { margin:0; font-size:clamp(38px,4.5vw,56px); letter-spacing:-.06em; line-height:.98; }.learning-library > h2 em { color:var(--coral); font-family:Fraunces,serif; font-weight:500; }.learning-intro { max-width:660px; margin:19px 0 30px; color:#536763; font-size:17px; }.foundation-grid { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:13px; }.foundation-card { min-height:198px; display:flex; padding:0; background:#fff; border:1px solid var(--line); transition:.2s transform,.2s box-shadow,.2s border-color; }.foundation-card:hover { transform:translateY(-3px); border-color:rgba(19,51,48,.38); box-shadow:var(--shadow); }.foundation-card a { display:flex; flex:1; flex-direction:column; padding:24px; }.foundation-card .eyebrow { margin-bottom:9px; color:var(--coral); }.foundation-card h3 { margin:0 0 10px; font-size:25px; letter-spacing:-.045em; }.foundation-card p:not(.eyebrow) { margin:0; max-width:440px; color:#596d67; font-size:14px; line-height:1.5; }.foundation-card a > span { margin-top:auto; padding-top:16px; color:var(--forest); font-size:13px; font-weight:700; }.foundation-card a > span b { margin-left:4px; color:var(--coral); }.foundation-layout { display:grid; grid-template-columns:minmax(0,900px); justify-content:center; padding-top:76px; padding-bottom:100px; }.foundation-main { max-width:none; }.foundation-hero h1 { margin:0; max-width:850px; font-size:clamp(47px,5.5vw,70px); line-height:.97; letter-spacing:-.065em; }.foundation-hero > .shell > p:last-child { max-width:680px; margin:16px 0 0; color:#d5e4de; font-size:19px; }.guide-example { margin-top:42px; padding:27px; background:var(--cream); border-left:5px solid var(--forest-2); }.guide-example .eyebrow { margin-bottom:12px; }.guide-example > p:last-child { margin:0; color:#526761; font-size:14px; }.guide-frame { display:flex; width:max-content; max-width:100%; margin:0 0 20px; overflow:hidden; background:#fff; border:2px solid var(--ink); box-shadow:5px 5px 0 var(--sun); }.guide-frame > span { min-width:44px; display:grid; place-items:center; padding:8px 11px; border-right:1px solid var(--ink); font:500 16px/1 "DM Mono",monospace; }.guide-frame > span:last-child { border-right:0; }.guide-frame .guide-frame-symbol { min-width:48px; font:25px/1 "Noto Sans Symbols 2","Noto Sans Symbols",sans-serif; }.guide-frame .guide-modifier { min-width:25px; width:25px; height:25px; padding:0; align-self:center; margin:4px 7px; border:1px solid var(--ink); border-radius:50%; font-size:12px; }.foundation-directory { margin-top:58px; padding-top:39px; border-top:1px solid var(--line); }.foundation-directory > h2 { margin:0 0 18px; font-size:29px; letter-spacing:-.045em; }.compact-foundation-grid .foundation-card { min-height:152px; }.compact-foundation-grid .foundation-card h3 { font-size:19px; line-height:1.14; }.compact-foundation-grid .foundation-card.active { display:flex; flex-direction:column; justify-content:center; padding:24px; background:var(--forest); border-color:var(--forest); color:#fff; }.compact-foundation-grid .foundation-card.active .eyebrow { color:var(--sun); }.compact-foundation-grid .foundation-card.active b { font-size:19px; letter-spacing:-.03em; }.compact-foundation-grid .foundation-card.active small { margin-top:6px; color:#bdd7cc; font:10px "DM Mono",monospace; text-transform:uppercase; letter-spacing:.08em; }
@media(max-width:800px) { .learning-library { padding-top:55px; }.foundation-layout { grid-template-columns:1fr; padding-top:50px; padding-bottom:65px; }.foundation-card { min-height:185px; } }
@media(max-width:560px) { .foundation-grid { grid-template-columns:1fr; }.learning-intro { font-size:16px; }.foundation-card { min-height:172px; }.foundation-hero > .shell > p:last-child { font-size:16px; }.guide-example { padding:20px; }.guide-frame > span { min-width:35px; padding:8px 8px; font-size:14px; }.guide-frame .guide-frame-symbol { min-width:42px; font-size:22px; } }

@media(max-width:800px) { .detail-symbol .gdt-symbol { width:64px; height:64px; } }
@media(max-width:500px) { .detail-symbol .gdt-symbol { width:54px; height:54px; } }

/* Keep the foundations visually distinct from the geometric-control library. */
.foundation-home-section { margin-top:68px; padding-top:56px; border-top:1px solid var(--line); scroll-margin-top:90px; }.foundation-home-heading { display:flex; align-items:end; justify-content:space-between; gap:50px; margin-bottom:28px; }.foundation-home-heading h2 { margin:0; font-size:clamp(34px,3.9vw,47px); line-height:.98; letter-spacing:-.06em; }.foundation-home-heading h2 em { color:var(--coral); font-family:Fraunces,serif; font-weight:500; }.foundation-home-heading > p { max-width:395px; margin:0; color:#596b66; }.home-foundation-grid { grid-template-columns:repeat(3, minmax(0,1fr)); }.home-foundation-grid .foundation-card { min-height:176px; }.home-foundation-grid .foundation-card a { padding:20px; }.home-foundation-grid .foundation-card h3 { margin-bottom:8px; font-size:20px; }.home-foundation-grid .foundation-card p:not(.eyebrow) { font-size:13px; }.home-foundation-grid .foundation-card a > span { padding-top:13px; }.inline-link { color:var(--forest-2); text-decoration:underline; text-decoration-color:var(--sun); text-decoration-thickness:2px; text-underline-offset:3px; font-weight:700; }
@media(max-width:800px) { .foundation-home-heading { display:block; }.foundation-home-heading > p { margin-top:18px; }.home-foundation-grid { grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media(max-width:560px) { .foundation-home-section { margin-top:48px; padding-top:42px; }.home-foundation-grid { grid-template-columns:1fr; } }

/* Search-friendly long-form articles: clear hierarchy, readable copy, and useful paths onward. */
.articles-library { padding-top:76px; padding-bottom:100px; }.articles-library > h2 { margin:0; font-size:clamp(38px,4.5vw,56px); letter-spacing:-.06em; line-height:.98; }.articles-library > h2 em { color:var(--coral); font-family:Fraunces,serif; font-weight:500; }.articles-intro { max-width:690px; margin:19px 0 32px; color:#536763; font-size:17px; }.article-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }.article-card { display:flex; min-height:242px; background:#fff; border:1px solid var(--line); transition:.2s transform,.2s box-shadow,.2s border-color; }.article-card:hover { transform:translateY(-3px); border-color:rgba(19,51,48,.38); box-shadow:var(--shadow); }.article-card a { display:flex; flex:1; flex-direction:column; padding:25px; color:var(--ink); }.article-card .eyebrow { margin-bottom:10px; color:var(--coral); }.article-card h2 { margin:0 0 11px; font-size:25px; line-height:1.1; letter-spacing:-.045em; }.article-card p:not(.eyebrow) { margin:0; color:#596d67; font-size:14px; line-height:1.5; }.article-card a > span { margin-top:auto; padding-top:16px; color:var(--forest); font-size:13px; font-weight:700; }.article-card a > span b { margin-left:4px; color:var(--coral); }.article-layout { display:grid; grid-template-columns:minmax(0,900px); justify-content:center; padding-top:76px; padding-bottom:100px; }.article-main { max-width:none; }.article-main > .article-section > h2 { font-size:31px; }.article-hero h1 { max-width:940px; margin:0; font-size:clamp(43px,5vw,66px); line-height:.98; letter-spacing:-.065em; }.article-hero > .shell > p:last-child { max-width:760px; margin:17px 0 0; color:#d5e4de; font-size:19px; }.faq-section { margin-top:50px; padding-top:38px; border-top:1px solid var(--line); }.faq-section > h2 { margin:0 0 17px; }.faq-section > details { border-top:1px solid var(--line); }.faq-section > details:last-child { border-bottom:1px solid var(--line); }.faq-section summary { padding:17px 28px 17px 0; cursor:pointer; color:var(--forest); font-weight:700; list-style:none; position:relative; }.faq-section summary::-webkit-details-marker { display:none; }.faq-section summary::after { content:'+'; position:absolute; right:4px; color:var(--coral); font-size:21px; font-weight:400; }.faq-section details[open] summary::after { content:'−'; }.faq-section details p { margin:0 0 19px; color:#536763; }.related-links { padding:27px; background:#e8eee9; border-left:5px solid var(--forest-2); }.related-links > h2 { margin:0 0 12px; font-size:27px; }.related-links > ul { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:0; padding:0; list-style:none; }.related-links a { display:block; min-height:100%; padding:14px; background:#fff; border:1px solid rgba(19,51,48,.16); color:var(--forest); font-size:14px; font-weight:700; }.related-links a:hover { border-color:var(--forest); }.related-links a span { color:var(--coral); }.article-directory { margin-top:58px; padding-top:39px; border-top:1px solid var(--line); }.article-directory > h2 { margin:0 0 18px; font-size:29px; letter-spacing:-.045em; }.compact-article-grid .article-card { min-height:164px; }.compact-article-grid .article-card h2 { font-size:19px; }.compact-article-grid .article-card.active { display:flex; flex-direction:column; justify-content:center; padding:24px; background:var(--forest); border-color:var(--forest); color:#fff; }.compact-article-grid .article-card.active .eyebrow { color:var(--sun); }.compact-article-grid .article-card.active b { font-size:19px; line-height:1.15; letter-spacing:-.03em; }.compact-article-grid .article-card.active small { margin-top:7px; color:#bdd7cc; font:10px "DM Mono",monospace; text-transform:uppercase; letter-spacing:.08em; }
@media(max-width:800px) { .articles-library,.article-layout { padding-top:55px; padding-bottom:65px; }.article-grid { grid-template-columns:1fr; }.article-card { min-height:190px; }.related-links > ul { grid-template-columns:1fr; }.article-hero > .shell > p:last-child { font-size:16px; } }
@media(max-width:560px) { .articles-library > h2 { font-size:38px; }.articles-intro { font-size:16px; }.article-card a { padding:21px; }.article-main > .article-section > h2 { font-size:28px; }.article-directory { margin-top:45px; padding-top:31px; } }

/* Keep the display type bold without crowding its letterforms. */
.hero h1,.section-heading h2,.detail-title h1,.learn-hero h1,.shop-hero h1,.foundation-hero h1,.article-hero h1 { letter-spacing:-.028em; line-height:1.01; }
.future-section h2,.shop-layout h2,.learning-library > h2,.foundation-home-heading h2,.articles-library > h2 { letter-spacing:-.025em; line-height:1.02; }
.detail-main h2,.learn-layout h2,.article-main > .article-section > h2,.article-card h2,.foundation-card h3,.large-poster h3 { letter-spacing:-.018em; }

/* User-supplied GD&T drawings placed immediately after each tolerance-zone explanation. */
.example-diagram-section { margin-top:38px; }.example-diagram-section > h2 { margin:0 0 17px; font-size:28px; letter-spacing:-.018em; }.example-diagram-section .eyebrow { margin-bottom:8px; }.example-diagram-grid { display:grid; grid-template-columns:minmax(0, 1fr); gap:18px; }.example-diagram-grid.has-pair { grid-template-columns:var(--pair-columns, 1fr 1fr); }.example-diagram-grid figure { margin:0; overflow:hidden; background:#fff; border:1px solid var(--line); }.example-diagram-grid img { display:block; width:100%; height:auto; max-height:580px; object-fit:contain; background:#fff; }.example-diagram-grid figcaption { padding:10px 13px; border-top:1px solid var(--line); color:#5b706a; font-size:12px; }.example-diagram-grid:not(.has-pair) figure { max-width:720px; }.example-diagram-grid.has-pair figure { display:flex; flex-direction:column; }.example-diagram-grid.has-pair img { flex:1 1 auto; min-height:0; height:100%; object-fit:contain; }.example-diagram-grid.has-pair figcaption { display:flex; align-items:center; min-height:37px; }
@media(max-width:560px) { .example-diagram-section { margin-top:34px; }.example-diagram-section > h2 { font-size:26px; }.example-diagram-grid.has-pair { grid-template-columns:1fr; } }

/* Give every supplied drawing the same display area without cropping its content. */
.example-diagram-grid img { height:400px; max-height:400px; object-fit:contain; }
.example-diagram-grid.has-pair img { flex:0 0 400px; height:400px; }
@media(max-width:560px) { .example-diagram-grid img,.example-diagram-grid.has-pair img { flex-basis:280px; height:280px; max-height:280px; } }

/* Original, reference-checked tolerance-zone illustrations. */
.tolerance-zone-illustration { margin-top:42px; }.tolerance-zone-illustration > h2 { margin:0 0 17px; font-size:28px; letter-spacing:-.018em; }.tolerance-zone-illustration .eyebrow { margin-bottom:8px; }.tolerance-zone-illustration figure { max-width:900px; margin:0; overflow:hidden; background:#fff; border:1px solid var(--line); }.tolerance-zone-illustration img { display:block; width:100%; height:auto; background:#fff; }
.tolerance-zone-illustration-grid { display:grid; max-width:900px; grid-template-columns:minmax(0,1fr); gap:18px; }.tolerance-zone-illustration-grid.has-pair { grid-template-columns:repeat(2,minmax(0,1fr)); }.tolerance-zone-illustration-grid.has-pair figure { max-width:none; }
@media(max-width:560px) { .tolerance-zone-illustration { margin-top:36px; }.tolerance-zone-illustration > h2 { font-size:26px; } }
@media(max-width:680px) { .tolerance-zone-illustration-grid.has-pair { grid-template-columns:1fr; } }

/* The symbol pages no longer have a standalone introduction, so keep their header and first section compact. */
.detail-page .detail-hero { padding:30px 0 34px; }
.detail-page .breadcrumb { margin-bottom:26px; }
.detail-page .detail-symbol { flex-basis:84px; width:84px; height:84px; }
.detail-page .detail-symbol .gdt-symbol { width:76px; height:76px; }
.detail-layout--single { padding-top:18px; }
.detail-main > .article-section:first-child h2 { margin-top:0; }
@media(max-width:800px) { .detail-page .detail-hero { padding:24px 0 28px; }.detail-page .breadcrumb { margin-bottom:20px; }.detail-layout--single { padding-top:16px; } }
