/* =========================================================================
   GLINT VELUX LLC — Bespoke Tailoring House, Tampa · Since 2025
   -------------------------------------------------------------------------
   DESIGN SYSTEM ("The Cloth Journal")
   Aesthetic ...... Editorial / magazine. Expressive serif headlines,
                    ruled columns, drop caps, small-caps labels, wide margins.
   Color .......... Earthy & natural — sand paper ground, warm ink, terracotta
                    (clay) primary accent, olive secondary, stone neutrals.
   Type ........... High-contrast pairing: Fraunces (display serif, high
                    optical contrast) against Archivo (grotesque sans) set in
                    tracked small-caps for labels & UI.
   Layout ......... Centered, minimal, big whitespace; single measured column
                    with art-directed image/text interplay.
   Motion ......... Near-still. Content is visible by default; only a quiet
                    opacity/translate settle on entry. Honors reduced-motion.
   ========================================================================= */

:root{
  /* ---- Palette : earthy / natural ---- */
  --sand:        #E9E1D0;   /* page ground        */
  --paper:       #F3EDDF;   /* lifted panels      */
  --paper-2:     #F7F2E7;   /* lightest card      */
  --ink:         #262019;   /* warm near-black    */
  --ink-70:      #4c4436;
  --ink-45:      #78705f;
  --stone:       #6b6350;   /* muted neutral text (AA-contrast on sand) */
  --clay:        #A94F32;   /* terracotta accent  */
  --clay-deep:   #8a3d24;
  --olive:       #5c5d3d;   /* secondary accent   */
  --olive-deep:  #43442c;
  --line:        rgba(38,32,25,.16);
  --line-soft:   rgba(38,32,25,.09);

  /* ---- Type ---- */
  --serif: "Fraunces", Georgia, "Times New Roman", serif;
  --sans:  "Archivo", "Helvetica Neue", Arial, sans-serif;

  /* ---- Metrics ---- */
  --page:  clamp(1.15rem, 5vw, 6.5rem);   /* horizontal breathing room */
  --measure: 34rem;
  --r: 3px;

  --ease: cubic-bezier(.22,.61,.36,1);
}

/* -------------------------------------------------------------- reset */
*,*::before,*::after{ box-sizing:border-box; }
[hidden]{ display:none !important; }          /* guard: display never defeats hidden */
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }

body{
  margin:0;
  background:var(--sand);
  color:var(--ink);
  font-family:var(--sans);
  font-size:clamp(1rem,.96rem + .25vw,1.075rem);
  line-height:1.7;
  font-weight:420;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}

/* subtle paper grain via layered radial noise — cheap, no image */
body::before{
  content:"";
  position:fixed; inset:0; z-index:-1; pointer-events:none;
  background:
    radial-gradient(120% 80% at 80% -10%, rgba(169,79,50,.05), transparent 55%),
    radial-gradient(90% 70% at -10% 110%, rgba(92,93,61,.06), transparent 60%);
}

img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; }

/* ------------------------------------------------------------ typography */
h1,h2,h3,h4{
  font-family:var(--serif);
  font-weight:460;
  line-height:1.02;
  letter-spacing:-.012em;
  margin:0;
  font-optical-sizing:auto;
}
.display{
  font-size:clamp(3rem, 1.6rem + 6.4vw, 8.2rem);
  font-weight:400;
  line-height:.94;
  letter-spacing:-.028em;
}
h2{ font-size:clamp(2rem,1.3rem + 3vw,3.9rem); font-weight:430; }
h3{ font-size:clamp(1.4rem,1.15rem + 1.1vw,2rem); }
p{ margin:0 0 1.15em; }
em,.it{ font-style:italic; }

/* small-caps eyebrow / label */
.label{
  font-family:var(--sans);
  font-size:.735rem;
  font-weight:600;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--clay-deep);
  margin:0;
}
.label--stone{ color:var(--stone); }
.label--olive{ color:var(--olive); }

.lead{
  font-family:var(--serif);
  font-size:clamp(1.3rem,1.1rem + 1vw,1.85rem);
  line-height:1.42;
  font-weight:380;
  letter-spacing:-.01em;
  color:var(--ink-70);
}

/* editorial drop cap */
.dropcap::first-letter{
  font-family:var(--serif);
  float:left;
  font-size:4.6em;
  line-height:.72;
  font-weight:440;
  padding:.06em .12em 0 0;
  color:var(--clay);
}

