/* =================================================================
   ONE WAY INT'L CO.,LTD. — editorial textile house
   Earthy palette · high-contrast serif/sans · broken grid
   ================================================================= */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300..900;1,9..144,300..600&family=Archivo:wght@400;500;600;700&display=swap');

/* ---- tokens ---- */
:root{
  --paper:#F3ECDD;
  --paper-deep:#EAE0CC;
  --ink:#211C14;
  --ink-soft:#4A4234;
  --terracotta:#B14E2C;
  --terracotta-deep:#8E3C20;
  --olive:#5E5C3B;
  --clay:#A9744C;
  --label:#7C5430;        /* darker clay for small label text on light grounds (AA) */
  --stone:#BBB09A;
  --cloud:#FBF7EE;

  --serif:'Fraunces',Georgia,'Times New Roman',serif;
  --sans:'Archivo',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;

  --maxw:1280px;
  --gut:clamp(1.2rem,4vw,3rem);
  --sect:clamp(4.5rem,9vw,9rem);

  --rule:1px solid var(--stone);
}

*{box-sizing:border-box;}
[hidden]{display:none !important;}

html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto;}}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--serif);
  font-size:clamp(1.06rem,0.6vw + 0.95rem,1.18rem);
  line-height:1.62;
  font-optical-sizing:auto;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}

/* subtle warm paper grain via layered gradients */
body::before{
  content:"";
  position:fixed;inset:0;
  pointer-events:none;z-index:0;
  background:
    radial-gradient(120% 80% at 100% 0%, rgba(177,78,44,0.05), transparent 55%),
    radial-gradient(100% 70% at 0% 100%, rgba(94,92,59,0.05), transparent 55%);
}

img{max-width:100%;display:block;}

a{color:var(--terracotta);text-decoration:none;}
a:focus-visible,button:focus-visible,input:focus-visible,
textarea:focus-visible,select:focus-visible,summary:focus-visible{
  outline:2px solid var(--terracotta);
  outline-offset:3px;
}

::selection{background:var(--terracotta);color:var(--paper);}

.skip{
  position:absolute;left:-999px;top:0;z-index:200;
  background:var(--ink);color:var(--paper);
  padding:.7rem 1.1rem;font-family:var(--sans);font-size:.85rem;
  letter-spacing:.08em;text-transform:uppercase;
}
.skip:focus{left:.6rem;top:.6rem;}

/* ---- layout helpers ---- */
.wrap{
  width:100%;max-width:var(--maxw);
  margin-inline:auto;padding-inline:var(--gut);
  position:relative;z-index:1;
}
.grid12{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  column-gap:var(--gut);
}
.section{padding-block:var(--sect);position:relative;z-index:1;}
.rule{border:0;border-top:var(--rule);margin:0;}

/* Stack grid blocks whose columns are set via inline styles (which media
   queries on dedicated classes can't reach) into a single column on phones. */
@media (max-width:880px){
  .stack-mobile{row-gap:clamp(1.6rem,4vw,2.6rem);}
  .stack-mobile > *{grid-column:1 / -1 !important;}
}

/* ---- typography ---- */
h1,h2,h3,h4{font-weight:500;margin:0;line-height:1.02;letter-spacing:-0.015em;}
.display{
  font-family:var(--serif);
  font-weight:340;
  font-size:clamp(2.7rem,7.2vw,6.6rem);
  line-height:0.97;
  letter-spacing:-0.025em;
  margin-left:-0.04em;
}
.display em{font-style:italic;font-weight:380;color:var(--terracotta);}
.h2{
  font-size:clamp(1.95rem,4.2vw,3.5rem);
  font-weight:360;line-height:1.02;letter-spacing:-0.02em;
}
.h2 em{font-style:italic;color:var(--olive);}
.h3{font-size:clamp(1.3rem,2vw,1.6rem);font-weight:500;line-height:1.12;}

