:root{
    --ink:#000;
    --paper:#fff;
    --panel:#f3f3f3;
    --line:#e2e2e2;
    --mute:#7a7a7a;
    --r:18px;
    --w:1120px;
    --font:"Familjen Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased}
  img{display:block;max-width:100%}
  a{color:inherit;text-decoration:none}
  :focus-visible{outline:2px solid var(--ink);outline-offset:3px}

  .wrap{max-width:var(--w);margin:0 auto;padding:0 24px}
  h1,h2,h3{margin:0;letter-spacing:-.02em;line-height:1.05}
  h1{font-size:clamp(44px,8vw,96px);font-weight:600}
  h2{font-size:clamp(32px,4.6vw,52px);font-weight:600}
  h3{font-size:22px;font-weight:600;line-height:1.2}
  p{margin:0}
  .lede{font-size:clamp(18px,2vw,22px);color:var(--mute);max-width:34em}

  /* buttons */
  .btn{display:inline-flex;align-items:center;gap:8px;height:48px;padding:0 22px;border-radius:999px;border:1.5px solid var(--ink);font-weight:600;font-size:16px;white-space:nowrap;transition:background .15s,color .15s}
  .btn.solid{background:var(--ink);color:var(--paper)}
  .btn.solid:hover{background:#222}
  .btn.ghost{background:transparent;color:var(--ink)}
  .btn.ghost:hover{background:var(--ink);color:var(--paper)}
  .btn.sm{height:38px;padding:0 16px;font-size:14px}

  /* nav */
  .nav{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
  .nav .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
  .brand{font-weight:700;font-size:22px;letter-spacing:-.02em}
  .navlinks{display:flex;gap:28px;font-weight:500;font-size:15px}
  .navcta{display:flex;gap:10px;align-items:center}
  .menu-btn{display:none;font-family:inherit;cursor:pointer;gap:6px}
  .menu-btn svg{width:12px;height:12px;transition:transform .2s}
  .menu-btn[aria-expanded="true"] svg{transform:rotate(180deg)}
  .mobile-menu{display:none;flex-direction:column;border-top:1px solid var(--line);background:var(--paper)}
  .mobile-menu[hidden]{display:none}
  .mobile-menu a{padding:16px 24px;font-size:18px;font-weight:600;border-bottom:1px solid var(--line)}
  .mobile-menu a:last-child{border-bottom:0}
  @media (max-width:720px){
    .navlinks{display:none}
    .menu-btn{display:inline-flex}
    .shop-btn{display:none}
    .mobile-menu:not([hidden]){display:flex}
  }

  /* hero */
  .hero{padding:72px 0 40px;text-align:center}
  .pill{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:999px;padding:6px 14px 6px 6px;font-size:14px;color:var(--mute);margin-bottom:28px}
  .pill .dots{display:flex}
  .pill .dots span{width:22px;height:22px;border-radius:50%;background:var(--ink);border:2px solid var(--paper);margin-right:-8px;background-size:cover;background-position:center}
  .pill b{color:var(--ink);font-weight:600}
  .hero h1{max-width:12em;margin:0 auto}
  .hero .lede{margin:22px auto 0}
  .hero .cta{display:flex;gap:12px;justify-content:center;margin-top:32px;flex-wrap:wrap}
  .hero .fine{margin-top:14px;font-size:14px;color:var(--mute)}
  .heroimg{margin:48px auto 0;max-width:920px;border-radius:calc(var(--r) + 6px);overflow:hidden;border:1px solid var(--line);background:var(--panel);aspect-ratio:16/9}
  .heroimg img{width:100%;height:100%;object-fit:cover}

  /* marquee */
  .marquee{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;margin-top:56px}
  .marquee .track{display:flex;gap:64px;width:max-content;animation:scroll 34s linear infinite}
  .marquee .item{display:flex;align-items:center;gap:18px;font-size:30px;font-weight:500;white-space:nowrap;letter-spacing:-.01em}
  .marquee .item i{width:10px;height:10px;border-radius:50%;background:var(--ink)}
  @keyframes scroll{to{transform:translateX(-50%)}}
  .marquee-label{text-align:center;font-size:13px;color:var(--mute);margin-top:34px}

  /* proof cards */
  .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}
  .card{border:1px solid var(--line);border-radius:var(--r);padding:24px;display:flex;flex-direction:column;gap:16px;background:var(--paper)}
  .who{display:flex;align-items:center;gap:10px;font-size:14px}
  .who .av{width:36px;height:36px;border-radius:50%;background:var(--panel);border:1px solid var(--line)}
  .who b{display:block;font-weight:600}
  .who span{color:var(--mute)}
  .quote{font-size:17px;line-height:1.5}
  .stat{margin-top:auto;padding-top:12px;border-top:1px solid var(--line)}
  .stat b{font-size:30px;font-weight:600;letter-spacing:-.02em;display:block;line-height:1}
  .stat span{font-size:13px;color:var(--mute)}
  @media (max-width:900px){.cards{grid-template-columns:repeat(2,1fr)}}
  @media (max-width:520px){.cards{grid-template-columns:1fr}}

  /* chips */
  .chips{margin:64px 0 0;text-align:center}
  .chips p{font-size:21px;color:var(--mute);margin-bottom:18px}
  .chips .row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
  .chip{border:1px solid var(--line);border-radius:999px;padding:13px 24px;font-size:22px;font-weight:500;background:var(--paper)}
  .chip{cursor:default;transition:border-color .15s,color .15s}
  .chip:hover{border-color:var(--ink)}

  /* feature sections */
  .section{padding-top:96px}
  .section-head{max-width:38em}
  .section-head .lede{margin-top:16px}
  .feature{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;margin-top:64px}
  .feature.flip .visual{order:-1}
  .feature h3{font-size:clamp(28px,3.4vw,36px);letter-spacing:-.02em}
  .feature .lede{margin-top:14px;font-size:18px}
  .feature .btn{margin-top:26px}
  .visual{border:1px solid var(--line);border-radius:var(--r);background:var(--panel);overflow:hidden;min-height:380px;display:flex;flex-direction:column}
  .visual img{width:100%;height:100%;object-fit:cover;flex:1}
  .slot{flex:1;display:flex;align-items:center;justify-content:center;color:var(--mute);font-size:14px;text-align:center;padding:20px;min-height:220px;background:
     repeating-linear-gradient(45deg,transparent 0 12px,rgba(0,0,0,.035) 12px 13px)}
  @media (max-width:820px){.feature{grid-template-columns:1fr;gap:28px}.feature.flip .visual{order:0}}

  /* prints grid inside a visual */
  .prints{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);flex:1}
  .prints div{background:var(--paper);aspect-ratio:1;display:flex;align-items:flex-end;padding:12px;font-size:13px;font-weight:500;position:relative;overflow:hidden}
  .prints div img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .prints div span{position:relative;background:var(--paper);padding:3px 8px;border-radius:999px;border:1px solid var(--line)}

  /* steps inside a visual */
  .steps{padding:26px;display:flex;flex-direction:column;gap:0;flex:1;justify-content:center}
  .step{display:grid;grid-template-columns:34px 1fr;gap:14px;padding:16px 0;border-top:1px solid var(--line)}
  .step:first-child{border-top:0}
  .step em{font-style:normal;width:34px;height:34px;border-radius:50%;border:1.5px solid var(--ink);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}
  .step b{display:block;font-weight:600}
  .step span{color:var(--mute);font-size:15px}

  /* one of one */
  .oneof{margin-top:96px;border:1px solid var(--line);border-radius:calc(var(--r) + 6px);padding:64px 56px;background:var(--panel)}
  .oneof .top{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
  .big{font-size:clamp(96px,16vw,180px);font-weight:600;letter-spacing:-.05em;line-height:.85}
  .big small{font-size:clamp(18px,2vw,22px);letter-spacing:0;color:var(--mute);font-weight:500;display:block;margin-top:12px}
  .oneof .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:44px}
  .fact{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:20px;min-height:150px;display:flex;flex-direction:column;justify-content:space-between}
  .fact b{font-weight:600;font-size:18px}
  .fact span{color:var(--mute);font-size:15px;margin-top:8px}
  .fact .k{font-size:34px;font-weight:600;letter-spacing:-.03em;line-height:1}
  @media (max-width:820px){.oneof{padding:36px 22px}.oneof .top{grid-template-columns:1fr}.oneof .grid{grid-template-columns:repeat(2,1fr)}}

  /* reviews */
  .reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:40px}
  .review{border:1px solid var(--line);border-radius:var(--r);padding:22px;font-size:16px}
  .review .who{margin-bottom:12px}
  .review small{display:block;color:var(--mute);margin-top:14px;font-size:13px}
  @media (max-width:820px){.reviews{grid-template-columns:1fr}}

  /* black band */
  .band{margin-top:112px;background:var(--ink);color:var(--paper);padding:88px 0 0;overflow:hidden}
  .band h2{text-align:center}
  .band .lede{color:#b5b5b5;text-align:center;margin:16px auto 0}
  .band .marquee{border-color:#2a2a2a;margin-top:48px}
  .band .marquee .item i{background:var(--paper)}
  .band .marquee .item{color:#dcdcdc}
  .offer{max-width:520px;margin:64px auto 0;background:var(--paper);color:var(--ink);border-radius:calc(var(--r) + 6px);padding:34px;transform:translateY(60px)}
  .offer .row{display:flex;justify-content:space-between;align-items:baseline}
  .offer .price{font-size:44px;font-weight:600;letter-spacing:-.03em;line-height:1}
  .offer .price small{font-size:16px;color:var(--mute);font-weight:500;letter-spacing:0;margin-left:6px}
  .offer ul{list-style:none;padding:0;margin:22px 0}
  .offer li{padding:9px 0;border-top:1px solid var(--line);display:flex;gap:12px;align-items:center}
  .offer li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ink);flex:none;margin:0 4px}
  .offer .btn{width:100%;justify-content:center}
  .offer .fine{text-align:center;font-size:13px;color:var(--mute);margin-top:12px}

  /* faq */
  .faq{padding-top:96px;padding-bottom:96px}
  .faq h2{text-align:center}
  .faqlist{max-width:720px;margin:40px auto 0;border-top:1px solid var(--line)}
  details{border-bottom:1px solid var(--line)}
  summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;padding:20px 0;font-weight:600;font-size:18px}
  summary::-webkit-details-marker{display:none}
  summary::after{content:"+";font-size:26px;font-weight:400;color:var(--mute);transition:transform .2s}
  details[open] summary::after{transform:rotate(45deg)}
  details p{padding:0 0 20px;color:#333;max-width:40em}

  /* closing */
  .closing{padding:96px 0;text-align:center}
  .closing h2{max-width:14em;margin:0 auto}
  .closing .cta{display:flex;gap:12px;justify-content:center;margin-top:32px;flex-wrap:wrap}

  /* footer */
  footer{border-top:1px solid var(--line);padding:48px 0 32px;font-size:15px}
  footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px}
  footer .brand{display:block;margin-bottom:8px}
  footer .tag{color:var(--mute)}
  footer h4{margin:0 0 12px;font-size:14px;font-weight:600}
  footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;color:#333}
  footer .base{margin-top:40px;padding-top:20px;border-top:1px solid var(--line);color:var(--mute);font-size:13px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
  @media (max-width:820px){footer .cols{grid-template-columns:1fr 1fr}}

  @media (prefers-reduced-motion:reduce){.marquee .track{animation:none}}
/* shop pages */
  .shop-head{padding:56px 0 28px;display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap}
  .shop-head .lede{margin-top:10px}
  .count{color:var(--mute);font-size:15px}
  .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px 20px;padding-bottom:96px}
  .product{display:block}
  .product .img{aspect-ratio:1;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--panel);position:relative}
  .product .img img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
  .product:hover .img img{transform:scale(1.03)}
  .product .img .slot{position:absolute;inset:0;min-height:0}
  .product .meta{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:14px 4px 0}
  .product .name{font-weight:600;font-size:17px}
  .product .price{color:var(--mute);font-size:16px}
  .product .sold{position:absolute;top:12px;left:12px;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600}
  @media (max-width:900px){.grid{grid-template-columns:repeat(2,1fr);gap:20px 14px}}
  @media (max-width:520px){.grid{grid-template-columns:repeat(2,1fr);gap:18px 10px}.product .name{font-size:15px}}

  /* product detail */
  .crumbs{padding:20px 0 0;font-size:14px;color:var(--mute)}
  .crumbs a:hover{color:var(--ink)}
  .pdp{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;padding:24px 0 96px;align-items:start}
  .gallery{position:sticky;top:88px}
  .gallery .main{aspect-ratio:1;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--panel)}
  .gallery .main img{width:100%;height:100%;object-fit:cover}
  .thumbs{display:flex;gap:10px;margin-top:10px}
  .thumbs button{width:72px;height:72px;border-radius:12px;border:1px solid var(--line);padding:0;overflow:hidden;background:var(--panel);cursor:pointer}
  .thumbs button.on{border-color:var(--ink)}
  .thumbs img{width:100%;height:100%;object-fit:cover}
  .buy h1{font-size:clamp(30px,3.6vw,40px);font-weight:600}
  .buy .price{font-size:24px;margin-top:10px;display:flex;align-items:baseline;gap:10px}
  .buy .price small{font-size:14px;color:var(--mute)}
  .buy .lede{font-size:17px;margin-top:18px;max-width:30em}
  .specs{list-style:none;padding:0;margin:26px 0 0;border-top:1px solid var(--line)}
  .specs li{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--line);font-size:15px}
  .specs li span:first-child{color:var(--mute)}
  .form{margin-top:26px;display:flex;flex-direction:column;gap:12px}
  .field label{display:block;font-size:14px;font-weight:600;margin-bottom:6px}
  .field select,.qty{height:48px;border:1.5px solid var(--line);border-radius:12px;background:var(--paper);font:inherit;font-size:16px;padding:0 14px;width:100%}
  .field select:focus,.qty:focus{border-color:var(--ink);outline:none}
  .qtyrow{display:grid;grid-template-columns:110px 1fr;gap:12px}
  .qty{padding:0;text-align:center}
  .form .btn{width:100%;justify-content:center;height:52px;font-size:17px}
  .form .fine{font-size:13px;color:var(--mute);text-align:center}
  .acc{margin-top:28px;border-top:1px solid var(--line)}
  .acc details{border-bottom:1px solid var(--line)}
  .acc summary{padding:16px 0;font-size:16px}
  .acc p{font-size:15px}
  .also{padding-bottom:96px}
  .also h2{font-size:26px;margin-bottom:24px}
  .also .grid{grid-template-columns:repeat(4,1fr);padding-bottom:0}
  @media (max-width:820px){.pdp{grid-template-columns:1fr;gap:28px}.gallery{position:static}.also .grid{grid-template-columns:repeat(2,1fr)}}

