
/* Layout: full-bleed fabric-reveal hero, then a pinned 5-scene origin story that advances as you scroll, then a travertine page with a fabric brand wall, a full-bleed quote whose words appear after the photo settles, what we make, and a quote form on deep navy. */
:root{
  --stone:#f3ede3;       /* travertine ground */
  --stone-2:#e7dccb;     /* deeper travertine */
  --navy:#1f2f4f;        /* cabana stripe navy */
  --navy-ink:#15213a;
  --chambray:#7f9cc4;    /* ikat blue */
  --teak:#a8743f;        /* frame wood */
  --ink:#24262b;
  --muted:#5e5a52;
  --line:#d6cab6;
  --white:#fffdf9;
  --sage:#9aa58c;        /* cover canvas */
  --tape:#d9b25c;        /* tape measure */
  --f-display:"Marcellus","Cormorant Garamond",Georgia,serif;
  --f-body:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"DM Mono",ui-monospace,Menlo,Consolas,monospace;
  --f-script:"Pinyon Script","Snell Roundhand","Apple Chancery",cursive;
  --gutter:max(16px,env(safe-area-inset-left,0px));
  --gutter-r:max(16px,env(safe-area-inset-right,0px));
  --wrap:1180px;
  --stripes:repeating-linear-gradient(90deg,rgba(255,253,249,.035) 0 64px,transparent 64px 128px);
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--stone);color:var(--ink);font:400 17px/1.6 var(--f-body);-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--f-display);font-weight:400;line-height:1.08;text-wrap:balance;margin:0}
p{margin:0}
a{color:inherit}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter-r)}
.eyebrow{font:400 12px/1.2 var(--f-mono);letter-spacing:.16em;text-transform:uppercase}
:focus-visible{outline:2px solid var(--chambray);outline-offset:3px}

/* ---------- Nav ---------- */
.nav{position:absolute;top:0;left:0;right:0;z-index:5;padding-top:calc(18px + env(safe-area-inset-top,0px))}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:baseline;gap:10px;color:var(--white);text-decoration:none;font-family:var(--f-display);font-size:22px;letter-spacing:.01em;text-shadow:0 1px 12px rgba(0,0,0,.25)}
.nav .brand{flex-direction:column;align-items:center;gap:10px}
.brand-logo{display:block;width:auto;height:clamp(84px,9.5vw,138px);filter:drop-shadow(0 2px 10px rgba(10,16,30,.45))}
.brand-name{display:flex;align-items:baseline;gap:10px}
.nav .wrap{align-items:flex-start}
.brand small{font:400 10px/1 var(--f-mono);letter-spacing:.18em;text-transform:uppercase;opacity:.85}
.nav-links{display:flex;gap:28px;align-items:center}
.nav-links a{color:var(--white);text-decoration:none;font-size:15px;text-shadow:0 1px 10px rgba(0,0,0,.3)}
.nav-links a.btn{color:var(--navy-ink);text-shadow:none}
.nav-links a:hover{text-decoration:underline;text-underline-offset:4px}
.btn{display:inline-flex;align-items:center;gap:10px;border:0;cursor:pointer;font:600 15px/1 var(--f-body);padding:15px 22px;border-radius:2px;text-decoration:none;transition:transform .2s ease,background .2s ease,color .2s ease}
.btn:hover{transform:translateY(-1px)}
.btn-light{background:var(--white);color:var(--navy-ink)}
.btn-light:hover{background:var(--stone)}
.btn-ghost{background:transparent;color:var(--white);box-shadow:inset 0 0 0 1px rgba(255,253,249,.7)}
.btn-ghost:hover{background:rgba(255,253,249,.12)}
.btn-navy{background:var(--navy);color:var(--white)}
.btn-navy:hover{background:var(--navy-ink)}
.nav .btn{padding:11px 16px;font-size:14px}

/* ---------- Scroll menu bar ---------- */
.menubar{position:fixed;top:0;left:0;right:0;z-index:50;background:var(--stripes),var(--navy-ink);color:var(--white);padding-top:env(safe-area-inset-top,0px);box-shadow:0 10px 30px rgba(10,16,30,.28);transform:translateY(-110%);transition:transform .45s cubic-bezier(.2,.7,.2,1);border-bottom:1px solid rgba(255,253,249,.08)}
.menubar.show{transform:none}
.menubar .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px}
.mb-brand{display:flex;align-items:center;gap:12px;color:var(--white);text-decoration:none;font:400 19px/1 var(--f-display);white-space:nowrap}
.mb-brand img{height:44px;width:auto;display:block}
.mb-links{display:flex;align-items:center;gap:28px}
.mb-links a{color:rgba(255,253,249,.88);text-decoration:none;font-size:15px}
.mb-links a:not(.btn):hover{color:var(--white);text-decoration:underline;text-underline-offset:4px}
.mb-links .btn{padding:11px 16px;font-size:14px;color:var(--navy-ink)}
section[id]{scroll-margin-top:72px}

