/* ==========================================================
   SLNT MOTION — Design system v2
   ink/bone base, oxblood + brass accents, grain texture on dark
   panels, editorial serif-italic captions against the bold
   graphic wordmark. Real sliders, not stacked grids.
   ========================================================== */
@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=Fraunces:ital,wght@1,400;1,500&family=Work+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap');

:root{
  --ink:        #0B0A0C;
  --ink-raised: #1B191C;
  --bone:       #E8E1D3;
  --bone-dim:   #DCD2BB;
  --white:      #FAF8F4;
  --oxblood:    #6E1420;
  --oxblood-hi: #8C1A29;
  --brass:      #A9884F;
  --ash:        #726C5F;
  --line:       rgba(11,10,12,0.13);
  --line-dark:  rgba(250,248,244,0.16);

  --font-display: 'Archivo Black', 'Arial Black', sans-serif;
  --font-editorial: 'Fraunces', Georgia, serif;
  --font-body: 'Work Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  --wrap: 1280px;
  --ease: cubic-bezier(.22,.68,0,1);
}

*,*::before,*::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; overflow-x: clip; }
body{
  margin:0;
  background: var(--bone);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
}
img{ max-width:100%; display:block; }
a{ color: inherit; text-decoration: none; }
ul{ margin:0; padding:0; list-style:none; }
button{ font-family: inherit; cursor:pointer; }
h1,h2,h3,h4{ font-family: var(--font-display); margin:0; line-height: 1.03; letter-spacing: -0.01em; }

.wrap{ max-width: var(--wrap); margin: 0 auto; padding: 0 32px; }

@media (prefers-reduced-motion: reduce){
  *{ animation-duration: 0.001ms !important; transition-duration: 0.001ms !important; scroll-behavior:auto !important; }
}
:focus-visible{ outline: 3px solid var(--oxblood); outline-offset: 3px; }

/* Editorial caption voice — sentence case serif italic, never tracked caps */
.kicker{
  font-family: var(--font-editorial);
  font-style: italic;
  font-weight: 400;
  font-size: 1.15rem;
  color: var(--oxblood);
  margin: 0 0 10px;
}
.section--ink .kicker{ color: var(--brass); }