.eyebrow{
  font-family:var(--sans);
  font-size:.74rem;font-weight:600;
  letter-spacing:.2em;text-transform:uppercase;
  color:var(--terracotta);
  display:inline-flex;align-items:center;gap:.7rem;
  margin:0 0 1.2rem;
}
.eyebrow::before{
  content:"";width:1.8rem;height:1px;background:var(--clay);display:inline-block;
}
.eyebrow.plain::before{display:none;}

.lead{
  font-size:clamp(1.25rem,1.6vw,1.6rem);
  line-height:1.42;font-weight:340;color:var(--ink);
}
.muted{color:var(--ink-soft);}
.kicker{
  font-family:var(--sans);font-size:.78rem;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);
}

.serif-num{
  font-family:var(--serif);font-weight:300;font-style:italic;
  color:var(--clay);line-height:1;
}

.dropcap::first-letter{
  font-family:var(--serif);
  font-weight:380;
  font-size:4.4em;
  line-height:0.72;
  float:left;
  padding:0.06em 0.12em 0 0;
  color:var(--terracotta);
}

p{margin:0 0 1.1em;}
.flow > * + *{margin-top:1.1em;}

/* ---- buttons ---- */
.btn{
  display:inline-flex;align-items:center;gap:.7rem;
  font-family:var(--sans);font-size:.8rem;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;
  padding:1rem 1.7rem;border:1px solid var(--ink);
  cursor:pointer;background:none;color:var(--ink);
  transition:background .35s ease,color .35s ease,border-color .35s ease,transform .35s ease;
  line-height:1;
}
.btn .arr{transition:transform .35s ease;}
.btn:hover .arr{transform:translateX(4px);}
.btn--primary{background:var(--terracotta);border-color:var(--terracotta);color:var(--cloud);}
.btn--primary:hover{background:var(--terracotta-deep);border-color:var(--terracotta-deep);color:var(--cloud);}
.btn--ghost:hover{background:var(--ink);color:var(--paper);}
@media (prefers-reduced-motion: reduce){.btn,.btn .arr{transition:none;}}

.link-u{
  font-family:var(--sans);font-size:.82rem;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;color:var(--ink);
  display:inline-flex;align-items:center;gap:.6rem;position:relative;
}
.link-u::after{
  content:"";position:absolute;left:0;bottom:-4px;height:1px;width:100%;
  background:var(--terracotta);transform:scaleX(0);transform-origin:left;
  transition:transform .4s ease;
}
.link-u:hover{color:var(--terracotta);}
.link-u:hover::after{transform:scaleX(1);}
@media (prefers-reduced-motion: reduce){.link-u::after{transition:none;}}

/* =================================================================
   HEADER / NAV
   ================================================================= */
.site-head{
  position:sticky;top:0;z-index:100;
  background:color-mix(in srgb, var(--paper) 86%, transparent);
  backdrop-filter:blur(8px);
  border-bottom:1px solid transparent;
  transition:border-color .3s ease, background .3s ease;
}
.site-head.scrolled{
  border-bottom:var(--rule);
  background:color-mix(in srgb, var(--paper) 94%, transparent);
}
.nav{
  display:flex;align-items:center;justify-content:space-between;
  gap:1rem;padding-block:1.05rem;
}
.brand{display:flex;align-items:center;gap:.7rem;color:var(--ink);}
.brand svg{display:block;flex:none;}
.brand .bn{display:flex;flex-direction:column;line-height:1;}
.brand .bn b{
  font-family:var(--serif);font-weight:500;font-size:1.06rem;letter-spacing:-0.01em;
}
.brand .bn span{
  font-family:var(--sans);font-size:.6rem;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);margin-top:.22rem;
}
.nav-links{display:flex;align-items:center;gap:1.9rem;}
.nav-links a{
  font-family:var(--sans);font-size:.82rem;font-weight:500;
  letter-spacing:.06em;color:var(--ink);position:relative;padding-block:.3rem;
}
.nav-links a[aria-current="page"]{color:var(--terracotta);}
.nav-links a:not(.btn)::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;
  background:var(--terracotta);transform:scaleX(0);transform-origin:left;
  transition:transform .35s ease;
}
.nav-links a:not(.btn):hover::after,
.nav-links a[aria-current="page"]::after{transform:scaleX(1);}
@media (prefers-reduced-motion: reduce){.nav-links a::after{transition:none;}}
.nav-cta{padding:.7rem 1.2rem;}

