﻿:root{
    --paper:#f1ede3;
    --paper-2:#e9e4d6;
    --card:#fbf9f3;
    --ink:#16150f;
    --muted:#6b6555;
    --line:#d8d1bf;
    --line-2:#c8c0aa;
    --c:#0094b3;
    --m:#cf1f6e;
    --y:#f3c40a;
    --k:#16150f;
    --accent:#c2371f;
    --maxw:1180px;
  }
  *{box-sizing:border-box;}
  html{-webkit-text-size-adjust:100%;}
  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:"Newsreader",Georgia,serif;
    font-size:18px;
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
  }

  body::before{
    content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
    background-image:radial-gradient(circle at 20% 30%, #00000005 0, transparent 60%),
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");
    mix-blend-mode:multiply;
  }
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;position:relative;z-index:1;}
  a{color:inherit;}
  .mono{font-family:"IBM Plex Mono",ui-monospace,monospace;}
  .eyebrow{
    font-family:"IBM Plex Mono",monospace;
    font-size:11.5px;letter-spacing:.28em;text-transform:uppercase;
    color:var(--muted);font-weight:500;
  }
  h1,h2,h3,h4{font-weight:500;letter-spacing:-.012em;line-height:1.06;margin:0;}


  .cmyk-bar{display:flex;height:6px;width:100%;}
  .cmyk-bar i{flex:1;}
  .cmyk-bar i:nth-child(1){background:var(--c);}
  .cmyk-bar i:nth-child(2){background:var(--m);}
  .cmyk-bar i:nth-child(3){background:var(--y);}
  .cmyk-bar i:nth-child(4){background:var(--k);}


  .topline{background:var(--ink);color:#efe9da;}
  .topline .wrap{display:flex;justify-content:space-between;align-items:center;height:34px;}
  .topline .mono{font-size:11px;letter-spacing:.16em;text-transform:uppercase;opacity:.82;}
  .topline a{text-decoration:none;}
  .topline a:hover{opacity:.65;}

  .site-header{position:sticky;top:0;z-index:40;background:var(--paper);border-bottom:1px solid var(--line);}
  .nav{display:flex;align-items:center;justify-content:space-between;gap:24px;height:78px;}
  .brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--ink);}
  .brand__mark{flex:none;}
  .brand__name{display:flex;flex-direction:column;line-height:1;}
  .brand__name b{font-family:"IBM Plex Mono",monospace;font-weight:600;font-size:17px;letter-spacing:.06em;}
  .brand__name small{font-family:"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.2em;color:var(--muted);margin-top:5px;text-transform:uppercase;}
  .nav__links{display:flex;gap:30px;list-style:none;margin:0;padding:0;}
  .nav__links a{
    text-decoration:none;font-family:"IBM Plex Mono",monospace;font-size:12.5px;
    letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:6px 0;position:relative;
  }
  .nav__links a:hover{color:var(--ink);}
  .nav__links a.is-active{color:var(--ink);}
  .nav__links a.is-active::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--accent);}
  .nav__right{display:flex;align-items:center;gap:18px;}
  .btn{
    display:inline-flex;align-items:center;gap:9px;cursor:pointer;text-decoration:none;
    font-family:"IBM Plex Mono",monospace;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;
    padding:12px 20px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);
    transition:transform .12s ease, background .2s ease, color .2s ease;
  }
  .btn:hover{transform:translateY(-1px);}
  .btn--ghost{background:transparent;color:var(--ink);}
  .btn--ghost:hover{background:var(--ink);color:var(--paper);}
  .btn--accent{background:var(--accent);border-color:var(--accent);color:#fff;}
  .btn--lg{padding:16px 26px;font-size:13.5px;}
  .btn--block{width:100%;justify-content:center;}
  .nav__toggle{display:none;background:none;border:1px solid var(--line-2);padding:8px;cursor:pointer;color:var(--ink);}


  .hero{padding:64px 0 30px;}
  .hero__top{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;}
  .hero__crumb{font-family:"IBM Plex Mono",monospace;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);}
  .hero__crumb a{text-decoration:none;color:var(--muted);}
  .hero__crumb a:hover{color:var(--ink);}
  .hero h1{font-size:clamp(46px,7.2vw,98px);margin:26px 0 0;letter-spacing:-.028em;}
  .hero h1 em{font-style:italic;}
  .hero__lead{max-width:620px;margin:24px 0 0;font-size:21px;color:#3a372d;}
  .hero__rule{display:flex;align-items:center;gap:18px;margin-top:40px;color:var(--muted);}
  .hero__rule .line{flex:1;height:1px;background:var(--line-2);}
  .hero__rule .mono{font-size:11px;letter-spacing:.2em;text-transform:uppercase;}


  .work{padding:30px 0 90px;}
  .grid{display:grid;grid-template-columns:1.55fr 1fr;gap:30px;align-items:start;}


  .ticket{
    position:relative;background:var(--card);border:1px solid var(--line-2);
    box-shadow:0 1px 0 #fff inset, 0 22px 50px -38px #00000040;
  }
  .ticket__head{display:flex;justify-content:space-between;align-items:center;padding:18px 28px;border-bottom:1px dashed var(--line-2);background:var(--paper-2);}
  .ticket__head .ttl{font-family:"IBM Plex Mono",monospace;font-size:13px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;}
  .ticket__no{font-family:"IBM Plex Mono",monospace;font-size:11.5px;color:var(--muted);letter-spacing:.08em;}
  .ticket__body{padding:30px 28px 32px;}
  .ticket__intro{color:#464234;margin:0 0 26px;font-size:17px;}
  .ticket__intro b{color:var(--accent);font-weight:500;}


  .crop{position:absolute;width:16px;height:16px;pointer-events:none;}
  .crop::before,.crop::after{content:"";position:absolute;background:var(--ink);}
  .crop::before{width:1px;height:16px;}
  .crop::after{height:1px;width:16px;}
  .crop.tl{top:-7px;left:-7px;}
  .crop.tr{top:-7px;right:-7px;}
  .crop.tl::before,.crop.tr::before{top:0;}
  .crop.bl{bottom:-7px;left:-7px;}
  .crop.br{bottom:-7px;right:-7px;}
  .crop.tl::before{left:0;} .crop.tl::after{top:0;left:0;}
  .crop.tr::before{right:0;} .crop.tr::after{top:0;right:0;}
  .crop.bl::before{left:0;bottom:0;} .crop.bl::after{bottom:0;left:0;}
  .crop.br::before{right:0;bottom:0;} .crop.br::after{bottom:0;right:0;}


  .row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
  .field{margin-bottom:18px;}
  .field > label{
    display:block;font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.16em;
    text-transform:uppercase;color:var(--muted);margin-bottom:8px;
  }
  .field .req{color:var(--accent);}
  .input,.select,.textarea{
    width:100%;font-family:"Newsreader",serif;font-size:17px;color:var(--ink);
    background:var(--paper);border:1px solid var(--line-2);border-radius:0;
    padding:13px 14px;transition:border-color .15s ease, background .15s ease, box-shadow .15s ease;
  }
  .input::placeholder,.textarea::placeholder{color:#9a937f;}
  .input:focus,.select:focus,.textarea:focus{
    outline:none;border-color:var(--ink);background:#fff;box-shadow:0 0 0 3px #16150f12;
  }
  .select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2316150f' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px;cursor:pointer;}
  .textarea{min-height:128px;resize:vertical;line-height:1.5;}
  .input.invalid,.textarea.invalid,.select.invalid{border-color:var(--accent);box-shadow:0 0 0 3px #c2371f1f;}
  .err{display:none;font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.05em;color:var(--accent);margin-top:6px;text-transform:uppercase;}
  .err.show{display:block;}


  .chips{display:flex;flex-wrap:wrap;gap:9px;}
  .chip{
    font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.04em;
    padding:9px 14px;border:1px solid var(--line-2);background:var(--paper);cursor:pointer;
    transition:all .14s ease;user-select:none;color:var(--muted);
  }
  .chip:hover{border-color:var(--ink);color:var(--ink);}
  .chip.on{background:var(--ink);border-color:var(--ink);color:var(--paper);}

  .ticket__foot{margin-top:8px;}
  .form-note{font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.04em;color:var(--muted);text-align:center;margin:14px 0 0;text-transform:uppercase;}


  .ok{display:none;align-items:flex-start;gap:14px;border:1px solid var(--c);background:#eafafd;padding:18px 20px;margin-bottom:24px;}
  .ok.show{display:flex;}
  .ok svg{flex:none;color:var(--c);margin-top:2px;}
  .ok p{margin:0;font-size:16px;color:#234;line-height:1.45;}
  .ok b{font-weight:600;}


  .side{display:flex;flex-direction:column;gap:22px;}
  .panel{background:var(--card);border:1px solid var(--line-2);padding:26px 26px 28px;position:relative;}
  .panel h3{font-family:"IBM Plex Mono",monospace;font-size:13px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;margin-bottom:20px;display:flex;align-items:center;gap:10px;}
  .panel h3 .dot{width:9px;height:9px;background:var(--accent);border-radius:50%;}
  .info-row{display:flex;gap:14px;padding:14px 0;border-top:1px solid var(--line);}
  .info-row:first-of-type{border-top:0;padding-top:0;}
  .info-row .ic{flex:none;width:34px;height:34px;border:1px solid var(--line-2);display:grid;place-items:center;color:var(--ink);}
  .info-row .k{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:4px;}
  .info-row .v{font-size:17px;line-height:1.4;}
  .info-row .v a{color:var(--ink);}

  .hours{list-style:none;margin:0;padding:0;}
  .hours li{display:flex;justify-content:space-between;padding:9px 0;border-top:1px dotted var(--line-2);font-size:15px;}
  .hours li:first-child{border-top:0;}
  .hours .day{font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);}
  .hours li.today{color:var(--accent);}
  .hours li.today .day{color:var(--accent);}
  .hours li .closed{color:#a59c86;}


  .caps{display:flex;flex-wrap:wrap;gap:8px;}
  .caps span{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.04em;padding:7px 11px;border:1px solid var(--line-2);color:var(--muted);}


  .footer{background:var(--ink);color:#cfc9ba;margin-top:0;}
  .footer .wrap{padding:64px 28px 30px;}
  .footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.3fr;gap:40px;}
  .footer h4{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#8c8674;margin:0 0 16px;font-weight:600;}
  .footer ul{list-style:none;margin:0;padding:0;}
  .footer ul li{margin-bottom:10px;}
  .footer a{color:#cfc9ba;text-decoration:none;font-size:15px;}
  .footer a:hover{color:#fff;}
  .footer__brand b{font-family:"IBM Plex Mono",monospace;font-size:16px;letter-spacing:.06em;color:#fff;display:block;}
  .footer__brand p{font-size:15px;color:#9b9582;max-width:300px;margin:14px 0 0;line-height:1.5;}
  .footer__line{font-size:15px;color:#cfc9ba;line-height:1.55;}
  .footer__bottom{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin-top:48px;padding-top:22px;border-top:1px solid #2c2a20;}
  .footer__bottom span,.footer__bottom a,.footer__bottom button{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.08em;color:#8c8674;text-transform:uppercase;}
  .footer__legal{display:flex;gap:22px;flex-wrap:wrap;}
  .footer__legal a:hover{color:#fff;}
  .footer__legal button{appearance:none;background:none;border:0;padding:0;cursor:pointer;}
  .footer__legal button:hover{color:#fff;}

  @media(max-width:900px){
    .grid{grid-template-columns:1fr;}
    .nav__links,.topline,.nav__right .btn--ghost{display:none;}
    .nav__toggle{display:inline-flex;}
    .footer__grid{grid-template-columns:1fr 1fr;gap:30px;}
  }
  @media(max-width:560px){
    .wrap{padding:0 18px;}
    .row{grid-template-columns:1fr;}
    .footer__grid{grid-template-columns:1fr;}
    .ticket__body{padding:24px 18px 26px;}
  }

.section{padding:74px 0;}
.section--alt{background:var(--paper-2);}
.section__head{max-width:680px;margin:0 0 40px;}
.section__head .eyebrow{margin-bottom:18px;}
.section__head h2{font-size:clamp(34px,4.6vw,56px);letter-spacing:-.02em;}
.section__head h2 em{font-style:italic;}
.section__head p{font-size:19px;color:#3a372d;margin:18px 0 0;max-width:600px;}

.home-hero{padding:70px 0 40px;}
.home-hero .eyebrow{margin-bottom:26px;}
.home-hero h1{font-size:clamp(52px,8.4vw,120px);letter-spacing:-.035em;line-height:.96;margin:0;}
.home-hero h1 em{font-style:italic;}
.home-hero__lead{max-width:600px;font-size:21px;color:#3a372d;margin:28px 0 32px;}
.home-hero__cta{display:flex;gap:14px;flex-wrap:wrap;}
.home-hero__strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-2);border:1px solid var(--line-2);margin-top:56px;}
.home-hero__strip div{background:var(--card);padding:22px 22px;}
.home-hero__strip .n{font-family:"IBM Plex Mono",monospace;font-size:26px;letter-spacing:-.02em;}
.home-hero__strip .l{font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:8px;}

.ph{position:relative;background:
  repeating-linear-gradient(135deg,#e4ddcb 0 10px,#ece6d6 10px 20px);
  border:1px solid var(--line-2);display:grid;place-items:center;overflow:hidden;}
.ph span{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#8a8268;background:var(--paper);padding:6px 12px;border:1px solid var(--line-2);}
.ph{overflow:hidden;}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,#16150f12);pointer-events:none;}

.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-2);border:1px solid var(--line-2);}
.card{background:var(--card);padding:30px 28px 32px;position:relative;transition:background .2s ease;}
.card:hover{background:#fff;}
.card .num{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.12em;color:var(--accent);}
.card h3{font-size:25px;margin:16px 0 10px;letter-spacing:-.01em;}
.card p{font-size:16px;color:#4a4636;margin:0 0 16px;line-height:1.5;}
.card .meta{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.06em;color:var(--muted);text-transform:uppercase;border-top:1px dotted var(--line-2);padding-top:14px;}

.spec{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line-2);border:1px solid var(--line-2);}
.spec > div{background:var(--card);padding:26px 28px;}
.spec h4{font-family:"IBM Plex Mono",monospace;font-size:13px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px;display:flex;gap:10px;align-items:center;}
.spec h4 .dot{width:9px;height:9px;background:var(--accent);border-radius:50%;}
.spec ul{list-style:none;margin:0;padding:0;}
.spec li{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-top:1px dotted var(--line-2);font-size:16px;}
.spec li:first-child{border-top:0;}
.spec li .v{font-family:"IBM Plex Mono",monospace;font-size:13px;color:var(--muted);}

.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.work-grid .ph{aspect-ratio:4/5;}
.work-grid .ph.wide{grid-column:span 2;aspect-ratio:8/5;}
.work-cap{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:10px;}

.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.product{background:var(--card);border:1px solid var(--line-2);transition:transform .14s ease,box-shadow .2s ease;}
.product:hover{transform:translateY(-3px);box-shadow:0 20px 40px -30px #00000050;}
.product .ph{aspect-ratio:1/1;border:0;border-bottom:1px solid var(--line-2);}
.product__body{padding:20px 22px 24px;}
.product__body h3{font-size:21px;margin:0 0 6px;}
.product__body .desc{font-size:15px;color:#4a4636;margin:0 0 16px;line-height:1.45;}
.product__foot{display:flex;justify-content:space-between;align-items:center;border-top:1px dotted var(--line-2);padding-top:16px;}
.product__foot .price{font-family:"IBM Plex Mono",monospace;font-size:17px;}
.product__foot .price small{color:var(--muted);font-size:11px;letter-spacing:.06em;}

.cta-band{background:var(--ink);color:var(--paper);padding:64px 0;}
.cta-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;}
.cta-band h2{font-size:clamp(30px,4vw,48px);color:#fff;letter-spacing:-.02em;max-width:620px;}
.cta-band h2 em{font-style:italic;}
.cta-band .btn--accent{flex:none;}

.split{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;}
.split .ph{aspect-ratio:5/4;}
.split h2{font-size:clamp(30px,4vw,48px);letter-spacing:-.02em;}
.split h2 em{font-style:italic;}
.split p{font-size:18px;color:#3a372d;margin:18px 0 0;}
.split .quote{font-size:23px;line-height:1.4;font-style:italic;margin:0;}
.split .by{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:18px;}
.section--testimonials{background:var(--paper-2);}
.testimonial-board{display:grid;grid-template-columns:1.2fr .8fr;gap:1px;background:var(--line-2);border:1px solid var(--line-2);}
.testimonial-board__quote{background:var(--card);padding:38px 40px 42px;min-height:320px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;}
.testimonial-board__quote::after{content:"";position:absolute;right:-56px;bottom:-70px;width:210px;height:210px;border:1px solid var(--line-2);transform:rotate(35deg);opacity:.55;}
.testimonial-file__top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:26px;font-family:"IBM Plex Mono",monospace;text-transform:uppercase;}
.testimonial-file__top span,.testimonial-file__top em{display:block;font-size:10.5px;letter-spacing:.14em;color:var(--muted);font-style:normal;}
.testimonial-file__top b{display:block;margin-top:6px;font-size:16px;letter-spacing:.13em;color:var(--accent);font-weight:600;}
.testimonial-file__top em{border:1px solid var(--line-2);padding:7px 10px;background:var(--paper);}
.testimonial-file__rule{height:1px;background:linear-gradient(90deg,var(--ink) 0 90px,transparent 90px 106px,var(--ink) 106px 144px,transparent 144px 160px,var(--ink) 160px 250px,transparent 250px);margin:-8px 0 30px;opacity:.85;}
.testimonial-board__mark{font-family:"IBM Plex Mono",monospace;font-size:54px;line-height:.7;color:var(--accent);margin-bottom:18px;}
.testimonial-board__quote p{font-size:28px;line-height:1.26;color:#2d2a22;margin:0;max-width:720px;}
.testimonial-board__meta{display:flex;flex-wrap:wrap;gap:12px 18px;margin-top:34px;font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);}
.testimonial-board__meta b{color:var(--ink);font-weight:600;}
.testimonial-board__list{display:grid;background:var(--line-2);gap:1px;}
.testimonial-board__list button{appearance:none;border:0;background:var(--card);text-align:left;padding:25px 26px;cursor:pointer;color:var(--ink);transition:background .18s ease,color .18s ease;}
.testimonial-board__list button:hover,.testimonial-board__list button.is-active{background:var(--ink);color:var(--paper);}
.testimonial-board__list span{display:block;font-family:"IBM Plex Mono",monospace;font-size:13px;letter-spacing:.13em;text-transform:uppercase;font-weight:600;}
.testimonial-board__list small{display:block;margin-top:8px;font-size:15px;color:inherit;opacity:.72;}
.testimonial-board__list .testimonial-file__no{font-size:10px;letter-spacing:.16em;color:var(--accent);margin-bottom:10px;}
.testimonial-board__list button.is-active .testimonial-file__no,.testimonial-board__list button:hover .testimonial-file__no{color:var(--y);}

@media(max-width:900px){
  .cards{grid-template-columns:1fr;}
  .spec{grid-template-columns:1fr;}
  .work-grid{grid-template-columns:1fr 1fr;}
  .work-grid .ph.wide{grid-column:span 2;}
  .shop-grid{grid-template-columns:1fr 1fr;}
  .split{grid-template-columns:1fr;gap:24px;}
  .home-hero__strip{grid-template-columns:1fr 1fr;}
  .testimonial-board{grid-template-columns:1fr;}
}
@media(max-width:560px){
  .work-grid,.shop-grid{grid-template-columns:1fr;}
  .work-grid .ph.wide{grid-column:span 1;}
  .testimonial-board__quote{padding:28px 22px 32px;min-height:0;}
  .testimonial-board__quote p{font-size:22px;}
  .testimonial-board__list button{padding:20px 22px;}
}

.legal-hero{padding:56px 0 12px;border-bottom:1px solid var(--line);}
.legal-hero .hero__crumb{margin-bottom:24px;}
.legal-hero h1{font-size:clamp(40px,6vw,76px);letter-spacing:-.025em;margin:0;}
.legal-hero .meta{display:flex;gap:26px;flex-wrap:wrap;margin-top:22px;}
.legal-hero .meta span{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}
.legal-hero .meta b{color:var(--ink);font-weight:500;}

.notice{display:flex;gap:14px;align-items:flex-start;border:1px solid var(--line-2);background:var(--card);padding:18px 20px;margin:30px 0 0;}
.notice .tag{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:var(--accent);padding:5px 9px;flex:none;}
.notice p{margin:0;font-size:15.5px;line-height:1.5;color:#46422f;}
.notice p b{font-weight:600;}

.doc{display:grid;grid-template-columns:230px 1fr;gap:54px;padding:48px 0 90px;align-items:start;}
.toc{position:sticky;top:104px;}
.toc .lab{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:14px;}
.toc ol{list-style:none;margin:0;padding:0;counter-reset:s;}
.toc li{counter-increment:s;margin-bottom:2px;}
.toc a{display:flex;gap:10px;text-decoration:none;color:var(--muted);font-size:14px;padding:6px 0;border-top:1px dotted var(--line-2);transition:color .15s ease;}
.toc li:first-child a{border-top:0;}
.toc a:hover{color:var(--ink);}
.toc a::before{content:counter(s,decimal-leading-zero);font-family:"IBM Plex Mono",monospace;font-size:11px;color:var(--accent);flex:none;}

.prose{max-width:680px;}
.prose section{padding-top:14px;margin-bottom:38px;scroll-margin-top:100px;}
.prose h2{font-size:27px;letter-spacing:-.01em;margin:0 0 14px;display:flex;gap:14px;align-items:baseline;}
.prose h2 .no{font-family:"IBM Plex Mono",monospace;font-size:14px;color:var(--accent);flex:none;}
.prose h3{font-size:18px;font-family:"IBM Plex Mono",monospace;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:24px 0 10px;}
.prose p{font-size:17px;line-height:1.62;color:#33312a;margin:0 0 14px;}
.prose ul{margin:0 0 14px;padding-left:0;list-style:none;}
.prose li{position:relative;padding-left:24px;font-size:17px;line-height:1.55;color:#33312a;margin-bottom:9px;}
.prose li::before{content:"";position:absolute;left:4px;top:11px;width:6px;height:6px;background:var(--accent);}
.prose a{color:var(--ink);text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--line-2);}
.prose a:hover{text-decoration-color:var(--accent);}
.prose .fill{background:#f6e7b8;color:#5a4a14;padding:0 4px;border-bottom:1px dashed #c9a93a;font-style:normal;}
.prose .lead{font-size:19px;color:#3a372d;}
.prose hr{border:0;border-top:1px solid var(--line);margin:34px 0;}
.table-scroll{overflow-x:auto;margin:18px 0 20px;border:1px solid var(--line-2);background:var(--card);}
.prose table{width:100%;min-width:680px;border-collapse:collapse;font-size:15.5px;color:#33312a;}
.prose th,.prose td{padding:13px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;line-height:1.42;}
.prose th{font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:var(--paper-2);font-weight:600;}
.prose tr:last-child td{border-bottom:0;}

@media(max-width:820px){
  .doc{grid-template-columns:1fr;gap:8px;}
  .toc{position:static;border:1px solid var(--line-2);background:var(--card);padding:18px 20px;margin-bottom:10px;}
}

.cmp-banner{position:fixed;left:22px;right:22px;bottom:22px;z-index:95;display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1040px;margin:0 auto;padding:20px 22px;border:1px solid var(--line-2);background:var(--card);box-shadow:0 24px 80px -36px rgba(0,0,0,.55);}
.cmp-banner p{margin:0;color:#353229;font-size:16px;line-height:1.45;}
.cmp-banner__title{font-family:"IBM Plex Mono",monospace;font-size:11px !important;letter-spacing:.14em;text-transform:uppercase;color:var(--accent) !important;margin-bottom:7px !important;font-weight:600;}
.cmp-banner__actions{display:flex;align-items:center;gap:10px;flex:none;flex-wrap:wrap;justify-content:flex-end;}
.cmp-link{appearance:none;border:0;background:none;padding:8px 0;cursor:pointer;color:var(--ink);font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-2);}
.cmp-link:hover{text-decoration-color:var(--accent);}

.cmp-modal{position:fixed;inset:0;z-index:110;background:rgba(22,21,15,.72);display:flex;align-items:center;justify-content:center;padding:24px;}
.cmp-modal__panel{width:min(760px,100%);max-height:min(760px,90vh);overflow:auto;background:var(--paper);border:1px solid var(--line-2);box-shadow:0 42px 120px -34px rgba(0,0,0,.8);}
.cmp-modal__head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:26px 28px 18px;border-bottom:1px solid var(--line);}
.cmp-modal__head h2{font-size:34px;letter-spacing:-.02em;margin-top:8px;}
.cmp-icon{appearance:none;width:42px;height:42px;border:1px solid var(--line-2);background:var(--card);color:var(--ink);font-family:"IBM Plex Mono",monospace;font-size:18px;cursor:pointer;line-height:1;}
.cmp-icon:hover{background:var(--ink);color:var(--paper);}
.cmp-modal__intro{font-size:16.5px;line-height:1.5;color:#3b382f;margin:0;padding:20px 28px 0;}
.cmp-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:20px 28px 12px;border-bottom:1px solid var(--line);}
.cmp-tabs button{appearance:none;border:1px solid var(--line-2);background:transparent;color:var(--muted);cursor:pointer;padding:9px 11px;font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;}
.cmp-tabs button.is-active,.cmp-tabs button:hover{background:var(--ink);border-color:var(--ink);color:var(--paper);}
.cmp-choice-callout{margin:20px 28px 0;padding:18px 20px;border:1px solid var(--line-2);background:var(--card);}
.cmp-choice-callout h3,.cmp-option h3{font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;color:var(--ink);}
.cmp-choice-callout p{font-size:16px;color:#3b382f;line-height:1.48;margin:0 0 12px;}
.cmp-options{padding:20px 28px 8px;display:grid;gap:12px;}
.cmp-option{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;border:1px solid var(--line-2);background:var(--card);padding:18px 18px;}
.cmp-option p{font-size:16px;line-height:1.45;color:#38352c;margin:0 0 8px;}
.cmp-option__meta{font-family:"IBM Plex Mono",monospace;font-size:11px !important;letter-spacing:.04em;text-transform:uppercase;color:var(--muted) !important;margin-bottom:0 !important;}
.cmp-option__lock{font-size:14px !important;color:var(--accent) !important;margin-top:9px !important;}
.cmp-switch{appearance:none;position:relative;width:58px;height:32px;border:1px solid var(--line-2);background:var(--paper-2);cursor:pointer;padding:0;transition:background .18s ease,border-color .18s ease;}
.cmp-switch span{position:absolute;left:4px;top:4px;width:22px;height:22px;background:var(--muted);transition:transform .18s ease,background .18s ease;}
.cmp-switch.is-on{background:var(--ink);border-color:var(--ink);}
.cmp-switch.is-on span{transform:translateX(26px);background:var(--y);}
.cmp-switch:disabled{cursor:not-allowed;opacity:.62;}
.cmp-modal__actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding:18px 28px 28px;border-top:1px solid var(--line);}

@media(max-width:760px){
  .cmp-banner{left:12px;right:12px;bottom:12px;display:block;padding:18px;}
  .cmp-banner__actions{justify-content:flex-start;margin-top:14px;}
  .cmp-banner__actions .btn{flex:1;justify-content:center;min-width:140px;}
  .cmp-modal{padding:10px;align-items:flex-end;}
  .cmp-modal__panel{max-height:94vh;}
  .cmp-modal__head,.cmp-modal__intro,.cmp-tabs,.cmp-options,.cmp-modal__actions{padding-left:18px;padding-right:18px;}
  .cmp-choice-callout{margin-left:18px;margin-right:18px;}
  .cmp-option{grid-template-columns:1fr;gap:12px;}
  .cmp-switch{justify-self:start;}
}

@media (prefers-reduced-motion: no-preference){
  html{scroll-behavior:smooth;}
}

@media (prefers-reduced-motion: no-preference){
  html.anim .home-hero .eyebrow, html.anim .home-hero h1, html.anim .home-hero__lead,
  html.anim .home-hero__cta, html.anim .home-hero__strip,
  html.anim .hero .eyebrow, html.anim .hero .hero__crumb, html.anim .hero h1,
  html.anim .hero__lead, html.anim .hero__rule,
  html.anim .legal-hero .hero__crumb, html.anim .legal-hero h1, html.anim .legal-hero .meta,
  html.anim .section__head,
  html.anim .cards .card, html.anim .shop-grid .product, html.anim .work-grid > div,
  html.anim .spec > div, html.anim .panel, html.anim .split > *,
  html.anim .cta-band h2, html.anim .cta-band .btn,
  html.anim .ticket, html.anim .prose section, html.anim .notice{
    opacity:1;transform:none;
    animation:reveal-rise .72s cubic-bezier(.2,.7,.2,1) both;
    animation-delay:var(--rd,0ms);
    will-change:opacity,transform;
  }
  html.anim .reveal-in{opacity:1 !important;transform:none !important;}
  @keyframes reveal-rise{
    0%{opacity:.01;transform:translateY(22px);}
    100%{opacity:1;transform:none;}
  }
}

.site-header{transition:box-shadow .35s ease, background-color .35s ease;}
.site-header.scrolled{box-shadow:0 1px 0 var(--line), 0 14px 34px -26px rgba(0,0,0,.45);background:rgba(241,237,227,.92);backdrop-filter:saturate(1.1) blur(8px);}
.nav{transition:height .35s ease;}
.site-header.scrolled .nav{height:66px;}

.brand__mark svg{transition:transform .7s cubic-bezier(.66,0,.2,1);}
.brand:hover .brand__mark svg{transform:rotate(90deg);}

.btn{position:relative;overflow:hidden;}
.btn::after{content:"";position:absolute;top:0;left:-130%;width:55%;height:100%;
  background:linear-gradient(115deg,transparent,rgba(255,255,255,.28),transparent);
  transform:skewX(-18deg);transition:left .65s ease;pointer-events:none;}
.btn:hover::after{left:150%;}
.btn--ghost::after{background:linear-gradient(115deg,transparent,rgba(22,21,15,.10),transparent);}

.work-grid .ph,.product .ph{cursor:zoom-in;}
.product .ph{cursor:default;}
.ph img{transition:transform 1s cubic-bezier(.2,.7,.2,1);}
.work-grid .ph:hover img,.product:hover .ph img{transform:scale(1.055);}
.work-grid > div .work-cap{transition:color .25s ease;}
.work-grid > div:hover .work-cap{color:var(--ink);}

.nav__links a::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:2px;background:var(--accent);transition:right .28s cubic-bezier(.2,.7,.2,1);}
.nav__links a:hover::after{right:0;}
.nav__links a.is-active::after{right:0;}

@keyframes okpop{0%{opacity:0;transform:translateY(10px) scale(.98);}100%{opacity:1;transform:none;}}
.ok.show{animation:okpop .45s cubic-bezier(.2,.7,.2,1);}

.chip{transition:all .14s ease, transform .08s ease;}
.chip:active{transform:scale(.95);}

@media (prefers-reduced-motion: no-preference){
  .site-header > .cmyk-bar i{position:relative;overflow:hidden;}
  .site-header > .cmyk-bar i::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);transform:translateX(-100%);animation:sheen 5.5s ease-in-out 1s infinite;}
  @keyframes sheen{0%{transform:translateX(-100%);}28%,100%{transform:translateX(220%);}}
}

.mobile-nav{position:fixed;inset:0;z-index:70;background:var(--paper);display:flex;flex-direction:column;padding:22px 26px 34px;
  transform:translateY(-101%);transition:transform .5s cubic-bezier(.7,0,.18,1);overscroll-behavior:contain;}
.mobile-nav.open{transform:none;}
.mobile-nav__top{display:flex;justify-content:space-between;align-items:center;height:56px;border-bottom:1px solid var(--line);}
.mobile-nav__top .mono{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);}
.mobile-nav__close{background:none;border:1px solid var(--line-2);width:42px;height:42px;font-size:18px;cursor:pointer;color:var(--ink);line-height:1;}
.mobile-nav__links{display:flex;flex-direction:column;gap:4px;margin-top:30px;flex:1;}
.mobile-nav__links a{font-family:"Newsreader",serif;font-size:38px;letter-spacing:-.02em;color:var(--ink);text-decoration:none;padding:10px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;}
.mobile-nav__links a::after{content:"\2192";font-family:"IBM Plex Mono",monospace;font-size:18px;color:var(--accent);opacity:0;transform:translateX(-6px);transition:.2s;}
.mobile-nav__links a:hover::after,.mobile-nav__links a.is-active::after{opacity:1;transform:none;}
.mobile-nav__links a.is-active{color:var(--accent);}
.mobile-nav .btn{margin-top:8px;}
.mobile-nav__foot{font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:20px;}

.lightbox{position:fixed;inset:0;z-index:90;background:rgba(13,12,8,.93);
  display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;
  opacity:0;pointer-events:none;transition:opacity .32s ease;padding:30px;}
.lightbox.open{opacity:1;pointer-events:auto;}
.lightbox__img{max-width:min(1100px,90vw);max-height:80vh;object-fit:contain;background:#1c1a12;
  box-shadow:0 40px 90px -24px rgba(0,0,0,.8);transform:scale(.96);transition:transform .35s cubic-bezier(.2,.7,.2,1);}
.lightbox.open .lightbox__img{transform:none;}
.lightbox__cap{font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#cfc9ba;}
.lightbox__cap b{color:var(--y);font-weight:500;}
.lightbox__close{position:absolute;top:22px;right:24px;background:none;border:1px solid rgba(255,255,255,.3);color:#fff;width:46px;height:46px;font-size:20px;cursor:pointer;line-height:1;transition:.2s;}
.lightbox__close:hover{background:var(--accent);border-color:var(--accent);}
.lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);background:none;border:1px solid rgba(255,255,255,.28);color:#fff;width:52px;height:52px;font-size:22px;cursor:pointer;transition:.2s;display:grid;place-items:center;}
.lightbox__nav:hover{background:rgba(255,255,255,.12);}
.lightbox__nav.prev{left:24px;}
.lightbox__nav.next{right:24px;}
.lightbox__count{position:absolute;bottom:26px;left:0;right:0;text-align:center;font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.18em;color:rgba(255,255,255,.55);}
@media(max-width:620px){.lightbox__nav{width:44px;height:44px;}.lightbox__img{max-height:70vh;}}

.to-top{position:fixed;right:22px;bottom:22px;z-index:50;width:48px;height:48px;border:1px solid var(--line-2);background:var(--card);color:var(--ink);
  display:grid;place-items:center;cursor:pointer;opacity:0;transform:translateY(12px);pointer-events:none;transition:.3s ease;box-shadow:0 10px 26px -18px rgba(0,0,0,.5);}
.to-top.show{opacity:1;transform:none;pointer-events:auto;}
.to-top:hover{background:var(--ink);color:var(--paper);border-color:var(--ink);}

.btn.is-loading{pointer-events:none;opacity:.9;}
.btn .spin{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:btnspin .7s linear infinite;vertical-align:-2px;margin-right:4px;}
@keyframes btnspin{to{transform:rotate(360deg);}}
.ok .ok-ref{font-family:"IBM Plex Mono",monospace;font-weight:600;}
