:root{
  --black:#080808;
  --black-soft:#141414;
  --red:#b31319;
  --red-bright:#e1242d;
  --red-dark:#720b10;
  --cream:#f3e8dc;
  --muted:#bdb4ad;
  --line:rgba(255,255,255,.12);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--black);color:white;font-family:Arial,Helvetica,sans-serif}
a{color:inherit}
.landing{min-height:100vh;display:grid;grid-template-columns:minmax(330px,470px) 1fr;background:#000}
.portal{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;gap:2.2rem;padding:clamp(2rem,5vw,4.5rem);background:linear-gradient(155deg,#050505 0%,#101010 58%,#250407 100%);box-shadow:22px 0 60px rgba(0,0,0,.55)}
.brand-lockup{max-width:320px}
.kicker{margin:0 0 .45rem;color:var(--red-bright);font-size:.74rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase}
.brand{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.8rem,5vw,4.4rem);font-weight:700;line-height:.96;letter-spacing:-.045em}
.tagline{margin:1rem 0 0;max-width:280px;color:var(--muted);font-size:1rem;line-height:1.5}
.accent-line{width:86px;height:5px;margin-top:1.35rem;background:linear-gradient(90deg,var(--red-bright),var(--red-dark));border-radius:999px}
.nav-list{display:grid;gap:.85rem;width:100%;max-width:355px}
.nav-card{min-height:76px;display:grid;grid-template-columns:44px 1fr 20px;align-items:center;gap:1rem;padding:1rem 1.15rem;border:1px solid var(--line);border-left:5px solid var(--red);border-radius:5px;background:linear-gradient(100deg,rgba(255,255,255,.065),rgba(255,255,255,.018));text-decoration:none;box-shadow:0 10px 28px rgba(0,0,0,.24);transition:.18s ease}
.nav-card:hover{transform:translateX(6px);border-color:rgba(225,36,45,.7);background:linear-gradient(100deg,rgba(179,19,25,.3),rgba(255,255,255,.025))}
.nav-card svg{width:34px;height:34px;fill:none;stroke:var(--red-bright);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nav-card strong{font-size:1.02rem;letter-spacing:.015em}
.arrow{color:var(--red-bright);font-size:2rem;font-weight:300;line-height:1}
.microcopy{max-width:350px;margin:0;color:#8f8782;font-size:.78rem;line-height:1.5}
.open-space{position:relative;min-height:100vh;background-image:linear-gradient(90deg,rgba(0,0,0,.28),rgba(0,0,0,.02) 30%),url('assets/flannel-family.png');background-size:cover;background-position:center 34%}
.open-space::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.22))}
.page-shell{min-height:100vh;background:radial-gradient(circle at 85% 0%,rgba(179,19,25,.18),transparent 34%),linear-gradient(145deg,#050505,#171010)}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:1rem 5vw;border-bottom:1px solid var(--line);background:rgba(0,0,0,.78)}
.topbar .mini-brand{font-family:Georgia,serif;font-size:1.35rem;text-decoration:none;font-weight:700}
.topbar nav{display:flex;gap:1.25rem;flex-wrap:wrap}
.topbar nav a{text-decoration:none;color:#cfc5be;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em}
.topbar nav a:hover,.topbar nav a[aria-current="page"]{color:white}
.content{width:min(980px,calc(100% - 2rem));margin:auto;padding:6rem 0}
.content h1{margin:0 0 1rem;font-family:Georgia,serif;font-size:clamp(3rem,7vw,5.6rem);line-height:1;color:white}
.content .lead{max-width:720px;color:#d9cec7;font-size:1.22rem;line-height:1.7}
.panel-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:1.4rem;margin-top:3rem}
.panel{padding:2rem;border:1px solid var(--line);border-top:5px solid var(--red);background:rgba(255,255,255,.045);box-shadow:0 18px 45px rgba(0,0,0,.25)}
.panel h2{margin-top:0;font-family:Georgia,serif;font-size:2rem}
.panel p,.panel li{color:#c8bdb6;line-height:1.7}
form{display:grid;gap:1rem}
label{display:grid;gap:.4rem;color:#ddd1ca;font-size:.9rem;font-weight:700}
input,select,textarea{width:100%;padding:.85rem;border:1px solid #503337;border-radius:3px;background:#0d0d0d;color:white;font:inherit}
button,.cta{display:inline-block;width:max-content;padding:.85rem 1.15rem;border:0;border-radius:3px;background:linear-gradient(#df242d,#a50f16);color:#fff;font-weight:800;text-decoration:none;cursor:pointer}
.bundle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:3rem}
.bundle{padding:1.6rem;border:1px solid var(--line);background:rgba(255,255,255,.04)}
.bundle h2{margin:.2rem 0 .6rem;font-family:Georgia,serif}
.bundle .price{color:var(--red-bright);font-size:1.25rem;font-weight:800}
@media(max-width:820px){.landing{grid-template-columns:1fr}.portal{min-height:100vh;background:linear-gradient(180deg,rgba(0,0,0,.84),rgba(18,0,3,.94)),url('assets/flannel-family.png') center 34%/cover;padding:2rem}.open-space{display:none}.nav-list{max-width:none}.brand-lockup{margin-top:auto}.microcopy{margin-bottom:auto}.panel-grid,.bundle-grid{grid-template-columns:1fr}.topbar{align-items:flex-start;gap:1rem;flex-direction:column}.topbar nav{width:100%;justify-content:space-between}}

.text-link{color:var(--red-bright);font-weight:800;text-decoration:none}.text-link:hover{text-decoration:underline}.service-content{width:min(1180px,calc(100% - 2rem))}.service-map{margin:3rem 0 0;border:1px solid var(--line);border-top:5px solid var(--red);background:#0b0b0b;box-shadow:0 22px 55px rgba(0,0,0,.36)}.service-map img{display:block;width:100%;height:auto}.service-map figcaption{padding:1rem 1.2rem;color:#bfb5ae;font-size:.86rem;line-height:1.5}.service-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem}.secondary-cta{display:inline-block;width:max-content;padding:.85rem 1.15rem;border:1px solid var(--line);border-radius:3px;color:#fff;font-weight:800;text-decoration:none}.secondary-cta:hover{border-color:var(--red-bright);background:rgba(179,19,25,.12)}
.order-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem}.order-topline>div{min-width:0}.order-topline h1{max-width:820px}.proceed-cta{flex:0 0 auto;margin-top:.25rem;white-space:nowrap}.wood-options{margin-top:4.5rem;scroll-margin-top:2rem}.wood-options h2{margin:.2rem 0 1.5rem;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.2rem,5vw,4rem);line-height:1.08}.wood-options img{display:block;width:100%;height:auto;border:1px solid var(--line);border-top:5px solid var(--red);background:#0b0b0b;box-shadow:0 22px 55px rgba(0,0,0,.36)}.final-order-actions{margin-top:2rem}
@media(max-width:760px){.order-topline{display:block}.proceed-cta{margin:0 0 2rem}.wood-options{margin-top:3rem}}

.page-title{max-width:980px}.top-action-row{display:flex;flex-wrap:wrap;gap:1rem;margin:1.5rem 0 3rem}.service-intro h2{margin:0 0 .75rem;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2rem,4vw,3.4rem);line-height:1.1}.compact-map{width:min(900px,100%);margin-left:auto;margin-right:auto}.compact-map img{width:100%}@media(max-width:760px){.top-action-row{margin:1rem 0 2.25rem}.compact-map{width:100%}}

/* Responsive service-area and quantity layout */
.order-overview{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
  gap:clamp(1.5rem,3vw,2.75rem);
  align-items:start;
  margin-top:.5rem;
}
.service-area-panel,
.quantities-panel{min-width:0}
.service-area-panel{
  padding:clamp(1.2rem,2vw,1.8rem);
  border:1px solid var(--line);
  border-top:5px solid var(--red);
  background:rgba(255,255,255,.035);
}
.service-area-panel .lead{
  max-width:none;
  font-size:1.02rem;
  line-height:1.65;
}
.service-area-panel .compact-map{
  width:min(520px,92%);
  margin:1.5rem auto 0;
}
.order-overview .wood-options{
  margin-top:0;
  scroll-margin-top:2rem;
}
.order-overview .wood-options h2{
  font-size:clamp(2rem,3.6vw,3.25rem);
}
@media(max-width:860px){
  .order-overview{grid-template-columns:1fr}
  .service-area-panel .compact-map{width:min(620px,100%)}
  .order-overview .wood-options{margin-top:.5rem}
}


/* Order page emphasis: larger service area, smaller quantity guide */
.service-content > .page-title{
  max-width:760px;
  font-size:clamp(2rem,4vw,3.6rem);
  line-height:1.05;
}
.order-overview{
  grid-template-columns:minmax(0,1.75fr) minmax(260px,.65fr);
  gap:clamp(1.25rem,2.5vw,2.25rem);
}
.service-area-panel .compact-map{
  width:100%;
  max-width:none;
}
.order-overview .quantities-panel{
  max-width:390px;
  justify-self:end;
}
.order-overview .wood-options h2{
  font-size:clamp(1.65rem,2.7vw,2.35rem);
}
.order-overview .wood-options img{
  width:100%;
  max-width:360px;
  margin-left:auto;
}
@media(max-width:860px){
  .order-overview{grid-template-columns:1fr}
  .order-overview .quantities-panel{max-width:520px;justify-self:center}
  .order-overview .wood-options img{max-width:440px;margin-right:auto}
}


/* Click-to-enlarge quantity guide */
.quantity-image-button{
  position:relative;
  display:block;
  width:100%;
  max-width:360px;
  margin-left:auto;
  padding:0;
  border:0;
  border-radius:2px;
  background:transparent;
  cursor:zoom-in;
}
.quantity-image-button img{width:100%;max-width:none!important;margin:0!important}
.image-enlarge-hint{
  position:absolute;
  right:.7rem;
  bottom:.7rem;
  padding:.42rem .62rem;
  border:1px solid rgba(255,255,255,.25);
  border-radius:3px;
  background:rgba(0,0,0,.78);
  color:#fff;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.quantity-image-button:hover .image-enlarge-hint,
.quantity-image-button:focus-visible .image-enlarge-hint{background:var(--red-dark)}
.quantity-image-button:focus-visible{outline:3px solid var(--red-bright);outline-offset:4px}
.image-lightbox{
  width:min(94vw,1000px);
  max-height:94vh;
  padding:clamp(2.5rem,5vw,4rem) clamp(.75rem,2vw,1.25rem) 1rem;
  border:1px solid rgba(255,255,255,.22);
  border-radius:5px;
  background:#090909;
  box-shadow:0 28px 90px rgba(0,0,0,.8);
}
.image-lightbox::backdrop{background:rgba(0,0,0,.88);backdrop-filter:blur(3px)}
.image-lightbox img{display:block;max-width:100%;max-height:calc(94vh - 5rem);margin:auto;object-fit:contain}
.lightbox-close{
  position:absolute;
  top:.55rem;
  right:.7rem;
  width:2.5rem;
  height:2.5rem;
  padding:0;
  border:1px solid rgba(255,255,255,.25);
  border-radius:50%;
  background:#171717;
  color:#fff;
  font-size:1.9rem;
  font-weight:400;
  line-height:1;
}
.lightbox-close:hover{background:var(--red-dark)}
@media(max-width:860px){.quantity-image-button{max-width:440px;margin-right:auto}}

/* Front-end order builder */
.checkout-content{width:min(1180px,calc(100% - 2rem));padding-top:4.5rem}
.checkout-title{font-size:clamp(2.8rem,6vw,5rem)!important}
.checkout-lead{margin-bottom:2.5rem}
.wood-order-form{gap:2rem}
.order-builder,.delivery-panel,.order-summary{border:1px solid var(--line);border-top:5px solid var(--red);background:rgba(255,255,255,.04);box-shadow:0 18px 45px rgba(0,0,0,.25)}
.order-builder{padding:clamp(1.25rem,3vw,2rem)}
.section-heading-row{display:flex;align-items:end;justify-content:space-between;gap:1.5rem;margin-bottom:1.5rem}
.section-heading-row h2,.delivery-panel h2,.order-summary h2{margin:.15rem 0 0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.8rem,3vw,2.6rem)}
.product-picker{display:grid;gap:.9rem}
.order-product{display:grid;grid-template-columns:1fr auto;align-items:center;gap:1.5rem;padding:1.25rem;border:1px solid rgba(255,255,255,.1);border-left:4px solid #4a3839;background:rgba(0,0,0,.25);transition:.18s ease}
.order-product.has-quantity{border-left-color:var(--red-bright);background:rgba(179,19,25,.1)}
.order-product h3{margin:.15rem 0 .4rem;font-family:Georgia,'Times New Roman',serif;font-size:1.45rem}
.order-product p{margin:0;color:#c8bdb6;line-height:1.55}
.product-eyebrow{color:var(--red-bright)!important;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.order-limit{display:block;margin-top:.7rem;color:#9e9490;font-size:.78rem;font-weight:700}
.quantity-stepper{display:grid;grid-template-columns:42px 54px 42px;align-items:center;border:1px solid #5b3c40;border-radius:4px;overflow:hidden;background:#090909}
.quantity-stepper input{height:44px;padding:0;border:0;border-left:1px solid #5b3c40;border-right:1px solid #5b3c40;border-radius:0;text-align:center;font-size:1.1rem;font-weight:800;-moz-appearance:textfield}
.quantity-stepper input::-webkit-inner-spin-button,.quantity-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.stepper-button{width:42px;height:44px;padding:0;border-radius:0;background:#171717;font-size:1.45rem;font-weight:400}
.stepper-button:hover:not(:disabled){background:var(--red-dark)}
.stepper-button:disabled{color:#58504d;background:#0d0d0d;cursor:not-allowed}
.form-error{margin:1rem 0 0;color:#ff9da2;font-weight:800}
.checkout-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(290px,.55fr);gap:1.4rem;align-items:start}
.delivery-panel{padding:clamp(1.25rem,3vw,2rem)}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.4rem}
.field-wide{grid-column:1/-1}
.service-confirmation{grid-template-columns:20px 1fr;align-items:start;margin-top:1.25rem;color:#cfc5be;font-weight:500;line-height:1.5}
.service-confirmation input{width:18px;height:18px;margin:.15rem 0 0;accent-color:var(--red-bright)}
.order-summary{position:sticky;top:1rem;padding:1.5rem}
.summary-lines{display:grid;gap:.8rem;margin:1.25rem 0;padding:1rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.summary-line{display:flex;justify-content:space-between;gap:1rem;color:#d8cec8;line-height:1.4}
.summary-line strong{color:#fff;text-align:right}
.empty-summary{margin:0;color:#968d88;font-style:italic}
.summary-note{display:grid;gap:.2rem;padding:1rem;background:rgba(179,19,25,.12);border-left:3px solid var(--red-bright)}
.summary-note span{color:#bfb5ae;font-size:.84rem}
.review-order-button{width:100%;margin-top:1.2rem;padding:1rem}
.checkout-stage-note{margin:1rem 0 0;color:#918884;font-size:.76rem;line-height:1.5}
.form-status{margin:.9rem 0 0;color:#d9cec7;font-weight:700;line-height:1.5}
@media(max-width:860px){.checkout-grid{grid-template-columns:1fr}.order-summary{position:static}.section-heading-row{align-items:flex-start;flex-direction:column}.order-product{grid-template-columns:1fr}.quantity-stepper{justify-self:start}.field-grid{grid-template-columns:1fr}.field-wide{grid-column:auto}}
