@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Unbounded:wght@600;700&display=swap');

:root { --ink:#181816; --paper:#f4f0e8; --accent:#ff5c35; --line:#d8d2c6; --muted:#777168; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Manrope,Arial,sans-serif; }
a { color:inherit; }
.site-header { height:84px; padding:0 clamp(22px,5vw,80px); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.brand { font:700 21px/1 Unbounded,sans-serif; text-decoration:none; letter-spacing:-1px; }
.brand span,.eyebrow { color:var(--accent); }
.header-action { font-size:14px; font-weight:700; text-underline-offset:5px; }
.eyebrow { margin:0 0 18px; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:2px; }
h1,h2 { font-family:Unbounded,sans-serif; letter-spacing:-2px; }
button,.primary-button { border:0; padding:0 28px; color:white; background:var(--ink); font:700 14px Manrope; cursor:pointer; text-decoration:none; transition:.2s; }
button:hover,.primary-button:hover { background:var(--accent); }
.honeypot { position:absolute; left:-9999px; }
footer { min-height:150px; padding:45px clamp(22px,5vw,80px); display:flex; align-items:center; justify-content:space-between; border-top:1px solid var(--line); }
footer p { color:var(--muted); font-size:13px; }
.home-body { background:#f7f6f2; }
.home-header { background:#f7f6f2eF; backdrop-filter:blur(12px); }
.home-shell { width:min(1320px,calc(100% - 64px)); margin:0 auto; padding-bottom:110px; }
.home-hero { min-height:650px; padding:54px 0 64px; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr); gap:clamp(45px,7vw,100px); align-items:center; border-bottom:1px solid #d9d6ce; }
.hero-copy h1 { margin:0; font-size:clamp(52px,6.2vw,88px); line-height:.96; letter-spacing:-5px; }.hero-copy h1 span { color:#8d8981; }
.hero-intro { max-width:530px; margin:30px 0 40px; color:#6c6861; font-size:16px; line-height:1.7; }
.home-search { max-width:570px; }.home-search>label { display:block; margin-bottom:9px; color:#77736c; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:1.2px; }.home-search>div { height:58px; display:flex; border:1px solid #ccc8bf; background:#fff; }.home-search input { flex:1; min-width:0; padding:0 18px; border:0; outline:0; background:transparent; font:500 14px Manrope; }.home-search button { width:58px; padding:0; font-size:20px; }
.featured-product { position:relative; min-width:0; padding:18px; display:block; color:var(--ink); background:#ece9e2; text-decoration:none; }.featured-label { position:absolute; z-index:2; top:28px; left:28px; padding:7px 10px; border-radius:30px; color:#fff; background:var(--ink); font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:1.2px; }.featured-image { aspect-ratio:1/1; display:flex; align-items:center; justify-content:center; overflow:hidden; }.featured-image img { width:100%; height:100%; padding:3%; object-fit:contain; mix-blend-mode:multiply; transition:transform .4s ease; }.featured-product:hover .featured-image img { transform:scale(1.035); }.featured-image>span,.featured-empty>span { color:#aaa59c; font:700 28px Unbounded; }.featured-meta { min-height:76px; padding:18px 4px 0; display:flex; align-items:start; justify-content:space-between; gap:20px; border-top:1px solid #d5d1c8; }.featured-meta div { min-width:0; }.featured-meta small,.featured-meta strong { display:block; }.featured-meta small { margin-bottom:6px; color:var(--accent); font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:1.2px; }.featured-meta strong { max-width:330px; overflow:hidden; font-size:13px; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }.featured-meta>span { flex:0 0 auto; font-weight:700; }.featured-empty { min-height:480px; display:grid; place-items:center; }
.group-nav { min-height:94px; display:flex; align-items:center; justify-content:space-between; gap:25px; border-bottom:1px solid #d9d6ce; }.group-nav>span { color:#858078; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:1.2px; }.group-nav>div { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }.group-nav a { padding:9px 14px; border:1px solid #d4d0c7; border-radius:30px; font-size:11px; font-weight:700; text-decoration:none; }.group-nav a:hover,.group-nav a.active { color:#fff; border-color:var(--ink); background:var(--ink); }
.store-catalog { padding:90px 0 120px; scroll-margin-top:25px; }.catalog-heading { margin-bottom:38px; display:flex; align-items:end; justify-content:space-between; }.catalog-heading .eyebrow { margin-bottom:10px; }.catalog-heading h2 { margin:0; font-size:clamp(34px,4vw,54px); }.catalog-heading>span { padding-bottom:6px; color:#7e7971; font-size:12px; }
.catalog-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:70px 18px; }.catalog-card a { text-decoration:none; }.catalog-image { position:relative; aspect-ratio:1.12/1; display:flex; align-items:center; justify-content:center; overflow:hidden; border:1px solid #e0ddd5; background:#eeece6; }.catalog-image>img { width:100%; height:100%; padding:5%; object-fit:contain; mix-blend-mode:multiply; transition:transform .45s ease; }.catalog-image:hover>img { transform:scale(1.04); }.card-number { position:absolute; z-index:2; top:17px; left:17px; color:#89847c; font-size:10px; font-weight:700; }.card-placeholder { color:#aaa59c; font:700 24px Unbounded; }.view-product { position:absolute; right:16px; bottom:16px; min-height:42px; padding:0 8px 0 16px; display:flex; align-items:center; gap:13px; color:#fff; background:var(--ink); font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.8px; transform:translateY(65px); transition:.3s ease; }.catalog-image:hover .view-product { transform:translateY(0); }.view-product b { width:28px; height:28px; display:grid; place-items:center; border-radius:50%; background:var(--accent); }.catalog-meta { padding:19px 3px 0; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:30px; }.catalog-category { color:var(--accent); font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:1.2px; }.catalog-meta h3 { max-width:510px; margin:7px 0 0; font-size:16px; line-height:1.45; }.catalog-meta>strong { padding-top:20px; font:600 17px Unbounded; }.empty-catalog { padding:100px 20px; border:1px dashed #cbc7be; text-align:center; }.empty-catalog>span { color:var(--accent); font-weight:700; }.empty-catalog h3 { margin:14px 0 7px; font:600 26px Unbounded; }.empty-catalog p { color:#77736c; }
.home-contact { padding:clamp(34px,5vw,66px); display:grid; grid-template-columns:minmax(0,.85fr) minmax(380px,1.15fr); gap:clamp(45px,8vw,110px); align-items:center; color:#fff; background:var(--ink); box-shadow:0 25px 75px #16161117; scroll-margin-top:25px; }.contact-copy>span { color:var(--accent); font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:1.3px; }.contact-copy h2 { margin:12px 0 18px; font-size:clamp(34px,4vw,52px); line-height:1.08; }.contact-copy p { max-width:430px; color:#aaa7a0; line-height:1.65; }.home-contact-form { display:grid; gap:16px; }.home-contact-form>div { display:grid; grid-template-columns:1fr 1fr; gap:10px; }.home-contact-form label { color:#aaa7a0; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.9px; }.home-contact-form label>span { float:right; color:#6f6c66; }.home-contact-form input,.home-contact-form textarea { width:100%; margin-top:7px; padding:12px; border:1px solid #45423d; outline:0; resize:vertical; color:#fff; background:#242320; font:500 13px Manrope; }.home-contact-form input:focus,.home-contact-form textarea:focus { border-color:var(--accent); }.home-contact-form button { min-height:50px; display:flex; align-items:center; justify-content:space-between; background:var(--accent); }.home-contact-form button:hover { color:var(--ink); background:#fff; }.home-success { display:flex; align-items:center; gap:20px; }.home-success>span { width:50px; height:50px; display:grid; place-items:center; border-radius:50%; background:var(--accent); font-size:21px; }.home-success h3 { margin:0; font:600 23px Unbounded; }.home-success p { color:#aaa7a0; }.home-footer>a:last-child { color:#77736c; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:1px; }
.product-body { background:#f7f6f2; }
.product-header { background:#f7f6f2eF; backdrop-filter:blur(12px); }
.product-nav { display:flex; align-items:center; gap:34px; font-size:13px; font-weight:700; }
.product-nav a { text-decoration:none; }
.product-shell { width:min(1320px,calc(100% - 64px)); margin:0 auto; padding:30px 0 110px; }
.breadcrumbs { display:flex; align-items:center; gap:9px; min-width:0; margin-bottom:30px; color:#8a867f; font-size:12px; }
.breadcrumbs a { flex:0 0 auto; text-decoration:none; }
.breadcrumbs a:hover { color:var(--ink); }
.breadcrumbs .current { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pdp { display:grid; grid-template-columns:minmax(0,1.16fr) minmax(380px,.84fr); gap:clamp(42px,5vw,76px); align-items:start; }
.product-gallery { display:grid; grid-template-columns:74px minmax(0,1fr); grid-template-rows:auto; gap:12px; min-width:0; }
.gallery-stage { position:relative; grid-column:2; grid-row:1; aspect-ratio:1/1; overflow:hidden; border:1px solid #e1ded6; background:#eeece6; }
.gallery-slide { position:absolute; inset:0; width:100%; height:100%; padding:4%; object-fit:contain; opacity:0; visibility:hidden; transform:scale(.985); transition:opacity .25s ease,transform .35s ease,visibility .25s; mix-blend-mode:multiply; }
.gallery-slide.is-active { opacity:1; visibility:visible; transform:scale(1); }
.image-placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; color:#aaa297; background:#e6e0d5; font:700 26px Unbounded; }
.gallery-thumbnails { grid-column:1; grid-row:1; max-height:100%; display:flex; flex-direction:column; gap:9px; overflow:auto; scrollbar-width:none; }
.gallery-thumbnails::-webkit-scrollbar { display:none; }
.gallery-thumbnail { width:74px; height:74px; flex:0 0 auto; padding:0; border:1px solid transparent; background:#ece9e2; opacity:.62; transition:.2s; }
.gallery-thumbnail:hover,.gallery-thumbnail.is-active { border-color:var(--ink); opacity:1; background:#fff; }
.gallery-thumbnail img { width:100%; height:100%; padding:5px; object-fit:contain; mix-blend-mode:multiply; }
.gallery-arrow { position:absolute; z-index:2; top:50%; width:44px; height:44px; padding:0; display:grid; place-items:center; border:1px solid #d8d5ce; border-radius:50%; color:var(--ink); background:#f9f8f4e8; opacity:0; transform:translateY(-50%); transition:.2s; }
.gallery-stage:hover .gallery-arrow,.gallery-arrow:focus-visible { opacity:1; }
.gallery-arrow:hover { color:#fff; background:var(--ink); }
.gallery-arrow.previous { left:18px; }.gallery-arrow.next { right:18px; }
.gallery-counter { position:absolute; z-index:2; right:18px; bottom:16px; padding:7px 10px; border-radius:30px; color:#6e6961; background:#f9f8f4e8; font-size:11px; }
.pdp-info { position:sticky; top:25px; padding:12px 0 0; }
.product-category { display:inline-flex; padding:7px 10px; border:1px solid #e1a38e; border-radius:30px; color:#b84222; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:1.4px; }
.pdp-info h1 { max-width:600px; margin:17px 0 20px; font-size:clamp(34px,3.3vw,51px); line-height:1.06; letter-spacing:-2.7px; overflow-wrap:anywhere; }
.product-price { padding-bottom:22px; border-bottom:1px solid #d9d6ce; font:600 clamp(25px,2.2vw,34px) Unbounded,sans-serif; letter-spacing:-1.2px; }
.product-lead { margin:21px 0 25px; max-width:540px; color:#716d66; font-size:14px; line-height:1.65; }
.order-card { padding:24px; color:#fff; background:var(--ink); box-shadow:0 20px 55px #17171318; scroll-margin-top:25px; }
.order-heading { display:flex; align-items:start; justify-content:space-between; margin-bottom:21px; }
.order-heading span { color:#9c9891; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:1.2px; }
.order-heading h2 { margin:5px 0 0; font:600 23px/1.2 Unbounded,sans-serif; letter-spacing:-1px; }
.order-heading .order-icon { width:38px; height:38px; display:grid; place-items:center; border:1px solid #45423d; border-radius:50%; color:#fff; font-size:17px; }
.product-order-form { display:grid; gap:15px; }
.order-fields { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.product-order-form label { color:#aaa7a0; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.9px; }
.product-order-form label>span { float:right; color:#6f6c66; font-weight:500; }
.product-order-form input,.product-order-form textarea { width:100%; margin-top:7px; padding:11px 12px; border:1px solid #45423d; outline:0; resize:vertical; color:#fff; background:#242320; font:500 13px Manrope; }
.product-order-form input:focus,.product-order-form textarea:focus { border-color:var(--accent); }
.product-order-form button { min-height:48px; display:flex; align-items:center; justify-content:space-between; color:#fff; background:var(--accent); }
.product-order-form button:hover { color:var(--ink); background:#fff; }
.order-success { min-height:130px; display:flex; align-items:center; gap:18px; }
.order-success>span { width:46px; height:46px; display:grid; place-items:center; flex:0 0 auto; border-radius:50%; color:#fff; background:var(--accent); font-size:20px; }
.order-success h2 { margin:0; font:600 20px Unbounded; }.order-success p { margin:7px 0 0; color:#aaa7a0; }
.service-notes { margin:0; padding:20px 0 0; display:grid; grid-template-columns:1fr 1fr; gap:0; list-style:none; }
.service-notes li { padding:0 14px; display:flex; gap:10px; border-left:1px solid #d9d6ce; }.service-notes li:first-child { padding-left:0; border-left:0; }
.service-notes li>span { color:var(--accent); font-size:10px; font-weight:700; }.service-notes strong,.service-notes small { display:block; }.service-notes strong { margin-bottom:4px; font-size:11px; }.service-notes small { color:#88837b; font-size:10px; line-height:1.4; }
.product-description-section { margin-top:110px; padding:55px 0 0; display:grid; grid-template-columns:minmax(210px,.38fr) minmax(0,.62fr); gap:7vw; border-top:1px solid #d9d6ce; }
.description-heading>span { color:var(--accent); font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:1.4px; }.description-heading h2 { margin:10px 0; font-size:clamp(30px,4vw,48px); }
.description-content { max-width:760px; }.description-content p { margin:0; color:#5f5b54; font-size:16px; line-height:1.85; white-space:pre-line; }
.product-footer { background:#eeece6; }.product-footer>a:last-child { color:#6c6861; font-size:12px; font-weight:700; text-underline-offset:5px; }

@media (max-width:800px) {
  .site-header { height:68px; }
  .home-shell { width:min(100% - 36px,680px); }
  .home-hero { grid-template-columns:1fr; padding-top:65px; }
  .hero-copy h1 { font-size:clamp(52px,11vw,76px); }
  .featured-product { max-width:560px; }
  .group-nav { padding:22px 0; align-items:flex-start; flex-direction:column; }
  .group-nav>div { justify-content:flex-start; }
  .catalog-grid { gap:45px 12px; }
  .home-contact { grid-template-columns:1fr; }
  .product-shell { width:min(100% - 36px,680px); padding-top:22px; }
  .product-nav>a:first-child { display:none; }
  .pdp { grid-template-columns:1fr; gap:42px; }
  .pdp-info { position:static; padding:0; }
  .pdp-info h1 { font-size:clamp(34px,8vw,48px); }
  .product-description-section { margin-top:80px; grid-template-columns:1fr; gap:20px; }
}
@media (max-width:500px) {
  footer { align-items:flex-start; flex-direction:column; gap:24px; }
  .home-shell { width:calc(100% - 28px); padding-bottom:70px; }
  .home-hero { min-height:0; padding:52px 0; gap:45px; }
  .hero-copy h1 { font-size:43px; letter-spacing:-3px; }
  .hero-intro { margin:24px 0 30px; font-size:14px; }
  .featured-product { padding:11px; }
  .featured-label { top:19px; left:19px; }
  .featured-meta { align-items:flex-start; flex-direction:column; gap:12px; }
  .featured-meta strong { max-width:280px; }
  .group-nav>div { flex-wrap:nowrap; max-width:100%; overflow:auto; }
  .group-nav a { flex:0 0 auto; }
  .store-catalog { padding:65px 0 80px; }
  .catalog-heading { align-items:flex-start; flex-direction:column; gap:12px; }
  .catalog-grid { grid-template-columns:1fr; gap:55px; }
  .catalog-image { aspect-ratio:1/1; }
  .view-product { transform:none; }
  .catalog-meta { gap:15px; }
  .catalog-meta h3 { font-size:14px; }
  .home-contact { padding:28px 20px; gap:32px; }
  .home-contact-form>div { grid-template-columns:1fr; }
  .product-shell { width:calc(100% - 28px); padding-bottom:70px; }
  .breadcrumbs .current,.breadcrumbs span:last-child { display:none; }
  .product-gallery { display:flex; flex-direction:column; gap:10px; }
  .gallery-stage { width:100%; }
  .gallery-thumbnails { order:2; max-width:100%; flex-direction:row; }
  .gallery-thumbnail { width:62px; height:62px; }
  .gallery-arrow { width:38px; height:38px; opacity:1; }
  .pdp-info h1 { letter-spacing:-2px; }
  .order-card { margin:0 -2px; padding:20px; }
  .order-fields,.service-notes { grid-template-columns:1fr; }
  .service-notes { gap:14px; }.service-notes li,.service-notes li:first-child { padding:0 0 0 10px; border-left:1px solid #d9d6ce; }
  .product-description-section { margin-top:65px; padding-top:38px; }
}