/* ------------------------------------------------------------ layout */
.wrap{ padding-inline:var(--page); }
.section{ padding-block:clamp(4rem,3rem + 6vw,8.5rem); }
.center-col{
  max-width:var(--measure);
  margin-inline:auto;
}
.hr{ height:1px; background:var(--line); border:0; margin:0; }
.rule-top{ border-top:1px solid var(--line); }

/* ------------------------------------------------------------- header */
.masthead{
  position:sticky; top:0; z-index:60;
  background:color-mix(in oklab, var(--sand) 86%, transparent);
  backdrop-filter:saturate(1.1) blur(8px);
  border-bottom:1px solid transparent;
  transition:border-color .4s var(--ease), background .4s var(--ease);
}
.masthead.is-scrolled{
  border-bottom-color:var(--line);
  background:color-mix(in oklab, var(--sand) 94%, transparent);
}
.masthead__in{
  display:flex; align-items:center; justify-content:space-between;
  gap:1.5rem;
  padding-block:1.05rem;
}
.brand{
  display:inline-flex; align-items:center; gap:.62rem;
  text-decoration:none; color:var(--ink);
}
.brand svg{ display:block; width:30px; height:30px; flex:none; }
.brand__word{
  font-family:var(--serif);
  font-size:1.18rem;
  letter-spacing:.02em;
  line-height:1;
}
.brand__word b{ font-weight:520; }
.brand__word span{
  display:block;
  font-family:var(--sans);
  font-size:.56rem; font-weight:600;
  letter-spacing:.34em; text-transform:uppercase;
  color:var(--stone); margin-top:.28em;
}

.nav{ display:flex; align-items:center; gap:clamp(1.1rem,2.4vw,2.4rem); }
.nav a{
  font-family:var(--sans);
  font-size:.76rem; font-weight:560;
  letter-spacing:.16em; text-transform:uppercase;
  text-decoration:none; color:var(--ink-70);
  position:relative; padding-block:.35rem;
}
.nav a::after{
  content:""; position:absolute; left:0; right:100%; bottom:.05rem;
  height:1px; background:var(--clay); transition:right .35s var(--ease);
}
.nav a:hover::after,.nav a:focus-visible::after{ right:0; }
.nav a[aria-current="page"]{ color:var(--ink); }
.nav a[aria-current="page"]::after{ right:0; background:var(--ink); }

.nav__cta{
  display:inline-flex; align-items:center;
  border:1px solid var(--ink); color:var(--ink)!important;
  padding:.62rem 1.1rem!important; border-radius:100px;
  transition:background .3s var(--ease), color .3s var(--ease);
}
.nav__cta::after{ display:none; }
.nav__cta:hover,.nav__cta:focus-visible{ background:var(--ink); color:var(--paper-2)!important; }

/* mobile nav */
.nav-toggle{
  display:none; background:none; border:0; cursor:pointer;
  width:44px; height:44px; padding:0; color:var(--ink);
}
.nav-toggle svg{ width:24px; height:24px; }

@media (max-width:860px){
  .nav-toggle{ display:inline-grid; place-items:center; }
  .nav{
    position:fixed; inset:0 0 0 auto; width:min(82vw,340px);
    flex-direction:column; align-items:flex-start; justify-content:center;
    gap:1.6rem; padding:var(--page);
    background:var(--paper); border-left:1px solid var(--line);
    transform:translateX(100%); visibility:hidden;
    transition:transform .42s var(--ease), visibility .42s var(--ease);
    z-index:70;
  }
  .nav.is-open{ transform:translateX(0); visibility:visible; }
  .nav a{ font-size:1rem; }
  .nav__cta{ margin-top:.4rem; }
  .nav-scrim{
    position:fixed; inset:0; z-index:65; background:rgba(38,32,25,.34);
    opacity:0; visibility:hidden; transition:opacity .35s var(--ease),visibility .35s;
  }
  .nav-scrim.is-open{ opacity:1; visibility:visible; }
}

