@font-face{font-family:Hanken;src:url('/design-studio-assets/fonts/HankenGrotesk-Regular.ttf') format('truetype');font-display:swap}@font-face{font-family:Regola;src:url('/design-studio-assets/fonts/regola-book.woff2') format('woff2');font-display:swap}
*{box-sizing:border-box}body{margin:0;color:#242624;background:#fff;font:16px/1.65 Hanken,Arial,sans-serif}a{color:inherit}button,a,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #707f68;outline-offset:5px}.preview-notice{padding:7px 24px;text-align:center;background:#eeeee9;color:#485045;font-size:13px}.web-header{max-width:1440px;margin:auto;padding:23px 5%;display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid #e5e5e2}.web-brand{display:flex;align-items:center;gap:12px;text-decoration:none}.web-brand img{object-fit:contain;width:66px;height:auto}.web-brand span{font-size:20px;letter-spacing:2px;line-height:1.2}.web-brand small{display:block;font-size:9px;letter-spacing:2.5px;margin-top:7px}.web-header nav{display:flex;gap:26px;font-size:14px}.web-header nav a{text-decoration:none}.web-main{max-width:1240px;margin:0 auto;padding:0 5%}.web-main>section{padding:60px 0;border-bottom:1px solid #e6e6e1}.web-main .hero{padding:66px 0 54px;max-width:950px}.web-main h1{font:400 clamp(34px,4.2vw,57px)/1.1 Regola,Arial,sans-serif;letter-spacing:-1.5px;margin:12px 0 25px}.web-main h2{font:400 clamp(27px,3vw,36px)/1.2 Regola,Arial,sans-serif;margin:0 0 25px;letter-spacing:-.5px}.web-main h3{font-size:21px;font-weight:500;margin:20px 0 10px}.web-main p{margin:0 0 20px;line-height:1.65}.web-main .eyebrow{font-size:12px;letter-spacing:2px;color:#62695f;margin:0 0 14px}.web-main .lead{font-size:20px;line-height:1.6;max-width:850px}.web-main .specs{font-size:16px;color:#525a50}.web-main .specs span{padding:0 7px}.web-main .button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 23px;border:0;background:#343b30;color:white;text-decoration:none;font:500 15px Hanken,Arial,sans-serif;border-radius:3px;cursor:pointer}.web-main .button:hover{background:#4e5846}.web-main #studio-load-status{font-size:13px;color:#62695f;margin-top:12px}.comparison-wrap{overflow:auto}.web-main table{border-collapse:collapse;width:100%;margin:0 0 40px;font-size:16px}.web-main caption{text-align:left;font-size:14px;color:#646a60;margin-bottom:12px}.web-main td,.web-main th{text-align:left;border-bottom:1px solid #dedfd9;padding:15px 16px;vertical-align:top;min-width:150px}.web-main th{font-weight:500}.web-main thead{background:#f2f3ed}.plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}.plan-card>a{display:block;text-decoration:none}.plan-card img{display:block;object-fit:contain;width:100%;height:390px;background:#f4f4f0;border:1px solid #e6e7e1;padding:16px}.plan-card p{font-size:16px}.web-main .text-link{display:inline-block;text-decoration:underline;text-underline-offset:5px;font-size:16px;padding:8px 0}.web-main .concept{padding:22px;background:#f1f2ed;font-size:15px;margin-top:28px}.web-main .concept p:last-child{margin-bottom:0}.web-main .concept h3{margin-top:0;font-size:18px}.plan-detail{display:grid;grid-template-columns:1.1fr 1fr;gap:55px;padding:20px 0 55px}.plan-detail figure{margin:0}.source-plan{width:100%;height:auto;display:block;border:1px solid #eee}.plan-detail figcaption{font-size:13px;line-height:1.5;color:#60675e;margin-top:12px}.breadcrumbs{padding-top:25px;font-size:14px}.faq details{border-bottom:1px solid #e4e5df;padding:20px 0}.faq summary{cursor:pointer;font-size:18px;font-weight:500}.faq details p{margin:13px 0 0;max-width:900px}.resource-links{display:flex;flex-wrap:wrap;gap:12px 25px;margin:25px 0 30px}.resource-links a{font-size:15px;text-underline-offset:4px}.web-footer{padding:35px 5%;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:14px}.web-footer p{margin:0}#app[data-embedded]{margin:35px calc(-5vw);border:1px solid #e3e5de;padding:0 20px;background:white}#app[data-embedded]>.site-header{display:none}#app[data-embedded] .intro .model-title{font:500 40px/1.08 var(--heading);letter-spacing:-1.5px}#app[data-embedded] .studio-main{max-width:none;padding:28px 3.5% 0;margin:auto}#app[data-embedded] .intro{padding-top:28px}
@media(max-width:650px){.web-header{padding:18px 5%;flex-wrap:wrap;gap:16px}.web-header nav{gap:20px;font-size:13px}.web-main .hero{padding:40px 0}.web-main .lead{font-size:18px}.web-main>section{padding:40px 0}.plan-grid,.plan-detail{grid-template-columns:1fr;gap:35px}.plan-card img{height:360px}.plan-detail{padding-bottom:30px}.web-main td,.web-main th{font-size:14px;padding:12px;min-width:120px}.web-main .button{width:100%}.web-footer{display:block}.web-footer>*{display:block;margin-bottom:12px!important}#app[data-embedded]{margin:25px -5vw;padding:0 12px}}

/* Hub: the 3D studio loads on arrival (2026-10-01), so the intro is a compact strip and the model sits in the first screen. */
.web-main .hero-compact{padding:28px 0 0;border-bottom:0;max-width:none}
.web-main .hero-compact h1{font-size:clamp(28px,3vw,40px);margin:0 0 8px}
.web-main .hero-compact .lead{font-size:16px;margin:0 0 4px;color:#525a50}
.web-main .hero-compact #studio-load-status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.web-main .hero-compact #explore{margin-top:4px}
.web-main .hero-compact #explore .button[hidden]{display:none}
.web-main .hero-compact+#app[data-embedded]{margin-top:16px}
#app[data-embedded][data-auto-studio] .intro{padding-top:16px}
@media(max-width:650px){.web-main .hero-compact{padding:20px 0 0}.web-main .hero-compact .lead{font-size:15px}}

/* Reserve the loaded studio's height (measured 2026-10-01) so the page does not jump when the 3D mounts. main.js
   replaces the placeholder; entry.js marks the app ready and the reserve is released. */
#app[data-auto-studio]:not(.studio-ready){min-height:1231px}
.studio-placeholder{padding-top:210px}
.studio-placeholder img{display:block;width:100%;height:655px;object-fit:contain;background:#e7e6e3;border-radius:18px}
@media(max-width:900px){#app[data-auto-studio]:not(.studio-ready){min-height:2200px}.studio-placeholder{padding-top:300px}.studio-placeholder img{height:400px}}
