@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(assets/fonts/outfit-variable-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(assets/fonts/outfit-variable-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Satoshi carries the display voice; Outfit makes the supporting copy comfortable to read. */
:root{--display-font:'Satoshi',sans-serif;--body-font:'Outfit',sans-serif;--font:var(--body-font)}
body{font-family:var(--body-font);font-size:16px;line-height:1.6}
button,input,select,textarea,h3,h4,.calc-spec-heading h3,.calc-material-toggle button,.calc-number-wrap input{font-family:var(--body-font)}
h1,h2,.wordmark,.product-type,.kinetic-band>div,.calc-heading h2,.calc-live-stats strong,.calc-spec-total strong{font-family:var(--display-font)}
.main-nav a{font-size:14px;font-weight:500;letter-spacing:0}
.header-action{font-size:14px;font-weight:500;letter-spacing:0;gap:22px}
.hero-topline{font-size:12px;letter-spacing:0;line-height:1.5}
.hero-description p{font-size:17px;line-height:1.65;letter-spacing:0}
.solid-button,.hero .solid-button{font-size:14px;font-weight:600;line-height:1.4;letter-spacing:0}
.hero-annotation{font-size:12px;letter-spacing:0;line-height:1.7}
.hero-bottom{font-size:12px;letter-spacing:0;line-height:1.5}
.micro,.intro-aside .micro,.calc-eyebrow{font-size:12px;font-weight:500;letter-spacing:0;line-height:1.65}
.intro-bottom p{font-size:16px;line-height:1.8;letter-spacing:0}
.product-subtitle{font-family:var(--body-font);font-size:14px;font-weight:400;line-height:1.6;letter-spacing:0}
.product-info>p{font-size:15px;line-height:1.8;letter-spacing:0}
.product-cta{font-size:14px;font-weight:500;line-height:1.5;letter-spacing:0}
.guide-title>p{font-size:16px;line-height:1.8;letter-spacing:0}
.faq-list summary{font-family:var(--body-font);font-size:20px;font-weight:500;letter-spacing:-.02em;line-height:1.4}
.faq-answer{padding-left:0}
.faq-answer p{font-size:15px;line-height:1.85;letter-spacing:0}
.measure-sketch text{font-family:var(--body-font);font-size:12px;letter-spacing:0}
.closing-top{font-size:12px;letter-spacing:0;line-height:1.6}
.closing-link{font-size:15px;font-weight:500;line-height:1.5;letter-spacing:0}
.footer-main>p{font-size:12px;letter-spacing:0;line-height:1.7}
.footer-up{font-size:14px;font-weight:500;line-height:1.4}
.footer-base{font-size:12px;line-height:1.7;letter-spacing:0}
.mobile-menu>p{font-size:12px;letter-spacing:0}
.mobile-menu>a{font-family:var(--display-font)}

/* Calculator labels and controls use the same readable supporting family. */
.calc-section,.window3d-ui{font-family:var(--body-font)}
.calc-heading-note p{font-size:15px;line-height:1.7;letter-spacing:0}
.calc-stage-top,.calc-stage-bottom{font-size:12px;letter-spacing:0;line-height:1.5}
.calc-stage-top>span:first-child,.calc-stage-top>span:last-child{font-size:12px}
.calc-stage-bottom>span{font-size:12px;line-height:1.6;letter-spacing:0}
.calc-open-preview{font-size:13px!important;font-weight:500;line-height:1.4;letter-spacing:0}
.calc-dimension,.calc-dimension-label{font-family:var(--body-font);font-size:12px;letter-spacing:0}
.calc-live-stats>div>span{font-size:12px;letter-spacing:0;line-height:1.65}
.calc-live-stats strong small,.calc-spec-total small{font-family:var(--body-font);font-size:15px;line-height:1.5}
.calc-stage-disclaimer{font-size:12px;line-height:1.8;letter-spacing:0}
.calc-control-caption{font-size:14px;font-weight:500;letter-spacing:0;line-height:1.5}
.calc-control-caption>span:last-child{font-size:12px;line-height:1.6;font-weight:400;letter-spacing:0}
.calc-material-toggle button>span{font-family:var(--body-font);font-size:13px;line-height:1.6;letter-spacing:0}
.calc-sash-options button span{font-size:14px;line-height:1.5;letter-spacing:0}
.calc-measure-row label{font-size:16px;font-weight:400;letter-spacing:0}
.calc-number-wrap>span{font-size:13px;letter-spacing:0}
.calc-range-bounds{font-size:12px;line-height:1.5;letter-spacing:0}
.calc-error{font-size:12px;line-height:1.6;letter-spacing:0}
.calc-quantity>span{font-size:13px;line-height:1.5;letter-spacing:0}
.calc-quantity input{font-family:var(--body-font);font-size:16px;line-height:1.4}
.calc-add{font-size:15px;font-weight:600;line-height:1.5;letter-spacing:0}
.calc-pricing-note,.calc-action-status{font-size:12px;line-height:1.8;letter-spacing:0}
.calc-spec-heading .calc-eyebrow{font-size:12px;line-height:1.5;letter-spacing:0}
.calc-spec-count,.calc-spec-number{font-size:12px;line-height:1.5;letter-spacing:0}
.calc-spec-product strong{font-family:var(--body-font);font-size:15px;font-weight:500;line-height:1.5;letter-spacing:0}
.calc-spec-product small{font-size:12px;line-height:1.65;letter-spacing:0}
.calc-spec-dimensions{font-size:17px;line-height:1.5;letter-spacing:0}
.calc-spec-quantity{font-size:13px;line-height:1.5;letter-spacing:0}
.calc-spec-area{font-size:14px;line-height:1.5;letter-spacing:0}
.calc-spec-total>span:first-child{font-size:12px;letter-spacing:0;line-height:1.6}
.calc-spec-total>span:last-child{font-size:12px;letter-spacing:0;line-height:1.6}
.calc-section .calc-print,.calc-section .calc-download{font-family:var(--body-font);font-size:14px;font-weight:500;line-height:1.5;letter-spacing:0}
.calc-download-note{font-size:12px;line-height:1.8;letter-spacing:0}
.window3d-toolbar>button,.window3d-toolbar>.window3d-reset{font-family:var(--body-font);font-size:12px;font-weight:500;line-height:1.5;letter-spacing:0}
.window3d-hint{font-size:12px;line-height:1.5;letter-spacing:0}

@media(min-width:761px){
 .hero-description p{font-size:16px;max-width:350px}
 .hero-description{max-width:780px}
 .hero .solid-button{width:280px}
 .product-info{gap:28px}
 .product-cta{flex-shrink:0}
}
@media(min-width:1700px){
 .hero-description p{font-size:18px;max-width:400px}
 .hero-description{max-width:850px}
 .hero .solid-button{font-size:15px;width:300px}
}
@media(min-width:761px) and (max-width:1100px){
 .hero-description p{font-size:15px;max-width:310px}
 .hero-description{gap:32px}
 .hero .solid-button{width:260px}
 .main-nav{gap:24px}
 .header-action{gap:14px}
 .calc-sash-options button span{font-size:13px}
 .calc-sash-options button{gap:5px}
 .calc-spec-item{grid-template-columns:22px minmax(0,1.2fr) 1fr 60px 75px 25px;gap:13px}
 .calc-spec-dimensions{font-size:15px}
}
@media(max-width:760px){
 .hero-topline,.hero-topline>span:last-child{font-size:12px;letter-spacing:0}
 .hero-topline{align-items:flex-start;gap:15px}
 .hero-topline>span:first-child{gap:10px}
 .hero-description p{font-size:15px;line-height:1.75;max-width:330px}
 .hero-description{max-width:360px}
 .hero .solid-button{font-size:14px;width:270px;max-width:100%;padding:19px 21px}
 .hero-bottom{font-size:12px;letter-spacing:0}
 .micro,.intro-aside .micro,.calc-eyebrow{font-size:12px;letter-spacing:0;line-height:1.65}
 .intro-bottom p{font-size:15px;line-height:1.85}
 .intro-bottom{gap:22px;align-items:flex-start}
 .product-subtitle{font-size:14px;line-height:1.55;margin-top:10px}
 .product-info>p{font-size:15px;line-height:1.8}
 .product-cta{font-size:14px;line-height:1.5}
 .guide-title>p{font-size:15px;line-height:1.8;max-width:340px}
 .faq-list summary{font-size:19px;line-height:1.45;letter-spacing:-.02em}
 .faq-answer{padding-left:0;padding-right:6px}
 .faq-answer p{font-size:15px;line-height:1.8}
 .closing-top{font-size:12px;letter-spacing:0}
 .closing-link{font-size:14px}
 .footer-main>p{font-size:12px;letter-spacing:0}
 .footer-up{font-size:14px}
 .footer-base{font-size:12px;gap:12px;line-height:1.7}
 .mobile-menu>p{font-size:12px;line-height:1.7}
 .mobile-menu>.micro{font-size:12px}
 .calc-heading-note p{font-size:14px;line-height:1.75}
 .calc-stage-top,.calc-stage-top>span:first-child,.calc-stage-top>span:last-child{font-size:12px;letter-spacing:0}
 .calc-stage-bottom{gap:12px;align-items:flex-end}
 .calc-stage-bottom>span{font-size:12px;max-width:47%;line-height:1.55;letter-spacing:0}
 .calc-open-preview{font-size:12px!important;gap:6px}
 .calc-live-stats{gap:20px}
 .calc-live-stats>div>span{font-size:12px;letter-spacing:0;line-height:1.65}
 .calc-stage-disclaimer{font-size:12px;line-height:1.8}
 .calc-dimension-label{font-size:12px}
 .calc-control-caption{font-size:14px;letter-spacing:0}
 .calc-control-caption>span:last-child{font-size:12px}
 .calc-material-toggle button>span{font-size:13px;line-height:1.6}
 .calc-sash-options button span{font-size:14px}
 .calc-measure-row label{font-size:16px}
 .calc-range-bounds,.calc-error{font-size:12px}
 .calc-quantity>span{font-size:13px}
 .calc-add{font-size:15px}
 .calc-pricing-note,.calc-action-status{font-size:12px;line-height:1.8}
 .calc-spec-heading .calc-eyebrow,.calc-spec-count,.calc-spec-number{font-size:12px}
 .calc-spec-product strong{font-size:14px}
 .calc-spec-product small{font-size:12px}
 .calc-spec-dimensions{font-size:15px}
 .calc-spec-quantity,.calc-spec-area{font-size:12px}
 .calc-spec-item{grid-template-columns:18px minmax(0,1fr) auto 24px;gap:8px 10px}
 .calc-spec-total>span:first-child{font-size:12px;max-width:110px;letter-spacing:0}
 .calc-spec-total>span:last-child{font-size:12px}
 .calc-section .calc-print,.calc-section .calc-download{font-size:13px}
 .calc-download-note{font-size:12px;line-height:1.8}
 .window3d-toolbar{gap:14px}
 .window3d-toolbar>button,.window3d-toolbar>.window3d-reset{font-size:12px;line-height:1.5}
 .window3d-hint{font-size:12px;white-space:normal;text-align:center;width:max-content;max-width:88%;line-height:1.5}
}
@media(max-width:420px){
 .hero-topline{font-size:12px;gap:12px;letter-spacing:0}
 .hero-topline>span:last-child{font-size:12px;letter-spacing:0}
 .hero-topline>span:first-child{gap:9px}
 .hero-description p{font-size:15px;max-width:100%}
 .hero .solid-button{font-size:14px;width:270px;max-width:100%}
 .intro-bottom{flex-wrap:wrap}
 .intro-bottom p{max-width:100%}
 .intro-bottom .round-link{margin-left:auto}
 .calc-finish-and-count{flex-wrap:wrap;row-gap:18px}
 .calc-quantity{margin-left:auto}
 .calc-sash-options{gap:9px}
 .calc-sash-options button{gap:5px}
 .calc-sash-options button svg{width:33px;flex-shrink:1}
 .calc-sash-options button span{font-size:13px}
 .calc-live-stats>div>span{font-size:12px;letter-spacing:0}
 .calc-spec-heading{flex-wrap:wrap}
 .calc-spec-heading h3{max-width:100%}
 .calc-spec-count{padding-top:0}
 .calc-spec-item{grid-template-columns:minmax(0,1fr) auto 24px;gap:7px 8px}
 .calc-spec-number{display:none}
 .calc-spec-product,.calc-spec-dimensions{grid-column:1;min-width:0}
 .calc-spec-product strong,.calc-spec-product small{overflow-wrap:anywhere}
 .calc-spec-quantity,.calc-spec-area{grid-column:2}
 .calc-spec-remove{grid-column:3}
 .calc-spec-dimensions{font-size:14px;white-space:normal}
 .calc-spec-total{gap:12px;align-items:flex-end}
 .calc-section .calc-spec-actions{gap:16px;flex-wrap:wrap}
 .calc-section .calc-print{font-size:13px;gap:20px;padding:16px 18px}
 .calc-section .calc-download{font-size:13px;min-width:110px;gap:12px}
 .window3d-toolbar{gap:10px;left:14px;right:14px}
 .window3d-toolbar>button,.window3d-toolbar>.window3d-reset{font-size:12px}
}
@media(max-width:760px){.calc-heading-note p br:last-child{display:block}}
.footer-base>span:last-child{display:block;letter-spacing:0}

/* Supporting text uses Outfit throughout, including compact UI titles. */
.hero-location{font-family:var(--body-font);font-size:14px;font-weight:400;line-height:1.5;letter-spacing:0}
.calc-material-toggle button,.calc-spec-heading h3{font-family:var(--body-font)}
.micro,.intro-aside .micro,.calc-eyebrow{font-size:13px;letter-spacing:0;font-weight:500}
@media(max-width:420px){.window3d-toolbar{gap:8px;flex-wrap:wrap}.window3d-toolbar>button,.window3d-toolbar>.window3d-reset{font-size:12px}.hero-location{font-size:13px}}