/* ---------- Hero ---------- */
.hero{position:sticky;top:0;z-index:0;height:clamp(560px,86vh,900px);overflow:hidden;background:var(--navy-ink);touch-action:pan-y}
.hero-base,.hero-canvas{position:absolute;inset:0;width:100%;height:100%}
.hero-base{object-fit:cover;object-position:var(--focus-x,62%) center;display:block;user-select:none;-webkit-user-drag:none}
.hero-canvas{display:block}
.hero-scrim{position:absolute;inset:0;pointer-events:none;background:
  linear-gradient(90deg,rgba(14,22,40,.62) 0%,rgba(14,22,40,.30) 38%,rgba(14,22,40,0) 62%),
  linear-gradient(0deg,rgba(14,22,40,.45) 0%,rgba(14,22,40,0) 34%),
  linear-gradient(180deg,rgba(14,22,40,.35) 0%,rgba(14,22,40,0) 18%)}
.hero-copy{position:absolute;inset:auto 0 0 0;padding-bottom:clamp(36px,7vh,80px);pointer-events:none;color:var(--white)}
.hero-copy .wrap>div{max-width:720px;display:grid;gap:22px}
.hero-copy .eyebrow{color:rgba(255,253,249,.85)}
.hero h1{font-size:clamp(38px,4.8vw,70px);letter-spacing:-.01em;text-shadow:0 2px 30px rgba(10,16,30,.35)}
.hero h1 em{font-style:normal;color:#cfdcf0}
.hero-copy p.lede{max-width:46ch;font-size:clamp(16px,1.4vw,19px);max-width:46ch;color:rgba(255,253,249,.9)}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;pointer-events:auto}
.hero-hint{position:absolute;right:calc(var(--gutter-r) + 8px);bottom:calc(clamp(36px,7vh,80px) + 4px);display:flex;align-items:center;gap:10px;color:var(--white);font:400 12px/1.3 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;pointer-events:none;transition:opacity .6s ease;background:rgba(14,22,40,.35);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:10px 14px;border-radius:40px}
.hero-hint .dot{width:10px;height:10px;border-radius:50%;background:var(--white);box-shadow:0 0 0 0 rgba(255,253,249,.7);animation:pulse 2s infinite}
.hero.touched .hero-hint{opacity:0}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,253,249,.6)}70%{box-shadow:0 0 0 12px rgba(255,253,249,0)}100%{box-shadow:0 0 0 0 rgba(255,253,249,0)}}
.fabric-tag{position:absolute;top:calc(92px + env(safe-area-inset-top,0px));right:calc(var(--gutter-r) + 8px);display:grid;gap:4px;justify-items:end;color:var(--white);pointer-events:none;text-align:right}
.fabric-tag span{font:400 11px/1.2 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;opacity:.8}
.fabric-tag strong{font:400 20px/1.2 var(--f-display);transition:opacity .35s ease}

/* Content slides up over the pinned hero */
main,footer{position:relative;z-index:2}
main{background:var(--stone);box-shadow:0 -24px 48px rgba(14,22,40,.28)}