/* Grain texture — tactile overlay for dark panels, not flat digital black */
.grain{ position:relative; isolation:isolate; }
.grain::after{
  content:'';
  position:absolute; inset:0; z-index:1; pointer-events:none;
  opacity:0.05; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.grain > *{ position:relative; z-index:2; }

/* Hover-zoom wrapper — subtle image scale on hover, used across product photography */
.img-zoom{ overflow:hidden; display:block; }
.img-zoom img{ transition: transform 0.7s var(--ease); }
@media (hover: hover) and (pointer: fine){
  .img-zoom:hover img{ transform: scale(1.05); }
}

/* ----------------------------------------------------------
   Header + marquee ticker
   ---------------------------------------------------------- */
.site-header{ position: sticky; top:0; z-index: 60; background: var(--bone); }
.site-header__row{ display:flex; align-items:center; justify-content:space-between; padding-top:20px; padding-bottom:20px; border-bottom: 1px solid var(--line); }
.logo{ font-family: var(--font-display); font-size: 1.4rem; letter-spacing: 0.01em; display:inline-flex; align-items:center; gap:12px; }
.logo__mark{ display:block; width:34px; height:34px; object-fit:contain; }
.logo em{ color: var(--oxblood); font-style:normal; }
.main-nav{ display:flex; gap: 34px; }
.main-nav a{ position:relative; font-size: 0.94rem; font-weight: 600; padding-bottom: 4px; }
.main-nav a::after{
  content:''; position:absolute; left:0; right:100%; bottom:-1px; height:2px; background: var(--oxblood);
  transition: right 0.28s var(--ease);
}
.main-nav a:hover::after, .main-nav a[aria-current="page"]::after{ right:0; }
.nav-toggle{ display:none; background:none; border: 1.5px solid var(--ink); padding: 9px 14px; font-weight:700; font-size:0.8rem; }

.ticker{
  background: var(--ink); color: var(--bone); overflow:hidden; white-space:nowrap;
  border-bottom: 1px solid var(--line-dark);
}
.ticker__track{
  display:inline-flex; gap: 0; padding: 9px 0;
  animation: ticker 26s linear infinite;
  font-size: 0.82rem; font-weight: 600; letter-spacing: 0.02em;
}
.ticker__track span{ display:inline; white-space:nowrap; }
.ticker__track em{ color: var(--brass); font-style:normal; }
@keyframes ticker{ from{ transform: translateX(0); } to{ transform: translateX(-50%); } }

@media (max-width: 820px){
  .main-nav{ display:none; position:absolute; left:0; right:0; top: 100%; background: var(--bone); border-bottom: 1px solid var(--line); flex-direction:column; gap:0; padding: 6px 0 16px; }
  .main-nav.is-open{ display:flex; }
  .main-nav a{ padding: 13px 32px; border-bottom: 1px solid var(--line); width:100%; }
  .nav-toggle{ display:inline-block; }
}

/* ----------------------------------------------------------
   Tag chip — modeled on the red hang tag from product photos
   ---------------------------------------------------------- */
.tag-chip{
  display:inline-flex; align-items:center; gap:8px;
  background: var(--oxblood); color: var(--white);
  font-weight: 700; font-size: 0.78rem; letter-spacing: 0.03em;
  padding: 8px 15px 8px 12px;
  transform: rotate(-1.4deg);
}
.tag-chip::before{ content:''; width:6px; height:6px; border-radius:50%; background: var(--white); }
.tag-chip--ink{ background: var(--ink); }
.tag-chip--outline{ background: transparent; color: var(--ink); border: 1.5px solid var(--ink); transform:none; }
.tag-chip--sold-out{ background: var(--ash); }

/* ----------------------------------------------------------
   Buttons — fill-sweep hover, magnetic lift, real press feedback
   ---------------------------------------------------------- */
.btn{
  position:relative; overflow:hidden; isolation:isolate;
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding: 17px 32px;
  font-family: var(--font-display); font-size: 0.94rem; letter-spacing: 0.02em;
  border: 1.5px solid var(--ink); background: var(--ink); color: var(--bone);
  transition: color 0.3s var(--ease), border-color 0.3s var(--ease), transform 0.18s var(--ease), box-shadow 0.18s var(--ease);
  cursor:pointer;
}
.btn::before{
  content:''; position:absolute; inset:0; z-index:-1;
  background: var(--oxblood);
  transform: translateX(-101%);
  transition: transform 0.36s var(--ease);
}
.btn:hover{ color: var(--white); border-color: var(--oxblood); transform: translateY(-2px); box-shadow: 0 10px 24px rgba(11,10,12,0.18); }
.btn:hover::before{ transform: translateX(0); }
.btn:active{ transform: translateY(0); box-shadow:none; }
.btn--outline{ background: transparent; color: var(--ink); }
.btn--outline::before{ background: var(--ink); }
.btn--outline:hover{ color: var(--bone); border-color: var(--ink); }
.btn--on-dark{ border-color: var(--bone); color: var(--ink); background: var(--bone); }
.btn--on-dark::before{ background: var(--oxblood); }
.btn--on-dark:hover{ color: var(--white); border-color: var(--oxblood); }
.btn--disabled, .btn[disabled]{ background: var(--bone-dim); border-color: var(--bone-dim); color: rgba(11,10,12,0.4); cursor: not-allowed; }
.btn--disabled::before{ display:none; }
.btn--disabled:hover{ background: var(--bone-dim); color: rgba(11,10,12,0.4); transform:none; box-shadow:none; }
.btn--full{ width:100%; }
.btn--sm{ padding: 11px 20px; font-size:0.82rem; }

/* ----------------------------------------------------------
   Hero — cinematic full-bleed slider
   ---------------------------------------------------------- */
.hero-slider{ position:relative; height: 92vh; height: 92svh; min-height: 560px; overflow:hidden; background: var(--ink); }
.hero-slider__track{ position:absolute; inset:0; }
.hero-slider__slide{
  position:absolute; inset:0; opacity:0; transition: opacity 1.1s var(--ease);
}
.hero-slider__slide.is-active{ opacity:1; }
.hero-slider__slide img{ width:100%; height:100%; object-fit:cover; object-position: center 22%; }
.hero-slider__scrim{
  position:absolute; inset:0;
  background: linear-gradient(0deg, rgba(11,10,12,0.86) 0%, rgba(11,10,12,0.25) 45%, rgba(11,10,12,0.05) 65%);
}
.hero-slider__content{
  position:absolute; left:0; right:0; bottom:0; z-index:5;
  padding: 0 32px 64px;
  color: var(--bone);
}
.hero-slider__inner{ max-width: var(--wrap); margin:0 auto; }
.hero-slider__eyebrow{ font-family: var(--font-editorial); font-style:italic; color: var(--brass); font-size: 1.2rem; margin-bottom: 12px; }
.hero-slider__title{ font-size: clamp(3rem, 8vw, 6rem); }
.hero-slider__slogan{ font-family: var(--font-editorial); font-style:italic; font-size: clamp(1.1rem, 2vw, 1.6rem); color: var(--bone-dim); margin-top: 8px; }
.hero-slider__actions{ margin-top: 30px; display:flex; gap:16px; flex-wrap:wrap; align-items:center; }

.hero-slider__nav{
  position:absolute; z-index:6; bottom: 64px; right: 32px;
  display:flex; align-items:center; gap: 18px;
}
.hero-slider__dots{ display:flex; gap:9px; }
.hero-slider__dots button{
  width:9px; height:9px; border-radius:50%; border: 1.5px solid var(--bone); background:transparent; padding:0;
  transition: background 0.25s var(--ease), transform 0.25s var(--ease);
}
.hero-slider__dots button.is-active{ background: var(--bone); transform: scale(1.2); }
.hero-slider__arrows{ display:flex; gap:8px; }
.hero-slider__arrows button{
  width:42px; height:42px; border-radius:50%; border:1.5px solid var(--line-dark); background: rgba(11,10,12,0.35);
  color: var(--bone); display:flex; align-items:center; justify-content:center; transition: background 0.2s var(--ease), border-color 0.2s var(--ease);
}
.hero-slider__arrows button:hover{ background: var(--oxblood); border-color: var(--oxblood); }

@media (max-width: 720px){
  .hero-slider{ height: 82vh; height: 82svh; }
  .hero-slider__content{ padding: 0 20px 78px; }
  .hero-slider__arrows{ display:none; }
  .hero-slider__nav{ left:0; right:0; bottom: 24px; justify-content:center; }
}

/* ----------------------------------------------------------
   Section scaffolding
   ---------------------------------------------------------- */
.section{ padding-top: 108px; padding-bottom: 108px; }
.section--tight{ padding: 70px 0; }
.section--ink{ background: var(--ink); color: var(--bone); }
.section--dim{ background: var(--bone-dim); }
.section__head{ margin-bottom: 48px; max-width: 62ch; }
.section__title{ font-size: clamp(2rem, 4.2vw, 3.1rem); }
.section__lede{ margin-top: 16px; font-size: 1.08rem; max-width: 58ch; color: var(--ash); }
.section--ink .section__lede{ color: var(--bone-dim); }

/* ----------------------------------------------------------
   Current drop feature — with scarcity bar
   ---------------------------------------------------------- */
.drop-feature{ display:grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items:center; }
.drop-feature__media{ position:relative; }
.drop-feature__media img{ width:100%; aspect-ratio: 4/5; object-fit:cover; }
.drop-feature__media--studio{ box-shadow: 0 18px 44px rgba(11,10,12,0.16); }
.drop-feature__media--studio img{
  aspect-ratio: 3/2; object-fit: contain; background: #fff; padding: 28px;
}
.drop-feature__number{
  position:absolute; bottom:-24px; left:-24px;
  background: var(--bone); border: 1.5px solid var(--ink);
  font-family: var(--font-display); font-size: 1.05rem; padding: 13px 20px;
}
.drop-feature__price{ font-family: var(--font-display); font-size: 1.7rem; margin: 18px 0 20px; }
.stock-bar{ margin: 20px 0 28px; max-width: 280px; }
.stock-bar__track{ height:4px; background: var(--line); position:relative; overflow:hidden; }
.section--ink .stock-bar__track{ background: var(--line-dark); }
.stock-bar__fill{ position:absolute; inset:0 auto 0 0; background: var(--oxblood); transition: width 0.6s var(--ease); }
.stock-bar__label{ margin-top:9px; font-size:0.82rem; color: var(--ash); }
.section--ink .stock-bar__label{ color: var(--bone-dim); }

@media (max-width: 860px){
  .drop-feature{ grid-template-columns:1fr; gap:60px 0; }
  .drop-feature__number{ left: 0; }
}

/* ----------------------------------------------------------
   Editorial story section
   ---------------------------------------------------------- */
.story{ display:grid; grid-template-columns: 0.85fr 1.15fr; gap: 68px; align-items:center; }
.story__image{ aspect-ratio: 3/4; object-fit:cover; width:100%; }
.story__text p{ font-size: 1.1rem; margin: 0 0 20px; max-width: 48ch; }
@media (max-width: 860px){ .story{ grid-template-columns:1fr; } }

/* ----------------------------------------------------------
   Lookbook — drag/swipe scroll-snap slider, not a stacked grid
   ---------------------------------------------------------- */
.slider{ position:relative; }
.slider__viewport{
  display:flex; gap: 18px; overflow-x:auto; scroll-snap-type: x mandatory;
  padding: 0 32px 8px;
  scrollbar-width:none; cursor:grab; user-select:none;
}
.slider__viewport::-webkit-scrollbar{ display:none; }
.slider__viewport:active{ cursor:grabbing; }
.slider__item{ flex: 0 0 auto; scroll-snap-align:start; }
.slider__item img{ height: 62vh; height: 62svh; max-height:640px; width:auto; object-fit:cover; }
.slider__item--tall img{ aspect-ratio: 3/4.6; }
.slider__item--wide img{ aspect-ratio: 5/3.2; height:auto; width: 68vw; max-width:820px; }
.slider__caption{ font-family: var(--font-editorial); font-style:italic; color: var(--ash); font-size:0.95rem; margin-top:12px; max-width: 36ch; }

.slider__controls{ display:flex; justify-content:space-between; align-items:center; margin-top: 24px; }
.slider__arrows{ display:flex; gap:10px; }
.slider__arrows button{
  width:46px; height:46px; border-radius:50%; border:1.5px solid var(--ink); background:transparent; color: var(--ink);
  display:flex; align-items:center; justify-content:center; transition: background 0.2s var(--ease), color 0.2s var(--ease);
}
.slider__arrows button:hover{ background: var(--ink); color: var(--bone); }
.slider__arrows button:disabled{ opacity: 0.3; cursor:default; }
.slider__arrows button:disabled:hover{ background:transparent; color:var(--ink); }
.slider__hint{ font-family: var(--font-editorial); font-style:italic; color: var(--ash); font-size:0.95rem; }

@media (max-width: 720px){
  .slider__item img{ height: 46vh; height: 46svh; }
  .slider__item--wide img{ width: 84vw; }
  .slider__controls{ display:none; }
}

/* ----------------------------------------------------------
   Brand statement
   ---------------------------------------------------------- */
.statement{ font-size: clamp(2.1rem, 5.6vw, 4.2rem); max-width: 18ch; }
.statement em{ font-family: var(--font-editorial); font-style:italic; color: var(--oxblood); font-weight:400; }
.section--ink .statement em{ color: var(--brass); }

/* ----------------------------------------------------------
   Upcoming drops
   ---------------------------------------------------------- */
.next-grid{ display:grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--line-dark); }
.next-card{ background: var(--ink); padding: 36px 28px; min-height: 210px; display:flex; flex-direction:column; justify-content:space-between; transition: background 0.25s var(--ease); }
.next-card:hover{ background: var(--ink-raised); }
.next-card__num{ font-family: var(--font-display); font-size: 2.3rem; color: var(--brass); }
.next-card__name{ font-family: var(--font-editorial); font-style:italic; font-size: 1.15rem; margin-top: 10px; }
.next-card__status{ color: var(--bone-dim); font-size: 0.85rem; margin-top: 20px; }
@media (max-width: 760px){ .next-grid{ grid-template-columns: 1fr; } }