/* ------------------------------------------------------------- buttons */
.btn{
  --bg:var(--ink); --fg:var(--paper-2);
  display:inline-flex; align-items:center; gap:.6rem;
  font-family:var(--sans); font-size:.79rem; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase;
  text-decoration:none; cursor:pointer;
  padding:.95rem 1.7rem; border:1px solid var(--bg); border-radius:100px;
  background:var(--bg); color:var(--fg);
  transition:transform .3s var(--ease), background .3s var(--ease), color .3s var(--ease);
}
.btn:hover,.btn:focus-visible{ transform:translateY(-2px); }
.btn .arw{ transition:transform .3s var(--ease); }
.btn:hover .arw{ transform:translateX(4px); }
.btn--clay{ --bg:var(--clay); --fg:#fdf7ee; border-color:var(--clay); }
.btn--clay:hover{ --bg:var(--clay-deep); }
.btn--ghost{
  --bg:transparent; --fg:var(--ink); border-color:var(--ink);
}
.btn--ghost:hover{ --bg:var(--ink); --fg:var(--paper-2); }

/* text link with arrow */
.tlink{
  font-family:var(--sans); font-weight:600; font-size:.8rem;
  letter-spacing:.14em; text-transform:uppercase; text-decoration:none;
  color:var(--ink); display:inline-flex; align-items:center; gap:.5rem;
  padding-bottom:.28rem; border-bottom:1px solid var(--clay);
  transition:gap .3s var(--ease), color .3s var(--ease);
}
.tlink:hover,.tlink:focus-visible{ gap:.85rem; color:var(--clay); }

/* ------------------------------------------------------------- hero */
.hero{ position:relative; padding-top:clamp(2rem,2vw,3.5rem); }
.hero__kicker{
  display:flex; align-items:center; justify-content:center; gap:1rem;
  text-align:center; margin-bottom:clamp(1.4rem,3vw,2.6rem);
}
.hero__kicker .dash{ width:38px; height:1px; background:var(--clay); }
.hero__title{ text-align:center; }
.hero__title .sub{
  display:block; font-style:italic; color:var(--clay);
  font-size:.42em; letter-spacing:-.01em; margin-top:.28em; font-weight:380;
}
.hero__meta{
  max-width:40rem; margin:clamp(1.6rem,3vw,2.4rem) auto 0;
  text-align:center;
}
.hero__cta{ display:flex; gap:.9rem; justify-content:center; flex-wrap:wrap; margin-top:2rem; }

.hero__figure{
  margin-top:clamp(2.6rem,5vw,5rem);
  position:relative;
}
.hero__figure img{
  width:100%; aspect-ratio:16/8.4; object-fit:cover; border-radius:var(--r);
  filter:saturate(1.02) contrast(1.02);
}
.hero__cap{
  position:absolute; right:clamp(.7rem,2vw,1.6rem); bottom:clamp(.7rem,2vw,1.6rem);
  background:color-mix(in oklab,var(--paper) 92%, transparent);
  border:1px solid var(--line); border-radius:2px;
  padding:.5rem .8rem;
  font-family:var(--sans); font-size:.66rem; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase; color:var(--ink-70);
  max-width:min(60vw,17rem);
}
.hero__stats{
  display:flex; flex-wrap:wrap; justify-content:center;
  gap:clamp(1.5rem,5vw,4.5rem);
  margin-top:clamp(2.2rem,4vw,3.4rem);
  padding-top:clamp(1.6rem,3vw,2.4rem);
  border-top:1px solid var(--line);
}
.stat{ text-align:center; }
.stat b{
  display:block; font-family:var(--serif); font-weight:440;
  font-size:clamp(1.8rem,1.4rem + 1.4vw,2.6rem); line-height:1; letter-spacing:-.02em;
}
.stat span{
  display:block; margin-top:.5rem;
  font-family:var(--sans); font-size:.68rem; font-weight:600;
  letter-spacing:.18em; text-transform:uppercase; color:var(--stone);
}

/* ------------------------------------------------------------- section head */
.shead{ text-align:center; max-width:46rem; margin:0 auto clamp(2.4rem,5vw,4rem); }
.shead .label{ margin-bottom:1.1rem; }
.shead p{ color:var(--ink-70); margin-top:1.1rem; }

/* --------------------------------------------------- editorial two-col */
.editorial{
  display:grid; gap:clamp(2rem,5vw,4.5rem);
  grid-template-columns:1fr;
  align-items:center;
}
@media (min-width:820px){
  .editorial{ grid-template-columns:1fr 1fr; }
  .editorial--wide-img{ grid-template-columns:1.15fr .85fr; }
  .editorial.flip .editorial__media{ order:2; }
}
.editorial__media img{
  width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:var(--r);
}
.editorial__media.landscape img{ aspect-ratio:5/4; }
.editorial__body .label{ margin-bottom:1.2rem; }
.editorial__body h2{ margin-bottom:1.1rem; }
.editorial__body .sig{ margin-top:1.8rem; }

/* signature block */
.sig{ display:flex; align-items:center; gap:1rem; }
.sig svg{ width:120px; height:auto; color:var(--ink); }
.sig div span{ display:block; }
.sig .n{ font-family:var(--serif); font-size:1.05rem; }
.sig .r{ font-family:var(--sans); font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--stone); margin-top:.15rem; }