.nav-toggle{display:none;background:none;border:1px solid var(--ink);padding:.55rem .7rem;cursor:pointer;}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--ink);margin:4px 0;transition:transform .3s ease,opacity .3s ease;}

@media (max-width:880px){
  .nav-toggle{display:block;}
  .nav-links{
    position:fixed;inset:0 0 0 auto;width:min(80vw,340px);
    flex-direction:column;align-items:flex-start;justify-content:center;
    gap:1.4rem;background:var(--paper-deep);padding:2.5rem var(--gut);
    transform:translateX(100%);
    transition:transform .4s cubic-bezier(.6,0,.2,1),visibility 0s linear .4s;
    border-left:var(--rule);z-index:120;
    visibility:hidden;            /* keep off-canvas links out of the tab order when closed */
    overflow-y:auto;
  }
  .nav-links.open{transform:translateX(0);visibility:visible;transition:transform .4s cubic-bezier(.6,0,.2,1),visibility 0s;}
  .nav-links a{font-size:1.3rem;font-family:var(--serif);letter-spacing:0;}
  .nav-cta{margin-top:.5rem;}
  .nav-toggle.open span:nth-child(1){transform:translateY(6px) rotate(45deg);}
  .nav-toggle.open span:nth-child(2){opacity:0;}
  .nav-toggle.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
}
@media (prefers-reduced-motion: reduce){.nav-links,.nav-links.open{transition:none;}}

.nav-scrim{
  position:fixed;inset:0;background:rgba(33,28,20,0.4);z-index:110;
  opacity:0;pointer-events:none;transition:opacity .35s ease;
}
.nav-scrim.show{opacity:1;pointer-events:auto;}
/* lock background scroll while the mobile menu is open */
body.nav-open{overflow:hidden;}

/* =================================================================
   HERO (home)
   ================================================================= */
.hero{padding-top:clamp(2rem,5vw,4rem);padding-bottom:0;position:relative;}
.hero-grid{align-items:end;row-gap:2rem;}
.hero-copy{grid-column:1 / span 7;}
.hero-meta{grid-column:9 / span 4;align-self:end;padding-bottom:.6rem;}
.hero .display{margin-bottom:1.4rem;}
.hero-sub{max-width:34ch;}
.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem;}
.hero-figure{
  grid-column:1 / -1;margin-top:clamp(2.5rem,5vw,4.5rem);
  position:relative;
}
.hero-figure img{
  width:100%;height:clamp(320px,52vw,640px);object-fit:cover;
  background:var(--paper-deep);
  filter:saturate(1.02);
}
.hero-figure figcaption{
  font-family:var(--sans);font-size:.74rem;letter-spacing:.04em;
  color:var(--ink-soft);margin-top:.7rem;text-align:right;
}
.hero-stamp{
  position:absolute;top:-1.4rem;right:0;
  font-family:var(--sans);font-size:.72rem;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;color:var(--olive);
}
.hero-meta dl{margin:0;display:grid;gap:1.1rem;}
.hero-meta dt{font-family:var(--sans);font-size:.7rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--label);}
.hero-meta dd{margin:.25rem 0 0;font-size:1.02rem;line-height:1.35;}

@media (max-width:880px){
  .hero-copy{grid-column:1 / -1;}
  .hero-meta{grid-column:1 / -1;border-top:var(--rule);padding-top:1.5rem;}
  .hero-meta dl{grid-template-columns:1fr 1fr;}
}

