
@font-face {font-family:Fira;src:url('/font/FiraSansCondensed-Light.ttf') format('truetype');font-weight:300;font-display:swap}
:root {--text:#243142;--muted:#666;--gap:20px;--cards:4}
* {box-sizing:border-box}
html {scroll-behavior:smooth;scroll-padding-top:24px}
body {margin:0;color:var(--text);background:#fff;font-family:Fira,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:18px;line-height:1.6}
button,input,select {font:inherit}
a { color:inherit;text-decoration:none }
img {display:block;max-width:100%}
button,a,input,select {-webkit-tap-highlight-color:transparent}
:focus-visible {outline:3px solid #255f85;outline-offset:4px}
[hidden] {display:none!important}
.page {width:min(100% - 48px,1480px); margin-inline:auto;}

.site-header {display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:28px}

.brand {flex-shrink:0;width:clamp(150px,18vw,230px)}
.brand img {width:100%;height:auto}

.site-nav {display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:clamp(16px,3vw,48px)}
.site-nav a,.login-label {font-size:20px;line-height:1.4;padding-block:10px}
.site-nav a {border-bottom:2px solid transparent}
.site-nav a:hover {border-color:#111}
.no-decoration { color:inherit !important; text-decoration:none !important; }

.hero {margin-bottom:clamp(32px,5vw,70px)}
.hero img {width:100%;height:auto;border-radius:clamp(16px,3vw,36px); }
.section {padding-block:clamp(24px,4vw,60px)}
.printing-header {text-align:center;margin-bottom:32px}
h2 {font-size:clamp(27px,3vw,36px);line-height:1.2;margin:0 0 12px;font-weight:700}
.printing-header p {margin:0;color:var(--muted)}
.carousel {min-width:0}
.carousel-viewport {overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:14px;overscroll-behavior-x:contain}
.carousel-viewport::-webkit-scrollbar {display:none}
.carousel-track {display:flex;gap:var(--gap);align-items:stretch}
.print-card {flex:0 0 calc((100% - (var(--cards) - 1)*var(--gap))/var(--cards));min-width:0;display:flex;flex-direction:column;border-radius:14px;overflow:hidden;background:#fff;scroll-snap-align:start}
.print-image {aspect-ratio:3/4;background:#eee;overflow:hidden}
.print-image img {width:100%;height:100%;object-fit:cover}
.print-content {flex:1;display:flex;flex-direction:column;align-items:flex-start;padding:22px 12px}
.print-content h3 {font-size:23px;line-height:1.2;margin:0 0 12px}
.print-content p {color:var(--muted);font-size:17px;line-height:1.5;margin:0 0 22px}
.print-button {display:inline-flex;align-items:center;justify-content:center;margin-top:auto;padding:12px 20px;min-height:48px;background:#111;color:white;border-radius:7px;font-size:17px}
.print-button:hover {background:#333}
.carousel-controls {display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px}
.carousel-button {width:46px;height:46px;flex-shrink:0;border:1px solid #ddd;border-radius:50%;background:white;color:#111;font-size:28px;line-height:1;cursor:pointer}
.carousel-button:disabled {opacity:.3;cursor:default}
.carousel-dots {display:flex;justify-content:center;flex-wrap:wrap;gap:0}
.carousel-dot {border:0;background:transparent;padding:0;width:28px;height:44px;cursor:pointer;display:grid;place-items:center}
.carousel-dot::after {content:"";width:9px;height:9px;border-radius:50%;background:#ccc}
.carousel-dot.active::after {background:#111}
.calculator-card {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);border:1px solid #111;border-radius:24px;padding:clamp(20px,4vw,56px)}
.calculator-inputs,.recommendation-panel {min-width:0}
.field {margin-bottom:20px}
.field:last-child {margin-bottom:0}
.field label {display:block;margin-bottom:8px;font-weight:600}
.field input,.field select {display:block;width:100%;min-width:0;max-width:100%;min-height:48px;border:1px solid #333;border-radius:8px;background:#fff;color:var(--text);padding:10px 12px;font-size:18px}
.size-fields {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
.recommendation-panel {align-self:center;overflow-wrap:anywhere}
.recommendation-panel h3 {font-size:clamp(24px,2.5vw,30px);line-height:1.3;margin:0 0 12px}
.recommendation-panel p {margin:0 0 20px}
.result-size {margin-bottom:24px}
.result-size span,.result-value span {display:block}
.result-size strong {display:block;font-size:clamp(28px,3vw,42px);line-height:1.25}
.recommendation-values {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.result-value strong {display:block;font-size:clamp(22px,2vw,30px);line-height:1.3}
.calculator-help {color:var(--muted);align-self:center}
.error {color:#a32323;font-size:16px;margin:16px 0 0}
.site-footer {text-align:center;padding-block:48px 64px}
.site-footer p {margin:0 0 12px}
.skip-link {position:absolute;left:16px;top:-100px;background:#fff;padding:12px;z-index:10}
.skip-link:focus {top:16px}

@media(max-width:1100px) {:root {--cards:3}.recommendation-values {grid-template-columns:1fr}.result-value {display:flex;align-items:baseline;justify-content:space-between;gap:12px}}
@media(max-width:820px) {:root {--cards:2}.calculator-card {grid-template-columns:1fr}.recommendation-values {grid-template-columns:repeat(3,minmax(0,1fr))}.result-value {display:block}.recommendation-panel {padding-top:24px;border-top:1px solid #ddd}
.site-header {gap:16px}
.site-nav {gap:16px}
.site-nav a,
.login-label {font-size:18px}
}

@media(max-width:540px) {:root {--cards:1;--gap:16px}.page {width:calc(100% - 32px)}.site-header {flex-direction:column;align-items:center;padding-block:20px}.brand {width:170px}.site-nav {width:100%;justify-content:center;gap:24px}.site-nav a,.login-label {font-size:17px}.hero {margin-bottom:24px}.print-image {aspect-ratio:4/3}.print-content {padding:20px 12px}.calculator-card {border-radius:18px}.recommendation-values {grid-template-columns:1fr}.result-value {display:flex}.size-fields {gap:12px}.carousel-controls {gap:4px}.carousel-dot {width:24px}.site-footer {font-size:17px}}
@media(max-width:340px) {.site-nav {gap:16px}.size-fields {grid-template-columns:1fr;gap:0}}
@media(prefers-reduced-motion:reduce) {html {scroll-behavior:auto}.carousel-viewport {scroll-behavior:auto}}