/* --------------------------------------------------- collections list */
.collections{ counter-reset:coll; }
.coll{
  display:grid; grid-template-columns:1fr; gap:clamp(1.4rem,4vw,3rem);
  padding-block:clamp(2.4rem,5vw,4rem);
  border-top:1px solid var(--line);
  align-items:center;
}
.coll:last-child{ border-bottom:1px solid var(--line); }
@media (min-width:840px){
  .coll{ grid-template-columns:.9fr 1.1fr; }
  .coll:nth-child(even) .coll__media{ order:2; }
}
.coll__media{ position:relative; }
.coll__media img{ width:100%; aspect-ratio:5/4; object-fit:cover; border-radius:var(--r); }
.coll__num{
  counter-increment:coll;
  font-family:var(--serif); font-size:.9rem; color:var(--clay);
}
.coll__num::before{ content:"№ 0" counter(coll); letter-spacing:.04em; }
.coll__body h3{ margin:.7rem 0 .9rem; font-size:clamp(1.7rem,1.3rem + 1.6vw,2.5rem); }
.coll__body .feats{
  list-style:none; padding:0; margin:1.3rem 0 0;
  display:grid; gap:.55rem;
}
.coll__body .feats li{
  position:relative; padding-left:1.4rem;
  font-family:var(--sans); font-size:.92rem; color:var(--ink-70);
}
.coll__body .feats li::before{
  content:""; position:absolute; left:0; top:.62em;
  width:.55rem; height:1px; background:var(--clay);
}
.coll__body .tlink{ margin-top:1.6rem; }

/* --------------------------------------------------- feature strip */
.pillars{
  display:grid; gap:clamp(1.6rem,3vw,2.6rem);
  grid-template-columns:1fr;
  counter-reset:p;
}
@media (min-width:720px){ .pillars{ grid-template-columns:repeat(3,1fr); } }
.pillar{ padding-top:1.4rem; border-top:1px solid var(--ink); }
.pillar .n{
  counter-increment:p;
  font-family:var(--serif); font-size:.85rem; color:var(--clay); letter-spacing:.05em;
}
.pillar .n::before{ content:"0" counter(p) " — "; }
.pillar h3{ margin:.7rem 0 .7rem; font-size:1.32rem; }
.pillar p{ font-size:.94rem; color:var(--ink-70); margin:0; }

/* --------------------------------------------------- quote / testimonial */
.quote{ text-align:center; max-width:52rem; margin-inline:auto; }
.quote blockquote{
  margin:0; font-family:var(--serif); font-weight:380;
  font-size:clamp(1.5rem,1.1rem + 2vw,2.7rem);
  line-height:1.28; letter-spacing:-.015em;
}
.quote blockquote .mark{ color:var(--clay); }
.quote figcaption{
  margin-top:1.8rem; font-family:var(--sans); font-size:.75rem;
  letter-spacing:.16em; text-transform:uppercase; color:var(--stone);
}
.quote figcaption b{ color:var(--ink); font-weight:600; }

/* testimonial trio */
.tgrid{ display:grid; gap:clamp(1.4rem,3vw,2.2rem); grid-template-columns:1fr; }
@media (min-width:760px){ .tgrid{ grid-template-columns:repeat(3,1fr); } }
.tcard{
  background:var(--paper); border:1px solid var(--line-soft); border-radius:var(--r);
  padding:clamp(1.6rem,3vw,2.2rem);
  display:flex; flex-direction:column;
}
.tcard p{ font-family:var(--serif); font-size:1.12rem; line-height:1.45; font-weight:380; color:var(--ink); }
.tcard .who{ margin-top:auto; padding-top:1.3rem; }
.tcard .who b{ display:block; font-family:var(--sans); font-size:.82rem; letter-spacing:.02em; }
.tcard .who span{ font-family:var(--sans); font-size:.72rem; color:var(--stone); letter-spacing:.06em; }
.stars{ color:var(--clay); letter-spacing:.15em; font-size:.8rem; margin-bottom:1rem; }