/* ---- marquee strip (materials) ---- */
.strip{
  border-block:var(--rule);overflow:hidden;background:var(--paper-deep);
  padding-block:1rem;
}
.strip-track{
  display:flex;gap:3rem;white-space:nowrap;width:max-content;
  font-family:var(--serif);font-style:italic;font-weight:340;
  font-size:clamp(1.4rem,2.6vw,2.2rem);color:var(--ink);
  animation:slide 38s linear infinite;
}
.strip-track span{display:inline-flex;align-items:center;gap:3rem;}
.strip-track span::after{content:"·";color:var(--terracotta);font-style:normal;}
@keyframes slide{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media (prefers-reduced-motion: reduce){.strip-track{animation:none;flex-wrap:wrap;white-space:normal;width:auto;}}

/* =================================================================
   SECTION HEADER (folio style)
   ================================================================= */
.sect-head{margin-bottom:clamp(2rem,4vw,3.4rem);}
.sect-head .folio{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:clamp(2.6rem,5vw,4rem);color:var(--stone);line-height:1;
  display:block;margin-bottom:.5rem;
}

/* ---- intro / statement ---- */
.statement{grid-column:3 / span 8;}
.statement .lead{margin-bottom:1.6rem;}
@media (max-width:880px){.statement{grid-column:1 / -1;}}

.two-col{columns:2;column-gap:var(--gut);}
@media (max-width:680px){.two-col{columns:1;}}

/* =================================================================
   FEATURE ROWS (capabilities / what we do)
   ================================================================= */
.feature{
  display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gut);
  align-items:center;padding-block:clamp(2.4rem,5vw,4rem);
  border-top:var(--rule);
}
.feature:last-child{border-bottom:var(--rule);}
.feature .f-img{grid-column:1 / span 6;}
.feature .f-img img{width:100%;height:clamp(280px,34vw,440px);object-fit:cover;background:var(--paper-deep);}
.feature .f-body{grid-column:8 / span 5;}
.feature.flip .f-img{grid-column:7 / span 6;order:2;}
.feature.flip .f-body{grid-column:1 / span 5;order:1;}
.feature .f-num{font-family:var(--sans);font-size:.78rem;font-weight:700;letter-spacing:.16em;color:var(--terracotta);}
.feature h3{font-family:var(--serif);font-weight:380;font-size:clamp(1.6rem,3vw,2.4rem);margin:.6rem 0 1rem;letter-spacing:-0.02em;}
.feature .f-body p{color:var(--ink-soft);max-width:42ch;}
.feature ul{list-style:none;margin:1.2rem 0 0;padding:0;font-family:var(--sans);font-size:.86rem;color:var(--ink);}
.feature ul li{padding:.55rem 0;border-top:var(--rule);display:flex;justify-content:space-between;gap:1rem;}
@media (max-width:880px){
  .feature .f-img,.feature.flip .f-img{grid-column:1 / -1;order:1;}
  .feature .f-body,.feature.flip .f-body{grid-column:1 / -1;order:2;margin-top:1.4rem;}
}

/* =================================================================
   MATERIAL LIBRARY (index list + cards)
   ================================================================= */
.mat-list{border-top:var(--rule);}
.mat{
  display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gut);
  align-items:start;padding-block:clamp(1.8rem,3.5vw,3rem);
  border-bottom:var(--rule);
}
.mat .m-no{grid-column:1 / span 1;font-family:var(--serif);font-style:italic;color:var(--clay);font-size:1.4rem;}
.mat .m-img{grid-column:2 / span 4;}
.mat .m-img img{width:100%;height:clamp(180px,18vw,240px);object-fit:cover;background:var(--paper-deep);}
.mat .m-main{grid-column:7 / span 4;}
.mat .m-main h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.5rem,2.6vw,2rem);letter-spacing:-0.02em;}
.mat .m-main p{color:var(--ink-soft);margin-top:.7rem;font-size:1rem;}
.mat .m-tags{grid-column:11 / span 2;font-family:var(--sans);font-size:.76rem;color:var(--ink-soft);text-align:right;}
.mat .m-tags span{display:block;padding:.2rem 0;}
@media (max-width:880px){
  .mat{grid-template-columns:repeat(6,1fr);row-gap:1rem;}
  .mat .m-no{grid-column:1 / span 6;}
  .mat .m-img{grid-column:1 / span 6;}
  .mat .m-main{grid-column:1 / span 6;}
  .mat .m-tags{grid-column:1 / span 6;text-align:left;}
  .mat .m-tags span{display:inline-block;margin-right:1.2rem;}
}