/* ---------- Story: pinned scroll sequence ---------- */
.story{background:var(--stone);--tint-0:#e5dbca;--tint-1:#dde3ec;--tint-2:#e0e3d6}
.story-track{position:relative;height:calc(100svh + var(--n) * 75svh)}
.story-pin{position:sticky;top:0;height:100svh;display:flex;align-items:center;overflow:hidden;padding-block:max(24px,env(safe-area-inset-top,0px)) 24px}
.story-stage{width:100%;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,80px);align-items:center}
.story-text{display:grid;gap:clamp(20px,3vw,36px);min-width:0;position:relative;z-index:2}
.story-meta{display:flex;align-items:baseline;gap:16px}
.story-meta .eyebrow{font:400 clamp(34px,3.4vw,48px)/1 var(--f-script);letter-spacing:0;text-transform:none;color:var(--teak)}
.scenes-text{display:grid;min-height:clamp(220px,30svh,320px);align-items:end}
.scene-text{grid-area:1/1;display:grid;gap:14px;align-content:end;opacity:0;transform:translateY(44px);transition:opacity .55s ease,transform .8s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.scene-text.is-past{transform:translateY(-44px)}
.scene-text.is-active{opacity:1;transform:none;pointer-events:auto;transition-delay:.12s}
.scene-text .eyebrow{color:var(--teak)}
.scene-text h2,.scene-text h3{font-size:clamp(32px,3.8vw,56px);color:var(--navy-ink);max-width:16ch}
.scene-text p{color:var(--muted);font-size:clamp(16px,1.3vw,19px);max-width:36ch}
.years{font:400 clamp(96px,12vw,170px)/.8 var(--f-display);color:var(--teak);letter-spacing:-.03em;margin-bottom:6px}
.years sup{font-size:.4em;vertical-align:top;position:relative;top:.1em}
.story-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.story-steps button{background:none;border:0;padding:8px 0 0;cursor:pointer;display:grid;gap:10px;text-align:left;font:400 11px/1.2 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.story-steps button[aria-current]{color:var(--teak)}
.story-steps .bar{height:3px;background:var(--line);position:relative;overflow:hidden}
.story-steps .bar::after{content:"";position:absolute;inset:0;background:var(--teak);transform:scaleX(var(--f,0));transform-origin:left}
.story-media{position:relative;z-index:1;justify-self:end;width:min(100%,calc(74svh * 4 / 3));aspect-ratio:4/3;max-width:100%;
  --feather:clamp(28px,9%,90px);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 var(--feather),#000 calc(100% - var(--feather)),transparent),linear-gradient(180deg,transparent,#000 var(--feather),#000 calc(100% - var(--feather)),transparent);
  -webkit-mask-composite:source-in;
          mask-image:linear-gradient(90deg,transparent,#000 var(--feather),#000 calc(100% - var(--feather)),transparent),linear-gradient(180deg,transparent,#000 var(--feather),#000 calc(100% - var(--feather)),transparent);
          mask-composite:intersect}
.story-media::after{content:"";position:absolute;inset:0;z-index:6;pointer-events:none;
  background:radial-gradient(ellipse 60% 55% at 50% 45%,rgba(255,248,232,.32) 0%,rgba(255,248,232,.12) 45%,transparent 70%);
  box-shadow:inset 0 0 60px 10px rgba(255,248,232,.55)}
.scene-media{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 1.1s ease;overflow:hidden}
.scene-media.is-active{opacity:1}
.scene-media img{width:100%;height:100%;object-fit:cover;display:block}
.ph{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:10px;text-align:center;padding:24px;background:repeating-linear-gradient(135deg,rgba(31,47,79,.045) 0 14px,transparent 14px 28px),var(--tint);transform:scale(1.08);transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}
.tint-0{--tint:var(--tint-0)}.tint-1{--tint:var(--tint-1)}.tint-2{--tint:var(--tint-2)}
.scene-media.is-active .ph,.scene-media.is-active img{transform:scale(1)}
.scene-media img{transform:scale(1.08);transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}
.ph svg{width:44px;height:44px}
.ph .ln{fill:none;stroke:var(--navy);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.ph-label,.ph-size{font:400 11px/1.3 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.ph strong{font:400 clamp(20px,2.2vw,30px)/1.15 var(--f-display);color:var(--navy-ink);max-width:18ch;text-wrap:balance}
/* Scroll-driven entrances; browsers without support show everything at rest */
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion:no-preference){
    .sec-head,.make,.quote-intro,form{animation:rise linear both;animation-timeline:view();animation-range:entry 5% entry 45%}
  }
}
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion:no-preference){
    .fab-brand,.ind{animation:tileRise linear both;animation-timeline:view();animation-range:entry 0% cover 45%}
    .fab-brand:nth-child(3n+2),.ind:nth-child(4n+2){animation-range:entry 10% cover 52%}
    .fab-brand:nth-child(3n),.ind:nth-child(4n+3){animation-range:entry 20% cover 59%}
    .ind:nth-child(4n){animation-range:entry 30% cover 66%}
  }
}
@keyframes tileRise{from{opacity:0;transform:translateY(80px) scale(.96)}55%{opacity:1}to{opacity:1;transform:none}}
@keyframes rise{from{opacity:.1;transform:translateY(36px)}to{opacity:1;transform:none}}

/* ---------- Fabric rail ---------- */
.section{padding-block:clamp(64px,9vw,120px)}
.sec-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 64px;align-items:end;margin-bottom:48px}
.sec-head h2{font-size:clamp(32px,3.8vw,52px);color:var(--navy-ink)}
.sec-head p{color:var(--muted);max-width:52ch}
.sec-head .eyebrow{color:var(--teak);margin-bottom:16px;display:block}
.brands{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.fab-brand{display:grid;gap:10px;align-content:start;padding:26px 24px 28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white);transition:background .3s ease}
.fab-brand:hover{background:#fbf7f0}
.logo-slot{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px dashed var(--line);padding-bottom:16px;margin-bottom:6px}
.logo-slot img{max-height:48px;max-width:75%;width:auto;height:auto;display:block}
.logo-name{font:400 clamp(20px,2vw,27px)/1.05 var(--f-display);color:var(--navy-ink);letter-spacing:.02em}
.logo-tag{flex:none;font:400 10px/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);border:1px dashed var(--line);padding:5px 7px}
.fab-brand p{color:var(--muted);font-size:15.5px}
.specs{margin-top:56px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.spec{padding:22px 20px 22px 0;display:grid;gap:6px}
.spec+.spec{padding-left:20px;border-left:1px solid var(--line)}
.spec dt{font:400 11px/1.2 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--teak)}
.spec dd{margin:0;font-size:15.5px;color:var(--ink)}