/* --------------------------------------------------- timeline */
.timeline{ max-width:44rem; margin-inline:auto; }
.tl{
  display:grid; grid-template-columns:auto 1fr; gap:1.6rem;
  padding-block:1.7rem; border-top:1px solid var(--line);
  align-items:baseline;
}
.tl:last-child{ border-bottom:1px solid var(--line); }
.tl__yr{ font-family:var(--serif); font-size:1.5rem; color:var(--clay); letter-spacing:-.01em; }
.tl__b h3{ font-size:1.25rem; margin-bottom:.5rem; }
.tl__b p{ font-size:.94rem; color:var(--ink-70); margin:0; }

/* --------------------------------------------------- process steps */
.steps{ counter-reset:s; display:grid; gap:0; }
.step{
  counter-increment:s;
  display:grid; grid-template-columns:1fr; gap:clamp(1.4rem,4vw,3rem);
  padding-block:clamp(2.2rem,5vw,3.6rem);
  border-top:1px solid var(--line); align-items:center;
}
.step:last-child{ border-bottom:1px solid var(--line); }
@media (min-width:840px){
  .step{ grid-template-columns:.55fr 1fr .9fr; }
  .step:nth-child(even) .step__media{ order:3; }
  .step:nth-child(even) .step__no{ order:1; }
}
.step__no{
  font-family:var(--serif); font-size:clamp(2.6rem,2rem+3vw,4.6rem);
  color:var(--line); line-height:.8; font-weight:400;
}
.step__no::before{ content:"0" counter(s); }
.step__b h3{ font-size:clamp(1.5rem,1.2rem+1.2vw,2.1rem); margin-bottom:.8rem; }
.step__b p{ color:var(--ink-70); margin:0; }
.step__media img{ width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:var(--r); }