/* ----------------------------------------------------------
   Final CTA band
   ---------------------------------------------------------- */
.final-cta{ background: var(--oxblood); color: var(--white); padding: 120px 0; text-align:center; position:relative; }
.final-cta h2{ font-size: clamp(2.2rem, 5.6vw, 3.8rem); max-width: 18ch; margin: 0 auto 36px; }

/* ----------------------------------------------------------
   Drops index page
   ---------------------------------------------------------- */
.drops-list{ display:flex; flex-direction:column; gap: 1px; background: var(--line); }
.drop-row{
  background: var(--bone);
  display:grid;
  grid-template-columns: 84px 70px 1fr auto;
  grid-template-areas: "thumb num info chip";
  gap: 26px; align-items:center; padding: 22px 28px;
  transition: background 0.2s var(--ease);
}
.drop-row:hover{ background: var(--bone-dim); }
.drop-row__thumb{ grid-area:thumb; width:84px; height:84px; }
.drop-row__thumb img{ width:100%; height:100%; object-fit:cover; }
.drop-row__num{ grid-area:num; font-family: var(--font-display); font-size: 1.6rem; }
.drop-row__info{ grid-area:info; min-width:0; }
.drop-row__name{ font-size: 1.28rem; font-family: var(--font-display); }
.drop-row__meta{ font-family: var(--font-editorial); font-style:italic; color: var(--ash); font-size: 0.98rem; margin-top: 5px; }
.drop-row > .tag-chip{ grid-area:chip; }
.drop-row--archived{ opacity: 0.6; }
.drop-row--empty{ grid-template-columns: 1fr; grid-template-areas: "info"; padding: 30px 28px; }
@media (max-width: 700px){
  .drop-row{
    grid-template-columns: 68px 1fr;
    grid-template-areas:
      "thumb num"
      "thumb info"
      "chip chip";
    row-gap:8px; column-gap:16px; padding: 20px;
  }
  .drop-row__thumb{ width:68px; height:68px; grid-row: 1 / span 2; }
  .drop-row__num{ font-size:1.2rem; align-self:end; }
  .drop-row > .tag-chip{ justify-self:start; margin-top:2px; }
}