/* =================================================================
   STAT / FIGURES band
   ================================================================= */
.figures{background:var(--ink);color:var(--paper);}
.figures .wrap{padding-block:clamp(3.5rem,7vw,6rem);}
.figures .grid12{row-gap:2.5rem;}
.fig{grid-column:span 3;}
.fig .n{font-family:var(--serif);font-weight:300;font-size:clamp(2.8rem,5vw,4.4rem);line-height:1;color:var(--paper);}
.fig .n em{font-style:italic;color:var(--clay);}
.fig .l{font-family:var(--sans);font-size:.8rem;letter-spacing:.08em;color:var(--stone);margin-top:.7rem;text-transform:uppercase;}
.figures .eyebrow{color:var(--clay);}
.figures .eyebrow::before{background:var(--clay);}
@media (max-width:880px){.fig{grid-column:span 6;}}

/* =================================================================
   TIMELINE (about)
   ================================================================= */
.timeline{border-top:var(--rule);}
.tl{
  display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gut);
  padding-block:clamp(1.6rem,3vw,2.6rem);border-bottom:var(--rule);align-items:baseline;
}
.tl .y{grid-column:1 / span 2;font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(1.8rem,3.4vw,2.8rem);color:var(--terracotta);}
.tl .t{grid-column:4 / span 4;font-family:var(--serif);font-size:1.3rem;font-weight:450;}
.tl .d{grid-column:8 / span 5;color:var(--ink-soft);}
@media (max-width:880px){
  .tl{grid-template-columns:1fr;row-gap:.5rem;}
  .tl .y,.tl .t,.tl .d{grid-column:1;}
}

/* =================================================================
   PROCESS STEPS
   ================================================================= */
.steps{counter-reset:step;}
.step{
  display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gut);
  padding-block:clamp(2rem,4vw,3.4rem);border-top:var(--rule);align-items:start;
}
.step:last-child{border-bottom:var(--rule);}
.step .s-no{grid-column:1 / span 2;}
.step .s-no b{font-family:var(--serif);font-weight:300;font-size:clamp(3rem,6vw,5rem);color:var(--stone);line-height:1;}
.step .s-body{grid-column:4 / span 6;}
.step .s-body h3{font-family:var(--serif);font-weight:420;font-size:clamp(1.5rem,2.6vw,2rem);margin-bottom:.8rem;letter-spacing:-0.01em;}
.step .s-body p{color:var(--ink-soft);}
.step .s-side{grid-column:11 / span 2;font-family:var(--sans);font-size:.76rem;letter-spacing:.06em;color:var(--label);text-transform:uppercase;}
@media (max-width:880px){
  .step{grid-template-columns:1fr;row-gap:1rem;}
  .step .s-no,.step .s-body,.step .s-side{grid-column:1;}
}

/* =================================================================
   PULL QUOTE / TESTIMONIAL
   ================================================================= */
.quote{padding-block:var(--sect);}
.quote blockquote{
  grid-column:2 / span 9;margin:0;
  font-family:var(--serif);font-weight:340;font-style:italic;
  font-size:clamp(1.8rem,4vw,3.2rem);line-height:1.16;letter-spacing:-0.02em;
}
.quote blockquote .mk{color:var(--terracotta);font-size:1.4em;line-height:0;}
.quote cite{
  grid-column:2 / span 9;display:block;margin-top:1.8rem;font-style:normal;
  font-family:var(--sans);font-size:.84rem;letter-spacing:.06em;color:var(--ink-soft);
}
.quote cite b{color:var(--ink);font-weight:600;}
@media (max-width:880px){.quote blockquote,.quote cite{grid-column:1 / -1;}}

.testi-grid{row-gap:clamp(2rem,4vw,3rem);}
.testi{grid-column:span 6;border-top:2px solid var(--ink);padding-top:1.4rem;}
.testi p{font-family:var(--serif);font-style:italic;font-size:1.25rem;line-height:1.4;}
.testi .who{font-family:var(--sans);font-size:.8rem;letter-spacing:.05em;color:var(--ink-soft);margin-top:1rem;}
.testi .who b{color:var(--ink);font-weight:600;}
@media (max-width:780px){.testi{grid-column:1 / -1;}}