/* --------------------------------------------------- cta band */
.cta{
  background:var(--olive-deep); color:#f2eddf; border-radius:var(--r);
  text-align:center; padding:clamp(3rem,6vw,6rem) clamp(1.4rem,5vw,4rem);
  position:relative; overflow:hidden;
}
.cta::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(120% 90% at 50% -20%, rgba(169,79,50,.35), transparent 60%);
}
.cta > *{ position:relative; }
.cta .label{ color:#d8b8a2; }
.cta h2{ color:#f6f1e6; margin:1rem auto 1.2rem; max-width:20ch; }
.cta p{ color:#d7d1bf; max-width:34rem; margin:0 auto 2rem; }
.cta .btn--clay{ --bg:var(--clay); --fg:#fff7ee; }
.cta .btn--ghost{ --fg:#f2eddf; border-color:rgba(242,237,223,.5); }
.cta .btn--ghost:hover{ --bg:#f2eddf; --fg:var(--olive-deep); }

/* --------------------------------------------------- contact */
.contact-grid{ display:grid; gap:clamp(2.4rem,5vw,4.5rem); grid-template-columns:1fr; }
@media (min-width:900px){ .contact-grid{ grid-template-columns:1.05fr .95fr; } }
.form{ display:grid; gap:1.25rem; }
.field{ display:grid; gap:.5rem; }
.field label{
  font-family:var(--sans); font-size:.72rem; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase; color:var(--ink-70);
}
.field .req{ color:var(--clay); }
.field input,.field select,.field textarea{
  font-family:var(--sans); font-size:1rem; color:var(--ink);
  background:var(--paper-2); border:1px solid var(--line);
  border-radius:2px; padding:.85rem .95rem; width:100%;
  transition:border-color .25s var(--ease), box-shadow .25s var(--ease);
}
.field textarea{ resize:vertical; min-height:130px; }
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none; border-color:var(--clay);
  box-shadow:0 0 0 3px rgba(169,79,50,.14);
}
.field-row{ display:grid; gap:1.25rem; grid-template-columns:1fr; }
@media (min-width:560px){ .field-row{ grid-template-columns:1fr 1fr; } }
.form__note{ font-size:.82rem; color:var(--stone); margin:0; }
.form__ok{
  border:1px solid var(--olive); background:color-mix(in oklab,var(--olive) 12%, var(--paper-2));
  border-radius:var(--r); padding:1.1rem 1.25rem;
  font-family:var(--sans); font-size:.95rem; color:var(--olive-deep);
}
.form__ok b{ font-family:var(--serif); font-weight:500; }

.info-block{ padding-top:1.5rem; border-top:1px solid var(--ink); margin-bottom:2rem; }
.info-block .label{ margin-bottom:.9rem; }
.info-block p{ margin:0; color:var(--ink-70); }
.info-block a{ color:var(--ink); text-decoration:none; border-bottom:1px solid var(--line); }
.info-block a:hover{ border-color:var(--clay); color:var(--clay); }
address{ font-style:normal; }

/* --------------------------------------------------- prose (legal) */
.prose{ max-width:44rem; margin-inline:auto; }
.prose h2{ font-size:clamp(1.5rem,1.2rem+1.4vw,2.1rem); margin:2.6rem 0 1rem; }
.prose h3{ font-size:1.2rem; margin:1.8rem 0 .7rem; }
.prose p,.prose li{ color:var(--ink-70); }
.prose ul{ padding-left:1.2rem; margin:0 0 1.15em; }
.prose li{ margin-bottom:.5rem; }
.prose a{ color:var(--clay); }
.prose .updated{
  font-family:var(--sans); font-size:.74rem; letter-spacing:.14em;
  text-transform:uppercase; color:var(--stone);
}

/* page intro header (interior pages) */
.pagehead{ text-align:center; padding-top:clamp(2.6rem,5vw,5rem); }
.pagehead .label{ margin-bottom:1.4rem; }
.pagehead h1{ font-size:clamp(2.6rem,1.7rem+4.4vw,6rem); font-weight:400; letter-spacing:-.025em; }
.pagehead p{ max-width:40rem; margin:1.6rem auto 0; color:var(--ink-70); }

/* --------------------------------------------------- footer */
.foot{ background:var(--ink); color:#d9d1bf; margin-top:clamp(3rem,6vw,7rem); }
.foot__top{
  display:grid; gap:2.6rem 3rem; grid-template-columns:1fr;
  padding-block:clamp(3rem,5vw,4.5rem);
}
@media (min-width:760px){ .foot__top{ grid-template-columns:1.4fr 1fr 1fr; } }
.foot .brand__word{ color:#f3ecdc; }
.foot .brand__word span{ color:#9a917d; }
.foot__blurb{ margin:1.4rem 0 0; max-width:32ch; color:#b8b0a0; font-size:.95rem; }
.foot h4{
  font-family:var(--sans); font-size:.72rem; font-weight:600;
  letter-spacing:.2em; text-transform:uppercase; color:#9a917d; margin:0 0 1.1rem;
}
.foot ul{ list-style:none; padding:0; margin:0; display:grid; gap:.7rem; }
.foot a{ text-decoration:none; color:#d9d1bf; font-size:.92rem; transition:color .25s var(--ease); }
.foot a:hover{ color:#fff; }
.foot address a{ display:block; }
.foot__bottom{
  border-top:1px solid rgba(217,209,191,.16);
  padding-block:1.5rem; display:flex; flex-wrap:wrap; gap:1rem 1.6rem;
  align-items:center; justify-content:space-between;
  font-size:.78rem; color:#9a917d;
}
.foot__bottom a{ font-size:.78rem; color:#9a917d; }
.foot__bottom nav{ display:flex; gap:1.4rem; flex-wrap:wrap; }

/* --------------------------------------------------- motion (near-still) */
.reveal{ opacity:1; }
html.js .reveal{
  opacity:0; transform:translateY(14px);
  transition:opacity .9s var(--ease), transform .9s var(--ease);
  will-change:opacity, transform;
}
html.js .reveal.is-in{ opacity:1; transform:none; }
html.js .reveal[data-d="1"]{ transition-delay:.08s; }
html.js .reveal[data-d="2"]{ transition-delay:.16s; }
html.js .reveal[data-d="3"]{ transition-delay:.24s; }

@media (prefers-reduced-motion: reduce){
  html.js .reveal{ opacity:1 !important; transform:none !important; transition:none !important; }
  *{ animation-duration:.001ms !important; transition-duration:.001ms !important; }
}

/* focus visibility */
:focus-visible{ outline:2px solid var(--clay); outline-offset:3px; border-radius:1px; }
.skip{
  position:absolute; left:-999px; top:0; z-index:200;
  background:var(--ink); color:var(--paper-2); padding:.8rem 1.2rem;
  font-family:var(--sans); font-size:.8rem; letter-spacing:.1em; text-transform:uppercase;
  text-decoration:none; border-radius:0 0 var(--r) 0;
}
.skip:focus{ left:0; }

::selection{ background:var(--clay); color:#fdf6ec; }