/* ----------------------------------------------------------
   Product / drop detail page — slider gallery
   ---------------------------------------------------------- */
.product{ display:grid; grid-template-columns: 1.15fr 0.85fr; gap: 68px; }

.pgallery{ position:relative; }
.pgallery__viewport{ position:relative; aspect-ratio: 4/5; overflow:hidden; background: var(--ink-raised); }
.pgallery__track{ display:flex; height:100%; transition: transform 0.5s var(--ease); }
.pgallery__slide{ flex: 0 0 100%; height:100%; }
.pgallery__slide img{ width:100%; height:100%; object-fit:cover; }
.pgallery__arrows{ position:absolute; inset:0; display:flex; align-items:center; justify-content:space-between; padding: 0 14px; pointer-events:none; }
.pgallery__arrows button{
  pointer-events:auto; width:46px; height:46px; border-radius:50%; border:none; background: rgba(250,248,244,0.88);
  color: var(--ink); display:flex; align-items:center; justify-content:center; box-shadow: 0 6px 18px rgba(11,10,12,0.18);
  transition: transform 0.2s var(--ease);
}
.pgallery__arrows button:hover{ transform: scale(1.08); }
.pgallery__counter{
  position:absolute; bottom:16px; right:16px; background: rgba(11,10,12,0.72); color: var(--bone);
  font-size: 0.78rem; letter-spacing:0.04em; padding: 6px 12px; font-family: var(--font-display);
}
.pgallery__thumbs{ display:grid; grid-template-columns: repeat(5,1fr); gap: 8px; margin-top: 10px; }
.pgallery__thumbs button{ border:1.5px solid transparent; background:none; padding:0; aspect-ratio:1; overflow:hidden; opacity:0.6; transition: opacity 0.2s var(--ease), border-color 0.2s var(--ease); }
.pgallery__thumbs button img{ width:100%; height:100%; object-fit:cover; }
.pgallery__thumbs button.is-active{ opacity:1; border-color: var(--ink); }

