/* Base styles copied from the main Acoustic Design site so this page matches exactly. */
:root{
    --ink:#171510;
    --ink-soft:#2a271f;
    --bone:#efe9dc;
    --bone-dim:#e4ddcc;
    --paper:#f7f4ec;
    --fog:#93938c;
    --navy:#2c3244;
    --timber:#c08f4e;
    --timber-dim:#a97b3d;
    --line: rgba(23,21,16,0.14);
    --line-soft: rgba(239,233,220,0.18);
    --maxw: 1240px;
  }

  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--paper);
    color:var(--ink);
    font-family:'Inter',sans-serif;
    font-size:16px;
    line-height:1.6;
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
  }
  img{display:block;max-width:100%;}
  a{color:inherit;text-decoration:none;}
  h1,h2,h3{
    font-family:'Fraunces',serif;
    font-weight:500;
    letter-spacing:-0.01em;
    line-height:1.05;
  }
  .mono{
    font-family:'Space Mono',monospace;
    text-transform:uppercase;
    letter-spacing:0.14em;
    font-size:12px;
  }
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 6vw;}
  @media(min-width:900px){ .wrap{padding:0 4vw;} }

  /* reveal-on-scroll */
  .rise{opacity:0; transform:translateY(38px); transition:opacity 0.9s cubic-bezier(.16,.84,.44,1), transform 0.9s cubic-bezier(.16,.84,.44,1);}
  .rise.in{opacity:1; transform:translateY(0);}
  .rise-l{opacity:0; transform:translateX(-40px); transition:opacity 0.9s cubic-bezier(.16,.84,.44,1), transform 0.9s cubic-bezier(.16,.84,.44,1);}
  .rise-l.in{opacity:1; transform:translateX(0);}
  .rise-r{opacity:0; transform:translateX(40px); transition:opacity 0.9s cubic-bezier(.16,.84,.44,1), transform 0.9s cubic-bezier(.16,.84,.44,1);}
  .rise-r.in{opacity:1; transform:translateX(0);}
  .scale-in{opacity:0; transform:scale(0.94); transition:opacity 1.1s cubic-bezier(.16,.84,.44,1), transform 1.1s cubic-bezier(.16,.84,.44,1);}
  .scale-in.in{opacity:1; transform:scale(1);}
  .d1{transition-delay:.08s;} .d2{transition-delay:.16s;} .d3{transition-delay:.24s;} .d4{transition-delay:.32s;}

  @media (prefers-reduced-motion: reduce){
    .rise,.rise-l,.rise-r,.scale-in{opacity:1!important;transform:none!important;transition:none!important;}
    html{scroll-behavior:auto;}
  }

  /* ---------- NAV ---------- */
  header{
    position:fixed; top:0; left:0; right:0; z-index:100;
    display:flex; align-items:center; justify-content:space-between;
    padding:22px 6vw;
    transition: background .4s ease, padding .4s ease, border-color .4s ease;
    border-bottom:1px solid transparent;
  }
  @media(min-width:900px){ header{padding:24px 4vw;} }
  header.scrolled{
    background:rgba(247,244,236,0.88);
    backdrop-filter: blur(10px);
    padding-top:14px; padding-bottom:14px;
    border-bottom:1px solid var(--line);
  }
  .brand{display:flex; align-items:center; gap:12px;}
  .brand img{width:34px; height:34px; border-radius:50%;}
  .brand-name{font-family:'Fraunces',serif; font-size:19px; font-weight:500; letter-spacing:-0.01em;}
  .brand-name span{display:block; font-family:'Space Mono',monospace; font-size:9px; letter-spacing:.22em; color:var(--fog); font-weight:400; margin-top:1px;}
  nav ul{list-style:none; display:none; gap:36px;}
  nav a{font-size:13px; letter-spacing:.04em; position:relative; padding-bottom:4px;}
  nav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--ink);transition:width .35s ease;}
  nav a:hover::after{width:100%;}
  @media(min-width:820px){ nav ul{display:flex;} }
  .nav-cta{
    display:none;
    font-family:'Space Mono',monospace; font-size:11px; letter-spacing:.08em; text-transform:uppercase;
    border:1px solid var(--ink); padding:10px 18px; border-radius:2px;
    transition: background .3s ease, color .3s ease;
  }
  .nav-cta:hover{background:var(--ink); color:var(--paper);}
  @media(min-width:820px){ .nav-cta{display:inline-block;} }
  .burger{display:flex; flex-direction:column; gap:5px; cursor:pointer; z-index:110;}
  @media(min-width:820px){ .burger{display:none;} }
  .burger span{width:22px; height:1.5px; background:var(--ink);}
  .mobile-nav{
    position:fixed; inset:0; background:var(--bone); z-index:105;
    display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:28px;
    padding:6vw; transform:translateY(-100%); transition:transform .5s cubic-bezier(.7,0,.2,1);
  }
  .mobile-nav.open{transform:translateY(0);}
  .mobile-nav a{font-family:'Fraunces',serif; font-size:34px; font-weight:400;}

  /* ---------- HERO ---------- */
  .hero{
    position:relative; height:100svh; min-height:560px; overflow:hidden;
    display:flex; align-items:flex-end;
  }
  .hero-media{position:absolute; inset:0;}
  .hero-media img{width:100%; height:100%; object-fit:cover; object-position:60% 30%; transform:scale(1.12); will-change:transform;}
  .hero-media::after{
    content:""; position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(15,13,9,0.32) 0%, rgba(15,13,9,0.18) 38%, rgba(15,13,9,0.82) 100%);
  }
  .hero-content{position:relative; z-index:2; color:var(--paper); width:100%; padding-bottom:9vh;}
  .hero-eyebrow{color:var(--timber); margin-bottom:22px; display:flex; align-items:center; gap:10px;}
  .hero-eyebrow::before{content:"";width:26px;height:1px;background:var(--timber);}
  .hero h1{
    font-size:clamp(38px, 7vw, 84px);
    max-width:16ch;
    font-weight:500;
  }
  .hero h1 em{font-style:italic; color:var(--bone-dim); font-weight:400;}
  .hero-sub{max-width:46ch; margin-top:24px; font-size:17px; color:rgba(239,233,220,0.86); font-weight:400;}
  .hero-bottom{display:flex; align-items:flex-end; justify-content:space-between; margin-top:56px; gap:24px; flex-wrap:wrap;}
  .scroll-cue{display:flex; align-items:center; gap:10px; font-family:'Space Mono',monospace; font-size:11px; letter-spacing:.14em; color:rgba(239,233,220,0.7); text-transform:uppercase;}
  .scroll-cue .line{width:1px; height:34px; background:rgba(239,233,220,0.5); position:relative; overflow:hidden;}
  .scroll-cue .line::after{content:"";position:absolute; top:-100%; left:0; width:100%; height:100%; background:var(--timber); animation:cueDrop 2.2s ease-in-out infinite;}
  @keyframes cueDrop{ 0%{top:-100%;} 60%{top:100%;} 100%{top:100%;} }
  .hero-specs{display:flex; gap:34px; flex-wrap:wrap;}
  .hero-specs div{border-left:1px solid rgba(239,233,220,0.35); padding-left:14px;}
  .hero-specs .num{font-family:'Fraunces',serif; font-size:26px; display:block;}
  .hero-specs .lbl{font-family:'Space Mono',monospace; font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:rgba(239,233,220,0.65);}

  /* ---------- SECTION GENERIC ---------- */
  section{position:relative;}
  .pad{padding:120px 0;}
  @media(max-width:700px){ .pad{padding:80px 0;} }
  .eyebrow{
    font-family:'Space Mono',monospace; font-size:11px; letter-spacing:.18em; text-transform:uppercase;
    color:var(--timber-dim); display:flex; align-items:center; gap:12px; margin-bottom:22px;
  }
  .eyebrow::before{content:"";width:26px;height:1px;background:var(--timber-dim);}
  .section-head{max-width:640px;}
  .section-head h2{font-size:clamp(30px,4.2vw,50px);}
  .section-head p{margin-top:18px; color:var(--ink-soft); max-width:52ch; font-size:16px;}

  /* wedge divider — echoes the physical panel cross-section profile */
  .wedge{
    position:relative; height:70px; overflow:hidden;
  }
  .wedge svg{position:absolute; bottom:-1px; left:0; width:100%; height:100%;}

  /* ---------- INTRO STRIP ---------- */
  .intro{background:var(--bone); }
  .intro-grid{display:grid; grid-template-columns:1fr; gap:40px;}
  @media(min-width:860px){ .intro-grid{grid-template-columns:0.9fr 1.1fr; gap:80px; align-items:end;} }
  .intro h2{font-size:clamp(26px,3.6vw,42px); max-width:14ch;}
  .intro-copy p{font-size:16.5px; color:var(--ink-soft); margin-bottom:16px;}
  .intro-copy p:last-child{margin-bottom:0;}

  /* ---------- ANATOMY / LAYERS SECTION ---------- */
  .anatomy{background:var(--ink); color:var(--bone); overflow:hidden;}
  .anatomy .section-head p{color:rgba(239,233,220,0.65);}
  .anatomy .eyebrow{color:var(--timber);}
  .anatomy .eyebrow::before{background:var(--timber);}
  .layers{
    margin-top:70px; display:grid; grid-template-columns:1fr; gap:16px;
  }
  @media(min-width:900px){ .layers{grid-template-columns:repeat(3,1fr); gap:2px; background:rgba(239,233,220,0.12);} }
  .layer{
    background:var(--ink); padding:0; position:relative;
  }
  .layer .layer-img{aspect-ratio:4/5; overflow:hidden;}
  .layer .layer-img img{width:100%; height:100%; object-fit:cover; transition:transform 1.2s cubic-bezier(.16,.84,.44,1);}
  .layer:hover .layer-img img{transform:scale(1.06);}
  .layer-info{padding:26px 6px 6px;}
  @media(min-width:900px){ .layer-info{padding:26px 28px 34px;} }
  .layer-num{font-family:'Space Mono',monospace; font-size:11px; color:var(--timber); letter-spacing:.1em;}
  .layer-info h3{font-size:22px; margin-top:10px; font-weight:500; color:var(--bone);}
  .layer-info p{font-size:14.5px; color:rgba(239,233,220,0.6); margin-top:8px; max-width:34ch;}

  /* ---------- GALLERY (scroll flow) ---------- */
  .gallery{background:var(--paper);}
  .gal-row{display:grid; gap:22px; margin-top:70px;}
  .gal-row:not(:first-of-type){margin-top:22px;}
  .g1{grid-template-columns:1fr;}
  .g2{grid-template-columns:1fr; }
  @media(min-width:760px){
    .g2{grid-template-columns:1.3fr 1fr;}
    .g3{grid-template-columns:1fr 1fr;}
  }
  .gal-item{position:relative; overflow:hidden; border-radius:2px; background:var(--bone-dim);}
  .gal-item img{width:100%; height:100%; object-fit:cover; transition:transform 1.4s cubic-bezier(.16,.84,.44,1);}
  .gal-item:hover img{transform:scale(1.045);}
  .gal-tall img{aspect-ratio:4/5.1;}
  .gal-wide img{aspect-ratio:16/10.5;}
  .gal-sq img{aspect-ratio:1/1.05;}
  .gal-cap{
    position:absolute; left:0; bottom:0; right:0; padding:22px 24px;
    background:linear-gradient(0deg, rgba(15,13,9,0.62), transparent);
    color:var(--paper); opacity:0; transform:translateY(8px);
    transition:opacity .4s ease, transform .4s ease;
  }
  .gal-item:hover .gal-cap{opacity:1; transform:translateY(0);}
  .gal-cap .mono{color:var(--timber); margin-bottom:4px; display:block;}
  .gal-cap strong{font-family:'Fraunces',serif; font-weight:500; font-size:18px;}

  /* ---------- FINISHES ---------- */
  .finishes{background:var(--bone);}
  .fin-wrap{display:grid; grid-template-columns:1fr; gap:56px; align-items:center;}
  @media(min-width:900px){ .fin-wrap{grid-template-columns:1fr 1fr; gap:70px;} }
  .fin-img{overflow:hidden; border-radius:2px;}
  .fin-img img{aspect-ratio:5/6; object-fit:cover; width:100%;}
  .swatches{display:flex; gap:0; margin-top:36px; border-top:1px solid var(--line); }
  .swatch{flex:1; padding:22px 4px 0; border-right:1px solid var(--line); cursor:default;}
  .swatch:last-child{border-right:none;}
  .chip{width:100%; height:44px; border-radius:2px; margin-bottom:12px; transition:transform .3s ease;}
  .swatch:hover .chip{transform:translateY(-4px);}
  .chip.charcoal{background:#141414; border:1px solid rgba(0,0,0,0.1);}
  .chip.stone{background:#9a9a9a;}
  .chip.fog{background:#f4f3f0; border:1px solid var(--line);}
  .swatch-name{font-family:'Fraunces',serif; font-size:15px;}
  .swatch-sub{font-family:'Space Mono',monospace; font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--fog); margin-top:3px;}

  /* ---------- PROCESS STRIP (numbers) ---------- */
  .process{background:var(--paper);}
  .proc-list{margin-top:60px; border-top:1px solid var(--line);}
  .proc-row{
    display:grid; grid-template-columns:70px 1fr; gap:24px;
    padding:34px 0; border-bottom:1px solid var(--line);
    align-items:baseline;
  }
  @media(min-width:760px){ .proc-row{grid-template-columns:90px 1.4fr 1fr;} }
  .proc-row .num{font-family:'Space Mono',monospace; font-size:14px; color:var(--timber-dim);}
  .proc-row h3{font-size:23px; font-weight:500;}
  .proc-row p{color:var(--ink-soft); font-size:15px; margin-top:8px; max-width:48ch;}
  @media(min-width:760px){ .proc-row p{margin-top:0;} }

  /* ---------- MEASUREMENT / BEFORE + AFTER ---------- */
  .measurements{background:var(--bone);}
  .measurements .section-head p{max-width:60ch;}
  .measurement-intro{display:grid;grid-template-columns:1fr;gap:38px;margin-top:58px;}
  @media(min-width:900px){.measurement-intro{grid-template-columns:.82fr 1.18fr;gap:70px;align-items:start;}}
  .measurement-copy h3{font-family:'Fraunces',serif;font-size:clamp(25px,3vw,36px);font-weight:500;line-height:1.08;max-width:15ch;}
  .measurement-copy p{color:var(--ink-soft);max-width:48ch;margin-top:15px;}
  .measurement-note{border-left:2px solid var(--timber);padding-left:17px;font-family:'Space Mono',monospace;font-size:11px;line-height:1.7;letter-spacing:.04em;color:var(--ink-soft);margin-top:25px;}
  .reading-card{background:var(--ink);color:var(--bone);padding:26px 24px 23px;border-radius:2px;overflow:hidden;}
  .reading-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 20px;font-family:'Space Mono',monospace;text-transform:uppercase;letter-spacing:.1em;font-size:10px;color:rgba(239,233,220,.62);}
  .reading-status{color:#b9c98f;}
  .reading-status::before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:#b9c98f;margin-right:7px;}
  .reading-chart{margin:24px 4px 0;}
  .reading-chart svg{display:block;width:100%;height:auto;}
  .reading-chart .gridline{stroke:rgba(239,233,220,.14);stroke-width:1;}
  .reading-chart .before-line,.reading-chart .after-line{fill:none;stroke-width:3;vector-effect:non-scaling-stroke;}
  .reading-chart .before-line{stroke:var(--timber);}
  .reading-chart .after-line{stroke:#b9c98f;}
  .reading-axis{display:flex;justify-content:space-between;gap:8px;margin-top:8px;color:rgba(239,233,220,.48);font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.03em;}
  .reading-legend{display:flex;flex-wrap:wrap;gap:12px 22px;border-top:1px solid rgba(239,233,220,.16);margin-top:20px;padding-top:17px;font-size:12px;color:rgba(239,233,220,.78);}
  .reading-legend span{display:flex;align-items:center;gap:7px;}
  .reading-legend i{display:inline-block;width:18px;height:3px;}
  .reading-legend .before-key{background:var(--timber);}
  .reading-legend .after-key{background:#b9c98f;}
  .reading-legend small{flex-basis:100%;color:rgba(239,233,220,.48);font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.04em;}
  .reading-points{display:grid;grid-template-columns:1fr;gap:0;margin-top:24px;border-top:1px solid var(--line);}
  @media(min-width:760px){.reading-points{grid-template-columns:repeat(3,1fr);}}
  .reading-point{padding:19px 18px 0 0;border-bottom:1px solid var(--line);min-height:115px;}
  @media(min-width:760px){.reading-point{border-bottom:0;border-right:1px solid var(--line);padding-right:24px;margin-right:24px;}.reading-point:last-child{border-right:0;margin-right:0;}}
  .reading-point .mono{color:var(--timber-dim);}
  .reading-point h4{font-family:'Fraunces',serif;font-size:20px;font-weight:500;margin-top:8px;}
  .reading-point p{font-size:13.5px;color:var(--ink-soft);margin-top:5px;max-width:32ch;}
  @media(max-width:700px){.reading-card{padding:20px 15px 18px;}.reading-axis{font-size:8px;}.measurement-intro{margin-top:42px;}}

  /* ---------- BATCH / BEHIND THE SCENES ---------- */
  .batch{background:var(--navy); color:var(--bone); overflow:hidden;}
  .batch .eyebrow{color:#9fb0d1;}
  .batch .eyebrow::before{background:#9fb0d1;}
  .batch .section-head p{color:rgba(239,233,220,0.68);}
  .batch-grid{margin-top:60px; display:grid; grid-template-columns:1fr; gap:20px;}
  @media(min-width:760px){ .batch-grid{grid-template-columns:1.2fr 1fr;} }
  .batch-grid img{width:100%; height:100%; object-fit:cover; border-radius:2px;}
  .batch-grid .tall img{aspect-ratio:5/6;}
  .batch-note{margin-top:26px; font-family:'Space Mono',monospace; font-size:12.5px; color:rgba(239,233,220,0.55); line-height:1.7;}

  /* ---------- CTA / CONTACT ---------- */
  .cta{background:var(--ink); color:var(--bone);}
  .cta-inner{display:grid; grid-template-columns:1fr; gap:50px;}
  @media(min-width:900px){ .cta-inner{grid-template-columns:1.1fr 0.9fr; gap:90px;} }
  .cta h2{font-size:clamp(32px,5vw,58px); max-width:12ch;}
  .cta-copy{color:rgba(239,233,220,0.68); margin-top:20px; max-width:44ch; font-size:16px;}
  .cta-list{margin-top:40px; display:flex; flex-direction:column; gap:14px;}
  .cta-list a{display:flex; align-items:center; gap:14px; font-size:16px; padding-bottom:12px; border-bottom:1px solid rgba(239,233,220,0.16); width:fit-content; transition:gap .3s ease, color .3s ease;}
  .cta-list a:hover{gap:20px; color:var(--timber);}
  .cta-list .mono{color:var(--fog);}

  .form-card{background:var(--bone); color:var(--ink); padding:38px 30px; border-radius:2px;}
  .form-card .mono{color:var(--timber-dim); margin-bottom:6px; display:block;}
  .form-card h3{font-size:22px; margin-bottom:22px;}
  .field{margin-bottom:18px;}
  .field label{display:block; font-family:'Space Mono',monospace; font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--fog); margin-bottom:7px;}
  .field input, .field select, .field textarea{
    width:100%; border:none; border-bottom:1px solid var(--line); background:transparent;
    padding:10px 2px; font-family:'Inter',sans-serif; font-size:15px; color:var(--ink);
    transition:border-color .3s ease;
  }
  .field input:focus, .field select:focus, .field textarea:focus{outline:none; border-color:var(--ink);}
  .field textarea{resize:vertical; min-height:70px;}
  .submit-btn{
    margin-top:8px; width:100%; padding:15px; background:var(--ink); color:var(--paper);
    border:none; font-family:'Space Mono',monospace; font-size:11.5px; letter-spacing:.1em; text-transform:uppercase;
    cursor:pointer; transition:background .3s ease; border-radius:2px;
  }
  .submit-btn:hover{background:var(--timber-dim);}

  footer{background:var(--ink); color:rgba(239,233,220,0.5); padding:36px 0; border-top:1px solid rgba(239,233,220,0.12);}
  .foot-inner{display:flex; flex-wrap:wrap; gap:16px; align-items:center; justify-content:space-between; font-size:12.5px;}
  .foot-inner a:hover{color:var(--bone);}

  ::selection{background:var(--timber); color:var(--ink);}
  a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible{outline:2px solid var(--timber); outline-offset:2px;}