/* ---------- Rest: full-bleed quote ---------- */
.rest{position:sticky;top:0;z-index:0;overflow:hidden;height:clamp(420px,92svh,940px);display:flex;align-items:flex-start;background:var(--navy-ink)}
.rest-bg{position:absolute;inset:0;background:url("assets/luxury-rest.jpg") 60% center/cover no-repeat}
.rest-shade{position:absolute;inset:0;pointer-events:none;background:
  radial-gradient(ellipse 60% 70% at 18% 22%,rgba(14,22,40,.55) 0%,rgba(14,22,40,.25) 55%,rgba(14,22,40,0) 80%),
  linear-gradient(0deg,rgba(14,22,40,.3) 0%,rgba(14,22,40,0) 30%)}
.rest-inner{position:relative;z-index:1;width:100%;padding-block:clamp(56px,11vh,120px) 56px}
.rest-quote{margin:0;display:grid;gap:.18em;max-width:9.2em;font:400 clamp(38px,4.4vw,70px)/1.05 var(--f-display);color:var(--white);text-shadow:0 2px 30px rgba(10,16,30,.35);letter-spacing:-.01em}
.rest-line{display:block}
.rest-line-2{color:#e9d9bd}
.w{display:inline-block}
/* Animated only when JS has armed the section; otherwise everything shows at rest */
.rest.armed .rest-bg{transform:scale(1.14);filter:brightness(.55) saturate(.8);opacity:.4;transition:transform 2.2s cubic-bezier(.2,.7,.2,1),filter 1.8s ease,opacity 1.2s ease}
.rest.armed .rest-shade{opacity:0;transition:opacity 1.4s ease .4s}
.rest.armed .w{opacity:0;transform:translateY(.45em);filter:blur(8px);transition:opacity .7s ease,transform .9s cubic-bezier(.2,.7,.2,1),filter .7s ease;transition-delay:calc(1.3s + var(--i) * .14s)}
.rest.armed .rest-line-2 .w{transition-delay:calc(1.6s + var(--i) * .14s)}
.rest.armed.in-view .rest-bg{transform:scale(1);filter:none;opacity:1}
.rest.armed.in-view .rest-shade{opacity:1}
.rest.armed.in-view .w{opacity:1;transform:none;filter:none}

/* ---------- Industries we serve ---------- */
.industries{position:relative;z-index:1;background:var(--stone)}
.inds{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.ind{display:grid;gap:10px;align-content:start;padding:28px 24px 30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white);transition:background .3s ease}
.ind:hover{background:#fbf7f0}
.ind-ico{width:34px;height:34px;fill:none;stroke:var(--teak);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;margin-bottom:6px}
.ind h3{font-size:clamp(20px,1.8vw,24px);color:var(--navy-ink)}
.ind p{color:var(--muted);font-size:15px}
/* ---------- What we make ---------- */
/* Sections after the quote slide up over it */
#makes{position:relative;z-index:1;background:var(--stone);box-shadow:0 -24px 48px rgba(14,22,40,.28)}
.quote{z-index:1}
.makes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--line)}
.make{padding:26px 22px 28px 0;display:grid;gap:8px;align-content:start}
.make+.make{padding-left:22px;border-left:1px solid var(--line)}
.make h3{font-size:22px;color:var(--navy-ink)}
.make p{color:var(--muted);font-size:15px}

