@font-face{font-family:"Young Serif";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/young-serif-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Figtree";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/figtree-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Figtree";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/figtree-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"Figtree";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/figtree-latin-700-normal.woff2") format("woff2")}
:root{
    --cream:#f4ecdb;
    --cream-deep:#eadfc6;
    --ink:#1f1511;
    --muted:#6a5849;
    --leather:#3a2216;
    --leather-deep:#24130b;
    --brick:#a4442c;
    --brass:#c9a15a;
    --brass-deep:#9c7632;
    --red:#e2412f;
    --head:"Young Serif",Georgia,serif;
    --body:"Figtree","Helvetica Neue",Arial,sans-serif;
    --gutter:clamp(20px,5vw,72px);
    --max:1180px;
    --pebble:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='turbulence' baseFrequency='.55' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .5 -.08'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)'/%3E%3C/svg%3E");
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth;scroll-padding-top:20px}
  @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
  body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--body);font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased}
  img{max-width:100%;display:block}
  a{color:inherit}
  :focus-visible{outline:3px solid var(--brass);outline-offset:3px;border-radius:3px}
  .skip{position:absolute;left:-999px;top:8px;background:var(--cream);padding:10px 16px;z-index:100;border-radius:4px}
  .skip:focus{left:8px}
  .wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
  h1,h2,h3{font-family:var(--head);font-weight:400;line-height:1.08;margin:0;letter-spacing:-.01em}
  p{margin:0 0 1em}
  section{padding:clamp(60px,9vw,120px) 0}
  h2.title{font-size:clamp(2rem,4.4vw,3.2rem);max-width:19ch}

  .btn{display:inline-block;font-family:var(--body);font-weight:700;font-size:1rem;text-decoration:none;padding:14px 26px;border-radius:999px;border:2px solid transparent;cursor:pointer;transition:background .2s,color .2s,transform .2s}
  .btn.brass{background:var(--brass);color:var(--leather-deep)}
  .btn.brass:hover{background:#dbb36c}
  .btn.line{border-color:rgba(244,236,219,.6);color:var(--cream)}
  .btn.line:hover{background:var(--cream);color:var(--leather-deep)}
  .btn.dark{background:var(--leather);color:var(--cream)}
  .btn.dark:hover{background:var(--brick)}

  /* hero */
  .hero{position:relative;color:var(--cream);background:var(--leather-deep) center 30%/cover no-repeat;isolation:isolate;min-height:min(92vh,860px);display:flex;flex-direction:column}
  .hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(25,11,5,.9) 0%,rgba(25,11,5,.72) 42%,rgba(25,11,5,.25) 100%),linear-gradient(0deg,rgba(25,11,5,.65),transparent 40%)}
  header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:24px;padding-bottom:24px}
  .brand{font-family:var(--head);font-size:1.3rem;text-decoration:none;line-height:1.1}
  nav.main{display:flex;align-items:center;gap:clamp(14px,2.6vw,34px);font-weight:500}
  nav.main a{text-decoration:none;padding:4px 0;border-bottom:2px solid transparent}
  nav.main a:hover{border-bottom-color:var(--brass)}
  nav.main .call{white-space:nowrap;border:2px solid var(--brass);color:var(--brass);padding:8px 18px;border-radius:999px;font-weight:700}
  nav.main .call:hover{background:var(--brass);color:var(--leather-deep)}
  @media (max-width:820px){nav.main a:not(.call){display:none}.brand{font-size:1.1rem}nav.main .call{padding:7px 14px;font-size:.95rem}.hero::before{background:linear-gradient(rgba(25,11,5,.78),rgba(25,11,5,.88))}}
  .hero .body .wrap{width:100%}
  .hero .body{flex:1;display:flex;align-items:center;padding:clamp(30px,6vw,70px) 0 clamp(50px,8vw,110px)}
  .live{display:inline-flex;align-items:center;gap:10px;font-size:.95rem;font-weight:500;background:rgba(244,236,219,.1);border:1px solid rgba(244,236,219,.3);padding:7px 16px 7px 14px;border-radius:999px;margin-bottom:26px}
  .live i{width:10px;height:10px;border-radius:50%;background:var(--red);box-shadow:0 0 0 0 rgba(226,65,47,.7);animation:pulse 2s infinite}
  @keyframes pulse{70%{box-shadow:0 0 0 10px rgba(226,65,47,0)}100%{box-shadow:0 0 0 0 rgba(226,65,47,0)}}
  @media (prefers-reduced-motion:reduce){.live i{animation:none}}
  .hero h1{font-size:clamp(3.4rem,10vw,8rem);line-height:.95;max-width:11ch;letter-spacing:-.025em}
  .hero .lede{font-size:clamp(1.1rem,1.9vw,1.35rem);max-width:30em;margin-top:26px;color:#eadfc6}
  .hero .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}

  /* assurance strip */
  .strip{background:var(--leather) var(--pebble);color:var(--cream)}
  .strip .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,3vw,48px);padding-top:30px;padding-bottom:30px}
  .strip h3{font-family:var(--body);font-weight:700;font-size:1.05rem;color:var(--brass);margin-bottom:4px;letter-spacing:0}
  .strip p{margin:0;color:#e6d8bb;font-size:.98rem;line-height:1.5}
  @media (max-width:760px){.strip .wrap{grid-template-columns:1fr}}

  /* services */
  .svc{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(24px,5vw,72px);align-items:center;margin-top:clamp(40px,6vw,76px)}
  .svc.flip{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}
  .svc.flip figure{order:2}
  @media (max-width:820px){.svc,.svc.flip{grid-template-columns:1fr}.svc.flip figure{order:0}}
  .svc figure{margin:0;position:relative}
  .svc img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:6px;filter:sepia(.25) saturate(.95);box-shadow:0 14px 30px -14px rgba(36,19,11,.55)}
  .svc h3{font-size:clamp(1.7rem,3.2vw,2.4rem);margin-bottom:12px}
  .svc ul{margin:12px 0 14px;padding:0;list-style:none}
  .svc li{padding:6px 0 6px 26px;position:relative}
  .svc li::before{content:"";position:absolute;left:2px;top:.95em;width:10px;height:10px;border-radius:50%;background:var(--brass)}
  .more{font-weight:700;color:var(--brick);text-decoration-thickness:2px;text-underline-offset:4px}
  .more:hover{color:var(--leather)}

  /* booth */
  .booth{background:var(--leather-deep) center/cover no-repeat;color:var(--cream);position:relative;isolation:isolate}
  .booth::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(rgba(25,11,5,.88),rgba(25,11,5,.93))}
  .booth .title{color:var(--cream)}
  .booth .sub{max-width:36em;color:#e0d1b3;font-size:1.15rem;margin-top:16px}
  .mosaic{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:clamp(150px,19vw,230px);gap:12px;margin-top:40px}
  .mosaic figure{margin:0;position:relative;overflow:hidden;border-radius:6px}
  .mosaic img{width:100%;height:100%;object-fit:cover;filter:sepia(.2) saturate(.95);transition:transform .5s}
  .mosaic figure:hover img{transform:scale(1.04)}
  @media (prefers-reduced-motion:reduce){.mosaic figure:hover img{transform:none}}
  .mosaic figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 14px 10px;font-size:.88rem;font-weight:500;color:#fff;background:linear-gradient(transparent,rgba(20,8,3,.82))}
  .m-wide{grid-column:span 8;grid-row:span 2}
  .m-a,.m-b{grid-column:span 4}
  .m-c,.m-d{grid-column:span 6}
  @media (max-width:760px){.mosaic{grid-template-columns:repeat(2,minmax(0,1fr))}.m-wide{grid-column:span 2;grid-row:span 2}.m-a,.m-b,.m-c,.m-d{grid-column:span 1}}
  .booth-info{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(24px,5vw,72px);margin-top:clamp(40px,6vw,72px)}
  @media (max-width:860px){.booth-info{grid-template-columns:1fr}}
  .booth-info p{color:#e8dcc3}
  .kit{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,40px)}
  @media (max-width:520px){.kit{grid-template-columns:1fr}}
  .kit h3{font-family:var(--body);font-weight:700;font-size:1.05rem;color:var(--brass);padding-bottom:8px;border-bottom:2px solid var(--brass);margin-bottom:4px}
  .kit ul{list-style:none;margin:0 0 0;padding:0}
  .kit li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid rgba(244,236,219,.18);color:#f1e6cf}
  .kit li b{color:var(--brass);font-weight:700}

  /* remote */
  .remote{background:var(--brick) var(--pebble);color:#fff7e8;padding:clamp(44px,6vw,76px) 0}
  .remote .wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(20px,4vw,64px);align-items:center}
  @media (max-width:860px){.remote .wrap{grid-template-columns:1fr}}
  .remote h2{font-size:clamp(1.9rem,3.8vw,2.8rem)}
  .remote p{margin:0 0 .9em;max-width:36em}
  .tags{display:flex;flex-wrap:wrap;gap:10px}
  .tags span{font-weight:700;border:2px solid rgba(255,247,232,.7);padding:6px 16px;border-radius:999px}

  /* work */
  .credits{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:0 40px;margin-top:34px}
  .credit{border-top:2px solid var(--ink);padding:16px 0 20px}
  .credit h3{font-size:1.35rem}
  .credit a{display:block;margin-top:4px;color:var(--muted);text-underline-offset:3px}
  .credit a:hover{color:var(--brick)}
  .sub-h{font-size:clamp(1.5rem,2.6vw,2rem);margin:clamp(44px,6vw,72px) 0 6px}
  .covers{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:12px;margin-top:16px}
  .covers a{display:block;aspect-ratio:1/1;background:var(--cream-deep);border-radius:4px;overflow:hidden;box-shadow:0 6px 14px -8px rgba(36,19,11,.6);transition:transform .2s}
  .covers a:hover,.covers a:focus-visible{transform:translateY(-4px)}
  .covers img{width:100%;height:100%;object-fit:cover}
  .listen{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;margin-top:16px}
  .vid{position:relative;display:block;aspect-ratio:16/9;background:var(--leather-deep);border-radius:6px;overflow:hidden}
  .vid img{width:100%;height:100%;object-fit:cover;opacity:.9;filter:sepia(.25)}
  .vid::after{content:"";position:absolute;left:50%;top:50%;width:58px;height:58px;margin:-29px 0 0 -29px;border-radius:50%;background:var(--brass) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2324130b' d='M9 6.5v11l9-5.5z'/%3E%3C/svg%3E") center/58% no-repeat;box-shadow:0 4px 14px rgba(0,0,0,.45);transition:transform .2s}
  .vid:hover::after{transform:scale(1.1)}
  .spot{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
  .spot a{font-weight:500;border:2px solid var(--ink);padding:7px 16px;border-radius:999px;text-decoration:none}
  .spot a:hover{background:var(--ink);color:var(--cream)}

  /* contact */
  .contact{background:var(--leather-deep) center/cover no-repeat;color:var(--cream);position:relative;isolation:isolate}
  .contact::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(rgba(25,11,5,.9),rgba(25,11,5,.94))}
  .contact .cols{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(24px,5vw,72px);align-items:start}
  @media (max-width:860px){.contact .cols{grid-template-columns:1fr}}
  .contact h2{font-size:clamp(2rem,4.4vw,3.2rem)}
  .big{font-family:var(--head);font-size:clamp(1.15rem,2.2vw,1.5rem);display:block;text-decoration:none;margin-top:14px;overflow-wrap:anywhere}
  .big:hover{color:var(--brass)}
  address{font-style:normal;margin-top:26px;color:#e0d1b3}
  .card{background:var(--leather) var(--pebble);border-radius:10px;padding:clamp(22px,3vw,36px);box-shadow:0 20px 40px -20px rgba(0,0,0,.7);border:1px solid rgba(201,161,90,.35)}
  label{display:block;font-weight:700;font-size:.95rem;margin:0 0 6px}
  input,textarea{width:100%;font:inherit;padding:12px 14px;border:1.5px solid rgba(244,236,219,.28);background:rgba(0,0,0,.25);color:#fbf1da;border-radius:6px}
  input::placeholder,textarea::placeholder{color:#b9a47f}
  input:focus-visible,textarea:focus-visible{outline:3px solid var(--brass);outline-offset:1px;border-color:var(--brass)}
  textarea{min-height:140px;resize:vertical}
  .field{margin-bottom:18px}
  .note{font-size:.9rem;color:#d3c19b;margin:12px 0 0}
  .map{margin-top:clamp(36px,5vw,60px);border:0;border-radius:10px;width:100%;height:300px;filter:sepia(.5) grayscale(.3) contrast(.95)}


  .lede2{font-size:1.2rem;color:var(--muted);margin:14px 0 0;max-width:36em}
  .statement{font-family:var(--head);font-size:clamp(1.15rem,2vw,1.4rem);line-height:1.3;border-left:4px solid var(--brass);padding-left:18px;margin:22px 0 0}
  .intro3{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,56px);margin-top:20px;max-width:980px}
  .intro3 p{color:#e8dcc3;margin:0}
  @media (max-width:760px){.intro3{grid-template-columns:1fr}}
  .mic{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(20px,4vw,64px);margin-top:clamp(44px,6vw,80px);padding-top:clamp(28px,4vw,44px);border-top:1px solid rgba(244,236,219,.25)}
  @media (max-width:860px){.mic{grid-template-columns:1fr}}
  .mic h3{font-size:clamp(1.8rem,3.4vw,2.6rem)}
  .mic p{color:#e0d1b3;margin-top:10px}
  .kit h4{font-family:var(--body);font-weight:700;font-size:1.05rem;color:var(--brass);padding-bottom:8px;border-bottom:2px solid var(--brass);margin:0 0 4px}
  .faq{background:var(--cream-deep)}
  .qs{margin-top:30px;max-width:820px}
  .qs details{border-top:2px solid var(--ink);padding:0}
  .qs details:last-child{border-bottom:2px solid var(--ink)}
  .qs summary{cursor:pointer;list-style:none;font-family:var(--head);font-size:clamp(1.15rem,2vw,1.4rem);padding:18px 40px 18px 0;position:relative}
  .qs summary::-webkit-details-marker{display:none}
  .qs summary::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-52%);font-family:var(--body);font-size:1.8rem;color:var(--brick);transition:transform .2s}
  .qs details[open] summary::after{content:"\2212"}
  .qs details p{margin:0 0 20px;max-width:40em;color:var(--muted)}

  footer.site{background:#150b06;color:#bfae92;padding:26px 0;font-size:.92rem}
  footer.site .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px}
  footer.site a{text-decoration:none}
  footer.site a:hover{color:#fff}

/* ---- v5 additions ---- */
header.site{position:fixed;top:0;left:0;right:0;z-index:50;color:var(--cream);border-bottom:1px solid transparent;transition:background-color .3s,box-shadow .3s,border-color .3s}
.navtoggle{display:none;background:none;border:2px solid var(--brass);color:var(--brass);width:44px;height:44px;border-radius:999px;cursor:pointer;padding:0;align-items:center;justify-content:center}
.navtoggle span,.navtoggle span::before,.navtoggle span::after{display:block;width:18px;height:2px;background:currentColor;position:relative;content:"";transition:transform .2s,background .2s}
.navtoggle span::before{position:absolute;top:-6px}.navtoggle span::after{position:absolute;top:6px}
.navtoggle[aria-expanded=true] span{background:transparent}
.navtoggle[aria-expanded=true] span::before{top:0;transform:rotate(45deg)}
.navtoggle[aria-expanded=true] span::after{top:0;transform:rotate(-45deg)}
nav.main a[aria-current=page]{border-bottom-color:var(--brass)}
@media (max-width:900px){
  .navtoggle{display:inline-flex}
  nav.main{position:absolute;left:var(--gutter);right:var(--gutter);top:100%;flex-direction:column;align-items:stretch;gap:0;background:var(--leather-deep);border:1px solid rgba(201,161,90,.4);border-radius:10px;padding:8px 18px;display:none;box-shadow:0 20px 40px -10px rgba(0,0,0,.7)}
  nav.main.open{display:flex}
  nav.main a:not(.call){display:block!important;padding:13px 0;border-bottom:1px solid rgba(244,236,219,.15)}
  nav.main .call{text-align:center;margin:12px 0 6px;padding:10px 18px;font-size:1rem}
}
.hero.page{min-height:min(64vh,560px)}
.hero.page::before{background:linear-gradient(90deg,rgba(25,11,5,.92) 0%,rgba(25,11,5,.74) 50%,rgba(25,11,5,.3) 100%),linear-gradient(0deg,rgba(25,11,5,.6),transparent 40%)}
@media (max-width:820px){.hero.page::before{background:linear-gradient(rgba(25,11,5,.8),rgba(25,11,5,.9))}}
.hero.page h1{font-size:clamp(2.6rem,7.4vw,5.6rem);max-width:14ch}
.crumbs{font-size:.92rem;color:#d8c8a8;margin-bottom:18px}
.crumbs a{text-underline-offset:3px}

/* hero with mic */
.hero-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,60px);align-items:center}
@media (max-width:980px){.hero-grid{grid-template-columns:1fr}}
.hello{background:rgba(25,11,5,.62);border:1px solid rgba(201,161,90,.5);border-radius:14px;padding:clamp(18px,2.4vw,28px);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 24px 50px -24px rgba(0,0,0,.8)}
.hello h2{font-size:clamp(1.4rem,2.4vw,1.8rem);margin-bottom:6px}
.hello p{font-size:.97rem;color:#e3d4b4;margin:0 0 14px}
.hello canvas{display:block;width:100%;height:110px;background:rgba(0,0,0,.35);border-radius:8px;margin-bottom:14px}
.hello .row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.hello .status{font-size:.92rem;color:#d3c19b;min-height:1.4em}
.hello .btn{padding:11px 22px}
.hello .btn[disabled]{opacity:.5;cursor:default}

/* intro / split copy */
.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,5vw,72px);align-items:start}
@media (max-width:860px){.split{grid-template-columns:1fr}}
.split p{max-width:38em}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:clamp(16px,2.4vw,32px);margin-top:34px;counter-reset:s}
.step{border-top:2px solid var(--ink);padding-top:16px;counter-increment:s}
.step::before{content:counter(s,decimal-leading-zero);font-family:var(--head);color:var(--brick);font-size:1.3rem;display:block;margin-bottom:4px}
.step h3{font-size:1.45rem;margin-bottom:8px}
.step p{color:var(--muted);margin:0}
.step .price{display:inline-block;margin-top:12px;font-weight:700;color:var(--brick)}
.dark-band{background:var(--leather) var(--pebble);color:var(--cream)}
.dark-band .title{color:var(--cream)}
.dark-band p{color:#e8dcc3}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0;padding:0;list-style:none}
.chips li{border:2px solid var(--brass);color:var(--cream);padding:6px 16px;border-radius:999px;font-weight:500}
.photo{margin:0}
.photo img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:6px;filter:sepia(.25) saturate(.95);box-shadow:0 14px 30px -14px rgba(36,19,11,.55)}

/* calculator */
.calc-sec{background:var(--cream-deep)}
.calc{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(20px,3vw,40px);margin-top:34px;align-items:start}
@media (max-width:900px){.calc{grid-template-columns:1fr}}
.calc fieldset{border:0;padding:0;margin:0 0 26px}
.calc legend,.calc .lab{font-family:var(--head);font-size:1.3rem;padding:0;margin-bottom:10px;display:block}
.calc .hint{font-size:.92rem;color:var(--muted);margin:6px 0 0}
.calc input[type=number]{background:#fffaf0;color:var(--ink);border:2px solid var(--ink);font-size:1.4rem;font-weight:700;padding:12px 16px;max-width:280px;border-radius:8px}
.calc input[type=number]:focus-visible{border-color:var(--brick)}
.presets{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.presets button{font:inherit;font-weight:500;font-size:.92rem;background:transparent;border:2px solid var(--ink);color:var(--ink);padding:5px 14px;border-radius:999px;cursor:pointer}
.presets button:hover{background:var(--ink);color:var(--cream)}
.opt{display:block;position:relative;margin:0 0 10px}
.opt input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer;margin:0}
.opt span{display:flex;justify-content:space-between;gap:14px;align-items:baseline;border:2px solid rgba(31,21,17,.35);background:#fffaf0;border-radius:10px;padding:14px 18px;font-weight:700;transition:border-color .15s,background .15s}
.opt span em{font-style:normal;font-weight:500;color:var(--muted);font-size:.93rem;display:block}
.opt span b{white-space:nowrap;color:var(--brick)}
.opt input:checked+span{border-color:var(--brick);background:#fff;box-shadow:0 0 0 3px rgba(164,68,44,.18)}
.opt input:focus-visible+span{outline:3px solid var(--brass);outline-offset:2px}
.quote{background:var(--leather-deep) var(--pebble);color:var(--cream);border-radius:12px;padding:clamp(22px,3vw,34px);position:sticky;top:20px;border:1px solid rgba(201,161,90,.4);box-shadow:0 24px 50px -24px rgba(36,19,11,.8)}
@media (max-width:900px){.quote{position:static}}
.quote h3{font-family:var(--body);font-weight:700;font-size:.95rem;color:var(--brass);letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px}
.quote .len{font-family:var(--head);font-size:clamp(2rem,4vw,2.8rem);line-height:1.05}
.quote .len small{display:block;font-family:var(--body);font-size:.95rem;color:#d3c19b;margin-top:4px}
.quote dl{margin:18px 0 0;border-top:1px solid rgba(244,236,219,.25)}
.quote .ln{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(244,236,219,.18)}
.quote dt{color:#e3d4b4}.quote dd{margin:0;font-weight:700;text-align:right}
.quote .total{margin-top:16px}
.quote .total span{display:block;color:#d3c19b;font-size:.9rem}
.quote .total strong{font-family:var(--head);font-weight:400;font-size:clamp(2.1rem,4.4vw,3rem);line-height:1.1;color:var(--brass);display:block;overflow-wrap:anywhere}
.quote .btn{margin-top:18px;width:100%;text-align:center}
.quote .fine{font-size:.85rem;color:#cdbb97;margin:14px 0 0;line-height:1.5}
.err{color:var(--brick);font-weight:700;min-height:1.4em;margin:8px 0 0}

/* cta band */
.cta{background:var(--brick) var(--pebble);color:#fff7e8;padding:clamp(44px,6vw,76px) 0}
.cta .wrap{display:flex;flex-wrap:wrap;gap:20px 40px;align-items:center;justify-content:space-between}
.cta h2{font-size:clamp(1.9rem,4vw,3rem);max-width:16ch}
.cta .acts{display:flex;flex-wrap:wrap;gap:12px}
.cta .btn.line{border-color:rgba(255,247,232,.8);color:#fff7e8}
.cta .btn.line:hover{background:#fff7e8;color:var(--brick)}
.cta .btn.brass:hover{background:#fff}

footer.site nav{display:flex;flex-wrap:wrap;gap:6px 20px}
section.tight{padding:clamp(44px,6vw,80px) 0}
.hero-grid h1{font-size:clamp(3rem,6.4vw,6rem);max-width:none}
@media (max-width:980px){.hero-grid h1{font-size:clamp(3.2rem,13vw,5.4rem)}}
.quote .total strong{font-size:clamp(1.8rem,3.2vw,2.4rem)}
.split .chips li{color:var(--ink);border-color:var(--ink)}

/* studio time + guide */
.timebox{margin-top:18px;padding-top:14px;border-top:1px solid rgba(244,236,219,.25)}
.timebox h3{margin-bottom:6px}
.timebox p{margin:0 0 6px;font-size:.98rem;color:#f1e6cf}
.timebox p b{color:var(--brass)}
.dayrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(16px,2.4vw,32px);margin-top:30px}
.daycard{background:#fffaf0;border:2px solid var(--ink);border-radius:12px;padding:clamp(20px,2.6vw,30px);break-inside:avoid}
.daycard small{font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--brick);font-size:.82rem}
.daycard .big-n{font-family:var(--head);font-size:clamp(2.2rem,4.4vw,3.2rem);line-height:1.05;margin:6px 0 4px}
.daycard p{margin:0;color:var(--muted)}
.callout{border-left:5px solid var(--brass);background:rgba(201,161,90,.16);padding:18px 22px;border-radius:0 10px 10px 0;margin:26px 0 0;font-family:var(--head);font-size:clamp(1.1rem,1.9vw,1.35rem);line-height:1.35;break-inside:avoid}
.dodont{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,3vw,40px);margin-top:28px}
@media (max-width:700px){.dodont{grid-template-columns:1fr}}
.dodont h3{font-size:1.5rem;margin-bottom:6px;padding-bottom:8px;border-bottom:2px solid var(--ink)}
.dodont ul{list-style:none;margin:0;padding:0}
.dodont li{padding:10px 0 10px 26px;position:relative;border-bottom:1px solid rgba(31,21,17,.15)}
.dodont li::before{content:"";position:absolute;left:2px;top:1.05em;width:10px;height:10px;border-radius:50%;background:var(--brass)}
.dodont .no li::before{background:var(--brick)}
.dodont li span{display:block;color:var(--muted);font-size:.95rem}
.checks{list-style:none;margin:16px 0 0;padding:0;max-width:44em}
.checks li{padding:8px 0 8px 30px;position:relative}
.checks li::before{content:"";position:absolute;left:2px;top:.8em;width:14px;height:14px;border:2px solid var(--brick);border-radius:3px}
.dl{display:inline-block;margin-top:10px}
@media print{
  @page{size:A4;margin:12mm}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  html{scroll-behavior:auto}
  body{font-size:10.5pt;line-height:1.5}
  header.site,footer.site,.cta,.skip,.crumbs,.noprint{display:none!important}
  .hero.page{min-height:0}
  .hero.page .body{padding:26mm 0 14mm}
  .hero.page h1{font-size:34pt}
  section{padding:9mm 0;break-inside:auto}
  .step,.daycard,.callout,.dodont>div{break-inside:avoid}
  h2.title{font-size:22pt}
}

@media print{.pb{break-before:page}}
@media print{
  @page{margin:9mm}
  body{font-size:10pt;line-height:1.45}
  .hero.page .body{padding:14mm 0 8mm}
  .hero.page h1{font-size:30pt}
  section{padding:6mm 0}
  h2.title{font-size:19pt}
  .lede2{font-size:11pt;margin-top:6px}
  .split{grid-template-columns:1fr 2fr;gap:8mm}
  .dayrow{margin-top:12px}.callout{margin-top:14px;padding:12px 16px;font-size:12pt}
  .steps{margin-top:16px}.step p{font-size:9.5pt}.step h3{font-size:14pt}
  .checks{margin-top:8px}.checks li{padding:4px 0 4px 28px}
  .dodont{margin-top:14px}.dodont li{padding:6px 0 6px 26px}
  .daycard .big-n{font-size:22pt}
}

select{width:100%;font:inherit;padding:12px 14px;border:1.5px solid rgba(244,236,219,.28);background:rgba(0,0,0,.25);color:#fbf1da;border-radius:6px}
select option{color:#1f1511}

/* map click-to-load + legal pages */
.maphold{margin-top:clamp(36px,5vw,60px);border:1px solid rgba(201,161,90,.35);border-radius:10px;padding:clamp(22px,4vw,40px);background:rgba(0,0,0,.25);text-align:center}
.legal-head{background:var(--leather-deep) var(--pebble);color:var(--cream)}
.legal-head .wrap-t{max-width:var(--max);margin:0 auto;padding:clamp(64px,7vw,96px) var(--gutter) clamp(36px,5vw,64px)}
.legal-head h1{font-size:clamp(2.2rem,6vw,3.8rem)}
.legal-head p{margin:10px 0 0;color:#e3d4b4}
.legal{max-width:760px;margin:0 auto;padding:clamp(36px,6vw,72px) var(--gutter)}
.legal h2{font-size:clamp(1.4rem,2.6vw,1.9rem);margin:2em 0 .5em}
.legal h2:first-child{margin-top:0}
.legal p,.legal li{max-width:44em}
.legal ul{padding-left:1.3em}
.legal li{margin:.35em 0}
.legal table{width:100%;border-collapse:collapse;margin:1em 0;font-size:.97rem}
.legal th,.legal td{border-top:1px solid rgba(31,21,17,.25);padding:10px 12px 10px 0;text-align:left;vertical-align:top}
.legal th{font-family:var(--body);font-weight:700}
.legal .todo{background:rgba(201,161,90,.22);border-left:4px solid var(--brass);padding:2px 8px;border-radius:3px}
.hello .btn.ghost{background:transparent;color:#f4ecdb;border:1px solid rgba(244,236,219,.5)}
.hello .btn.ghost:hover{border-color:#c9a15a;color:#f0cf8a}
.hello [hidden]{display:none!important}
.hello .privnote{font-size:.85rem;color:#d3c19b;margin:12px 0 0}.hello .privnote a{color:#f0cf8a}

.readme{margin:30px 0 0;padding:18px 22px;border-left:4px solid var(--brass);background:rgba(58,34,22,.07);font-family:var(--head);font-size:clamp(1.15rem,2vw,1.4rem);line-height:1.5;max-width:40em}
.readme em{font-style:normal;color:var(--brick)}
.rcbox{margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid rgba(244,236,219,.18)}
.rc-meter{height:12px;background:rgba(0,0,0,.4);border-radius:7px;overflow:hidden;margin-bottom:14px}
.rc-meter i{display:block;height:100%;width:0;background:#c9a15a;transition:width .06s linear}
.rc-meter.hot i{background:#e2412f}
.rc-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.rc-row .btn{padding:11px 22px}
.rc-row .btn.ghost,.card .btn.ghost{background:transparent;color:#f4ecdb;border:1px solid rgba(244,236,219,.5)}
.rc-row .btn.ghost:hover{border-color:#c9a15a;color:#f0cf8a}
.rc-row [hidden],.rcbox [hidden]{display:none!important}
.rc-time{font-variant-numeric:tabular-nums;color:#d3c19b;min-width:3em}
.filelink{text-decoration:underline;cursor:pointer;color:#f0cf8a}
.consent{display:flex;gap:10px;align-items:flex-start;margin:6px 0 18px;font-size:.95rem;line-height:1.45}
.consent input{margin-top:4px;flex:none;width:18px;height:18px}
.consent a{color:#f0cf8a}

.who{padding:clamp(40px,6vw,72px) 0 0}
.whogrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-top:26px}
.who-card{display:flex;flex-direction:column;background:var(--leather);color:var(--cream);border-radius:12px;padding:20px 20px 18px;text-decoration:none;border:1px solid rgba(201,161,90,.35);transition:transform .15s,border-color .15s}
.who-card:hover,.who-card:focus-visible{transform:translateY(-3px);border-color:var(--brass)}
.who-card h3{font-size:1.3rem;margin:0 0 8px;color:var(--cream)}
.who-card p{margin:0 0 14px;color:#e3d4b4;font-size:.97rem;flex:1}
.who-card span{color:#f0cf8a;font-weight:700;font-size:.92rem}
.who-card span::after{content:" \2192"}
.flogo{display:inline-flex;align-items:center;gap:14px}.flogo img{display:block}

nav.main a{white-space:nowrap}
/* header logo: the badge hangs from the header over the top of the photo */
.brand{display:block;position:relative;z-index:5;align-self:flex-start;margin-top:-6px;line-height:0;border-radius:6px}
.brand img{display:block;width:auto;height:128px;margin-bottom:-74px;filter:drop-shadow(0 10px 18px rgba(0,0,0,.55))}
@media (max-width:1180px) and (min-width:901px){nav.main{gap:16px;font-size:.95rem}.brand img{height:112px;margin-bottom:-62px}}
@media (max-width:900px){.brand img{height:92px;margin-bottom:-48px}nav.main{z-index:30}}
@media (max-width:640px){
  .legal table,.legal tbody,.legal tr,.legal td{display:block;width:100%}
  .legal thead{display:none}
  .legal tr{border-top:1px solid rgba(31,21,17,.25);padding:14px 0 6px}
  .legal td{border:0;padding:0 0 10px}
  .legal td[data-label]::before{content:attr(data-label);display:block;font-weight:700;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
  .legal td:first-child::before{display:none}
}
/* sticky header: stays at the top; clear over the photo, then a solid bar with a smaller badge once you scroll */
:root{--hdr:96px}
@media (max-width:1180px){:root{--hdr:93px}}
@media (max-width:900px){:root{--hdr:92px}}
.hero,.legal-head{padding-top:var(--hdr)}
html{scroll-padding-top:100px}
header.site .wrap{transition:padding .3s}
.brand img{transition:height .3s,margin .3s,filter .3s}
header.site.scrolled{background-color:rgba(26,13,7,.93);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom-color:rgba(201,161,90,.22);box-shadow:0 12px 30px -14px rgba(0,0,0,.8)}
header.site.scrolled .wrap{padding-top:10px;padding-bottom:10px}
header.site.scrolled .brand{margin-top:0;align-self:center}
header.site.scrolled .brand img{height:58px;margin-bottom:0;filter:none}
@media (max-width:900px){header.site.scrolled .brand img{height:50px}}
@media (prefers-reduced-motion:reduce){header.site,header.site .wrap,.brand img{transition:none}}
@media print{.hero,.legal-head{padding-top:0}}

/* ===== on-air light ===== */
.onair{display:inline-flex;align-items:center;gap:9px;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#d3c19b;border:1px solid rgba(201,161,90,.35);border-radius:999px;padding:6px 14px 6px 11px;margin-left:auto;margin-right:18px;white-space:nowrap;background:rgba(20,8,3,.35)}
.onair i{width:10px;height:10px;border-radius:50%;background:#5a3a2e;box-shadow:inset 0 0 0 1px rgba(0,0,0,.4);transition:background .4s,box-shadow .4s}
.onair.on{color:#fff;border-color:#e2412f;background:rgba(226,65,47,.16)}
.onair.on i{background:#ff4b36;box-shadow:0 0 0 3px rgba(255,75,54,.22),0 0 14px 3px rgba(255,75,54,.7);animation:onair 2.4s ease-in-out infinite}
@keyframes onair{50%{box-shadow:0 0 0 3px rgba(255,75,54,.12),0 0 7px 1px rgba(255,75,54,.45)}}
@media (prefers-reduced-motion:reduce){.onair.on i{animation:none}}
@media (max-width:820px){.onair{margin-right:10px;padding:5px 10px 5px 9px;font-size:.7rem;letter-spacing:.08em}}
@media (max-width:420px){.onair span{display:none}.onair{padding:8px}}

/* ===== reel dock ===== */
#reel{position:fixed;left:0;right:0;bottom:0;z-index:60;background:rgba(26,13,7,.96);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid rgba(201,161,90,.4);color:var(--cream);box-shadow:0 -10px 30px -12px rgba(0,0,0,.7)}
#reel[hidden]{display:none}
#reel .in{max-width:var(--max);margin:0 auto;padding:10px var(--gutter);display:flex;align-items:center;gap:14px}
#reel button{font:inherit;cursor:pointer;border:0;background:none;color:var(--cream);width:38px;height:38px;border-radius:50%;display:grid;place-items:center;flex:none}
#reel button:hover{background:rgba(244,236,219,.12)}
#reel .pp{background:var(--brass);color:var(--leather-deep);width:44px;height:44px}
#reel .pp:hover{background:#dbb36c}
#reel .ttl{min-width:0;flex:0 1 220px;line-height:1.2}
#reel .ttl b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.95rem}
#reel .ttl small{color:#d3c19b;font-size:.78rem}
#reel .bar{flex:1;height:34px;position:relative;cursor:pointer;touch-action:none}
#reel .bar canvas{width:100%;height:100%;display:block}
#reel .tm{font-variant-numeric:tabular-nums;font-size:.8rem;color:#d3c19b;flex:none}
#reel :focus-visible{outline:2px solid var(--brass);outline-offset:2px}
@media (max-width:640px){#reel .ttl{flex-basis:90px}#reel .tm{display:none}#reel .in{gap:8px}}
body.reel-open{padding-bottom:70px}

/* ===== Take 1 slate ===== */
.slate{margin:-6px 0 22px;border:3px solid #f4ecdb;border-radius:6px;overflow:hidden;background:#17100c;font-family:var(--body)}
.slate .clap{position:relative;height:30px;background:#17100c}
.slate .clap .stick{position:absolute;left:-2px;right:-2px;top:0;height:15px;transform-origin:left bottom;background:repeating-linear-gradient(115deg,#f4ecdb 0 22px,#17100c 22px 44px);border-bottom:3px solid #f4ecdb;transform:rotate(-9deg) translateY(-3px)}
.slate .clap .sticks{position:absolute;left:0;right:0;bottom:0;height:15px;background:repeating-linear-gradient(115deg,#17100c 0 22px,#f4ecdb 22px 44px);border-top:3px solid #f4ecdb}
.slate.clapped .stick{animation:clap .28s cubic-bezier(.4,0,.2,1) forwards}
@keyframes clap{to{transform:rotate(0) translateY(0)}}
.slate dl{display:grid;grid-template-columns:repeat(5,auto);margin:0;border-top:3px solid #f4ecdb}
.slate dl>div{padding:8px 12px 9px;border-right:2px solid rgba(244,236,219,.5);min-width:0}
.slate dl>div:first-child{grid-column:1/-1;border-right:0;border-bottom:2px solid rgba(244,236,219,.5)}
.slate dl{grid-template-columns:repeat(4,1fr)}
.slate dl>div:last-child{border-right:0}
.slate dt{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:#d3c19b}
.slate dd{margin:2px 0 0;font:700 1.05rem/1.2 "Courier New",ui-monospace,monospace;color:#f4ecdb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (prefers-reduced-motion:reduce){.slate.clapped .stick{animation:none;transform:none}}
.hint2{font-size:.88rem;color:#d3c19b;margin:6px 0 0}
.slate-done{padding:6px 2px 4px}
.slate-done h3{font-family:var(--head);font-size:1.7rem;color:var(--cream)}

/* ===== booth tour ===== */
.tour{margin-top:40px}
.tour-img{position:relative;border-radius:6px;overflow:hidden;line-height:0}
.tour-img img{width:100%;height:auto;display:block;filter:sepia(.15) saturate(.95)}
.hs{position:absolute;transform:translate(-50%,-50%);width:34px;height:34px;border-radius:50%;border:2px solid #fff;background:rgba(201,161,90,.9);color:transparent;font-size:0;cursor:pointer;padding:0;box-shadow:0 0 0 0 rgba(244,236,219,.7);animation:ping 2.6s infinite}
.hs::before{content:"+";position:absolute;inset:0;display:grid;place-items:center;color:var(--leather-deep);font:700 20px/1 var(--body)}
.hs[aria-pressed="true"]{background:#fff;animation:none}
.hs:focus-visible{outline:3px solid #fff;outline-offset:3px}
@keyframes ping{70%{box-shadow:0 0 0 14px rgba(244,236,219,0)}100%{box-shadow:0 0 0 0 rgba(244,236,219,0)}}
@media (prefers-reduced-motion:reduce){.hs{animation:none}}
.tour-cap{margin:14px 0 0;min-height:3.2em;color:#e8dcc3;font-size:1.05rem;max-width:44em}
.tour-cap b{color:var(--brass)}
.mosaic .m-a,.mosaic .m-b{grid-column:span 6}
@media (max-width:760px){.mosaic .m-a,.mosaic .m-b{grid-column:span 1}}

/* ===== turnaround in estimate ===== */
.turn-row{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid rgba(244,236,219,.14);font-size:.95rem}
.turn-row b{white-space:nowrap}
.turn-note{font-size:.82rem;color:#d3c19b;margin:8px 0 0}

/* ===== tool pages (script timer, specs, brief, narrators, pronunciation, delivery) ===== */
.tool-sec{background:var(--cream-deep)}
.tool{max-width:900px}
.tool label.lab{font-family:var(--head);font-size:1.25rem;display:block;margin:0 0 8px}
.tool textarea,.tool input[type=text],.tool input[type=email],.tool input[type=number],.tool select{width:100%;font:inherit;background:#fffaf0;color:var(--ink);border:2px solid var(--ink);border-radius:8px;padding:12px 14px}
.tool textarea{min-height:200px;resize:vertical}
.tool textarea:focus-visible,.tool input:focus-visible,.tool select:focus-visible{outline:3px solid var(--brass);outline-offset:1px}
.tool .row{display:flex;flex-wrap:wrap;gap:14px;margin:18px 0}
.tool .row>*{flex:1 1 220px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.chip{font:inherit;font-weight:600;font-size:.95rem;padding:8px 14px;border-radius:999px;border:2px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer}
.chip[aria-pressed="true"]{background:var(--ink);color:var(--cream)}
.chip:focus-visible{outline:3px solid var(--brass);outline-offset:2px}
.panel{background:var(--leather-deep) var(--pebble);color:var(--cream);border-radius:12px;padding:clamp(20px,3vw,32px);border:1px solid rgba(201,161,90,.35)}
.panel h3{font-family:var(--body);font-size:.95rem;letter-spacing:.06em;text-transform:uppercase;color:var(--brass);margin-bottom:8px}
.big{font-family:var(--head);font-size:clamp(2.4rem,6vw,3.6rem);line-height:1}
.fits{display:grid;gap:8px;margin-top:16px}
.fit{display:grid;grid-template-columns:78px 1fr 118px;gap:10px;align-items:center;font-size:.95rem}
.fit i{display:block;height:10px;border-radius:5px;background:rgba(244,236,219,.18);overflow:hidden}
.fit i b{display:block;height:100%;background:var(--brass);width:0;transition:width .3s}
.fit.over i b{background:#e2412f}
.fit span{text-align:right;font-weight:700}
.note2{font-size:.9rem;color:var(--muted);margin-top:12px}
.spec-card{background:#fffaf0;border:2px solid var(--ink);border-radius:12px;padding:clamp(20px,3vw,32px);margin-top:26px}
.spec-card h3{font-family:var(--head);font-size:1.7rem;margin-bottom:6px}
.spec-card table{width:100%;border-collapse:collapse;margin-top:14px}
.spec-card th,.spec-card td{text-align:left;padding:9px 12px 9px 0;border-bottom:1px solid rgba(31,21,17,.2);vertical-align:top}
.spec-card th{width:36%;font-weight:700}
.spec-card .src{font-size:.88rem;color:var(--muted);margin-top:12px}
.stepper{display:flex;gap:8px;margin:0 0 22px;padding:0;list-style:none;flex-wrap:wrap}
.stepper li{font-weight:700;font-size:.9rem;padding:6px 14px;border-radius:999px;border:2px solid var(--ink);opacity:.5}
.stepper li.on{opacity:1;background:var(--ink);color:var(--cream)}
.stepper li.done{opacity:1}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.pick{display:block;text-align:left;font:inherit;background:#fffaf0;border:2px solid var(--ink);border-radius:12px;padding:16px 18px;cursor:pointer;color:var(--ink)}
.pick b{display:block;font-family:var(--head);font-size:1.3rem;font-weight:400}
.pick span{font-size:.92rem;color:var(--muted)}
.pick[aria-pressed="true"]{background:var(--ink);color:var(--cream)}
.pick[aria-pressed="true"] span{color:#d3c19b}
.pick:focus-visible{outline:3px solid var(--brass);outline-offset:2px}
.preview-banner{background:#e2412f;color:#fff;font-weight:700;text-align:center;padding:10px var(--gutter);font-size:.95rem}
.layout2{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(20px,3vw,40px);align-items:start}
@media (max-width:900px){.layout2{grid-template-columns:1fr}}
.brief-out{white-space:pre-wrap;font:.92rem/1.5 "Courier New",ui-monospace,monospace;color:var(--cream);margin:0}
.nar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;margin-top:22px}
.nar{background:#fffaf0;border:2px solid var(--ink);border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:10px}
.nar h3{font-family:var(--head);font-size:1.5rem}
.nar .tags{display:flex;flex-wrap:wrap;gap:6px}
.nar .tags span{font-size:.78rem;font-weight:700;letter-spacing:.04em;background:var(--cream-deep);border-radius:999px;padding:3px 10px}
.nar audio{width:100%}
.nar .demo{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#e2412f}
.nar .acts{display:flex;gap:8px;margin-top:auto;flex-wrap:wrap}
.nar .acts .btn{padding:9px 16px;font-size:.92rem}
.filters{display:grid;gap:14px;margin-top:18px}
.filters .grp b{display:block;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;color:var(--muted)}
.shortlist{position:sticky;bottom:12px;margin-top:22px}
.prow{display:grid;grid-template-columns:1fr 1fr 1fr 40px;gap:10px;margin-bottom:10px}
@media (max-width:640px){.prow{grid-template-columns:1fr 40px}.prow input:nth-child(2),.prow input:nth-child(3){grid-column:1}}
.deliv-file{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid rgba(244,236,219,.2)}
.deliv-file button.pl{width:40px;height:40px;border-radius:50%;border:0;background:var(--brass);color:var(--leather-deep);cursor:pointer;font-size:1rem}
.deliv-file a{color:var(--brass);font-weight:700}
.deliv-file small{color:#d3c19b;display:block}
.sr{position:absolute;left:-9999px}
/* room tone 404 */
.nf{text-align:center;padding:clamp(50px,9vw,110px) 0}
.nf .nfnum{font-family:var(--head);font-size:clamp(5rem,18vw,11rem);line-height:.9;color:var(--brass)}
.rt{display:inline-flex;align-items:center;gap:16px;margin:26px 0 8px;padding:12px 22px 12px 12px;border-radius:999px;border:2px solid rgba(201,161,90,.6);background:rgba(20,8,3,.4);color:var(--cream);font:inherit;cursor:pointer}
.rt .pb{width:48px;height:48px;border-radius:50%;background:var(--brass);color:var(--leather-deep);display:grid;place-items:center;font-size:1.1rem}
.rt canvas{width:180px;height:34px}
.rt .tt{font-variant-numeric:tabular-nums;font-weight:700}
.rt:focus-visible{outline:3px solid var(--brass);outline-offset:3px}

button.btn.line{background:transparent}
.nfhead{background:var(--leather-deep);height:var(--hdr)}
.nf{padding-top:clamp(40px,7vw,90px)}
.nf .nfnum{line-height:1;margin-bottom:10px}
.chips li{border:0!important;padding:0!important;background:none!important;margin:0!important;display:block;border-radius:0!important;box-shadow:none!important;opacity:1!important}
.cb{display:flex!important;align-items:center;gap:10px;font-weight:500;margin:6px 0;text-align:left!important}
.cb input{width:auto!important;flex:none;margin:0}
.tool .row>div>.lab,.tool .lab{margin-bottom:8px}

/* 404: the empty booth wall, lamps flickering */
.nfbg{position:fixed;inset:0;z-index:0;overflow:hidden;background:#1a0d07}
.nfbg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.9) brightness(.85)}
.nfbg .lamp{position:absolute;width:clamp(260px,34vw,520px);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,214,130,.9) 0,rgba(255,170,70,.5) 22%,rgba(255,140,40,.16) 45%,rgba(255,140,40,0) 68%);mix-blend-mode:screen;animation:flick 5.3s linear infinite;pointer-events:none}
.nfbg .lamp.l2{animation-duration:6.7s;animation-delay:-2.1s}
.nfdark{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 55%,rgba(18,8,3,.5),rgba(18,8,3,.8));animation:dimflick 5.3s linear infinite}
@keyframes flick{0%,18%,22%,52%,56%,100%{opacity:1}19%{opacity:.25}20%{opacity:.9}21%{opacity:.35}53%{opacity:.55}54%{opacity:.15}55%{opacity:.8}70%{opacity:.92}72%{opacity:.78}74%{opacity:1}}
@keyframes dimflick{0%,18%,22%,52%,56%,100%{opacity:1}19%{opacity:1.12}21%{opacity:1.1}54%{opacity:1.15}}
@media (prefers-reduced-motion:reduce){.nfbg .lamp,.nfdark{animation:none}}
.nfhead{height:var(--hdr);position:relative;z-index:2}
.nfhead header.site{position:absolute}
.nfsec{position:relative;z-index:2;background:none;color:var(--cream)}
body:has(.nfbg){background:#1a0d07}
body:has(.nfbg) footer.site{position:relative;z-index:2;background:rgba(14,6,2,.85)}
.extras{color:var(--cream);font-weight:400;text-decoration:none;margin:6px 0 20px;border-top:1px solid rgba(244,236,219,.2);border-bottom:1px solid rgba(244,236,219,.2)}
.extras summary{color:var(--cream);cursor:pointer;list-style:none;padding:14px 28px 14px 0;position:relative;font-family:var(--head,inherit);font-size:1.05rem}
.extras summary::-webkit-details-marker{display:none}
.extras summary span{opacity:.65;font-size:.9rem}
.extras summary::after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-52%);font-size:1.5rem;color:var(--brass)}
.extras[open] summary::after{content:"\2212"}
.extras .extrasbody{padding-bottom:6px}
.formopt{background:none;box-shadow:none;color:inherit;border:0;padding:0;margin:0 0 18px;min-width:0}
.formopt legend{padding:0;margin-bottom:8px;font-weight:600}
.formopt label{display:inline-block;margin:0 8px 8px 0;cursor:pointer}
.formopt input{position:absolute;opacity:0;pointer-events:none}
.formopt span{display:inline-block;padding:9px 16px;border:1.5px solid rgba(244,236,219,.35);border-radius:999px;font-size:.95rem;line-height:1.2;transition:background .15s,border-color .15s,color .15s}
.formopt label:hover span{border-color:var(--brass)}
.formopt input:checked+span{background:var(--brass);border-color:var(--brass);color:var(--leather-deep);font-weight:600}
.formopt input:focus-visible+span{outline:2px solid var(--cream);outline-offset:2px}
.formopt span{color:var(--cream)}
.big.mail{font-size:clamp(1.05rem,4.6vw,2.1rem);line-height:1.2;white-space:nowrap;overflow-wrap:normal;margin-top:18px}
@media (min-width:861px){.big.mail{font-size:clamp(1.05rem,2.2vw,1.6rem)}}
a.phoneoff{cursor:pointer;text-decoration:none;opacity:.8}
a.phoneoff:hover{opacity:1}
a.phoneoff .offnote{font-family:var(--body);font-size:.6em;font-weight:400;letter-spacing:0;white-space:nowrap;opacity:.9}
a.big.phoneoff .offnote{display:block;font-size:.75rem;margin-top:4px;letter-spacing:.02em}
.phonemodal{position:fixed;inset:0;z-index:300;background:rgba(25,11,5,.72);display:flex;align-items:center;justify-content:center;padding:16px}
.pm-box{background:var(--cream);color:var(--leather-deep);max-width:440px;width:100%;border-radius:14px;padding:28px 26px 24px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.pm-box h2{font-family:var(--head);font-size:1.5rem;margin:0 0 12px;color:var(--brick)}
.pm-box p{margin:0 0 12px;line-height:1.5}
.pm-acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.pm-box .btn.line{color:var(--leather-deep);border-color:var(--leather-deep);background:transparent}
