.size-guide-page {
  --sg-paper:#f7f4ef;
  --sg-ink:#27231f;
  --sg-muted:#69625b;
  --sg-line:#d7cfc5;
  --sg-red:#af262b;
  color:var(--sg-ink);
  background:var(--sg-paper);
  letter-spacing:0;
}
.size-guide-page :where(h1,h2,h3,p,figure) { margin-top:0; }
.size-guide-page :where(a,button):focus-visible,
.size-guide-table-wrap:focus-visible { outline:2px solid var(--sg-red); outline-offset:5px; }
.size-guide-hero { display:grid; grid-template-columns:minmax(0,.83fr) minmax(520px,1.17fr); min-height:650px; border-bottom:1px solid var(--sg-line); }
.size-guide-hero__copy { display:flex; flex-direction:column; justify-content:center; padding:56px clamp(48px,6vw,104px); }
.size-guide-breadcrumb { display:flex; flex-wrap:wrap; gap:11px; margin-bottom:clamp(46px,6vw,82px); color:var(--sg-muted); font:500 12px/1.5 var(--sans); }
.size-guide-breadcrumb a { text-decoration:underline; text-underline-offset:4px; }
.size-guide-hero h1 { margin-bottom:30px; font:400 clamp(58px,6vw,92px)/.94 var(--serif); letter-spacing:-.035em; }
.size-guide-page h1 em,
.size-guide-page h2 em { color:var(--sg-red); font-weight:400; }
.size-guide-hero__copy > p { max-width:58ch; margin-bottom:34px; color:var(--sg-muted); font-size:16px; line-height:1.85; }
.size-guide-hero__actions { display:flex; align-items:center; flex-wrap:wrap; gap:22px 30px; }
.size-guide-button { display:inline-flex; align-items:center; justify-content:space-between; gap:26px; min-height:52px; padding:0 21px 0 24px; border:1px solid var(--sg-ink); background:var(--sg-ink); color:var(--sg-paper); font:600 11px/1.2 var(--sans); letter-spacing:.1em; text-transform:uppercase; transition:background .24s ease-out,color .24s ease-out; }
.size-guide-button svg { flex:0 0 20px; width:20px; height:20px; }
.size-guide-button:hover { background:transparent; color:var(--sg-ink); }
.size-guide-text-link { min-height:44px; display:inline-flex; align-items:center; color:var(--sg-ink); font-size:13px; text-decoration:underline; text-underline-offset:6px; }
.size-guide-text-link:hover { color:var(--sg-red); }
.size-guide-hero__visual { position:relative; min-height:650px; overflow:hidden; background:#d6cec1; }
.size-guide-hero__visual img { width:100%; height:100%; object-fit:cover; object-position:center; }
.size-guide-hero__visual figcaption { position:absolute; right:28px; bottom:26px; max-width:300px; padding:15px 17px; background:rgba(247,244,239,.94); color:#4f4943; font-size:11px; line-height:1.65; }
.size-calculator { display:grid; grid-template-columns:minmax(300px,.67fr) minmax(0,1.33fr); gap:9%; padding:clamp(88px,9vw,136px) max(48px,calc((100vw - 1400px)/2)); background:#ece6de; scroll-margin-top:120px; }
.size-calculator__intro h2 { margin-bottom:30px; font:400 clamp(46px,5.1vw,76px)/1 var(--serif); letter-spacing:-.035em; }
.size-calculator__intro > p { max-width:49ch; margin-bottom:16px; color:var(--sg-muted); font-size:15px; line-height:1.8; }
.size-calculator__intro .size-calculator__privacy { margin-bottom:0; color:var(--sg-ink); font-size:12px; font-weight:600; }
.size-calculator__workspace { min-width:0; }
.size-calculator__form { padding-top:5px; }
.size-calculator__fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.size-calculator__fields label { display:block; color:var(--sg-ink); font-size:12px; font-weight:600; }
.size-calculator__input { display:flex; align-items:baseline; margin-top:12px; border-bottom:1px solid #9f958a; transition:border-color .2s ease-out; }
.size-calculator__input:focus-within { border-color:var(--sg-red); }
.size-calculator__input input { width:100%; min-width:0; height:64px; padding:0; border:0; border-radius:0; outline:0; background:transparent; color:var(--sg-ink); font:400 34px/1 var(--serif); font-variant-numeric:tabular-nums; }
.size-calculator__input input::placeholder { color:#9c948b; opacity:1; }
.size-calculator__input input[aria-invalid="true"] { color:var(--sg-red); }
.size-calculator__input small { padding-left:10px; color:var(--sg-muted); font-size:11px; font-weight:500; }
.size-calculator__error { display:block; min-height:36px; padding-top:8px; color:#8f1f25; font-size:11px; font-weight:500; line-height:1.45; }
.size-calculator__actions { display:flex; align-items:center; gap:24px; margin-top:21px; }
.size-calculator__actions button { cursor:pointer; }
.size-calculator__reset { min-height:44px; padding:0; border:0; border-bottom:1px solid currentColor; background:transparent; color:var(--sg-muted); font:500 12px/1 var(--sans); }
.size-calculator__reset:hover { color:var(--sg-red); }
.size-calculator__result { display:flex; align-items:center; min-height:150px; margin-top:44px; padding:34px 38px; border-top:1px solid #c9bfb4; border-bottom:1px solid #c9bfb4; color:var(--sg-muted); }
.size-calculator__result-prompt { max-width:42ch; margin:0; font:400 23px/1.35 var(--serif); }
.size-calculator__result.is-error,.size-calculator__result.is-consultation,.size-calculator__result.is-recommended { display:block; color:var(--sg-ink); }
.size-calculator__result-label { margin:0 0 12px; color:var(--sg-red); font-size:10px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.size-calculator__result h3 { margin-bottom:12px; font:400 30px/1.2 var(--serif); }
.size-calculator__result > p:not(.size-calculator__result-label,.size-calculator__result-size,.size-calculator__result-prompt) { max-width:63ch; font-size:13px; line-height:1.7; }
.size-calculator__result > a { display:inline-flex; min-height:44px; align-items:center; margin-top:8px; color:var(--sg-red); font-size:12px; font-weight:600; text-decoration:underline; text-underline-offset:5px; }
.size-calculator__result-size { display:flex; align-items:baseline; gap:17px; margin:0 0 26px; }
.size-calculator__result-size strong { color:var(--sg-red); font:400 70px/.85 var(--serif); }
.size-calculator__result-size span { font:400 28px/1 var(--serif); }
.size-calculator__breakdown { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-bottom:22px; border-top:1px solid #c9bfb4; border-bottom:1px solid #c9bfb4; }
.size-calculator__breakdown span { padding:17px 18px 17px 0; font:400 20px/1.2 var(--serif); }
.size-calculator__breakdown span + span { padding-left:18px; border-left:1px solid #c9bfb4; }
.size-calculator__breakdown small { display:block; margin-bottom:6px; color:var(--sg-muted); font:600 9px/1.3 var(--sans); letter-spacing:.08em; text-transform:uppercase; }
.size-calculator__notice { margin:0 0 8px; }
.size-calculator__disclaimer { margin:18px 0 0; color:var(--sg-muted); }
.size-guide-table-section { width:min(100% - 96px,1400px); margin-inline:auto; padding:clamp(90px,10vw,150px) 0; scroll-margin-top:120px; }
.size-guide-section-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.72fr); align-items:end; gap:9%; margin-bottom:58px; }
.size-guide-section-heading h2,
.size-guide-measuring h2,
.size-guide-closing h2 { margin-bottom:0; font:400 clamp(46px,5.1vw,76px)/1 var(--serif); letter-spacing:-.035em; }
.size-guide-section-heading > div { max-width:58ch; padding-bottom:5px; }
.size-guide-section-heading p { margin-bottom:12px; color:var(--sg-muted); font-size:15px; line-height:1.8; }
.size-guide-section-heading .size-guide-unit { margin:0; color:var(--sg-red); font-size:12px; font-weight:600; }
.size-guide-table-wrap { overflow-x:auto; border-top:1px solid var(--sg-ink); border-bottom:1px solid var(--sg-ink); scrollbar-color:var(--sg-red) #e7e1d9; scrollbar-width:thin; }
.size-guide-table { width:100%; min-width:790px; border-collapse:collapse; font-variant-numeric:tabular-nums; }
.size-guide-table :is(th,td) { padding:23px 20px; border-bottom:1px solid var(--sg-line); text-align:center; white-space:nowrap; }
.size-guide-table thead th { color:var(--sg-muted); font:600 10px/1.4 var(--sans); letter-spacing:.09em; text-transform:uppercase; }
.size-guide-table tbody th { color:var(--sg-red); font:500 26px/1 var(--serif); }
.size-guide-table tbody td { font-size:15px; }
.size-guide-table tr:last-child :is(th,td) { border-bottom:0; }
.size-guide-table th:first-child { position:sticky; left:0; z-index:1; width:15%; background:var(--sg-paper); text-align:left; }
.size-guide-table abbr { text-decoration:none; }
.size-guide-swipe { display:none; margin:10px 0 0; color:var(--sg-muted); font-size:11px; }
.size-guide-fit-notes { display:grid; grid-template-columns:1fr 1fr; gap:0; margin-top:62px; border-top:1px solid var(--sg-line); border-bottom:1px solid var(--sg-line); }
.size-guide-fit-notes > div { padding:36px 8% 38px 0; }
.size-guide-fit-notes > div + div { padding-left:8%; border-left:1px solid var(--sg-line); }
.size-guide-fit-notes h3 { margin-bottom:13px; font:400 28px/1.2 var(--serif); }
.size-guide-fit-notes p { max-width:62ch; margin:0; color:var(--sg-muted); font-size:14px; line-height:1.8; }
.size-guide-measuring { display:grid; grid-template-columns:minmax(300px,.7fr) minmax(0,1.3fr); gap:10%; padding:clamp(80px,9vw,140px) max(48px,calc((100vw - 1400px)/2)); background:#ece6de; scroll-margin-top:120px; }
.size-guide-measuring__intro { align-self:start; position:sticky; top:130px; }
.size-guide-measuring__intro > p { max-width:46ch; margin:28px 0 0; color:var(--sg-muted); font-size:15px; line-height:1.8; }
.size-guide-measuring__intro > p + p { margin-top:13px; color:var(--sg-ink); font-weight:600; }
.size-guide-measurements { margin:0; padding:0; list-style:none; border-top:1px solid #cfc5b9; }
.size-guide-measurements li { display:grid; grid-template-columns:52px minmax(0,1fr); gap:24px; padding:28px 0; border-bottom:1px solid #cfc5b9; }
.size-guide-measurements li > span { color:var(--sg-red); font:500 13px/1.6 var(--sans); font-variant-numeric:tabular-nums; }
.size-guide-measurements h3 { margin-bottom:8px; font:400 27px/1.2 var(--serif); }
.size-guide-measurements p { max-width:65ch; margin:0; color:var(--sg-muted); font-size:14px; line-height:1.75; }
.size-guide-closing { display:flex; align-items:flex-end; justify-content:space-between; gap:56px; padding:clamp(80px,9vw,132px) max(48px,calc((100vw - 1400px)/2)); background:var(--sg-ink); color:var(--sg-paper); }
.size-guide-closing p { max-width:58ch; margin:26px 0 0; color:#cfc7bd; font-size:15px; line-height:1.8; }
.size-guide-button--light { flex:0 0 auto; border-color:var(--sg-paper); background:var(--sg-paper); color:var(--sg-ink); }
.size-guide-button--light:hover { background:transparent; color:var(--sg-paper); }
@media (max-width:1050px) {
  .size-guide-hero { grid-template-columns:1fr 1fr; min-height:570px; }
  .size-guide-hero__copy { padding:48px 40px; }
  .size-guide-hero__visual { min-height:570px; }
  .size-guide-table-section { width:calc(100% - 64px); }
  .size-calculator,.size-guide-measuring,.size-guide-closing { padding-inline:32px; }
  .size-calculator { gap:6%; }
}
@media (max-width:780px) {
  .size-guide-hero { display:flex; flex-direction:column; min-height:0; }
  .size-guide-hero__copy { padding:28px 24px 48px; }
  .size-guide-breadcrumb { margin-bottom:44px; }
  .size-guide-hero h1 { font-size:clamp(50px,15vw,72px); }
  .size-guide-hero__visual { min-height:0; aspect-ratio:4/3; }
  .size-guide-hero__visual figcaption { right:16px; bottom:16px; max-width:min(290px,calc(100% - 32px)); }
  .size-calculator { display:block; padding-block:76px; }
  .size-calculator__intro { margin-bottom:46px; }
  .size-calculator__fields { grid-template-columns:1fr; gap:8px; }
  .size-calculator__input input { height:58px; }
  .size-calculator__actions { align-items:flex-start; flex-direction:column; gap:10px; }
  .size-calculator__result { margin-top:34px; padding:28px 0; }
  .size-guide-table-section { width:calc(100% - 48px); padding-block:78px; }
  .size-guide-section-heading { display:block; margin-bottom:38px; }
  .size-guide-section-heading > div { margin-top:26px; }
  .size-guide-swipe { display:block; }
  .size-guide-fit-notes { display:block; margin-top:44px; }
  .size-guide-fit-notes > div { padding:28px 0; }
  .size-guide-fit-notes > div + div { padding-left:0; border-top:1px solid var(--sg-line); border-left:0; }
  .size-guide-measuring { display:block; padding-block:76px; }
  .size-guide-measuring__intro { position:static; margin-bottom:48px; }
  .size-guide-closing { display:block; padding-block:76px; }
  .size-guide-closing .size-guide-button { margin-top:34px; }
}
@media (max-width:420px) {
  .size-guide-hero__copy { padding-inline:20px; }
  .size-guide-hero h1 { font-size:50px; }
  .size-guide-hero__actions { align-items:flex-start; flex-direction:column; gap:12px; }
  .size-guide-table-section { width:calc(100% - 40px); }
  .size-guide-section-heading h2,.size-guide-measuring h2,.size-guide-closing h2 { font-size:42px; }
  .size-guide-table :is(th,td) { padding:19px 16px; }
  .size-calculator,.size-guide-measuring,.size-guide-closing { padding-inline:20px; }
  .size-calculator__intro h2 { font-size:42px; }
  .size-calculator__breakdown span { padding-right:10px; font-size:17px; }
  .size-calculator__breakdown span + span { padding-left:10px; }
  .size-guide-measurements li { grid-template-columns:38px minmax(0,1fr); gap:14px; }
}
@media (prefers-reduced-motion:reduce) {
  .size-guide-page * { scroll-behavior:auto !important; transition-duration:.01ms !important; }
}