/* ---------- Quote ---------- */
.quote{background:var(--navy);color:var(--white);position:relative;overflow:hidden}
.quote::before{content:"";position:absolute;inset:0;background:var(--stripes);pointer-events:none}
.quote .wrap{position:relative;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:start}
.quote h2{font-size:clamp(34px,4vw,56px)}
.quote .eyebrow{color:#cfdcf0;display:block;margin-bottom:16px}
.quote-intro{display:grid;gap:20px}
.quote-intro p{color:rgba(255,253,249,.82);max-width:42ch}
.quote-intro ul{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:10px;font-size:15.5px;color:rgba(255,253,249,.88)}
.quote-intro li{display:flex;gap:12px;align-items:baseline}
.quote-intro li::before{content:"";flex:none;width:14px;height:1px;background:#cfdcf0;transform:translateY(-4px)}
form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;background:var(--white);color:var(--ink);padding:clamp(22px,3vw,36px);border-radius:2px}
.field{display:grid;gap:7px;min-width:0}
.field.full{grid-column:1/-1}
label{font:400 11px/1.2 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
input,select,textarea{font:400 16px/1.4 var(--f-body);color:var(--ink);background:var(--stone);border:1px solid var(--line);border-radius:2px;padding:12px 13px;width:100%}
textarea{min-height:110px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--chambray);outline-offset:0;border-color:transparent}
input[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:#b4532a;background:#fbf1ea}
.form-foot{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:14px}
.form-foot small{color:var(--muted);font-size:13.5px}
.form-done{grid-column:1/-1;padding:14px 16px;background:#e6edf7;color:var(--navy-ink);border-radius:2px;font-size:15px}

footer{background:var(--stripes),var(--navy-ink);color:rgba(255,253,249,.7);font-size:14px}
footer .wrap{padding-block:40px calc(36px + env(safe-area-inset-bottom,0px));display:flex;flex-wrap:wrap;gap:16px 24px;justify-content:space-between;align-items:flex-end}
footer .brand{font-size:18px;text-shadow:none;flex-direction:column;align-items:center;gap:10px}
footer .foot-info{display:grid;gap:6px;justify-items:end;text-align:right}
footer .foot-area{font:400 clamp(26px,2.4vw,34px)/1 var(--f-script);color:#d9b98a}
footer .brand-logo{height:clamp(72px,7vw,104px);filter:none}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .inds{grid-template-columns:repeat(2,minmax(0,1fr))}
  .brands{grid-template-columns:repeat(2,minmax(0,1fr))}
  .story-stage{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(14px,3vw,32px)}
  .story-media{width:100%;aspect-ratio:3/4;max-height:78svh;--feather:22px}
  .scenes-text{min-height:0}
  .scene-text h2,.scene-text h3{font-size:clamp(22px,4.6vw,36px)}
  .scene-text p{font-size:clamp(14px,2.2vw,16px)}
  .years{font-size:clamp(56px,13vw,100px)}
  .story-steps{gap:4px}
  .story-steps .lbl{display:none}
  .ph{padding:12px;gap:6px}
  .ph svg{width:30px;height:30px}
  .ph strong{font-size:clamp(15px,3.4vw,22px)}
  .ph-size{display:none}
  .nav-links a:not(.btn){display:none}
  .mb-links a:not(.btn){display:none}
  .sec-head,.quote .wrap{grid-template-columns:minmax(0,1fr)}
  .specs,.makes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .spec:nth-child(3),.make:nth-child(3){padding-left:0;border-left:0}
  .spec:nth-child(n+3),.make:nth-child(n+3){border-top:1px solid var(--line)}
  .fabric-tag{display:none}
}
@media (max-width:620px){
  .ind{padding:20px 14px 22px}
  .ind p{font-size:14px}
  .mb-brand span{display:none}
  .mb-brand img{height:38px}
  .menubar .wrap{min-height:60px}
  footer .foot-info{justify-items:start;text-align:left}
  .rest{height:clamp(420px,88svh,760px);align-items:flex-start}
  .rest-bg{background-position:42% center}
  .rest-shade{background:linear-gradient(180deg,rgba(14,22,40,.6) 0%,rgba(14,22,40,.25) 45%,rgba(14,22,40,0) 70%)}
  .rest-inner{padding-block:56px}
  .fab-brand{padding:18px 14px 20px}
  .fab-brand p{font-size:14px}
  .logo-tag{display:none}
  .logo-slot{min-height:52px;padding-bottom:12px}
  .story-media{aspect-ratio:3/5}
  .scene-text{gap:10px}
  .ph-label{font-size:9.5px;letter-spacing:.1em}
  .hero{--focus-x:70%}
  form{grid-template-columns:minmax(0,1fr)}
  .hero-hint{left:var(--gutter);right:auto;bottom:auto;top:calc(170px + env(safe-area-inset-top,0px))}
  .brand small{display:none}
}
@media (prefers-reduced-motion:reduce){
  .menubar{transition:none}
  .rest.armed .rest-bg,.rest.armed .rest-shade,.rest.armed .w{transition:none}
  html{scroll-behavior:auto}
  .hero-hint .dot{animation:none}

  .scene-text,.scene-media,.ph,.scene-media img{transition:none}
  .marker{transition:none}
  .btn{transition:none}
}

.logo-slot{height:98px;min-height:98px;display:flex;align-items:center;justify-content:center;gap:0;border-bottom:0;padding:10px 0;margin-bottom:0}
.logo-slot img{display:block;width:200px;height:70px;max-width:90%;max-height:70px;object-fit:contain;object-position:center}
.logo-slot img[data-brand="Aura"]{width:105px}
.logo-slot img[data-brand="Stamoid"]{filter:brightness(0);opacity:.85}
.fab-brand .logo-name{display:block;text-align:center;font-size:21px;margin:0 0 4px}


/* Industry imagery rises from the bottom into a quiet background for the copy. */
.ind{position:relative;isolation:isolate;overflow:hidden;min-height:330px;gap:10px}
.ind-image{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover;object-position:center 65%;opacity:.86;
  -webkit-mask-image:linear-gradient(to top,#000 0%,rgba(0,0,0,.88) 28%,rgba(0,0,0,.16) 58%,transparent 78%);
  mask-image:linear-gradient(to top,#000 0%,rgba(0,0,0,.88) 28%,rgba(0,0,0,.16) 58%,transparent 78%)}
.ind h3,.ind p{position:relative;z-index:1}
@media(max-width:600px){.ind{min-height:300px}.ind h3{font-size:20px}.ind-image{object-position:center bottom}}


.phone-link{white-space:nowrap}
.nav-links a.phone-link,.mb-links a.phone-link{display:inline-block;font-size:14px;font-weight:500}
.quote-intro .contact-phone{display:inline-block;width:fit-content;color:var(--white);font:400 clamp(25px,3vw,36px)/1.2 var(--f-display);text-decoration:none}
.contact-phone:hover,.foot-phone:hover{text-decoration:underline;text-underline-offset:5px}
.foot-phone{color:var(--white);text-decoration:none;font-size:20px}
@media(max-width:600px){.nav-links,.mb-links{gap:12px}.nav-links a.phone-link,.mb-links a.phone-link{font-size:13px}}


.contact-email,.foot-email{display:block;width:fit-content;color:var(--white);font-size:18px;text-decoration:none;overflow-wrap:anywhere}.contact-email:hover,.foot-email:hover{text-decoration:underline;text-underline-offset:4px}

.form-contact{grid-column:1/-1;border-top:1px solid var(--line);padding-top:22px;margin-top:6px;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-method{display:grid;gap:7px;min-width:0}
.contact-label{font:400 10px/1.3 var(--f-mono);letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.form-contact a{color:var(--navy-ink);font-size:clamp(15px,1.4vw,19px);text-decoration:none;overflow-wrap:anywhere}
.form-contact a:hover{text-decoration:underline;text-underline-offset:4px}
footer .wrap{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:40px;align-items:start}
footer .foot-info{justify-items:start;text-align:left;gap:10px}
.footer-contact{display:grid;gap:18px;padding-left:28px;border-left:1px solid rgba(255,255,255,.2)}
.footer-contact .contact-label{color:#d9b98a}
.footer-contact a{color:var(--white);text-decoration:none;font-size:17px;overflow-wrap:anywhere}
.footer-contact a:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:900px){footer .wrap{grid-template-columns:1fr 1fr}footer .brand{grid-column:1/-1}.footer-contact{padding-left:20px}}
@media(max-width:600px){.form-contact{grid-template-columns:1fr;gap:20px}footer .wrap{grid-template-columns:1fr;gap:28px}.footer-contact{padding:24px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.2)}}



.footer-links{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px 22px;border-top:1px solid rgba(255,255,255,.18);padding-top:24px;margin-top:8px;font-size:13px}
.footer-links a{color:var(--white);text-decoration:none}.footer-links a:hover{text-decoration:underline}
.tile-link{color:inherit;text-decoration:none}.ind .tile-link{position:static}.ind .tile-link::after,.make .tile-link::after{content:"";position:absolute;inset:0;z-index:3}.make{position:relative}.ind:focus-within,.make:focus-within{outline:2px solid var(--teak);outline-offset:-3px}
.form-trap{position:absolute!important;left:-10000px!important;top:auto;width:1px;height:1px;overflow:hidden}.btn:disabled{opacity:.65;cursor:wait}
.form-help{grid-column:1/-1;color:var(--muted);font-size:13px;line-height:1.6}.form-help a{text-underline-offset:3px}.form-done[hidden]{display:none}
.site-header{position:sticky;top:0;z-index:50;background:var(--stripes),var(--navy-ink);color:var(--white);box-shadow:0 6px 24px #15213a22}
.site-header .wrap{min-height:82px;display:flex;gap:24px;align-items:center;justify-content:space-between}
.site-brand{display:flex;align-items:center;gap:14px;text-decoration:none;font:400 18px/1.2 var(--f-display)}.site-brand img{width:58px;height:auto}
.site-nav{display:flex;align-items:center;gap:24px}.site-nav a{text-decoration:none;font-size:14px}.site-nav a:hover{text-decoration:underline}
.site-menu{position:relative}.site-menu summary{cursor:pointer;font-size:14px;list-style:none;border:1px solid #ffffff66;padding:10px 14px}.site-menu summary::after{content:' +';padding-left:12px}.site-menu[open] summary::after{content:' −'}
.menu-panel{position:absolute;right:0;top:calc(100% + 12px);min-width:230px;background:var(--white);color:var(--navy-ink);padding:14px;display:grid;gap:3px;box-shadow:0 16px 40px #15213a33;border:1px solid var(--line)}.menu-panel a{padding:9px 12px}
.inner-page{background:var(--stone)}.inner-page .section,.inner-page form,.inner-page .sec-head{animation:none!important}
.page-hero{padding:64px 0 72px}.breadcrumbs{font-size:13px;color:var(--muted);display:flex;gap:8px;flex-wrap:wrap;margin-bottom:34px}.breadcrumbs a{text-underline-offset:3px}
.page-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.page-hero .eyebrow{color:var(--teak);display:block;margin-bottom:18px}.page-hero h1{font-size:clamp(38px,4.5vw,64px);color:var(--navy-ink);max-width:17ch}.page-lede{font-size:18px;line-height:1.7;color:var(--muted);max-width:52ch;margin-top:24px}.page-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.page-actions .btn-ghost{color:var(--navy);box-shadow:inset 0 0 0 1px var(--line)}
.page-photo{margin:0}.page-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}.page-photo figcaption{font-size:11px;color:var(--muted);padding-top:10px;line-height:1.5}
.page-content{padding:0 0 72px}.editorial-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 64px;border-top:1px solid var(--line);padding-top:36px}.editorial-block{padding-bottom:24px}.editorial-block h2{font-size:28px;color:var(--navy-ink);margin-bottom:16px}.editorial-block p{color:var(--muted);line-height:1.8;max-width:62ch}
.page-faq{max-width:850px;margin:0 auto;padding-bottom:70px}.page-faq h2{font-size:34px;margin-bottom:24px}.page-faq details{border-top:1px solid var(--line);padding:20px 0}.page-faq details:last-child{border-bottom:1px solid var(--line)}.page-faq summary{font:400 21px/1.3 var(--f-display);cursor:pointer;color:var(--navy-ink)}.page-faq details p{margin-top:15px;color:var(--muted);line-height:1.8}
.related{background:var(--stone-2);padding:54px 0}.related h2{font-size:32px;margin-bottom:24px}.link-grid{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:0;margin:0}.link-grid a{display:block;background:var(--white);padding:24px;text-decoration:none;border:1px solid var(--line);height:100%;font:400 23px/1.25 var(--f-display);color:var(--navy-ink)}.link-grid a:hover{border-color:var(--teak)}.link-grid a span{display:block;color:var(--teak);font:400 11px/1.5 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}
.page-cta{padding:64px 0;background:var(--stripes),var(--navy-ink);color:var(--white)}.page-cta .wrap{display:flex;justify-content:space-between;align-items:center;gap:28px}.page-cta h2{font-size:clamp(30px,3vw,44px)}.page-cta p{margin-top:14px;color:#fffdf9cc}.page-cta .page-actions{margin:0}
.legal .page-hero-grid{grid-template-columns:1fr}.legal .page-hero{padding-bottom:44px}.legal .page-hero h1{max-width:none}.legal .editorial-grid{display:block;max-width:850px}.legal .editorial-block{padding-bottom:30px}.legal .page-lede{max-width:68ch}
.inspiration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:30px 0 60px}.inspiration-grid figure{margin:0}.inspiration-grid img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.inspiration-grid figcaption{font-size:15px;color:var(--navy-ink);padding-top:12px}.gallery-filters{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.gallery-filters button{padding:10px 16px;background:transparent;border:1px solid var(--line);color:var(--navy);font:inherit;cursor:pointer}.gallery-filters button[aria-pressed=true]{background:var(--navy);color:var(--white)}
.brand-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:50px}.brand-strip figure{margin:0;background:var(--white);padding:28px;text-align:center}.brand-strip img{width:180px;height:70px;object-fit:contain;max-width:100%}.brand-strip figcaption{margin-top:16px;font-family:var(--f-display)}.brand-strip img[data-brand=stamoid]{filter:brightness(0)}
.directory-group{margin-bottom:48px}.directory-group h2{font-size:30px;margin-bottom:24px}.source-note{font-size:14px;color:var(--muted);padding:20px 0}.contact-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:50px;align-items:start}.contact-layout h2{font-size:32px}.contact-layout p{margin-top:20px;color:var(--muted)}.contact-page-section{padding-bottom:70px}
.skip-link{position:absolute;left:20px;top:-100px;background:var(--white);padding:14px;z-index:100}.skip-link:focus{top:10px}.footer-links a:focus-visible{outline-color:var(--white)}
@media(max-width:1000px){.site-brand span{max-width:180px}.site-nav{gap:16px}.site-nav>a:not(.btn):not(.phone-link){display:none}.page-hero-grid{gap:32px}.page-hero h1{font-size:45px}.link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.site-header .wrap{min-height:72px;gap:12px}.site-brand img{width:42px}.site-brand span{display:none}.site-nav{gap:10px}.site-nav .phone-link{display:none}.site-nav .btn{padding:12px;font-size:13px}.page-hero{padding:36px 0 44px}.page-hero-grid,.editorial-grid,.contact-layout{grid-template-columns:1fr}.page-hero h1{font-size:clamp(36px,9vw,48px)}.page-photo{margin-top:4px}.page-lede{font-size:17px}.editorial-grid{gap:12px}.page-cta .wrap{align-items:start;flex-direction:column}.page-faq h2{font-size:30px}.inspiration-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.brand-strip{grid-template-columns:repeat(2,1fr);gap:12px}.brand-strip figure{padding:18px}.link-grid a{font-size:20px;padding:20px}.footer-links{gap:12px 18px}}
@media(max-width:400px){.link-grid{grid-template-columns:1fr}}

footer .wrap{grid-template-columns:1fr 1.1fr 1fr .8fr;gap:30px}
footer .footer-links{grid-column:auto;display:grid;align-content:start;gap:10px;border:0;padding:0;margin:0;font-size:14px}
.footer-bottom{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.18);padding-top:22px;margin-top:8px;display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:12px}
.footer-bottom nav{display:flex;flex-wrap:wrap;gap:20px}.footer-bottom a{color:rgba(255,253,249,.8);text-decoration:none}.footer-bottom a:hover{text-decoration:underline}
@media(max-width:1050px){footer .wrap{grid-template-columns:1fr 1fr}footer .brand{grid-column:auto}footer .footer-contact{border:0;padding:0}}
@media(max-width:600px){footer .wrap{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:24px 18px}footer .brand{grid-column:1/-1}footer .foot-info{grid-column:1}footer .footer-links{grid-column:2;grid-row:2 / span 2}footer .footer-contact{grid-column:1;padding:20px 0 0;border-top:1px solid rgba(255,255,255,.18)}.footer-bottom{flex-direction:column;align-items:flex-start}.footer-contact a{font-size:15px}footer .foot-area{font-size:26px}}

footer .wrap{padding-block:24px 20px;gap:18px 26px}
footer .brand{gap:6px;font-size:16px}footer .brand-logo{height:62px}
footer .foot-info{gap:6px}footer .footer-contact{gap:12px}
footer .contact-method{gap:4px}
footer .footer-links{gap:5px;line-height:1.45}
.footer-bottom{padding-top:14px;margin-top:0;gap:10px}
@media(max-width:600px){footer .wrap{padding-block:22px 18px;gap:16px 18px}footer .brand-logo{height:52px}footer .brand{gap:4px}footer .footer-contact{padding-top:12px;gap:12px}.footer-bottom{gap:8px}.footer-bottom nav{gap:16px}footer .foot-info{font-size:13px}footer .footer-links{font-size:13px;gap:6px}}

.nav .brand-name,.mb-brand span,.site-brand span{white-space:nowrap;flex-shrink:0}
@media(max-width:700px){
 .nav .wrap{flex-wrap:wrap;gap:12px}.nav .brand{flex-basis:100%}.nav .brand-name{font-size:clamp(12px,4.3vw,22px)}
 .nav .nav-links{margin-left:auto}
 .menubar .wrap{flex-wrap:wrap;gap:8px;padding-top:8px;padding-bottom:8px}
 .mb-brand{flex-basis:100%;justify-content:center;gap:9px}.mb-brand span{display:inline;font-size:clamp(11px,3.7vw,17px)}.mb-brand img{height:32px}
 .mb-links{margin-left:auto}
 .site-header .wrap{flex-wrap:wrap;gap:8px;padding-top:10px;padding-bottom:10px}
 .site-brand{flex-basis:100%;justify-content:center;gap:9px}.site-brand img{width:36px}.site-brand span{display:inline;max-width:none;font-size:clamp(11px,3.7vw,17px)}
 .site-nav{margin-left:auto}
 section[id],form[id]{scroll-margin-top:120px}
}

a[href^="tel:"]{white-space:nowrap}
a[href^="tel:"]::before{content:"";display:inline-block;width:.95em;height:.95em;margin-right:.4em;vertical-align:-.1em;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6 19.8 19.8 0 0 1-3.1-8.7A2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 2 .7 2.9a2 2 0 0 1-.5 2.1L8 10a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.5c.9.3 1.9.6 2.9.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6 19.8 19.8 0 0 1-3.1-8.7A2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 2 .7 2.9a2 2 0 0 1-.5 2.1L8 10a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.5c.9.3 1.9.6 2.9.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E") center/contain no-repeat}