/* =================================================================
   CTA band
   ================================================================= */
.cta{background:var(--terracotta);color:var(--cloud);}
.cta .wrap{padding-block:clamp(3.5rem,7vw,6rem);}
.cta .h2{color:var(--cloud);max-width:18ch;}
.cta .h2 em{color:#F4D9C7;}
.cta p{color:var(--cloud);max-width:46ch;margin-top:1.2rem;}
.cta-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem;}
.cta .btn--primary{background:var(--cloud);border-color:var(--cloud);color:var(--terracotta-deep);}
.cta .btn--primary:hover{background:#fff;border-color:#fff;color:var(--terracotta-deep);}
.cta .btn--ghost{border-color:rgba(251,247,238,.6);color:var(--cloud);}
.cta .btn--ghost:hover{background:var(--cloud);color:var(--terracotta-deep);border-color:var(--cloud);}
.cta .eyebrow{color:var(--cloud);}
.cta .eyebrow::before{background:var(--cloud);}

/* =================================================================
   CONTACT
   ================================================================= */
.contact-grid{row-gap:3rem;align-items:start;}
.contact-info{grid-column:1 / span 4;}
.contact-form{grid-column:6 / span 7;}
@media (max-width:880px){.contact-info,.contact-form{grid-column:1 / -1;}}

.info-block{margin-bottom:2rem;padding-bottom:2rem;border-bottom:var(--rule);}
.info-block:last-child{border-bottom:0;}
.info-block .lbl{font-family:var(--sans);font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--label);margin-bottom:.6rem;}
.info-block address{font-style:normal;line-height:1.5;}
.info-block a{color:var(--ink);}
.info-block a:hover{color:var(--terracotta);}

.form-row{margin-bottom:1.6rem;}
.form-row.two{display:grid;grid-template-columns:1fr 1fr;gap:var(--gut);}
@media (max-width:560px){.form-row.two{grid-template-columns:1fr;}}
label{display:block;font-family:var(--sans);font-size:.74rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.6rem;}
.req{color:var(--terracotta);}
input,textarea,select{
  width:100%;background:transparent;border:0;border-bottom:1px solid var(--stone);
  font-family:var(--serif);font-size:1.1rem;color:var(--ink);
  padding:.6rem 0;transition:border-color .3s ease;
}
input::placeholder,textarea::placeholder{color:var(--stone);}
input:focus,textarea:focus,select:focus{border-bottom-color:var(--terracotta);}
input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--terracotta);outline-offset:2px;}
select{font-family:var(--sans);font-size:.95rem;}
textarea{resize:vertical;min-height:120px;}
.form-note{font-family:var(--sans);font-size:.78rem;color:var(--ink-soft);margin-top:1rem;}

.form-status{
  font-family:var(--sans);font-size:.9rem;margin-top:1.2rem;padding:1rem 1.2rem;
  background:var(--paper-deep);border-left:3px solid var(--olive);color:var(--ink);
}

/* =================================================================
   ARTICLE / LEGAL pages
   ================================================================= */
.doc{grid-column:3 / span 8;}
/* FAQ disclosure — give summaries a visible expand/collapse affordance */
details > summary{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;}
details > summary::-webkit-details-marker{display:none;}
details > summary::after{
  content:"+";font-family:var(--sans);font-weight:400;color:var(--terracotta);
  font-size:1.4rem;line-height:1;flex:none;transition:transform .3s ease;
}
details[open] > summary::after{content:"\2013";}
@media (prefers-reduced-motion: reduce){details > summary::after{transition:none;}}

