/* Buildr Home (slidingdoor.ca) design round 1.
   Buildr's tokens (site-r3.css) carried over unchanged; the sub-brand adds one display serif,
   a photo-led picker and a quieter, homeowner register. Light only, like buildr.to. */
:root{
  --paper:#FFFFFF; --board:#F4F5F7; --dust:#E3E6EA; --chalk:#C6CCD3;
  --ink:#171A1E; --ink-soft:#474D55; --ink-mute:#6D737B;
  --navy:#13265C; --navy-edge:#0C193F; --navy-tint:#E8ECF6;
  --orange:#F94A00; --orange-ink:#B03200; --orange-tint:#FFEDE4;
  --go:#0B6B3C;
  --font-brand:"Barlow","Helvetica Neue",Arial,sans-serif;
  --font-ui:"IBM Plex Sans",ui-sans-serif,-apple-system,"Segoe UI",sans-serif;
  --font-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --font-display:"Newsreader",Georgia,"Times New Roman",serif;
  --r:6px; --r-lg:14px; --ease:cubic-bezier(.2,.8,.2,1);
  --wrap:1240px; --gutter:24px;
  --bleed:max(var(--gutter),calc(50vw - var(--wrap)/2));
  color-scheme:light;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-ui);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:var(--navy)}
img{max-width:100%;display:block}
p{margin:0}
h1,h2,h3{margin:0;text-wrap:balance}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:max(var(--gutter),env(safe-area-inset-left,0px));padding-right:max(var(--gutter),env(safe-area-inset-right,0px))}
.display{font-family:var(--font-display);font-weight:500;letter-spacing:-.015em;line-height:1.02;font-optical-sizing:auto}
.mono{font-family:var(--font-mono)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* buttons (Buildr's) */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 22px;border-radius:var(--r);font-weight:600;font-size:16px;text-decoration:none;border:1.5px solid transparent;transition:transform .15s var(--ease),background .15s;cursor:pointer;font-family:var(--font-ui)}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--orange);color:#fff;border-color:var(--orange)}
.btn-primary:hover{background:var(--orange-ink);border-color:var(--orange-ink)}
.btn-ghost{background:transparent;color:var(--navy);border-color:var(--navy)}
.btn-ghost:hover{background:var(--navy-tint)}
.btn-light{background:#fff;color:var(--navy);border-color:#fff}
.btn-light:hover{background:var(--navy-tint);border-color:var(--navy-tint)}
:is(a,button,summary,input):focus-visible{outline:3px solid var(--orange);outline-offset:3px}

/* header */
.site-head{position:sticky;top:0;z-index:9;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--dust)}
.site-head .wrap{display:flex;align-items:center;gap:28px;min-height:68px}
.logo{display:inline-flex;align-items:center;text-decoration:none;color:var(--ink)}
.logo img{display:block;height:32px;width:auto}
.ft-brand .logo img{height:40px}
.nav-links{display:flex;gap:24px;margin-left:auto;font-size:15px;font-weight:500}
.nav-links a{color:var(--ink-soft);text-decoration:none}
.nav-links a:hover{color:var(--ink)}
.by{font-family:var(--font-mono);font-size:12px;color:var(--ink-mute);text-decoration:none;letter-spacing:.02em;white-space:nowrap}
.by:hover{color:var(--navy)}
@media (max-width:860px){.nav-links{display:none}.site-head .wrap{min-height:60px}.by{margin-left:auto}}

/* ---------- hero = the picker ---------- */
.hero{padding:28px 0 56px}
#buildr-configurator{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,540px);grid-template-areas:"gal copy" "gal steps";column-gap:56px;align-items:start;padding-right:var(--bleed)}
.shop-grid{display:contents}
.shop-side{grid-area:gal;display:flex;flex-direction:column;gap:14px;min-width:0}
#hero-copy{grid-area:copy;padding-top:8px}
.shop-steps{grid-area:steps;display:flex;flex-direction:column;min-width:0;margin-top:26px}
.hero:has(#buildr-configurator > #hero-copy) .hero-fallback{display:none}
#hero-copy h1{font-size:clamp(34px,3.4vw,46px)}
#hero-copy .lede{font-size:18px;color:var(--ink-soft);margin-top:14px;max-width:42ch;line-height:1.5}

/* the gallery */
.shop-photo{margin:0;position:relative;background:var(--board);aspect-ratio:6/5;overflow:hidden;border-radius:0 var(--r-lg) var(--r-lg) 0}
.shop-photo img{width:100%;height:100%;object-fit:cover}
.shop-photo .badge{display:none}
.gal-empty[hidden]{display:none}
.gal-empty{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:8px;text-align:center;color:var(--ink-soft);padding:24px}
.gal-empty::before{content:"";position:absolute;inset:14px;border:1px dashed var(--chalk);border-radius:10px;pointer-events:none}
.gal-empty-i{color:var(--ink-mute)}
.gal-empty-i svg{width:36px;height:36px}
.gal-empty b{font-family:var(--font-display);font-weight:500;font-size:24px;color:var(--ink);letter-spacing:-.01em}
.gal-empty span:last-child{font-size:14px;max-width:34ch}
.gal-cap{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-left:var(--bleed);font-size:14px;color:var(--ink-soft)}
.gal-cap-t b{color:var(--ink);font-weight:600}
.gal-cap-t span:not(:empty)::before{content:" ";}
#gal-cap-note{color:var(--ink-mute)}
.shop-sum{font-family:var(--font-mono);font-size:13px;color:var(--ink-mute);white-space:nowrap;text-transform:lowercase}
.gal-thumbs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;padding-left:var(--bleed)}
.gal-t{font:inherit;background:none;border:0;padding:0;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:6px;color:var(--ink-soft);min-width:0}
.gal-t-img{display:grid;place-content:center;justify-items:center;gap:4px;aspect-ratio:5/4;border-radius:8px;overflow:hidden;background:var(--board);border:1.5px solid var(--dust);color:var(--ink-mute);transition:border-color .15s}
.gal-t-img img{width:100%;height:100%;object-fit:cover}
.gal-t-img i{font-style:normal;font-size:11px;letter-spacing:.02em}
.gal-t.is-empty .gal-t-img{border-style:dashed;border-color:var(--chalk)}
.gal-t.is-video .gal-t-img{background:var(--navy-tint);border-color:var(--navy-tint);color:var(--navy)}
.gal-t:hover .gal-t-img{border-color:var(--navy)}
.gal-t[aria-pressed="true"] .gal-t-img{border-color:var(--navy);box-shadow:inset 0 0 0 1px var(--navy)}
.gal-t-cap{font-size:12.5px;line-height:1.3;color:var(--ink-soft)}
.gal-t[aria-pressed="true"] .gal-t-cap{color:var(--ink);font-weight:600}
.rolls{padding-left:var(--bleed);margin-top:10px;border-top:1px solid var(--dust);padding-top:18px}
.rolls-h{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:12px;flex-wrap:wrap}
.rolls-h h3{font-family:var(--font-display);font-weight:500;font-size:24px;letter-spacing:-.01em}
.rolls-h p{font-size:14px;color:var(--ink-soft);max-width:44ch}
.rolls-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.rolls-row .gal-t-img{aspect-ratio:3/2}

/* the picker */
.step{padding:18px 0;border-top:1px solid var(--dust)}
.step-h{display:flex;align-items:baseline;gap:10px;margin-bottom:12px;font-weight:600;font-size:15px}
.step-n{font-family:var(--font-mono);font-size:12px;color:var(--ink-mute);font-weight:500;min-width:1.2em}
.opts{display:flex;flex-wrap:wrap;gap:10px}
#o-material,#o-edge{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
#o-edge:has(> .opt:only-child){grid-template-columns:minmax(0,1fr)}
.opt{font:inherit;font-size:15px;font-weight:600;min-height:44px;padding:10px 16px;border:1.5px solid var(--chalk);border-radius:var(--r);background:var(--paper);color:var(--ink);cursor:pointer;transition:border-color .15s,background .15s}
.opt:hover:not(:disabled){border-color:var(--navy)}
.opt[aria-pressed="true"]{border-color:var(--navy);background:var(--navy-tint);box-shadow:inset 0 0 0 1px var(--navy);color:var(--navy)}
.opt:disabled{opacity:.4;cursor:not-allowed}
.opt.opt-vis{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;align-items:center;text-align:left;padding:10px;border-radius:10px}
.opt-img{display:grid;place-content:center;justify-items:center;gap:2px;aspect-ratio:1;border-radius:6px;overflow:hidden;background:var(--board);color:var(--ink-mute);border:1px solid var(--dust)}
.opt-img img{width:100%;height:100%;object-fit:cover}
.opt-img svg{width:18px;height:18px}
.opt-img i{font-style:normal;font-size:9px;letter-spacing:.02em;line-height:1}
.opt-vis[aria-pressed="true"] .opt-img{border-color:transparent}
.opt-t{display:block;min-width:0}
.opt-l{display:block;font-weight:600;font-size:15px;color:var(--ink)}
.opt-d{display:block;font-weight:400;font-size:12.5px;color:var(--ink-soft);line-height:1.35;margin-top:3px}
.opt-vis[aria-pressed="true"] .opt-l{color:var(--navy)}
.swatches{display:flex;gap:12px;flex-wrap:wrap}
.sw{width:40px;height:40px;border-radius:50%;border:2px solid var(--chalk);cursor:pointer;padding:0}
.sw[aria-pressed="true"]{outline:2px solid var(--navy);outline-offset:3px}
.sw:disabled{opacity:.35;cursor:not-allowed}
.sw-name{font-size:13px;color:var(--ink-soft);margin-top:10px}
.dims{display:flex;gap:16px;flex-wrap:wrap}
.dim{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--ink-soft)}
.dim span{display:flex;align-items:center;gap:6px}
.dim input{font-family:var(--font-mono);font-size:20px;font-weight:500;width:140px;min-height:52px;padding:8px 12px;border:1.5px solid var(--chalk);border-radius:var(--r);color:var(--ink);background:var(--paper)}
.dim input:focus{border-color:var(--navy);outline:0;box-shadow:inset 0 0 0 1px var(--navy)}
.hint{font-size:13px;color:var(--ink-soft);margin-top:12px;max-width:52ch;line-height:1.5}
.opts-error{color:var(--orange-ink);font-weight:600;font-size:15px}
.opts-error .opt{margin-left:8px;min-height:36px;padding:6px 12px}

/* the price */
.pricebar{position:sticky;bottom:0;z-index:4;background:var(--paper);margin-top:6px;padding:18px 0 18px;border-top:2px solid var(--ink);display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"k v" "sku v" "btn btn";column-gap:16px;row-gap:2px;align-items:baseline}
.price-k{grid-area:k;font-size:14px;font-weight:600;color:var(--ink-soft)}
.price-v{grid-area:v;font-family:var(--font-mono);font-weight:600;font-size:42px;color:var(--navy);text-align:right;line-height:1;font-variant-numeric:tabular-nums;transition:opacity .15s var(--ease)}
.price-v small{font-size:14px;color:var(--ink-mute);font-weight:500;margin-left:4px}
.price-fit{grid-area:sku;font-family:var(--font-mono);font-size:12px;color:var(--ink-mute);min-height:1.2em;align-self:start}
.pricebar.nofit .price-v{font-family:var(--font-ui);font-size:17px;font-weight:600;line-height:1.35;color:var(--orange-ink);text-align:left;grid-column:1/-1;grid-row:1;font-variant-numeric:normal}
.pricebar.nofit .price-k{display:none}
.pricebar.nofit .price-fit{grid-row:2;grid-column:1/-1}
.price-sku{display:none} /* Buildr Home shows "Fits as W x H"; the SKU is for the embed/trade surfaces */
.pricebar.busy .price-v{opacity:.4}
.pricebar .order-link{grid-area:btn;width:100%;min-height:56px;font-size:17px;margin-top:14px}
.order-note{margin-top:4px}
.btn[aria-disabled="true"]{opacity:.45;pointer-events:none}
.order-note{font-size:13px;color:var(--ink-mute);margin-top:12px;line-height:1.5}
.trade-line{font-size:14px;color:var(--ink-soft);margin-top:18px;padding-top:14px;border-top:1px solid var(--dust)}
.trade-line a{font-weight:600}

/* hero fallback (shown only if the script did not move the copy) */
.hero-fallback{padding:0 var(--bleed) 24px}

@media (max-width:900px){
  .hero{padding:20px 0 40px}
  #buildr-configurator{grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "gal" "steps";padding-right:0;row-gap:0}
  #hero-copy{padding:0 16px 18px}
  #hero-copy h1{font-size:32px}
  #hero-copy .lede{font-size:16px;margin-top:10px}
  .shop-photo{border-radius:0}
  .gal-cap{padding:0 16px;flex-direction:column;gap:4px;align-items:flex-start}
  .shop-sum{white-space:normal}
  .gal-thumbs{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 16px 6px;gap:10px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .gal-thumbs::-webkit-scrollbar{display:none}
  .gal-t{flex:0 0 31%;scroll-snap-align:start}
  .rolls{margin:12px 16px 0;padding-left:0}
  .rolls-h{flex-direction:column;gap:4px}
  .rolls-h h3{font-size:22px}
  .shop-steps{padding:0 16px;margin-top:16px}
  .step{padding:16px 0}
  .opt.opt-vis{grid-template-columns:56px minmax(0,1fr);padding:8px}
  .opt-d{font-size:12px}
  .dim input{width:100%;min-width:0}
  .dim{flex:1 1 0}
  .pricebar{position:sticky;bottom:0;z-index:5;background:var(--paper);margin:8px -16px 0;padding:12px 16px 12px;border-top:1px solid var(--dust);box-shadow:0 -10px 30px rgba(23,26,30,.08);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"k btn" "v btn" "sku btn";column-gap:14px;align-items:center}
  .price-k{font-size:12px}
  .price-v{text-align:left;font-size:28px}
  .price-v small{font-size:12px}
  .price-fit{font-size:11px}
  .pricebar .order-link{width:auto;min-height:50px;margin:0;padding:0 18px;font-size:16px;align-self:center}
  .pricebar.nofit{grid-template-areas:"v btn" "sku btn"}
  .pricebar.nofit .price-v{font-size:15px;grid-column:auto;grid-row:auto}
  .pricebar.nofit .price-fit{grid-column:auto;grid-row:auto}
}

/* ---------- sections ---------- */
.sec{padding:96px 0}
.sec h2{font-size:clamp(34px,3.8vw,54px)}
.sec .sub{font-size:18px;color:var(--ink-soft);margin-top:16px;max-width:46ch;line-height:1.55}

/* measure: text left, photo right */
.measure .wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:72px;align-items:center}
.ms-list{margin:32px 0 0;padding:0;list-style:none;border-top:1px solid var(--dust)}
.ms-list li{display:grid;grid-template-columns:104px minmax(0,1fr);gap:16px;padding:14px 0;border-bottom:1px solid var(--dust);font-size:15px;color:var(--ink-soft);line-height:1.5}
.ms-list b{color:var(--ink);font-weight:600;font-size:16px}
.measure .more{margin-top:24px;font-size:15px}
.measure .more a{font-weight:600}
.measure figure{margin:0;aspect-ratio:5/4;border-radius:var(--r-lg);overflow:hidden;background:var(--board)}
.measure figure img{width:100%;height:100%;object-fit:cover;object-position:62% 50%}

/* navy band: installer + pickup + paying (the one inverted section) */
.band{background:var(--navy);color:#fff;padding:88px 0}
.band .wrap{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:72px;align-items:start}
.band h2{color:#fff;font-size:clamp(34px,3.6vw,52px)}
.band p{color:rgba(255,255,255,.84);font-size:18px;max-width:46ch;line-height:1.6;letter-spacing:.005em}
.band .lead p{margin-top:18px}
.band .row{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:28px}
.band .tel{font-family:var(--font-mono);font-size:15px;color:rgba(255,255,255,.86)}
.band .tel a{color:#fff;text-decoration:none;font-weight:500}
.band dl{margin:6px 0 0;border-top:1px solid rgba(255,255,255,.2)}
.band dt{font-weight:600;font-size:17px;padding-top:18px;letter-spacing:.005em}
.band dd{margin:6px 0 0;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.8);font-size:15.5px;line-height:1.55}

/* FAQ */
.faq .wrap{max-width:880px}
.faq-list{margin-top:36px;border-top:1px solid var(--dust)}
.faq details{border-bottom:1px solid var(--dust);padding:18px 0}
.faq summary{cursor:pointer;font-weight:600;font-size:18px;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";width:18px;height:18px;flex:none;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F94A00' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");transition:transform .18s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin-top:10px;color:var(--ink-soft);font-size:16px;max-width:64ch;line-height:1.6}

/* footer */
footer{background:var(--board);border-top:1px solid var(--dust);color:var(--ink-soft);font-size:14px}
.ft-top{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px;padding:56px 0 40px}
.ft-brand{display:flex;flex-direction:column;gap:14px;max-width:38ch}
.ft-brand .logo{color:var(--ink)}
.ft-brand p{line-height:1.55}
.ft-cross{font-size:16px;color:var(--ink);line-height:1.5}
.ft-cross a{font-weight:600}
.ft-cross .ft-by{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.ft-cross .ft-by img{width:28px;height:28px;border-radius:6px;flex:none}
.ft-cross .ft-by:hover span{text-decoration:underline}
.ft-cross small{display:block;font-size:13px;color:var(--ink-soft);margin-top:4px}
footer h4{font-family:var(--font-ui);font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);margin:0 0 14px}
footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
footer ul a{color:var(--ink-soft);text-decoration:none}
footer ul a:hover{color:var(--ink);text-decoration:underline}
.ft-facts{display:flex;gap:10px;flex-wrap:wrap;padding:18px 0;border-top:1px solid var(--dust)}
.ft-facts span{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-family:var(--font-mono);padding:6px 10px;border:1px solid var(--dust);border-radius:999px;background:#fff;color:var(--ink-soft)}
.ft-facts i{width:7px;height:7px;border-radius:50%;background:var(--go);display:inline-block}
.ft-bot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:18px 0 28px;border-top:1px solid var(--dust);font-size:13px;color:var(--ink-mute)}
.ft-bot a{color:var(--ink-mute);text-decoration:none;margin-right:16px}
.ft-bot a:hover{color:var(--ink)}

@media (max-width:900px){
  .sec{padding:64px 0}
  .measure .wrap,.band .wrap{grid-template-columns:minmax(0,1fr);gap:36px}
  .measure figure{order:-1;aspect-ratio:4/3;border-radius:10px}
  .ms-list li{grid-template-columns:88px minmax(0,1fr)}
  .band{padding:64px 0}
  .ft-top{grid-template-columns:1fr 1fr;gap:28px;padding:44px 0 28px}
  .ft-top > .ft-brand{grid-column:1/-1}
}

/* ---------- guides (index + article) ---------- */
.page-head{padding:56px 0 40px;border-bottom:1px solid var(--dust)}
.page-head h1{font-size:clamp(36px,4.2vw,58px)}
.page-head .sub{font-size:18px;color:var(--ink-soft);margin-top:14px;max-width:52ch}
.crumbs{font-size:13px;color:var(--ink-mute);display:flex;gap:8px;align-items:center;margin-bottom:22px}
.crumbs a{color:var(--ink-mute);text-decoration:none}
.crumbs a:hover{color:var(--ink)}
.crumbs svg{width:14px;height:14px}
.chip{font-size:12.5px;font-weight:600;color:var(--navy);background:var(--navy-tint);border-radius:4px;padding:3px 8px;white-space:nowrap}
.meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:13px;color:var(--ink-mute)}

.g-feat{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:56px;align-items:center;padding:56px 0;border-bottom:1px solid var(--dust)}
.g-feat figure{margin:0;aspect-ratio:4/3;border-radius:var(--r-lg);overflow:hidden;background:var(--board)}
.g-feat figure img{width:100%;height:100%;object-fit:cover}
.g-feat h2{font-size:clamp(28px,3vw,40px);margin-top:14px}
.g-feat h2 a{color:var(--ink);text-decoration:none}
.g-feat h2 a:hover{color:var(--navy)}
.g-feat p{color:var(--ink-soft);margin-top:12px;max-width:48ch;line-height:1.55}
.g-feat .btn{margin-top:22px}
.g-list{list-style:none;margin:0;padding:0 0 72px}
.g-list li{display:grid;grid-template-columns:132px minmax(0,1fr) 110px;gap:28px;padding:26px 0;border-bottom:1px solid var(--dust);align-items:baseline}
.g-list h3{font-family:var(--font-display);font-weight:500;font-size:26px;letter-spacing:-.01em;line-height:1.1}
.g-list h3 a{color:var(--ink);text-decoration:none}
.g-list h3 a:hover{color:var(--navy)}
.g-list p{color:var(--ink-soft);font-size:15.5px;margin-top:8px;max-width:64ch;line-height:1.5}
.g-list .rt{font-family:var(--font-mono);font-size:12px;color:var(--ink-mute);text-align:right}
.g-list .soon{color:var(--ink-mute);font-size:12px;font-family:var(--font-mono)}

.post{max-width:46em;margin:0 auto;padding:48px var(--gutter) 80px}
.post-head{display:grid;gap:16px;margin-bottom:36px}
.post h1{font-size:clamp(34px,4vw,52px)}
.post .lede{font-size:19px;color:var(--ink-soft);line-height:1.55}
.post h2{font-size:clamp(26px,2.8vw,34px);margin:48px 0 12px}
.post h3{font-family:var(--font-ui);font-size:19px;font-weight:600;margin:28px 0 8px}
.post p,.post li{color:var(--ink-soft);font-size:17px;line-height:1.65}
.post p+p{margin-top:14px}
.post ul,.post ol{padding-left:22px;margin:12px 0;display:flex;flex-direction:column;gap:8px}
.post li strong{color:var(--ink);font-weight:600}
.post figure{margin:22px 0}
.post figure img{width:100%;height:auto;border-radius:10px;border:1px solid var(--dust)}
.post figcaption{font-size:13px;color:var(--ink-mute);margin-top:8px}
.post .faq-list{margin-top:20px}
.post .faq-list details{padding:14px 0}
.post .faq-list summary{font-size:17px}
.post .faq-list details p{font-size:16px}
.post-cta{margin-top:48px;padding:28px;border:1px solid var(--dust);border-radius:var(--r-lg);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;background:var(--board)}
.post-cta b{font-family:var(--font-display);font-weight:500;font-size:24px;letter-spacing:-.01em;color:var(--ink);display:block}
.post-cta p{font-size:15px;margin-top:4px}
@media (max-width:900px){
  .page-head{padding:36px 0 28px}
  .g-feat{grid-template-columns:minmax(0,1fr);gap:24px;padding:36px 0}
  .g-feat figure{order:-1}
  .g-list li{grid-template-columns:minmax(0,1fr);gap:8px;padding:22px 0}
  .g-list .rt{text-align:left}
  .post{padding:32px 16px 64px}
  .post-cta{grid-template-columns:minmax(0,1fr)}
}

/* ---------- round 2: home hero + quick price, looks band, nav button ---------- */
.btn-nav{min-height:42px;padding:0 16px;font-size:15px;margin-left:4px}
@media (max-width:860px){.btn-nav{display:none}}
.home-hero{padding:56px 0 64px;border-bottom:1px solid var(--dust)}
.home-hero .wrap{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:72px;align-items:start}
.hh-copy h1{font-size:clamp(40px,4.4vw,62px);max-width:14ch}
.hh-copy .lede{font-size:19px;color:var(--ink-soft);margin-top:22px;max-width:44ch;line-height:1.55}
.hh-facts{list-style:none;margin:36px 0 0;padding:0;border-top:1px solid var(--dust);max-width:52ch}
.hh-facts li{padding:14px 0;border-bottom:1px solid var(--dust);font-size:15.5px;color:var(--ink-soft);line-height:1.5}
.hh-facts b{color:var(--ink);font-weight:600;display:block;font-size:16px}
.quick{background:var(--board);border:1px solid var(--dust);border-radius:var(--r-lg);padding:28px 28px 24px;display:flex;flex-direction:column;gap:16px;position:relative}
.quick h2{font-family:var(--font-display);font-weight:500;font-size:30px;letter-spacing:-.015em;line-height:1.05}
.q-sub{font-size:14px;color:var(--ink-soft);margin-top:-8px}
.q-dims{display:flex;gap:14px}
.q-dims .dim{flex:1 1 0}
.q-dims .dim input{width:100%;min-width:0;font-size:22px;min-height:56px}
.q-mats{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.q-mat{font:inherit;display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;align-items:center;text-align:left;padding:8px;border:1.5px solid var(--chalk);border-radius:10px;background:var(--paper);color:var(--ink);cursor:pointer;transition:border-color .15s,background .15s}
.q-mat:hover{border-color:var(--navy)}
.q-mat[aria-pressed="true"]{border-color:var(--navy);background:var(--navy-tint);box-shadow:inset 0 0 0 1px var(--navy)}
.q-mat-img{display:block;aspect-ratio:1;border-radius:6px;overflow:hidden;border:1px solid var(--dust)}
.q-mat-img img{width:100%;height:100%;object-fit:cover}
.q-mat-t{display:block;min-width:0}
.q-mat-t b{display:block;font-weight:600;font-size:15px}
.q-mat[aria-pressed="true"] .q-mat-t b{color:var(--navy)}
.q-mat-t small{display:block;font-size:12px;color:var(--ink-soft);line-height:1.3;margin-top:2px}
.q-price{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"k v" "fit v" "sum sum";column-gap:16px;align-items:baseline;padding-top:16px;border-top:2px solid var(--ink)}
.q-k{grid-area:k;font-size:14px;font-weight:600;color:var(--ink-soft)}
.q-v{grid-area:v;font-family:var(--font-mono);font-weight:600;font-size:40px;color:var(--navy);text-align:right;line-height:1;font-variant-numeric:tabular-nums;transition:opacity .15s var(--ease)}
.q-v small{font-size:14px;color:var(--ink-mute);font-weight:500;margin-left:4px}
.q-fit{grid-area:fit;font-family:var(--font-mono);font-size:12px;color:var(--ink-mute);min-height:1.2em;align-self:start}
.q-sum{grid-area:sum;font-family:var(--font-mono);font-size:12px;color:var(--ink-mute);margin-top:6px}
.quick.busy .q-v{opacity:.4}
.quick.nofit .q-v{font-family:var(--font-ui);font-size:16px;font-weight:600;line-height:1.35;color:var(--orange-ink);text-align:left;grid-column:1/-1;grid-row:1;font-variant-numeric:normal}
.quick.nofit .q-k{display:none}
.quick.nofit .q-fit{grid-column:1/-1;grid-row:2}
.q-go{width:100%;min-height:56px;font-size:17px}
.q-note{font-size:13px;color:var(--ink-mute);line-height:1.5;margin-top:-4px}

.looks{padding:56px 0 24px;background:var(--paper)}
.looks-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.look{display:grid;grid-template-columns:minmax(0,1fr);background:var(--paper);border:1px solid var(--dust);border-radius:var(--r-lg);overflow:hidden;text-decoration:none;color:var(--ink);transition:border-color .15s,transform .15s var(--ease)}
.look:hover{border-color:var(--navy);transform:translateY(-2px)}
.look-img{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--board)}
.look-img img{width:100%;height:100%;object-fit:cover}
.look-t{display:block;padding:22px 24px 24px}
.look-t b{display:block;font-weight:500;font-size:30px;letter-spacing:-.015em;line-height:1.05}
.look-t span{display:block;color:var(--ink-soft);font-size:15px;line-height:1.5;margin-top:10px;max-width:46ch}
.look-t em{display:inline-block;font-style:normal;font-weight:600;color:var(--navy);margin-top:16px;font-size:15px;border-bottom:1.5px solid var(--navy);padding-bottom:1px}
.looks + .measure{padding-top:48px}

@media (max-width:900px){
  .home-hero{padding:28px 0 40px}
  .home-hero .wrap{grid-template-columns:minmax(0,1fr);gap:32px}
  .hh-copy h1{font-size:36px;max-width:none}
  .hh-copy .lede{font-size:17px;margin-top:14px}
  .hh-facts{margin-top:24px}
  .quick{padding:20px 16px 18px;border-radius:12px}
  .quick h2{font-size:26px}
  .q-v{font-size:32px}
  .looks{padding:32px 0 8px}
  .looks-row{grid-template-columns:minmax(0,1fr);gap:16px}
  .look-t{padding:16px 18px 18px}
  .look-t b{font-size:26px}
}
.hh-copy h1{max-width:17ch}
.measure figure.zoom img{transform:scale(1.22);transform-origin:50% 55%} /* this photo carries pale side bars; the zoom crops them */
@media (max-width:900px){.q-price{grid-template-areas:"k v" "fit fit" "sum sum"}.q-fit{margin-top:4px}}

/* ---------- round 3: one header, identical on every page ---------- */
html{scrollbar-gutter:stable}
.site-head .wrap{display:flex;align-items:center;gap:0;min-height:68px}
.site-head .logo{flex:none;margin-right:auto}
.site-head .nav-links{display:flex;gap:4px;margin:0 20px 0 0;font-size:15px;font-weight:500}
.site-head .nav-links a{color:var(--ink-soft);text-decoration:none;padding:6px 10px;border-radius:4px;line-height:1.2}
.site-head .nav-links a:hover{color:var(--ink);background:var(--board)}
.site-head .nav-links a[aria-current="page"]{color:var(--navy);box-shadow:inset 0 -2px 0 var(--navy);border-radius:4px 4px 0 0}
.site-head .btn-nav{display:inline-flex;min-height:42px;padding:0 16px;font-size:15px;margin:0;flex:none}
.menu-btn{display:none;flex:none;width:42px;height:42px;margin-left:8px;border:1.5px solid var(--chalk);border-radius:var(--r);background:var(--paper);color:var(--ink);cursor:pointer;place-items:center;padding:0}
.menu-btn .i-close{display:none}
.site-head.open .menu-btn .i-open{display:none}
.site-head.open .menu-btn .i-close{display:block}
@media (max-width:900px){
  .site-head .wrap{min-height:60px}
  .site-head .logo img{height:26px}
  .site-head .btn-nav{min-height:38px;padding:0 12px;font-size:14px}
  .menu-btn{display:grid}
  .site-head .nav-links{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;gap:0;margin:0;padding:8px 16px 16px;background:var(--paper);border-bottom:1px solid var(--dust);box-shadow:0 12px 30px rgba(23,26,30,.08)}
  .site-head.open .nav-links{display:flex}
  .site-head .nav-links a{padding:14px 4px;font-size:17px;border-bottom:1px solid var(--dust);border-radius:0}
  .site-head .nav-links a[aria-current="page"]{box-shadow:none;border-bottom-color:var(--navy)}
}
@media (max-width:900px){.site-head .wrap{padding-left:16px;padding-right:16px}.site-head .logo{margin-right:12px}.site-head .btn-nav{padding:0 11px}.menu-btn{margin-left:8px;width:40px}}

/* ---------- round 4: Barlow carries the display voice (Newsreader retired) ----------
   Barlow at 600, tight leading, slightly negative tracking: Buildr's own face, one weight step softer
   than buildr.to's 800 so it reads warm for a homeowner rather than shouty. */
:root{--font-display:"Barlow","Helvetica Neue",Arial,sans-serif}
.display,.rolls-h h3,.gal-empty b,.quick h2,.g-list h3,.post-cta b,.look-t b{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em;line-height:1.04}
#hero-copy h1{font-size:clamp(34px,3.3vw,44px)}
.hh-copy h1{font-size:clamp(40px,4.3vw,60px);letter-spacing:-.025em}
.sec h2,.band h2{font-size:clamp(32px,3.5vw,50px)}
.page-head h1,.post h1{font-size:clamp(34px,3.9vw,52px);letter-spacing:-.025em}
.post h2{font-size:clamp(24px,2.6vw,32px)}
.quick h2{font-size:28px}
.rolls-h h3{font-size:22px}
.gal-empty b{font-size:22px}
.g-list h3{font-size:24px;letter-spacing:-.015em}
.g-feat h2{letter-spacing:-.02em}
.look-t b{font-size:28px}
.post-cta b{font-size:22px}
@media (max-width:900px){#hero-copy h1{font-size:31px}.hh-copy h1{font-size:35px}.quick h2{font-size:25px}}

/* guide price table: tokens only, no new design language (flag for Carbon review) */
.post .tbl{overflow-x:auto;margin:16px 0}
.post table{width:100%;border-collapse:collapse;font-size:16px}
.post th,.post td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--dust);white-space:nowrap}
.post th{font-size:13px;font-weight:600;color:var(--ink-soft);border-bottom:2px solid var(--ink)}
.post td:nth-child(n+3),.post th:nth-child(n+3){font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right}
.post .note{font-size:14px;color:var(--ink-mute)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- round 5 ---------- */
/* Logo: the lockup art fills its 128px canvas, so the displayed height IS the H circle's height.
   Header bar is 68px (60px on phones): 32px / 26px leaves 18px / 17px of air above and below. Footer 40px. */

/* Guides index: grouped around the homeowner's journey */
.page-head .sub{max-width:60ch}
.journey{display:flex;gap:0;margin-top:28px;border-top:1px solid var(--dust)}
.journey a{flex:1 1 0;padding:14px 0;font-size:15px;font-weight:500;color:var(--ink-soft);text-decoration:none;border-bottom:2px solid transparent}
.journey a:hover{color:var(--navy);border-bottom-color:var(--navy)}
.gsec{padding:72px 0}
.gsec.alt{background:var(--board);border-top:1px solid var(--dust);border-bottom:1px solid var(--dust)}
.gsec.alt + .gsec.alt{border-top:0}
.gsec-h{margin-bottom:32px;max-width:56ch}
.gsec-h h2{font-size:clamp(30px,3.2vw,44px)}
.gsec-h p{color:var(--ink-soft);font-size:17px;margin-top:10px;line-height:1.5}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.gcard{display:grid;grid-template-rows:auto 1fr;background:var(--paper);border:1px solid var(--dust);border-radius:var(--r-lg);overflow:hidden;text-decoration:none;color:var(--ink);transition:border-color .15s,transform .15s var(--ease)}
.gcard:hover{border-color:var(--navy);transform:translateY(-2px)}
.gcard-img{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--board)}
.gcard-img.wide{aspect-ratio:16/9}
.gcard-img img{width:100%;height:100%;object-fit:cover}
.gcard-t{display:block;padding:22px 24px 24px}
.gcard-t b{display:block;font-size:24px}
.gcard-t > span{display:block;color:var(--ink-soft);font-size:15px;line-height:1.5;margin-top:10px;max-width:48ch}
.gcard-t em,.grow-t em,.gtile .meta{display:block;font-style:normal;font-family:var(--font-mono);font-size:12px;color:var(--ink-mute);margin-top:14px}
.gsec-cta{margin-top:24px;font-size:16px;color:var(--ink-soft)}
.gsec-cta a{font-weight:600}
.gfeat{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center;background:var(--paper);border:1px solid var(--dust);border-radius:var(--r-lg);padding:24px;margin-bottom:12px}
.gfeat figure{margin:0;border-radius:10px;overflow:hidden;background:var(--board);aspect-ratio:16/10}
.gfeat figure img{width:100%;height:100%;object-fit:cover}
.gfeat .meta{font-family:var(--font-mono);font-size:12px;color:var(--ink-mute)}
.gfeat .meta span+span::before{content:"\00b7";margin:0 8px}
.gfeat h3{font-size:clamp(26px,2.6vw,34px);margin-top:12px}
.gfeat h3 a{color:var(--ink);text-decoration:none}
.gfeat h3 a:hover{color:var(--navy)}
.gfeat p{color:var(--ink-soft);margin-top:12px;max-width:48ch;line-height:1.55}
.gfeat .btn{margin-top:22px}
.grows{list-style:none;margin:0;padding:0}
.grows li{border-bottom:1px solid var(--dust)}
.grows a,.gmini{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:baseline;padding:20px 4px;text-decoration:none;color:var(--ink)}
.grows a:hover b,.gmini:hover b{color:var(--navy)}
.grow-t{display:block;min-width:0}
.grow-t b{display:block;font-family:var(--font-display);font-weight:600;letter-spacing:-.015em;font-size:21px;line-height:1.15}
.grow-t > span{display:block;color:var(--ink-soft);font-size:15px;line-height:1.5;margin-top:6px;max-width:62ch}
.grows em{font-style:normal;font-family:var(--font-mono);font-size:12px;color:var(--ink-mute);white-space:nowrap}
.g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.gtile{display:flex;flex-direction:column;padding:28px;border:1px solid var(--dust);border-radius:var(--r-lg);background:var(--paper);text-decoration:none;color:var(--ink);transition:border-color .15s,transform .15s var(--ease)}
a.gtile:hover{border-color:var(--navy);transform:translateY(-2px)}
.gtile .meta{margin:0 0 14px}
.gtile b{display:block;font-size:24px}
.gtile > span:not(.meta){display:block;color:var(--ink-soft);font-size:15px;line-height:1.5;margin-top:10px}
.gtile.navy{background:var(--navy);border-color:var(--navy);color:#fff}
.gtile.navy b{color:#fff}
.gtile.navy > span:not(.meta){color:rgba(255,255,255,.84)}
.gtile.navy .btn{margin-top:auto;padding-top:0;align-self:flex-start;margin-top:22px}
.ginst{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:24px;align-items:start}
.gstack{display:flex;flex-direction:column;gap:16px}
.gmini{grid-template-columns:120px minmax(0,1fr);align-items:start;padding:14px;background:var(--paper);border:1px solid var(--dust);border-radius:var(--r-lg);transition:border-color .15s}
.gmini:hover{border-color:var(--navy)}
.gmini-img{display:block;aspect-ratio:4/3;border-radius:8px;overflow:hidden;background:var(--board)}
.gmini-img img{width:100%;height:100%;object-fit:cover}
.gmini .grow-t b{font-size:18px}
.gmini .grow-t > span{font-size:14px}
.gmini .grow-t em{margin-top:10px}
@media (max-width:900px){
  .journey{overflow-x:auto;scrollbar-width:none}
  .journey a{flex:0 0 auto;padding:12px 14px 12px 0;font-size:14px;white-space:nowrap}
  .gsec{padding:48px 0}
  .g2,.g3,.ginst,.gfeat{grid-template-columns:minmax(0,1fr)}
  .gfeat{gap:20px;padding:16px}
  .gcard-t{padding:16px 18px 18px}
  .gcard-t b,.gtile b{font-size:21px}
  .gmini{grid-template-columns:96px minmax(0,1fr)}
}
.journey{gap:36px}
.journey a{flex:0 0 auto}
@media (max-width:900px){.journey{flex-wrap:wrap;gap:0 24px;overflow:visible}.journey a{padding:10px 0}}

/* ---------- round 6: the whole picker beside the photo, in one screen ---------- */
.order-page .hero{padding:20px 0 40px}
.order-page #buildr-configurator{grid-template-columns:minmax(0,1fr) minmax(0,520px);column-gap:48px;align-items:start}
.order-page #hero-copy{padding-top:2px}
.order-page #hero-copy h1{font-size:34px}
.order-page #hero-copy .lede{font-size:16px;margin-top:6px;max-width:none}
.order-page .shop-steps{margin-top:14px}
.order-page .shop-side{position:sticky;top:84px}
.order-page .shop-photo{aspect-ratio:4/3}
.order-page .gal-cap{margin-top:0;font-size:13px}
.order-page .gal-cap-t{min-width:0}
.order-page .shop-sum{flex:none}
/* compact thumb row: picture only, caption in the main caption line */
.gal-thumbs.compact{display:flex;gap:8px;padding-left:var(--bleed);flex-wrap:nowrap}
.gal-thumbs.compact .gal-t{flex:0 0 72px}
.gal-thumbs.compact .gal-t-img{aspect-ratio:4/3;border-radius:6px}
.gal-thumbs.compact .gal-t-img svg{width:18px;height:18px}
/* compact steps: label left, control right, one helper line */
.order-page .step{display:grid;grid-template-columns:92px minmax(0,1fr);column-gap:14px;row-gap:6px;align-items:center;padding:11px 0;border-top:1px solid var(--dust)}
.order-page .step-h{margin:0;font-size:14px;align-self:center}
.order-page .step-n{display:none}
.order-page .opts,.order-page .swatches,.order-page .dims{grid-column:2}
.order-page .opt-help,.order-page .sw-name,.order-page .hint{grid-column:2;margin:0}
.order-page .opt-help{font-size:12.5px;color:var(--ink-soft);line-height:1.4;min-height:1.4em}
.order-page .opt-help:empty{display:none}
.order-page .sw-name{font-size:12.5px;color:var(--ink);font-weight:600;margin-top:-2px}
.order-page #o-material,.order-page #o-edge,.order-page #o-panels{display:inline-flex;gap:0;border:1.5px solid var(--chalk);border-radius:var(--r);overflow:hidden;justify-self:start;background:var(--paper)}
.order-page .opt{font-size:14px;font-weight:600;min-height:38px;padding:7px 16px;border:0;border-right:1px solid var(--dust);border-radius:0;background:var(--paper);color:var(--ink-soft)}
.order-page .opt:last-child{border-right:0}
.order-page .opt:hover:not(:disabled){color:var(--ink);background:var(--board)}
.order-page .opt[aria-pressed="true"]{background:var(--navy);color:#fff;box-shadow:none}
.order-page .opt.opt-vis{display:inline-block} /* no visual cards on this page */
.order-page .opt-img,.order-page .opt-d{display:none}
.order-page .swatches{gap:10px}
.order-page .sw{width:32px;height:32px;border-width:2px}
.order-page .sw[aria-pressed="true"]{outline-width:2px;outline-offset:2px}
.order-page .dims{gap:12px;flex-wrap:nowrap}
.order-page .dim{flex:1 1 0;font-size:12.5px}
.order-page .dim input{width:100%;min-width:0;min-height:44px;font-size:18px;padding:6px 10px}
.order-page .hint{font-size:12px;line-height:1.4;color:var(--ink-mute);max-width:none}
.order-page .pricebar{margin-top:8px;padding:14px 0 0;border-top:2px solid var(--ink);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"k v" "fit v" "sku v" "btn btn";row-gap:0;position:static;background:none;box-shadow:none}
.order-page .price-k{font-size:13px}
.order-page .price-v{font-size:36px}
.order-page .price-fit,.order-page .price-sku{grid-area:fit;font-family:var(--font-mono);font-size:12px;color:var(--ink-mute)}
.order-page .price-sku{grid-area:sku}
.order-page .pricebar .order-link{min-height:50px;font-size:16px;margin-top:10px}
.order-page .order-note{font-size:12px;margin-top:8px;line-height:1.4}
.order-page .trade-line{font-size:12.5px;margin-top:10px;padding-top:10px}
/* the detail section below the hero */
.order-page .detail{max-width:var(--wrap);margin:0 auto;padding:8px var(--gutter) 56px}
.order-page .detail .rolls{padding-left:0;margin-top:0;border-top:1px solid var(--dust);padding-top:24px}
.order-page .detail .rolls-row{grid-template-columns:repeat(3,minmax(0,1fr));max-width:720px}
@media (max-width:900px){
  .order-page .hero{padding:12px 0 32px}
  .order-page #buildr-configurator{grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "gal" "steps"}
  .order-page #hero-copy{padding:0 16px 10px}
  .order-page #hero-copy h1{font-size:28px}
  .order-page #hero-copy .lede{font-size:15px}
  /* the photo stays on screen while the controls scroll beneath it */
  .order-page .shop-side{position:sticky;top:60px;z-index:3;background:var(--paper);gap:8px;padding-bottom:8px;box-shadow:0 10px 24px rgba(23,26,30,.08)}
  .order-page .shop-photo{aspect-ratio:auto;height:30vh;min-height:200px;max-height:300px;border-radius:0}
  .order-page .gal-cap{padding:0 16px;flex-direction:row;align-items:baseline;gap:10px;flex-wrap:wrap}
  .order-page .gal-cap-t{font-size:12.5px}
  .order-page .shop-sum{font-size:11.5px}
  .gal-thumbs.compact{padding:0 16px;overflow-x:auto;scrollbar-width:none}
  .gal-thumbs.compact .gal-t{flex:0 0 56px}
  .order-page .shop-steps{padding:0 16px;margin-top:8px}
  .order-page .step{grid-template-columns:minmax(0,1fr);row-gap:8px;padding:12px 0}
  .order-page .step-h{font-size:13px;color:var(--ink-soft)}
  .order-page .opts,.order-page .swatches,.order-page .dims,.order-page .opt-help,.order-page .sw-name,.order-page .hint{grid-column:1}
  .order-page .opt{padding:7px 14px;font-size:13.5px}
  .order-page .pricebar{position:sticky;bottom:0;z-index:5;background:var(--paper);margin:8px -16px 0;padding:10px 16px 10px;border-top:1px solid var(--dust);box-shadow:0 -10px 30px rgba(23,26,30,.08);grid-template-areas:"k btn" "v btn" "fit btn";column-gap:14px;align-items:center}
  .order-page .price-k{font-size:12px}
  .order-page .price-v{text-align:left;font-size:26px}
  .order-page .price-sku{display:none}
  .order-page .pricebar .order-link{width:auto;min-height:46px;margin:0;padding:0 16px;font-size:15px;grid-area:btn;align-self:center}
  .order-page .detail{padding:0 16px 40px}
  .order-page .detail .rolls-row{display:grid}
}

/* ---------- colour row + disabled options (engine rules: nothing hidden, unavailable options stay, disabled) ---------- */
.swatches{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap}
.sw-cell{display:flex;flex-direction:column;align-items:center;gap:7px;min-width:44px}
.sw{position:relative;border:1px solid #9AA2AB;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.sw-lab{font-size:12px;line-height:1.1;color:var(--ink-soft);font-weight:500;cursor:pointer}
.sw[aria-pressed="true"]{outline:2px solid var(--navy);outline-offset:3px;border-color:var(--navy)}
.sw[aria-pressed="true"]::before{content:"";position:absolute;left:50%;top:50%;width:11px;height:6px;margin:-5px 0 0 -5.5px;border-left:2.5px solid var(--ck,var(--navy));border-bottom:2.5px solid var(--ck,var(--navy));transform:rotate(-45deg)}
.sw-cell.is-on .sw-lab{font-weight:700;color:var(--navy)}
.sw[aria-disabled="true"]{opacity:.5;cursor:not-allowed}
/* the red line lives on the cell, NOT on the dimmed button: only the swatch fill and the name are faded */
.sw-cell{position:relative;--sw:40px}
.sw-cell.is-off::after{content:"";position:absolute;top:0;left:50%;width:var(--sw);height:var(--sw);margin-left:calc(var(--sw) / -2);border-radius:50%;pointer-events:none;background:linear-gradient(to top right,transparent calc(50% - .75px),#DC2626 calc(50% - .75px),#DC2626 calc(50% + .75px),transparent calc(50% + .75px))}
.sw-cell.is-off .sw-lab{color:var(--ink-mute);font-weight:400;cursor:not-allowed}
.opt[aria-disabled="true"]{opacity:.4;cursor:not-allowed}
.opt[aria-disabled="true"]:hover{border-color:var(--chalk)}
.order-page .opt[aria-disabled="true"]{opacity:1;background:var(--paper);color:var(--ink-mute);font-weight:500;cursor:not-allowed}
.order-page .opt[aria-disabled="true"]:hover{background:var(--paper);color:var(--ink-mute)}
.order-page .sw{width:32px;height:32px;border-width:1px}
.order-page .sw-cell{--sw:32px}
.order-page .sw[aria-pressed="true"]{outline-width:2px;outline-offset:3px}
.order-page .sw-name{display:none} /* every swatch carries its own name now; the helper line still describes the selected colour */
.order-page .swatches{gap:16px;padding:4px 0 0 4px}

/* CR-BUILDR-A082-3 — guest checkout (Contact, Confirm, Placed), same tokens and type as the order page */
.checkout-page .hero{display:none}
.co{padding:28px 0 64px}
.co-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,380px);gap:48px;align-items:start}
.co-wrap.co-one{grid-template-columns:minmax(0,640px)}
.co-steps{display:flex;gap:20px;list-style:none;margin:0 0 22px;padding:0;font-family:var(--font-mono);font-size:13px;color:var(--ink-mute)}
.co-steps li[aria-current="step"]{color:var(--ink);font-weight:600;border-bottom:2px solid var(--orange);padding-bottom:4px}
.co h1.display{font-size:34px;margin:0}
.co .lede{font-size:16px;color:var(--ink-soft);margin:8px 0 22px}
.co-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 14px}
.co-wide{grid-column:1/-1}
.co-f{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}
.co-f input,.co-f textarea{font:inherit;font-weight:400;font-size:16px;min-height:48px;padding:10px 12px;border:1.5px solid var(--chalk);border-radius:6px;background:var(--paper);color:var(--ink)}
.co-f textarea{min-height:72px;resize:vertical}
.co-f input[aria-invalid="true"]{border-color:#DC2626}
.co-err{font-size:13px;font-weight:500;color:#B91C1C;min-height:0}
.co-go{min-height:56px;font-size:17px;margin-top:22px}
.co-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--chalk)}
.btn-ghost:hover{border-color:var(--ink)}
.co-facts{display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px 16px;margin:0 0 20px;font-size:15px}
.co-facts dt{font-family:var(--font-mono);font-size:12px;color:var(--ink-mute);text-transform:uppercase;letter-spacing:.04em;padding-top:3px}
.co-facts dd{margin:0;color:var(--ink-soft)}
.co-notice{padding:12px 14px;border-left:3px solid var(--orange);background:var(--orange-tint);font-size:15px;margin:0 0 18px}
.co-notice.co-bad{border-left-color:#DC2626;background:#FEF2F2;color:#7F1D1D}
.co-side{position:sticky;top:84px;border-top:2px solid var(--ink);padding-top:16px}
.co-door{font-weight:600;margin:14px 0 2px}
.co-fit{font-family:var(--font-mono);font-size:13px;color:var(--ink-mute);margin:0 0 14px}
.co-sum{display:grid;grid-template-columns:1fr auto;gap:6px 12px;margin:0;font-size:15px}
.co-sum dd{margin:0;text-align:right;font-family:var(--font-mono)}
.co-sum .co-tot{border-top:1px solid var(--dust);padding-top:8px;font-weight:700;font-size:17px}
.co-edit{font-size:14px;margin:12px 0 0}
.co-num{font-size:16px;margin:0 0 20px}
@media (max-width:860px){.co-wrap{grid-template-columns:minmax(0,1fr);gap:24px}.co-side{position:static;order:-1}.co h1.display{font-size:28px}.co-grid{grid-template-columns:1fr}.co-facts{grid-template-columns:1fr}}

.co-accept{margin:0 0 14px;font-size:12.5px;line-height:1.4;color:var(--ink-soft)}
.co-accept a{color:inherit;text-decoration:underline}
.co-hint{display:block;font-size:12.5px;color:var(--ink-soft);font-weight:400;margin-top:4px;line-height:1.4}