.product__info{ position: sticky; top: 96px; align-self:start; }
.product__drop-tag{ margin-bottom: 20px; }
.product__title{ font-size: clamp(1.9rem, 3.4vw, 2.5rem); margin-bottom: 10px; }
.product__price{ font-family: var(--font-display); font-size: 1.65rem; margin: 16px 0; }
.product__desc{ font-size: 1.03rem; margin: 22px 0; color: var(--ash); }
.product__meta-list{ border-top: 1px solid var(--line); margin-top: 28px; }
.product__meta-item{ border-bottom: 1px solid var(--line); padding: 18px 0; }
.product__meta-item summary{ cursor:pointer; font-weight:700; letter-spacing:0.01em; display:flex; justify-content:space-between; }
.product__meta-item summary::after{ content:'+'; font-family: var(--font-display); }
.product__meta-item[open] summary::after{ content:'−'; }
.product__meta-item p{ margin: 14px 0 0; color: var(--ash); }

.mobile-buybar{
  display:none; position:fixed; left:0; right:0; bottom:0; z-index:70;
  background: var(--bone); border-top:1px solid var(--line); padding: 14px 20px;
  align-items:center; justify-content:space-between; gap:16px;
  box-shadow: 0 -8px 24px rgba(11,10,12,0.12);
  transform: translateY(100%); transition: transform 0.3s var(--ease);
}
.mobile-buybar.is-visible{ transform: translateY(0); }
.mobile-buybar .btn{ padding: 13px 24px; }
@media (max-width: 900px){
  .product{ grid-template-columns:1fr; }
  .product__info{ position:static; }
  .mobile-buybar{ display:flex; }
}