.doc h2{font-family:var(--serif);font-weight:420;font-size:clamp(1.4rem,2.4vw,1.9rem);margin:2.6rem 0 1rem;letter-spacing:-0.01em;}
.doc h3{font-size:1.2rem;margin:1.8rem 0 .6rem;}
.doc p,.doc li{color:var(--ink-soft);}
.doc ul,.doc ol{padding-left:1.2rem;margin:0 0 1.1em;}
.doc li{margin-bottom:.5rem;}
.doc .updated{font-family:var(--sans);font-size:.8rem;letter-spacing:.08em;color:var(--label);text-transform:uppercase;}
.doc a,.form-note a{text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;}
@media (max-width:880px){.doc{grid-column:1 / -1;}}

/* page hero (interior) */
.page-hero{padding-top:clamp(3rem,6vw,5rem);padding-bottom:clamp(2rem,4vw,3rem);}
.page-hero .crumbs{font-family:var(--sans);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:1.6rem;}
.page-hero .crumbs a{color:var(--ink-soft);}
.page-hero .crumbs a:hover{color:var(--terracotta);}
.page-hero h1{grid-column:1 / span 9;}
.page-hero .ph-copy{grid-column:1 / span 9;}
.page-hero .ph-side{grid-column:10 / span 3;align-self:end;}
@media (max-width:880px){.page-hero h1,.page-hero .ph-copy,.page-hero .ph-side{grid-column:1 / -1;}}

/* =================================================================
   FOOTER
   ================================================================= */
.site-foot{background:var(--ink);color:var(--paper);position:relative;z-index:1;}
.foot-top{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gut);row-gap:2.5rem;padding-block:clamp(3.5rem,6vw,5rem);}
.foot-brand{grid-column:1 / span 4;}
.foot-brand .fmark{display:flex;align-items:center;gap:.7rem;color:var(--paper);margin-bottom:1.3rem;}
.foot-brand .fmark b{font-family:var(--serif);font-size:1.15rem;font-weight:500;}
.foot-brand p{color:var(--stone);max-width:34ch;font-size:1rem;}
.foot-col{grid-column:span 2;}
.foot-col:nth-of-type(2){grid-column:7 / span 2;}
.foot-col h4{font-family:var(--sans);font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--clay);margin-bottom:1.1rem;}
.foot-col ul{list-style:none;margin:0;padding:0;}
.foot-col li{margin-bottom:.7rem;}
.foot-col a{font-family:var(--sans);font-size:.92rem;color:var(--paper);}
.foot-col a:hover{color:var(--clay);}
.foot-contact{grid-column:11 / span 2;}
.foot-contact a{display:block;color:var(--paper);font-size:.95rem;margin-bottom:.5rem;font-family:var(--sans);}
.foot-contact a:hover{color:var(--clay);}
.foot-contact address{font-style:normal;color:var(--stone);font-size:.9rem;line-height:1.5;font-family:var(--sans);margin-top:.8rem;}
.foot-bottom{border-top:1px solid rgba(187,176,154,.25);padding-block:1.6rem;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center;}
.foot-bottom p,.foot-bottom a{font-family:var(--sans);font-size:.78rem;color:var(--stone);letter-spacing:.04em;}
.foot-bottom a:hover{color:var(--paper);}
.foot-legal{display:flex;gap:1.6rem;flex-wrap:wrap;}
@media (max-width:880px){
  .foot-brand{grid-column:1 / -1;}
  .foot-col,.foot-col:nth-of-type(2),.foot-contact{grid-column:span 6;}
}

/* =================================================================
   MOTION — reveal (content visible by default; JS adds .reveal)
   ================================================================= */
@media (prefers-reduced-motion: no-preference){
  .reveal [data-rise]{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease;}
  .reveal.in [data-rise]{opacity:1;transform:none;}
  .reveal.in [data-rise]:nth-child(2){transition-delay:.06s;}
  .reveal.in [data-rise]:nth-child(3){transition-delay:.12s;}
  .reveal.in [data-rise]:nth-child(4){transition-delay:.18s;}
  .reveal.in [data-rise]:nth-child(5){transition-delay:.24s;}
  .draw-rule{transform:scaleX(0);transform-origin:left;transition:transform .7s ease;}
  .draw-rule.in{transform:scaleX(1);}
}
