@import url('./visuals.css');
:root{--ink:#182b30;--muted:#566668;--paper:#f7f7f1;--white:#fff;--line:#d9dfd9;--blue:#19596b;--accent:#cf6637;--yellow:#efe79c;--pale:#e7eee8;--radius:18px;font-family:Inter,'Helvetica Neue',Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:4px}button{cursor:pointer}button:disabled{cursor:not-allowed}img{display:block;max-width:100%}button,a,summary,input,textarea,select{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex="0"]:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.skip{position:fixed;top:-100px;left:12px;z-index:100;background:var(--ink);color:white;padding:14px}.skip:focus{top:8px}.site-header{height:88px;max-width:1440px;margin:auto;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.logo{font-family:Georgia,serif;font-size:42px;font-weight:700;letter-spacing:-3px;line-height:1}.logo span{color:var(--accent)}.site-header>nav{display:flex;gap:32px;align-items:center;font-size:14px;font-weight:600}.mobile-nav{display:none}.wrap{max-width:1280px;margin:auto;padding:0 5%}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:1.9px;font-weight:750;color:var(--blue);line-height:1.6;margin:0 0 16px}.hero{max-width:1440px;margin:auto;padding:54px 5% 38px;display:grid;grid-template-columns:1fr 1.03fr;gap:50px;align-items:center}.hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(42px,4.55vw,68px);font-weight:400;line-height:1.04;letter-spacing:-2.5px;margin:0 0 22px;max-width:650px}.hero p.lead,.page-head .lead{font-size:18px;line-height:1.65;color:var(--muted);max-width:650px}.hero-image{position:relative;overflow:hidden;border-radius:4px 70px 4px 4px;background:#d6ddd3;aspect-ratio:1.08}.hero-image img{width:100%;height:100%;object-fit:cover}.image-note{position:absolute;right:14px;bottom:12px;font-size:10px;background:#ffffffde;color:var(--ink);padding:5px 8px;border-radius:20px}.hero-caption{display:flex;align-items:center;gap:12px;font-size:12px;margin-top:14px;color:var(--muted)}.caption-dot{width:7px;height:7px;background:var(--accent);border-radius:50%}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:25px}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:46px;padding:13px 18px;border:1px solid var(--ink);border-radius:5px;background:var(--ink);color:#fff;font-weight:650;font-size:13px;line-height:1.3}.button:hover{background:var(--blue);text-decoration:none}.button.secondary{background:transparent;color:var(--ink);border-color:#acb9b4}.button.secondary:hover{background:var(--pale)}.text-link{font-size:14px;font-weight:650;border-bottom:1px solid currentColor;padding-bottom:4px;display:inline-flex;gap:18px}.section{padding-top:58px;padding-bottom:58px}.section-heading{display:flex;gap:40px;justify-content:space-between;align-items:end;margin-bottom:28px}.section-heading h2,.section h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(29px,3vw,42px);line-height:1.12;letter-spacing:-1px;margin:0}.section-heading p{max-width:410px;font-size:15px;line-height:1.7;color:var(--muted);margin:0}.rule{border-top:1px solid var(--line)}.discovery-bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:13px;padding-top:22px;padding-bottom:22px;border-block:1px solid var(--line)}.discovery-bar>span{color:var(--muted);margin-right:12px}.chip{display:inline-flex;align-items:center;padding:9px 13px;border-radius:25px;background:white;border:1px solid var(--line);font-size:12px;line-height:1.3}.chip:hover,.chip.active{background:var(--ink);border-color:var(--ink);color:white;text-decoration:none}.story-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:24px}.story{border-radius:12px;overflow:hidden;position:relative;min-width:0;background:var(--white)}.story>a{display:block}.story img{width:100%;height:260px;object-fit:cover;transition:transform .3s}.story:hover img{transform:scale(1.015)}.story-content{padding:25px}.story h3{font-family:Georgia,serif;font-size:31px;font-weight:400;line-height:1.15;margin:10px 0}.story p{font-size:14px;line-height:1.7;color:var(--muted);margin:0 0 18px}.story.small{display:grid;grid-template-columns:38% 1fr;grid-column:1/-1}.story.small img{height:100%;min-height:220px}.story.small .story-content{align-self:center;padding:30px}.tag{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--blue);font-weight:750}.scene-section{background:#e9eee7;border-block:1px solid #d7e0d4}.scene-layout{display:grid;grid-template-columns:1.5fr .6fr;gap:35px;align-items:center}.scene-stage{min-width:0}.scene-stage svg{display:block;width:100%;max-height:420px}.scene-aside{border-left:2px solid #8caaa1;padding:6px 0 6px 24px}.scene-aside h3{font-size:22px;line-height:1.3;margin:0 0 12px}.scene-aside p{font-size:14px;line-height:1.7;color:var(--muted)}.scene-tabs{display:flex;gap:9px;flex-wrap:wrap;margin:20px 0}.scene-tabs button{min-height:42px;border:1px solid #a8b7ad;border-radius:22px;padding:10px 16px;background:transparent;font-size:12px}.scene-tabs button[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}.tool-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.tool-card{display:flex;flex-direction:column;border-top:2px solid var(--blue);padding:24px 0 0;min-width:0}.tool-no{font-family:Georgia,serif;font-size:42px;color:#74949c;margin:0 0 20px}.tool-card h3{font-size:20px;font-weight:550;line-height:1.3;margin:0 0 12px}.tool-card p{font-size:14px;color:var(--muted);line-height:1.6;flex:1}.tool-card .text-link{align-self:start;margin-top:12px}.catalog-shelf{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.equipment-card{min-width:0;display:block;background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.equipment-frame{height:175px;min-width:0;min-height:0;background:#edf1ed;padding:18px;display:flex;align-items:center;justify-content:center}.equipment-frame>svg.equipment-art{display:block;flex:1 1 0;width:100%;height:100%;max-width:100%;max-height:100%;min-width:0;min-height:0}.equipment-card .body{padding:18px}.equipment-card h3{font-size:17px;line-height:1.3;font-weight:550;margin:8px 0 10px}.equipment-card p{font-size:12px;color:var(--muted);line-height:1.5;margin:0}.library-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.resource{display:grid;grid-template-columns:62px 1fr;gap:18px;padding:24px 0;border-top:1px solid var(--line)}.resource-icon{width:54px;height:68px;border-radius:4px;background:#e4e9de;display:grid;place-items:center;font-family:Georgia,serif;font-size:25px;color:var(--blue)}.resource h3{font-size:19px;line-height:1.35;font-weight:550;margin:7px 0}.resource p{font-size:13px;line-height:1.6;margin:0;color:var(--muted)}.band{background:var(--ink);color:white;border-radius:12px;padding:38px;display:flex;justify-content:space-between;align-items:center;gap:40px;margin-bottom:60px}.band h2{max-width:570px;color:#fff}.band p{font-size:14px;color:#c5d6d4;line-height:1.7}.band .button{background:#e5eacb;color:var(--ink);border:0;flex-shrink:0}.site-footer{max-width:1280px;margin:auto;padding:40px 5% 30px;display:grid;grid-template-columns:80px 1fr 1fr;gap:25px;border-top:1px solid var(--line)}.site-footer p{font-size:13px;line-height:1.6;margin:0;color:var(--muted)}.site-footer nav{display:flex;gap:18px;flex-wrap:wrap;justify-content:end;font-size:12px}.site-footer small{grid-column:1/-1;font-size:11px;color:var(--muted);margin-top:20px}.crumb{font-size:12px;color:var(--muted);display:flex;gap:10px;padding:24px 0}.page-head{padding-top:14px;padding-bottom:36px}.page-head h1{font-family:Georgia,serif;font-size:clamp(37px,4.5vw,60px);font-weight:400;line-height:1.06;letter-spacing:-1.6px;max-width:830px;margin:0 0 20px}.page-head.compact h1{font-size:44px}.app-hero{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center;margin-bottom:34px}.app-hero img{aspect-ratio:1.5;object-fit:cover;width:100%;border-radius:8px}.application-lede{max-width:800px;font-size:19px;line-height:1.75;margin:28px 0}.chapters{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.chapter{padding:20px 0;border-top:1px solid var(--line)}.chapter h3{font-size:18px;line-height:1.3}.chapter p,.chapter li{font-size:14px;color:var(--muted);line-height:1.75}.chapter ul{padding-left:18px}.subnav{display:flex;gap:8px;flex-wrap:wrap;padding:16px 0;border-block:1px solid var(--line)}.subnav a{font-size:12px;padding:10px 13px;border:1px solid #c2ccc5;border-radius:22px;background:white}.filter-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 25px}.search{border:1px solid #aebbb4;background:#fff;border-radius:6px;min-height:44px;padding:11px 14px;min-width:260px;max-width:100%}.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.equipment-detail{display:grid;grid-template-columns:1fr 1fr;gap:45px}.equipment-detail .equipment-frame{height:380px;border-radius:12px}.facts{margin:0}.facts div{display:grid;grid-template-columns:.8fr 1.2fr;gap:18px;border-bottom:1px solid var(--line);padding:15px 0;font-size:14px;line-height:1.5}.facts dt{color:var(--muted)}.facts dd{margin:0}.note{font-size:12px;line-height:1.7;color:var(--muted);max-width:750px}.notice{background:#efeedb;border-left:3px solid #aa7b30;padding:14px 17px;font-size:13px;line-height:1.7;border-radius:3px;margin:18px 0}.workbench{display:grid;grid-template-columns:310px minmax(0,1fr);gap:28px;align-items:start;margin-top:22px}.controls{padding:26px;border:1px solid var(--line);background:white;border-radius:12px}.controls h2{font-family:inherit;font-size:18px;font-weight:600;margin:0 0 15px}.controls label{display:block;font-size:13px;line-height:1.5;margin:22px 0 9px;font-weight:600}.controls input[type=range]{width:100%;accent-color:var(--blue);min-height:32px}.controls select{width:100%;min-height:45px;border-radius:5px;border:1px solid #bac4bc;padding:9px;background:var(--paper);color:var(--ink)}.controls output{float:right;font-size:14px;font-weight:650;color:var(--blue)}.result{background:#e8eeeb;border-radius:12px;padding:30px;min-width:0}.result h2{font-family:Georgia,serif;font-size:30px;margin:0 0 20px;font-weight:400}.result p{font-size:14px;line-height:1.7;color:var(--muted)}.result h3{font-size:18px;font-weight:600}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:20px 0}.reading{padding:20px;background:#fff;border-radius:8px}.reading small{font-size:11px;color:var(--muted);display:block;line-height:1.5}.reading strong{font-family:Georgia,serif;font-size:32px;font-weight:400;display:block;margin:8px 0}.table-scroll{overflow-x:auto;max-width:100%;border:1px solid var(--line);border-radius:8px;margin:22px 0;background:white}.compare-table{border-collapse:collapse;width:100%;font-size:13px;line-height:1.6}.compare-table th,.compare-table td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top}.compare-table th{font-weight:600;background:#eff1e9}.compare-table tr:last-child td{border:0}.status-pill{display:inline-block;border-radius:4px;background:#e9ecd7;color:#435443;padding:4px 7px;font-size:11px;line-height:1.5}.status-pill.wait{background:#f1ead7;color:#6d5424}.details{border-top:1px solid var(--line);margin:24px 0;font-size:13px;line-height:1.7}.details summary{cursor:pointer;padding:16px 0;font-weight:600}.details p{font-size:13px}.flow-stops{display:flex;gap:10px;overflow-x:auto;padding:12px 0 16px}.flow-stops button{background:white;border:1px solid #becbc1;border-radius:6px;min-height:54px;padding:13px 16px;flex:1;font-size:12px;min-width:106px}.flow-stops button[aria-pressed=true]{background:var(--blue);color:white;border-color:var(--blue)}.check-row{display:flex;gap:12px;align-items:flex-start;margin:15px 0;font-size:14px;line-height:1.6}.check-row input{width:19px;height:19px;flex-shrink:0;margin-top:3px;accent-color:var(--blue)}.check-row label{cursor:pointer}.learning{display:grid;grid-template-columns:minmax(0,760px) 260px;gap:60px}.prose{font-size:16px;line-height:1.85}.prose h2{font-family:Georgia,serif;font-weight:400;font-size:30px;line-height:1.2;margin:35px 0 15px}.prose h3{font-size:20px;margin:28px 0 14px}.prose p{color:#465b60}.prose ul{padding-left:20px}.lesson-aside{position:sticky;top:28px;align-self:start;border-top:2px solid var(--accent);padding-top:20px;font-size:13px;line-height:1.7}.exercise{background:#e6eddf;border-radius:12px;padding:28px;margin-top:34px}.exercise h2{margin-top:0}.exercise button{display:block;width:100%;text-align:left;border:1px solid #bacbb3;border-radius:5px;background:white;padding:14px 18px;margin:12px 0;font-size:14px;line-height:1.6}.exercise button[aria-pressed=true]{border:2px solid var(--blue);background:#f9fcf6}.feedback{padding:15px 0 0;font-size:14px;line-height:1.7}.material-preview{background:white;border:1px solid var(--line);border-radius:8px;padding:32px;max-width:850px}.material-preview h2{font-family:Georgia,serif;font-size:25px;font-weight:400}.material-preview textarea{display:block;width:100%;min-height:95px;border:1px solid #b9c4be;border-radius:6px;background:var(--paper);padding:13px;font:inherit;font-size:14px}.material-preview label{display:block;font-weight:600;margin:20px 0 10px;font-size:14px}.blank{padding:30px;border:1px dashed #acb7ac;border-radius:8px;color:var(--muted);line-height:1.7}.loading{min-height:50vh;display:grid;place-items:center}#notice{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);max-width:calc(100% - 30px);padding:0;z-index:50}#notice:not(:empty){padding:13px 20px;border-radius:8px;background:var(--ink);color:#fff;font-size:13px;box-shadow:0 3px 20px #0002}.bar-chart{display:grid;gap:16px;margin:22px 0}.bar-chart div{font-size:12px}.bar-chart span{display:block;margin-bottom:6px}.bar-track{height:18px;background:#ccd9ce;border-radius:3px}.bar-track i{display:block;height:100%;background:var(--blue);border-radius:3px}.bar-chart div:nth-child(2) i{background:var(--accent)}
@media(min-width:1600px){.hero{padding-top:70px}}
@media(max-width:1000px){.hero{gap:28px}.hero h1{font-size:48px}.hero-image{aspect-ratio:.94}.site-header>nav{gap:20px}.story-grid{gap:18px}.catalog-shelf{grid-template-columns:repeat(2,1fr)}.scene-layout{grid-template-columns:1.4fr .8fr}.workbench{grid-template-columns:260px minmax(0,1fr);gap:20px}.controls,.result{padding:22px}.reading strong{font-size:27px}.learning{grid-template-columns:1fr 200px;gap:28px}.equipment-detail{gap:25px}.catalog-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.site-header{height:70px;padding:0 6%}.logo{font-size:35px}.site-header>nav{display:none}.mobile-nav{display:block}.mobile-nav summary{min-height:44px;display:flex;align-items:center;gap:25px;font-size:13px;cursor:pointer;list-style:none}.mobile-nav nav{position:absolute;left:0;right:0;top:70px;padding:18px 6%;background:var(--paper);box-shadow:0 10px 15px #19292118;z-index:30;display:grid;gap:5px;border-bottom:1px solid var(--line)}.mobile-nav nav a{padding:12px 0;font-size:15px}.wrap{padding-inline:6%}.hero{padding:33px 6% 26px;grid-template-columns:1fr;gap:26px}.hero h1{font-size:43px;letter-spacing:-1.5px;margin-bottom:16px}.hero p.lead,.page-head .lead{font-size:15px;line-height:1.7;margin:0}.hero-image{aspect-ratio:1.8;border-radius:4px 38px 4px 4px}.hero-caption{font-size:10px;margin-top:9px}.eyebrow{font-size:10px;margin-bottom:12px;letter-spacing:1.5px}.actions{gap:9px;margin-top:20px}.button{min-height:45px;padding:12px 14px;font-size:12px;gap:10px}.section{padding-block:37px}.section-heading{display:block;margin-bottom:23px}.section-heading h2,.section h2{font-size:30px;letter-spacing:-.8px}.section-heading p{font-size:14px;margin-top:14px}.discovery-bar{gap:8px;font-size:12px;padding-block:16px}.discovery-bar>span{width:100%;margin:0 0 2px;font-size:11px}.chip{font-size:11px;padding:8px 11px}.story-grid{grid-template-columns:1fr;gap:17px}.story img{height:auto;aspect-ratio:2;object-position:center}.story-content{padding:21px}.story h3{font-size:27px}.story p{font-size:13px;margin-bottom:16px}.story.small{display:block}.story.small img{height:auto;min-height:0;aspect-ratio:2}.story.small .story-content{padding:21px}.scene-layout{grid-template-columns:1fr;gap:18px}.scene-aside{padding-left:18px}.scene-aside h3{font-size:20px}.scene-stage svg{max-height:300px}.scene-tabs{gap:7px;margin:15px 0}.scene-tabs button{padding:10px 12px;font-size:11px}.tool-grid{grid-template-columns:1fr;gap:24px}.tool-card{display:grid;grid-template-columns:43px 1fr;gap:0 15px;padding-top:18px}.tool-no{grid-row:1/4;font-size:34px;margin:0}.tool-card h3{font-size:19px;margin:0}.tool-card p{font-size:13px;margin:10px 0}.tool-card .text-link{grid-column:2;margin-top:4px}.catalog-shelf{gap:12px}.equipment-frame{height:125px;padding:12px}.equipment-card .body{padding:15px}.equipment-card h3{font-size:15px;margin-top:5px}.equipment-card p{font-size:11px}.tag{font-size:9px}.library-row{grid-template-columns:1fr;gap:0}.resource{padding:18px 0;grid-template-columns:46px 1fr;gap:15px}.resource-icon{width:42px;height:54px;font-size:21px}.resource h3{font-size:17px}.resource p{font-size:12px}.band{display:block;margin-bottom:35px;padding:26px}.band h2{font-size:29px}.band .button{margin-top:12px}.site-footer{grid-template-columns:60px 1fr;padding:28px 6%;gap:18px}.site-footer nav{grid-column:1/-1;justify-content:start;gap:22px;padding-top:10px}.site-footer small{font-size:10px;margin-top:0}.crumb{font-size:11px;padding:21px 0}.page-head{padding-top:8px;padding-bottom:28px}.page-head h1,.page-head.compact h1{font-size:37px;letter-spacing:-1px}.app-hero{grid-template-columns:1fr;gap:20px}.app-hero img{aspect-ratio:1.9}.application-lede{font-size:16px;margin:23px 0;line-height:1.75}.chapters{grid-template-columns:1fr;gap:3px}.chapter{padding:15px 0}.chapter h3{margin:5px 0 10px}.chapter p{margin:0 0 10px}.subnav{gap:7px}.subnav a{font-size:11px;padding:9px 10px}.catalog-grid{gap:12px}.filter-bar{gap:8px}.filter-bar .search{width:100%;min-width:0}.equipment-detail{grid-template-columns:1fr;gap:25px}.equipment-detail .equipment-frame{height:240px}.facts div{font-size:13px}.workbench{grid-template-columns:1fr;gap:20px}.controls,.result{padding:21px}.controls label{margin-top:19px}.result h2{font-size:27px}.result-grid{gap:10px}.reading{padding:15px}.reading strong{font-size:25px}.compare-table th,.compare-table td{padding:11px 12px;font-size:12px;min-width:100px}.compare-table th:first-child,.compare-table td:first-child{min-width:130px}.learning{grid-template-columns:1fr;gap:35px}.prose{font-size:15px;line-height:1.8}.prose h2{font-size:27px}.lesson-aside{position:static}.exercise{padding:22px}.exercise button{padding:12px 14px}.material-preview{padding:22px}.flow-stops{gap:8px}.flow-stops button{min-width:92px;padding:12px 10px;font-size:11px}}
@media(max-width:360px){.hero h1{font-size:38px}.hero .actions .button{width:100%}.catalog-grid{grid-template-columns:1fr}.catalog-grid .equipment-card{display:grid;grid-template-columns:110px 1fr}.catalog-grid .equipment-frame{height:130px;min-height:0}.result-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{.site-header,.site-footer,.actions,.mobile-nav,.skip,#notice,.filter-bar{display:none!important}body{background:#fff}.wrap{max-width:none;padding:0}.material-preview{border:none}.section{padding:15px 0}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.table-scroll-hint{display:none}
@media(max-width:1000px){.table-scroll-hint{display:block;font-size:11px;line-height:1.6;color:var(--muted);margin:20px 0 -12px}}

/* Editorial layer: photographs explain context; interactive geometry stays separate. */
:root{--paper:#f6f5ef;--ink:#1d3034;--muted:#526568;--blue:#235b63;--accent:#a84c2b}
.site-header>nav{gap:26px}
.site-header nav a[aria-current="page"]{color:var(--blue);text-decoration:underline;text-underline-offset:8px;text-decoration-thickness:2px}
.mobile-nav nav small{display:block;color:var(--muted);font-weight:400;font-size:12px;margin-top:4px}
.hero{grid-template-columns:.92fr 1.08fr;gap:44px;padding-block:48px 32px}
.hero h1{font-size:clamp(43px,4.6vw,66px);line-height:1.07;letter-spacing:-2.2px}
.hero p.lead{font-size:17px;line-height:1.7}
.hero-visual{min-width:0}
.editorial-picture{display:block;overflow:hidden;background:#d9dfdb;min-width:0}
.editorial-picture img{display:block;width:100%;height:auto;object-fit:cover}
.editorial-figure{margin:0;min-width:0}
.editorial-figure figcaption{display:flex;justify-content:space-between;gap:18px;padding-top:11px;font-size:12px;line-height:1.55;color:var(--muted)}
.editorial-figure figcaption small{font-size:10px;white-space:nowrap;align-self:start;letter-spacing:.2px}
.hero-photo .editorial-picture{border-radius:3px 48px 3px 3px}
.hero-photo img{aspect-ratio:1.72;max-height:390px;object-position:38% 50%!important}
.hero-photo figcaption>span{max-width:300px}
.hero-context{display:flex;gap:10px 22px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:17px;padding-top:15px;font-size:10px;letter-spacing:.5px;color:var(--muted)}
.hero-context span::before{content:'';display:inline-block;width:5px;height:5px;background:var(--accent);border-radius:50%;margin-right:7px;vertical-align:2px}
.story{border:1px solid var(--line);border-radius:6px}
.story .editorial-picture img{height:240px;aspect-ratio:auto}
.story.small .editorial-picture{height:100%}
.story.small .editorial-picture img{height:100%;min-height:235px}
.story .story-content{padding:26px 28px}
.story h3{font-size:30px;line-height:1.2;max-width:540px}
.editorial-note{font-size:11px;color:var(--muted);margin:12px 0 0}
.application-photo .editorial-picture{border-radius:5px}
.application-photo img{aspect-ratio:1.8;height:auto;max-height:335px;border-radius:0}
.app-hero{grid-template-columns:1fr 1fr;gap:42px;align-items:center}
.app-hero .page-head{padding-bottom:0}
.app-hero .page-head h1{font-size:clamp(37px,4vw,56px)}
.subnav a:hover,.subnav a:focus-visible{background:var(--ink);color:#fff;text-decoration:none}
.application-lede{max-width:850px;margin-top:0}
.chapter{border-top:0;padding-top:0}
.chapter-photo .editorial-picture{border-radius:4px}
.chapter-photo img{aspect-ratio:1.75;max-height:215px;object-fit:cover}
.chapter-photo figcaption{display:block;font-size:11px;line-height:1.6;min-height:78px}
.chapter-photo figcaption small{display:block;margin-top:5px}
.chapter h3{font-size:19px;margin-top:18px}
.chapter p{line-height:1.75}
.port-feature,.learning-feature{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.port-feature{border-top:1px solid var(--line)}
.port-feature .editorial-picture,.learning-feature .editorial-picture{border-radius:5px}
.port-feature img,.learning-feature img{aspect-ratio:1.5;max-height:340px}
.port-feature p:not(.eyebrow),.learning-feature p:not(.eyebrow){font-size:15px;line-height:1.75;color:var(--muted);max-width:470px}
.learning-feature{background:#e9eee7;border:1px solid #dbe1d7;border-radius:6px;padding:28px;margin-bottom:44px}
.learning-feature h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(28px,3vw,40px);line-height:1.16;letter-spacing:-1px;margin:0}
.learning-feature .button{font-size:12px;padding-inline:14px}
.equipment-context{margin-top:28px}
.equipment-context .editorial-picture{border-radius:5px}
.equipment-context img{aspect-ratio:1.5;max-height:300px;object-fit:contain;background:#e4e9e4}
.equipment-context figcaption{display:block}
.equipment-context figcaption small{display:block;margin-top:5px}
.lesson-photo{margin-bottom:26px}
.lesson-photo img{aspect-ratio:1.5;max-height:195px;object-fit:cover;border-radius:4px}
.lesson-photo figcaption{display:block;font-size:11px}
.lesson-photo figcaption small{display:block;margin-top:5px}
.site-footer small{max-width:860px;line-height:1.7}
@media(max-width:1000px){
 .site-header>nav{gap:18px;font-size:13px}
 .hero{gap:26px;grid-template-columns:1fr 1fr}
 .hero h1{font-size:44px;letter-spacing:-1.6px}
 .hero p.lead{font-size:15px}
 .hero-photo img{aspect-ratio:1.25;max-height:310px}
 .hero-photo figcaption{display:block}
 .hero-photo figcaption small{display:block;margin-top:5px}
 .hero-context{gap:8px;font-size:11px}
 .story .editorial-picture img{height:190px}
 .story .story-content{padding:23px}
 .story h3{font-size:27px}
 .app-hero{gap:28px}
 .application-photo img{aspect-ratio:1.4}
 .chapters{gap:22px;grid-template-columns:1fr 1fr}
 .chapter:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;column-gap:28px}
 .chapter:last-child .chapter-photo{grid-row:1/4}
 .chapter-photo figcaption{min-height:0}
 .port-feature,.learning-feature{gap:26px}
 .learning-feature{padding:23px}
 .port-feature h2,.learning-feature h2{font-size:30px}
}
@media(max-width:700px){
 .hero{grid-template-columns:1fr;gap:24px;padding:28px 6% 25px}
 .hero h1{font-size:41px;letter-spacing:-1.4px;margin-bottom:18px}
 .hero p.lead{font-size:15px}
 .hero-photo img{height:180px;max-height:180px;aspect-ratio:auto;object-position:38% 50%!important}
 .hero-photo .editorial-picture{border-radius:3px 30px 3px 3px}
 .hero-photo figcaption{display:flex;font-size:11px;gap:14px}
 .hero-photo figcaption>span{max-width:210px}
 .hero-photo figcaption small{font-size:11px;white-space:normal;flex:0 0 88px;margin:0;text-align:right}
 .hero-context{margin-top:13px;padding-top:12px;line-height:1.6;gap:7px 13px}
 .discovery-bar{gap:8px}
 .discovery-bar .chip{padding:10px 12px;font-size:11px;min-height:44px}
 .story .editorial-picture img,.story.small .editorial-picture img{height:156px;min-height:0;aspect-ratio:auto}
 .story.small .editorial-picture{height:auto}
 .story .story-content,.story.small .story-content{padding:22px}
 .story h3{font-size:27px}
 .app-hero{grid-template-columns:1fr;gap:22px;margin-bottom:26px}
 .app-hero .page-head h1{font-size:37px}
 .application-photo img{height:178px;max-height:178px;aspect-ratio:auto}
 .application-photo figcaption{display:block;font-size:11px}
 .application-photo figcaption small{display:block;margin-top:4px}
 .subnav{gap:7px;padding-block:14px}
 .subnav a{min-height:44px;display:flex;align-items:center}
 .chapters{grid-template-columns:1fr;gap:26px}
 .chapter:last-child{display:block;grid-column:auto}
 .chapter-photo img{height:196px;max-height:196px;aspect-ratio:auto}
 .chapter-photo figcaption{display:flex;min-height:0;font-size:11px;gap:12px}
 .chapter-photo figcaption small{font-size:11px;white-space:normal;flex:0 0 72px;text-align:right;margin-top:0}
 .chapter h3{margin-top:18px}
 .port-feature,.learning-feature{grid-template-columns:1fr;gap:25px}
 .port-feature img,.learning-feature img{height:auto;max-height:230px;aspect-ratio:1.5}
 .port-feature h2,.learning-feature h2{font-size:30px}
 .port-feature p:not(.eyebrow),.learning-feature p:not(.eyebrow){font-size:14px}
 .learning-feature{padding:20px;margin-bottom:32px}
 .learning-feature figcaption{display:block;font-size:11px}
 .learning-feature figcaption small{display:block;margin-top:5px}
 .equipment-context img{max-height:225px}
 .equipment-context figcaption{font-size:11px}
 .lesson-photo{max-width:360px}
 .lesson-photo img{max-height:210px}
 .editorial-note{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.story:hover img{transform:none}}
@media print{.editorial-figure,.editorial-picture,.hero-context{display:none!important}}


/* Acceptance review: put the actual library choices before its editorial context. */
.library-context{display:grid;grid-template-columns:minmax(0,260px) 1fr;gap:28px;align-items:center;padding:28px 0 40px;margin-top:32px;border-top:1px solid var(--line);color:var(--muted);font-size:14px;line-height:1.7}
.library-context img{aspect-ratio:1.7;object-fit:cover;border-radius:4px}
.library-context figcaption{display:block;font-size:11px}
.library-context figcaption small{display:block;margin-top:4px}
.learning-picks{padding-top:0}
@media(max-width:700px){.library-context{grid-template-columns:1fr;gap:15px;padding-top:20px}.library-context img{height:150px}.library-context p{margin:0}.learning-picks{padding-top:0}}

.result-jump{display:inline-flex;align-items:center;min-height:44px;margin-top:8px}#tool-result{scroll-margin-top:90px}