/* cart, contact, success, maintenance */
.page-head{padding:56px 0 28px}
.page-head h1{font-size:clamp(32px,4.6vw,52px);font-weight:600;letter-spacing:-.02em}
.page-body{padding-bottom:96px;max-width:44em}
.page-body p{margin:0 0 1em}
.page-body h2{font-size:26px;margin:32px 0 12px}
.cart-items{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.cart-item{display:grid;grid-template-columns:96px 1fr auto auto;gap:20px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}
.cart-item .img{width:96px;height:96px;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:var(--panel)}
.cart-item .img img{width:100%;height:100%;object-fit:cover}
.cart-item .name{font-weight:600}
.cart-item .opt{color:var(--mute);font-size:14px;margin-top:4px}
.cart-item .qty{width:72px}
.cart-item .line{font-weight:600;min-width:72px;text-align:right}
.cart-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:28px 0 96px;flex-wrap:wrap}
.cart-foot .total{font-size:22px;font-weight:600}
.cart-foot .total small{font-size:14px;color:var(--mute);font-weight:500;margin-left:8px}
.cart-foot .actions{display:flex;gap:10px;flex-wrap:wrap}
.errors{list-style:none;padding:14px 18px;margin:0 0 20px;border:1.5px solid var(--ink);border-radius:12px;font-size:15px}
.empty{padding:40px 0 96px;color:var(--mute)}
.contact-form{max-width:560px;padding-bottom:96px;display:flex;flex-direction:column;gap:16px}
.contact-form label{display:block;font-size:14px;font-weight:600;margin-bottom:6px}
.contact-form input,.contact-form textarea{width:100%;border:1.5px solid var(--line);border-radius:12px;background:var(--paper);font:inherit;font-size:16px;padding:12px 14px}
.contact-form textarea{min-height:160px;resize:vertical}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--ink);outline:none}
.contact-form .btn{align-self:flex-start}
button.btn{font-family:inherit;cursor:pointer}
.centered{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:16px;padding:48px 24px}
.centered h1{font-size:clamp(36px,6vw,64px);font-weight:600;letter-spacing:-.02em}
.instant-checkout{margin-top:12px}
@media (max-width:640px){.cart-item{grid-template-columns:72px 1fr;gap:14px}.cart-item .img{width:72px;height:72px}.cart-item .line{text-align:left;grid-column:2}}
