/* The new hero is scoped to the homepage; calculators retain their layout. */
.page:has(> #home.active){max-width:1420px;width:100%;padding:0 5.6% 18px}
#home.active{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);align-items:center;justify-content:normal;gap:34px;padding:0;min-height:calc(100svh - 160px)}
#home .home-copy{position:relative;z-index:2;padding:45px 0 50px;min-width:0}
#home .home-masthead{text-align:left;margin:0 0 35px;width:100%}
#home .home-masthead h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(52px,6.2vw,88px);font-weight:400;line-height:1.04;letter-spacing:-.055em;margin:0 0 22px;max-width:none;color:var(--ink)}
#home .home-masthead h1 span{display:inline;color:var(--teal)}
#home .home-masthead p{font-size:14px;line-height:1.6;margin:0;max-width:none;color:var(--muted)}
#home .tool-grid{display:grid;grid-template-columns:1fr;gap:10px;width:100%;max-width:410px;margin:0}
#home .tool-card{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;text-align:left;width:100%;min-height:65px;padding:15px 18px;gap:18px;border:1px solid var(--border);border-radius:3px;background:transparent;color:var(--ink);transition:background .2s,border-color .2s,color .2s,box-shadow .2s}
#home .tool-card:hover,#home .tool-card:focus-visible{background:var(--teal);border-color:var(--teal);color:#fff9f1;box-shadow:0 4px 14px #9a30251a;transform:none}
#home .tool-card:hover .module-icon,#home .tool-card:focus-visible .module-icon{color:#fff9f1}
#home .module-icon{width:29px;height:29px;flex:0 0 29px;margin:0;color:var(--teal)}
#home .module-icon svg{width:100%;height:100%}
#home .tool-name{font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:500;letter-spacing:.055em;line-height:1.4;min-height:0;margin:0}
#home .tool-card:after{content:none}
#home .sculpture{position:relative;margin:0 -4% 0 0;min-width:0;height:690px;max-height:calc(100svh - 145px);min-height:560px;align-self:center}
#cell-scene{position:absolute;inset:0;touch-action:pan-y;cursor:grab}
#cell-scene.dragging{cursor:grabbing}
#cell-scene canvas,#cell-scene .fallback{width:100%;height:100%;display:block;object-fit:contain}
#cell-scene canvas{position:absolute;inset:0}
#cell-scene.ready .fallback{opacity:0}
#home .sculpture-keyboard{position:absolute;width:1px;height:1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%)}
#home .sculpture-keyboard:focus-visible{clip-path:none;width:auto;height:auto;left:10px;bottom:14px;z-index:5;padding:8px 14px;border:1px solid var(--teal);background:var(--canvas);color:var(--teal)}
#cell-info{position:absolute;z-index:3;right:0;bottom:14px;width:min(340px,96%);padding:22px 24px 18px;background:rgba(250,247,240,.98);border:1px solid #d5cec1;border-radius:4px;box-shadow:0 12px 36px #39232b0a;animation:cell-reveal .35s ease both}
#cell-close{position:absolute;right:10px;top:8px;width:32px;height:32px;border:0;background:none;color:var(--muted);font-size:25px;font-weight:400;line-height:1;cursor:pointer}
#cell-info .cell-kicker{max-width:245px;font-size:9px;letter-spacing:.1em;text-transform:uppercase;line-height:1.5;color:var(--teal);margin:0 0 8px}
#cell-title{font-family:Georgia,serif;font-size:30px;font-weight:400;line-height:1.15;letter-spacing:-.03em;margin:0 0 12px}
#cell-description{font-size:13px;line-height:1.6;margin:0 0 9px;color:var(--body)}
#cell-detail{font-size:11px;line-height:1.65;color:var(--muted);margin:0}
#cell-info .cell-types{display:flex;flex-wrap:wrap;gap:6px 13px;margin-top:15px;padding-top:12px;border-top:1px solid var(--border)}
#cell-info .cell-types button{border:0;padding:3px 0;background:none;font-size:10px;line-height:1.4;color:var(--muted);cursor:pointer}
#cell-info .cell-types button[aria-pressed=true]{color:var(--teal);text-decoration:underline;text-underline-offset:4px}
@keyframes cell-reveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:800px){.page:has(> #home.active){padding:0 7% 15px}#home.active{display:flex;flex-direction:column;align-items:stretch;gap:0;min-height:0;padding:0}#home .home-copy{padding:42px 0 0}#home .home-masthead{margin-bottom:27px}#home .home-masthead h1{font-size:clamp(50px,10.5vw,74px);line-height:1.04;letter-spacing:-.055em;margin:0 0 18px}#home .home-masthead p{font-size:13px}#home .tool-grid{max-width:none;gap:9px}#home .tool-card{min-height:60px;padding:14px 17px;gap:16px}#home .tool-name{font-size:11px}#home .module-icon{width:27px;height:27px;flex-basis:27px}#home .sculpture{height:515px;max-height:none;min-height:0;width:110%;margin:0 -5%;align-self:auto}#home .sculpture.inspecting{height:730px}#cell-info{right:3%;bottom:12px;width:94%;padding:20px 22px}}
@media(prefers-reduced-motion:reduce){#home .tool-card{transition:none}#home .tool-card:hover{transform:none}#cell-info{animation:none}#cell-scene{cursor:default}}
@media print{#home .sculpture{display:none!important}}

#home .tool-card:hover .tool-name,#home .tool-card:focus-visible .tool-name{color:#fff9f1}
