:root{--red:#a3070b;--red2:#cf151a;--ink:#121315;--muted:#65676c;--line:#dedfe2;--paper:#f6f6f4;--white:#fff;--shadow:0 18px 50px rgba(16,18,22,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.5}body.lock{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.skip-link{position:fixed;left:16px;top:-60px;z-index:100;background:#fff;padding:12px 16px}.skip-link:focus{top:16px}.utility{background:#0d0e10;color:#bfc1c5;font-size:.78rem}.utility-inner{height:34px;display:flex;justify-content:space-between;align-items:center}.utility a{color:#fff}.utility i{display:inline-block;width:1px;height:12px;background:#4b4c50;margin:0 12px;vertical-align:-2px}.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line)}.nav-row{height:82px;display:flex;align-items:center;gap:34px}.brand{display:flex;align-items:center;gap:10px;font-weight:900;line-height:.95;text-transform:uppercase;letter-spacing:-.03em;margin-right:auto}.brand img{width:58px;height:52px;object-fit:contain}.brand span{font-size:1rem}.brand small{font-size:.58rem;letter-spacing:.12em;color:var(--red);font-weight:800}.nav-row nav{display:flex;gap:25px;font-size:.9rem;font-weight:750}.nav-row nav a:hover{color:var(--red)}.cart-button{border:0;background:var(--ink);color:#fff;border-radius:4px;min-height:44px;padding:0 10px 0 17px;display:flex;align-items:center;gap:11px;font-weight:800}.cart-button b{display:grid;place-items:center;background:var(--red2);width:25px;height:25px;border-radius:50%;font-size:.75rem}.menu-button{display:none;border:1px solid var(--line);background:#fff;border-radius:4px;padding:10px}.mobile-nav{display:none}.hero{min-height:670px;position:relative;display:flex;align-items:center;color:#fff;overflow:hidden}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,5,7,.92) 0%,rgba(4,5,7,.72) 42%,rgba(4,5,7,.18) 76%,rgba(4,5,7,.25) 100%)}.hero-content{position:relative;padding:88px 0 90px}.eyebrow{font-size:.75rem;text-transform:uppercase;font-weight:900;letter-spacing:.16em;margin:0 0 15px}.eyebrow.red{color:var(--red)}h1,h2,h3,p{margin-top:0}.hero h1{font-size:clamp(3rem,7vw,5.9rem);line-height:.91;letter-spacing:-.065em;text-transform:uppercase;margin:0;max-width:880px}.hero h1 em{font-style:normal;color:#df1f25}.hero-copy{font-size:1.17rem;line-height:1.6;max-width:620px;color:#e5e5e7;margin:25px 0 30px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{border:1px solid transparent;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;font-weight:850;font-size:.9rem}.button.primary{background:var(--red);color:#fff}.button.primary:hover{background:#820508}.button.ghost{border-color:rgba(255,255,255,.5);color:#fff;background:rgba(255,255,255,.04)}.button.light{background:#fff;color:var(--ink)}.button.outline{background:#fff;border-color:#b9bbc0;color:var(--ink)}.button.full{width:100%}.trust-row{display:flex;margin-top:54px;max-width:780px;border-top:1px solid rgba(255,255,255,.28);padding-top:22px}.trust-row span{display:flex;flex-direction:column;padding-right:28px;margin-right:28px;border-right:1px solid rgba(255,255,255,.25);color:#c5c6ca;font-size:.74rem}.trust-row span:last-child{border:0}.trust-row b{color:#fff;font-size:1rem}.booking-strip{background:var(--red);color:#fff}.process{display:grid;grid-template-columns:1fr 60px 1fr 60px 1fr;align-items:center;min-height:104px}.process>div{display:flex;gap:14px;align-items:center}.process b{font-size:1.8rem;color:#ffb4b6}.process span{display:flex;flex-direction:column}.process strong{font-size:.93rem}.process small{color:#f0bbbd}.process i{height:1px;background:#d7474b}.catalog-section,.terms-section,.gallery-section{padding:94px 0}.section-heading{margin-bottom:36px}.section-heading.split{display:flex;align-items:end;justify-content:space-between;gap:40px}.section-heading h2,.services h2,.contact-section h2{font-size:clamp(2.25rem,5vw,4.1rem);text-transform:uppercase;letter-spacing:-.055em;line-height:.98;margin-bottom:14px}.section-heading p:not(.eyebrow){color:var(--muted);max-width:700px;margin:0}.availability-note{display:grid;grid-template-columns:10px auto;column-gap:10px;align-items:center;max-width:310px;border-left:3px solid var(--red);padding:13px 0 13px 18px}.availability-note span{width:9px;height:9px;background:#e0a600;border-radius:50%;grid-row:1/3}.availability-note b{font-size:.82rem}.availability-note small{font-size:.73rem;color:var(--muted)}.catalog-tools{position:sticky;top:116px;z-index:10;background:#fff;border:1px solid var(--line);padding:14px;box-shadow:0 6px 20px rgba(0,0,0,.06);display:flex;gap:16px;margin-bottom:30px}.search{display:flex;align-items:center;border-right:1px solid var(--line);padding-right:16px;min-width:280px}.search span{display:none}.search input{width:100%;border:0;outline:0;padding:9px 10px;background:#f4f4f4;border-radius:3px}.filters{display:flex;gap:8px;overflow:auto;padding-bottom:1px}.filter{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 14px;white-space:nowrap;font-size:.78rem;font-weight:800}.filter.active{background:var(--ink);border-color:var(--ink);color:#fff}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.product-card{border:1px solid var(--line);background:#fff;display:flex;flex-direction:column;min-width:0;transition:transform .18s ease,box-shadow .18s ease}.product-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.product-visual{height:220px;background:linear-gradient(150deg,#efefec,#fafafa);position:relative;overflow:hidden}.product-visual img{width:100%;height:100%;object-fit:contain;padding:15px}.product-card.photo .product-visual img{object-fit:cover;padding:0}.category-tag{position:absolute;top:12px;left:12px;background:rgba(18,19,21,.88);color:#fff;padding:5px 8px;border-radius:2px;font-size:.65rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.product-body{padding:19px;display:flex;flex-direction:column;flex:1}.product-body h3{font-size:1.22rem;line-height:1.1;margin-bottom:8px}.spec{font-size:.78rem;color:var(--red);font-weight:800;min-height:20px}.description{font-size:.84rem;color:var(--muted);margin:8px 0 17px;min-height:40px}.rate-line{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:15px}.rate-line select{max-width:165px;min-width:0;border:1px solid #c8c9cc;background:#fff;padding:10px;border-radius:3px;font-weight:750}.rate-price{text-align:right}.rate-price small{display:block;color:var(--muted);font-size:.66rem}.rate-price b{font-size:1.05rem}.add-row{display:grid;grid-template-columns:74px 1fr;gap:9px;margin-top:11px}.add-row input{width:100%;border:1px solid #c8c9cc;border-radius:3px;padding:10px;text-align:center}.add-button{border:0;background:var(--red);color:#fff;border-radius:3px;font-weight:850}.add-button:hover{background:#820508}.empty-state{text-align:center;padding:50px;color:var(--muted)}.services{background:var(--paper);padding:104px 0}.services-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:72px;align-items:center}.service-image{position:relative;min-height:590px}.service-image>img{width:100%;height:590px;object-fit:cover}.service-image>div{position:absolute;bottom:22px;left:22px;right:22px;background:#fff;padding:20px;display:flex;flex-direction:column}.service-image strong{font-size:1.1rem}.service-image span{color:var(--muted);font-size:.84rem}.service-copy>p:not(.eyebrow){color:var(--muted);font-size:1.04rem}.service-copy ul{list-style:none;padding:0;margin:30px 0}.service-copy li{border-top:1px solid #d2d2d0;padding:18px 0;display:flex;flex-direction:column}.service-copy li b{font-size:.96rem}.service-copy li span{color:var(--muted);font-size:.84rem;margin-top:4px}.text-link{color:var(--red);font-weight:850}.text-link span{margin-left:10px}.terms-section{background:#111214;color:#fff}.terms-section .section-heading p:not(.eyebrow),.terms-section .section-heading .red{color:#bfc0c3}.term-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#3a3b3e;border:1px solid #3a3b3e}.term-cards article{background:#1a1b1e;padding:26px}.term-cards article>b{display:block;color:#e54146;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em}.term-cards strong{display:block;font-size:1.13rem;margin:7px 0 10px}.term-cards p{color:#adafb4;font-size:.82rem;margin:0}.delivery{margin-top:28px;display:grid;grid-template-columns:1fr 1.6fr;gap:40px;border:1px solid #3a3b3e;padding:28px}.delivery h3{font-size:1.45rem;margin-bottom:6px}.delivery p{color:#adafb4;font-size:.83rem}.delivery dl{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0}.delivery dl div{background:#1f2023;padding:12px}.delivery dt{font-size:.75rem;color:#adafb4}.delivery dd{margin:2px 0 0;font-weight:850}.overtime{margin-top:18px;padding:18px 20px;border-left:3px solid var(--red);background:#1b1c1f}.overtime b{color:#ef666a}.overtime p{margin:5px 0 0;color:#b9bbc0;font-size:.82rem}.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:190px;gap:10px}.gallery figure{margin:0;overflow:hidden;background:#eee;display:none}.gallery figure.visible{display:block}.gallery figure:nth-child(1),.gallery figure:nth-child(6){grid-column:span 2;grid-row:span 2}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.gallery figure:hover img{transform:scale(1.035)}.contact-section{background:var(--red);color:#fff;padding:85px 0}.contact-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:70px;align-items:center}.contact-section p:not(.eyebrow){color:#f4c3c5;max-width:620px}.contact-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.contact-section address{font-style:normal;border-left:1px solid rgba(255,255,255,.35);padding-left:34px;display:flex;flex-direction:column;gap:10px}.contact-section address strong{text-transform:uppercase}.contact-section address span{color:#f2cacc}footer{background:#0b0c0e;color:#b8b9bc;padding:55px 0 22px}.footer-grid{display:grid;grid-template-columns:1fr 1.2fr .5fr;gap:50px;align-items:start}.footer-brand{color:#fff}.footer-grid p{font-size:.85rem}.footer-grid>div{display:flex;flex-direction:column;gap:8px;color:#fff;font-weight:700;font-size:.84rem}.copyright{border-top:1px solid #2d2e31;margin-top:35px;padding-top:20px;font-size:.75rem}.drawer-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:49;opacity:0;visibility:hidden;transition:.2s}.drawer-backdrop.open{opacity:1;visibility:visible}.cart-drawer{position:fixed;right:0;top:0;bottom:0;width:min(460px,100%);background:#fff;z-index:50;transform:translateX(100%);transition:.25s;display:flex;flex-direction:column;box-shadow:-20px 0 60px rgba(0,0,0,.25)}.cart-drawer.open{transform:none}.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:22px;border-bottom:1px solid var(--line)}.drawer-head p{font-size:.72rem;color:var(--red);text-transform:uppercase;font-weight:900;margin:0}.drawer-head h2{margin:1px 0 0}.drawer-head button,.checkout-head button{border:0;background:#eee;width:40px;height:40px;border-radius:50%;font-size:1.5rem}.cart-items{overflow:auto;padding:16px;display:flex;flex-direction:column;gap:10px}.cart-item{border:1px solid var(--line);padding:14px}.cart-item-head{display:flex;justify-content:space-between;gap:10px}.cart-item h3{font-size:.93rem;margin-bottom:2px}.cart-item small{color:var(--muted)}.cart-item-actions{display:flex;justify-content:space-between;align-items:end;margin-top:12px}.cart-item-actions label{font-size:.68rem;color:var(--muted)}.cart-item-actions input{display:block;width:70px;padding:7px;border:1px solid var(--line)}.remove-item{border:0;background:transparent;color:var(--red);font-size:.75rem;font-weight:800}.cart-summary{border-top:1px solid var(--line);padding:20px;margin-top:auto}.cart-summary>div{display:flex;justify-content:space-between}.cart-summary strong{font-size:1.25rem}.cart-summary small{display:block;color:var(--muted);font-size:.7rem;margin:10px 0 16px}.cart-empty{margin:auto;display:flex;align-items:center;flex-direction:column;text-align:center;padding:30px}.cart-empty span{color:var(--muted);font-size:.84rem;margin:5px 0 16px}.cart-empty a{color:var(--red);font-weight:800}.checkout-dialog{width:min(1180px,calc(100% - 30px));max-height:94vh;padding:0;border:0;box-shadow:var(--shadow)}dialog::backdrop{background:rgba(0,0,0,.72)}.checkout-dialog form{margin:0}.checkout-head{display:flex;justify-content:space-between;align-items:center;padding:24px 28px 17px;border-bottom:1px solid var(--line)}.checkout-head h2{margin:0;font-size:1.7rem}.checkout-steps{display:flex;padding:12px 28px;gap:24px;background:#f4f4f3;font-size:.75rem;font-weight:800;color:#929398}.checkout-steps .active{color:var(--red)}.checkout-layout{display:grid;grid-template-columns:1fr 340px;max-height:calc(94vh - 138px);overflow:hidden}.checkout-fields{padding:26px;overflow:auto}.checkout-fields fieldset{border:0;padding:0;margin:0 0 32px}.checkout-fields legend{font-weight:900;font-size:1.15rem;margin-bottom:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.checkout-fields label{display:flex;flex-direction:column;font-size:.76rem;font-weight:750;gap:6px}.checkout-fields input,.checkout-fields select,.checkout-fields textarea{border:1px solid #c7c9cd;border-radius:3px;padding:11px;background:#fff}.checkout-fields>fieldset>label{margin-top:14px}.contract{height:240px;overflow:auto;background:#f6f6f4;border:1px solid var(--line);padding:18px;font-size:.75rem;color:#4f5155}.contract h3{color:var(--ink)}.contract li{margin-bottom:8px}.check{flex-direction:row!important;align-items:flex-start;margin-top:14px!important;font-size:.78rem!important}.check input{margin-top:3px}.order-review{background:#18191b;color:#fff;padding:26px;overflow:auto}.order-review h3{font-size:1.2rem}.checkout-item{border-bottom:1px solid #3d3e41;padding:10px 0;font-size:.78rem}.checkout-item div{display:flex;justify-content:space-between;gap:10px}.checkout-item small{color:#aaa}.review-row,.review-total{display:flex;justify-content:space-between;padding:12px 0}.review-total{border-top:1px solid #777;font-size:1.2rem}.order-review>p{font-size:.72rem;color:#aaa}.payment-choice{border:1px solid #424347;padding:13px;margin:15px 0;display:flex;flex-direction:column;gap:9px}.payment-choice b{font-size:.8rem}.payment-choice label{font-size:.74rem}.secure-note{display:block;color:#96979b;font-size:.65rem;text-align:center;margin-top:10px}.success-dialog{width:min(520px,calc(100% - 30px));border:0;padding:38px;text-align:center}.success-mark{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:#e8f5eb;color:#198339;font-size:1.8rem;margin:auto}.success-dialog h2{font-size:2rem;margin:18px 0 8px}.success-dialog p{color:var(--muted)}.success-actions{display:flex;gap:10px;justify-content:center;margin:24px 0}.success-dialog small{display:block;color:var(--muted)}.dialog-close{border:0;background:transparent;margin-top:18px;color:var(--red);font-weight:800}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);background:#111;color:#fff;padding:12px 18px;border-radius:4px;z-index:100;opacity:0;transition:.2s;font-size:.82rem}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:980px){.nav-row nav{display:none}.menu-button{display:block}.mobile-nav.open{display:flex;flex-direction:column;padding:12px 20px 20px;gap:12px;font-weight:750}.product-grid{grid-template-columns:repeat(2,1fr)}.services-grid{grid-template-columns:1fr;gap:40px}.service-image,.service-image>img{min-height:460px;height:460px}.term-cards{grid-template-columns:repeat(2,1fr)}.checkout-layout{grid-template-columns:1fr;max-height:none;overflow:auto}.order-review{order:-1;max-height:none}.checkout-fields{overflow:visible}.checkout-dialog{overflow:auto}.gallery{grid-template-columns:repeat(3,1fr)}.contact-grid{grid-template-columns:1fr}.contact-section address{border-left:0;border-top:1px solid rgba(255,255,255,.35);padding:25px 0 0}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>p{grid-column:1/3}}
@media(max-width:680px){.wrap{width:min(100% - 26px,1180px)}.utility-inner>span:first-child{display:none}.utility-inner{justify-content:flex-end}.nav-row{height:70px;gap:10px}.brand img{width:46px;height:44px}.brand span{display:none}.cart-button span{display:none}.hero{min-height:690px}.hero-overlay{background:linear-gradient(90deg,rgba(4,5,7,.9),rgba(4,5,7,.48))}.hero-content{padding:70px 0}.hero h1{font-size:3.1rem}.hero-copy{font-size:1rem}.trust-row{flex-direction:column;gap:12px}.trust-row span{border:0;margin:0;padding:0}.process{grid-template-columns:1fr;gap:14px;padding:20px 0}.process i{display:none}.catalog-section,.terms-section,.gallery-section{padding:65px 0}.section-heading.split{align-items:start;flex-direction:column}.catalog-tools{top:104px;flex-direction:column}.search{border:0;min-width:0;padding:0}.product-grid{grid-template-columns:1fr}.product-visual{height:230px}.services{padding:65px 0}.service-image,.service-image>img{min-height:380px;height:380px}.term-cards{grid-template-columns:1fr}.delivery{grid-template-columns:1fr}.delivery dl{grid-template-columns:repeat(2,1fr)}.gallery{grid-template-columns:1fr 1fr;grid-auto-rows:155px}.gallery figure:nth-child(1),.gallery figure:nth-child(6){grid-column:span 2;grid-row:span 2}.footer-grid{grid-template-columns:1fr}.footer-grid>p{grid-column:auto}.form-grid{grid-template-columns:1fr}.checkout-head{padding:18px}.checkout-steps{padding:10px 18px;overflow:auto;white-space:nowrap}.checkout-fields,.order-review{padding:18px}.success-actions{flex-direction:column}.contact-section h2{font-size:3.2rem}}

/* Keep the complete booking form in one viewport-sized scroll container. */
.checkout-dialog {
  max-height: calc(100vh - 24px);
  max-height: calc(100dvh - 24px);
  overflow-y: auto;
  overscroll-behavior: contain;
  scroll-padding-block: 20px;
}
.checkout-layout {
  max-height: none;
  overflow: visible;
  grid-template-columns: minmax(0, 1fr) minmax(0, 340px);
  align-items: start;
}
.checkout-fields, .order-review { min-width: 0; overflow: visible; max-height: none; }
.checkout-fields input, .checkout-fields select, .checkout-fields textarea { min-width: 0; max-width: 100%; }
.checkout-item b, .review-row span, .review-total span { overflow-wrap: anywhere; min-width: 0; }
.checkout-item strong, .review-row strong, .review-total strong { flex-shrink: 0; }
.checkout-head button { flex-shrink: 0; }
.cart-drawer { overflow-y: auto; overscroll-behavior: contain; }
.drawer-head, .cart-items, .cart-summary { flex-shrink: 0; }
.cart-items { overflow: visible; }
@media (max-width: 980px) {
  .checkout-layout { grid-template-columns: minmax(0, 1fr); }
  .order-review { order: 0; }
}
@media (max-width: 680px) {
  .checkout-dialog { width: calc(100% - 12px); max-height: calc(100dvh - 12px); }
  .checkout-head h2 { font-size: 1.35rem; }
  .checkout-head { gap: 12px; }
}

/* Uniform product photography, with the whole item visible in every card. */
.product-card .product-visual { display:block; width:100%; height:250px; border:0; border-bottom:1px solid var(--line); padding:0; cursor:zoom-in; text-align:inherit; }
.product-card .product-visual img, .product-card.photo .product-visual img { display:block; width:100%; height:100%; object-fit:contain; object-position:center; padding:26px 20px 34px; }
.zoom-hint { position:absolute; right:10px; bottom:8px; border-radius:20px; background:#ffffffed; padding:4px 9px; font-size:11px; color:#333; box-shadow:0 1px 5px #0001; }
.image-enlarge:focus-visible { outline:3px solid var(--red); outline-offset:-3px; }
.gallery-enlarge { display:block; width:100%; height:100%; padding:0; border:0; cursor:zoom-in; background:transparent; }
.image-viewer { width:min(1100px,calc(100% - 24px)); max-width:none; max-height:calc(100vh - 24px); max-height:calc(100dvh - 24px); padding:10px; border:0; border-radius:12px; background:transparent; overflow:auto; }
.image-viewer::backdrop { background:#000d; }
.image-viewer-panel { background:#f5f5f3; border-radius:10px; overflow:hidden; }
.image-viewer header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 18px; background:white; }
.image-viewer h2 { margin:0; font-size:1.1rem; }
#closeImageViewer { border:0; border-radius:50%; background:#eee; width:44px; height:44px; flex-shrink:0; font-size:28px; cursor:pointer; }
#enlargedImage { display:block; width:100%; height:auto; max-height:calc(100vh - 130px); max-height:calc(100dvh - 130px); object-fit:contain; padding:16px; }
@media(max-width:680px) { .product-card .product-visual { height:250px; } .image-viewer { width:calc(100% - 12px); padding:6px; } .image-viewer h2 { font-size:1rem; } }

/* Expandable catalog specifications */
.product-specifications{margin:0 0 16px;border:1px solid #d5dae1;border-radius:8px;background:#f7f8fa;color:#202631}
.product-specifications summary{cursor:pointer;padding:12px 14px;font-size:1rem;font-weight:700;min-height:44px}
.product-specifications summary:focus-visible{outline:3px solid #c32a32;outline-offset:3px}
.product-specifications[open] summary{border-bottom:1px solid #d5dae1}
.specifications-content{padding:12px 14px;font-size:.875rem;line-height:1.5;overflow-wrap:anywhere}
.specifications-content dl{margin:0}
.specifications-content dl>div{padding:8px 0;border-bottom:1px solid #e0e3e8}
.specifications-content dt{font-weight:700}
.specifications-content dd{margin:3px 0 0}
.specifications-note,.specifications-origin{margin:12px 0 0;font-size:.875rem;color:#4a5361}
.specifications-content a{display:inline-block;margin-top:12px;color:#a51f29;text-decoration:underline}