/* ----------------------------------------------------------
   Forms — checkout / contact
   ---------------------------------------------------------- */
.form-grid{ display:grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.field{ display:flex; flex-direction:column; gap:9px; margin-bottom: 22px; }
.field--full{ grid-column: 1 / -1; }
.field label{ font-size: 0.83rem; font-weight: 700; }
.field input, .field textarea{
  border: none; border-bottom: 1.5px solid var(--ink);
  background: transparent; padding: 12px 2px; font-family: var(--font-body); font-size: 1.02rem; color: var(--ink);
  transition: border-color 0.2s var(--ease);
}
.field input:focus, .field textarea:focus{ outline:none; border-color: var(--oxblood); }
.field-error{ color: var(--oxblood); font-size: 0.85rem; }
@media (max-width: 700px){ .form-grid{ grid-template-columns: 1fr; } }

.checkout-layout{ display:grid; grid-template-columns: 1.2fr 0.8fr; gap: 60px; align-items:start; }
.order-summary{ background: var(--ink); color: var(--bone); padding: 34px; position: sticky; top: 96px; }
.order-summary__row{ display:flex; justify-content:space-between; padding: 15px 0; border-bottom: 1px solid var(--line-dark); }
.order-summary__total{ display:flex; justify-content:space-between; padding-top: 18px; font-family: var(--font-display); font-size:1.2rem; }
@media (max-width: 900px){ .checkout-layout{ grid-template-columns: 1fr; } .order-summary{ position: static; order:-1; } }

.alert{ padding: 16px 18px; border: 1.5px solid var(--ink); margin-bottom: 24px; }
.alert--error{ border-color: var(--oxblood); background: rgba(110,20,32,0.06); }
.alert--success{ border-color: #3E5C43; background: rgba(62,92,67,0.08); }

/* ----------------------------------------------------------
   Confirmation
   ---------------------------------------------------------- */
.confirmation{ max-width: 720px; margin: 0 auto; text-align:center; }
.confirmation__mark{ width: 66px; height:66px; border: 1.5px solid #3E5C43; border-radius:50%; display:flex; align-items:center; justify-content:center; margin: 0 auto 28px; color: #3E5C43; font-family: var(--font-display); font-size:1.6rem; }
.confirmation__detail-list{ text-align:left; border-top: 1px solid var(--line); margin-top: 44px; }
.confirmation__detail-row{ display:flex; justify-content:space-between; gap: 20px; padding: 17px 0; border-bottom: 1px solid var(--line); }
.confirmation__detail-row dt{ color: var(--ash); }
.confirmation__detail-row dd{ margin:0; font-weight:600; text-align:right; }

/* ----------------------------------------------------------
   About / Contact
   ---------------------------------------------------------- */
.page-hero{ padding-top: 76px; }
.page-hero h1{ font-size: clamp(2.3rem, 5vw, 3.5rem); max-width: 17ch; }
.contact-grid{ display:grid; grid-template-columns: 1fr 1fr; gap: 60px; }
.contact-info dt{ font-family: var(--font-editorial); font-style:italic; color: var(--oxblood); font-size:0.98rem; margin-top: 26px; }
.contact-info dd{ margin: 7px 0 0; font-size: 1.06rem; }
@media (max-width: 860px){ .contact-grid{ grid-template-columns: 1fr; } }

/* ----------------------------------------------------------
   Footer
   ---------------------------------------------------------- */
.site-footer{ background: var(--ink); color: var(--bone-dim); padding: 64px 0 32px; }
.site-footer__top{ display:flex; justify-content:space-between; flex-wrap:wrap; gap: 40px; padding-bottom: 44px; border-bottom: 1px solid var(--line-dark); }
.site-footer .logo{ color: var(--bone); }
.footer-cols{ display:flex; gap: 64px; flex-wrap:wrap; }
.footer-col h4{ font-family: var(--font-editorial); font-style:italic; font-weight:400; font-size:1rem; color: var(--brass); margin-bottom: 16px; }
.footer-col a{ display:block; padding: 6px 0; color: var(--bone-dim); font-size:0.95rem; transition: color 0.2s var(--ease); }
.footer-col a:hover{ color: var(--white); }
.site-footer__bottom{ display:flex; justify-content:space-between; padding-top: 26px; font-size:0.82rem; color: rgba(250,248,244,0.5); flex-wrap:wrap; gap:10px; }

/* Utility */
.text-center{ text-align:center; }
.visually-hidden{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
