@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:3}

* {box-sizing:border-box}
html {scroll-behavior:smooth;scroll-padding-top:24px}
body {margin:0;color:var(--text);background:#000002;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}
h2 {color:white; font-size:clamp(27px,3vw,36px);line-height:1.2;margin:0 0 12px;font-weight:700}
p { color: white; }

.page {width: 100%; background-color: #000002; }
.subpage {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; }

.pc-name { font-family: blackone; font-size:3.5rem }
.pc-detail { font-family: teko; font-size:2rem; line-height: 1.2; }
.pc-price { font-family: blackone; font-size:3.5rem; }

.div2 { 
    display:flex; 
    flex-direction:column; 
    align-items: left; 
    width: 50%; 
    justify-content: center;
    padding-left: 0%;
    background-image: url('/image/pc-right.png');
    background-repeat: no-repeat;
    background-position: center right;
    background-size: 45%;
    aspect-ratio: 3 / 1;
}

.div { 
    display:flex; 
    flex-direction:column; 
    align-items: end; 
    width: 50%; 
    justify-content: center;
    padding-right: 15%;
}

.hero {
    margin-bottom:clamp(32px,5vw,70px); 
    background-image: url('/image/pelotton-top.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    width:100%; 
    aspect-ratio: 3 / 1;
    display: flex;
    flex-direction: row;
}

.hero img {width:100%; height:auto; }

.section {padding-block:clamp(24px,4vw,60px)}
.printing-header {text-align:center;margin-bottom:32px}
.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; 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;
    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 { 
    background-color: #000002; 
    flex:1;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    padding:22px 12px }

.print-content h3 {color:white; 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:#000002;
    color:#fff;
    border-radius:7px;
    font-size:17px;
    border: 1px solid #29b6ff;
    font-family: Fira;
}

.print-button:hover {background:#29b6ff; color: #000; }

.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}}
