/* =========================================================
   Šeširi Mistral — Kilim Geometry
   Palette: cobalt / lemon / terracotta / cream
   ========================================================= */

:root{
  --cobalt: #1f4d8f;
  --cobalt-dark: #10335f;
  --lemon: #e7b429;
  --lemon-deep: #c6940f;
  --terracotta: #bf4330;
  --terracotta-dark: #8f2f21;
  --cream: #f6efe0;
  --cream-soft: #efe4cb;
  --ink: #221c12;
  --ink-soft: #55492f;
  --white: #fffaf0;

  --font-display: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;
  --font-body: -apple-system, "Segoe UI", system-ui, Roboto, sans-serif;
  --font-mono: ui-monospace, "SF Mono", "Cascadia Mono", Consolas, monospace;

  --radius: 6px;
  --shadow-paper: 0 1px 1px rgba(34,28,18,.08), 0 10px 24px -14px rgba(34,28,18,.35);
  --ring: 0 0 0 3px rgba(31,77,143,.35);
}

*,*::before,*::after{ box-sizing: border-box; }
html,body{ overflow-x: clip; }
html{ scroll-behavior: smooth; }
body{
  margin:0;
  background: var(--cream);
  color: var(--ink);
  font-family: var(--font-body);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
img{ max-width:100%; display:block; }
a{ color: var(--cobalt-dark); text-decoration: none; }
h1,h2,h3,h4{ font-family: var(--font-display); line-height: 1.08; margin: 0 0 .5em; color: var(--ink); }
p{ margin: 0 0 1em; }
ul{ margin:0; padding:0; }
button{ font-family: inherit; }

:focus-visible{ outline: none; box-shadow: var(--ring); border-radius: 3px; }

.container{ width:100%; max-width: 1180px; margin-inline:auto; padding-inline: clamp(1.1rem, 4vw, 2.5rem); }
.visually-hidden{ position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

/* ---------- Icon sprite ---------- */
.icon-sprite{ display:none; }
.icon{ width:1.3em; height:1.3em; stroke: currentColor; fill:none; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; vertical-align:-.22em; }
.sv-cream{ fill: var(--cream); } .sv-white{ fill: var(--white); } .sv-ink{ fill: var(--ink); }
.sv-terracotta{ fill: var(--terracotta); } .sv-cobalt{ fill: var(--cobalt); } .sv-lemon{ fill: var(--lemon); }
.ss-ink{ stroke: var(--ink); } .ss-terracotta{ stroke: var(--terracotta); } .ss-cobalt{ stroke: var(--cobalt); }

/* ---------- Skip link ---------- */
.skip-link{ position:absolute; left:-999px; top:0; background:var(--ink); color:var(--white); padding:.6em 1em; z-index:200; }
.skip-link:focus{ left: .5rem; top:.5rem; }

/* ---------- Header ---------- */
.site-header{
  position: sticky; top:0; z-index:100;
  background: var(--cream);
  border-bottom: 3px solid var(--ink);
  background-image: linear-gradient(135deg, var(--terracotta) 0 6px, transparent 6px 12px);
  background-size: 14px 3px; background-repeat: repeat-x; background-position: bottom left;
}
.site-header__bar{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding-block: .7rem;
}
.brand{ display:flex; align-items:center; gap:.6rem; color:var(--ink); }
.brand__mark{ width:42px; height:42px; flex:none; }
.brand__word{ width: 150px; height:30px; flex:none; }
@media (max-width:480px){ .brand__word{ width:120px; height:24px; } }

.main-nav{ display:none; }
.main-nav ul{ display:flex; gap:1.4rem; list-style:none; }
.main-nav a{
  color: var(--ink); font-weight:600; font-size: .96rem; position:relative; padding:.3em 0;
}
.main-nav a::after{
  content:""; position:absolute; left:0; bottom:-2px; width:100%; height:2px; background: var(--terracotta);
  transform: scaleX(0); transform-origin:left; transition: transform .25s ease;
}
.main-nav a:hover::after, .main-nav a:focus-visible::after{ transform: scaleX(1); }

@media (min-width: 880px){
  .main-nav{ display:block; }
  .nav-toggle{ display:none; }
}

.header-actions{ display:flex; align-items:center; gap:.9rem; }
.cart-link{
  display:flex; align-items:center; gap:.4rem; font-weight:700; color:var(--ink);
  padding:.45em .7em; border:2px solid var(--ink); border-radius: 999px; background:var(--white);
}
.cart-link__count{
  display:inline-grid; place-items:center; min-width:1.5em; height:1.5em; padding:0 .25em;
  border-radius:999px; background:var(--terracotta); color:var(--white); font-size:.78rem; font-family:var(--font-mono);
  transition: transform .35s cubic-bezier(.34,1.56,.64,1);
}
.cart-link__count.bump{ transform: scale(1.5); }
@media (max-width: 480px){ .cart-link__label{ display:none; } }

.nav-toggle{
  width:46px; height:46px; display:grid; place-items:center; border:2px solid var(--ink);
  background:var(--white); border-radius: var(--radius); cursor:pointer;
}
.nav-toggle .icon{ width:1.5em; height:1.5em; }
.nav-toggle .icon-close{ display:none; }
.nav-toggle[aria-expanded="true"] .icon-menu{ display:none; }
.nav-toggle[aria-expanded="true"] .icon-close{ display:block; }

.mobile-nav{
  position:fixed; inset:0 0 0 auto; width: min(82vw, 340px); height:100vh; z-index:150;
  background: var(--ink); color: var(--cream); padding: 5.5rem 1.6rem 2rem;
  transform: translateX(100%); visibility:hidden; transition: transform .35s ease, visibility .35s ease;
  overflow-y:auto;
}
.mobile-nav.is-open{ transform: translateX(0); visibility:visible; }
.mobile-nav ul{ list-style:none; display:flex; flex-direction:column; gap:1.1rem; }
.mobile-nav a{ color: var(--cream); font-family: var(--font-display); font-size:1.4rem; }
.mobile-nav a:hover{ color: var(--lemon); }
.mobile-scrim{
  position:fixed; inset:0; z-index:140; background: rgba(16,12,6,.5);
  opacity:0; visibility:hidden; transition: opacity .35s ease, visibility .35s ease;
}
.mobile-scrim.is-open{ opacity:1; visibility:visible; }
@media (min-width:880px){ .mobile-nav, .mobile-scrim{ display:none; } }

/* ---------- Buttons ---------- */
.btn{
  position: relative; overflow:hidden; display:inline-flex; align-items:center; gap:.5em;
  padding: .8em 1.5em; border-radius: var(--radius); font-weight:700; font-size:1rem;
  border: 2px solid var(--ink); cursor:pointer; isolation:isolate; min-height:44px;
  background: var(--white); color: var(--ink); transition: color .3s ease, border-color .3s ease;
}
.btn::before{
  content:""; position:absolute; inset:0; left:-100%; width:100%; background: var(--ink); z-index:-1;
  transition: left .3s ease;
}
.btn:hover::before, .btn:focus-visible::before{ left:0; }
.btn:hover, .btn:focus-visible{ color: var(--cream); }
.btn-primary{ background: var(--cobalt); border-color: var(--cobalt); color: var(--white); }
.btn-primary::before{ background: var(--terracotta); }
.btn-primary:hover, .btn-primary:focus-visible{ color: var(--white); border-color: var(--terracotta); }
.btn-lemon{ background: var(--lemon); border-color: var(--ink); color: var(--ink); }
.btn-lemon::before{ background: var(--ink); }
.btn-lemon:hover{ color: var(--lemon); }
.btn-ghost{ background: transparent; }
.btn[disabled]{ opacity:.55; cursor:not-allowed; }
.btn[disabled]::before{ display:none; }

/* ---------- Hero ---------- */
.hero{
  position: relative; overflow:hidden;
  background: linear-gradient(180deg, var(--cream) 0%, var(--cream-soft) 100%);
  padding-block: clamp(2.5rem, 7vw, 5rem);
  border-bottom: 1px solid rgba(34,28,18,.12);
}
.hero__grid{
  position:relative; z-index:3; display:grid; gap:2rem; align-items:center;
  grid-template-columns: 1.1fr .9fr;
}
@media (max-width: 860px){ .hero__grid{ grid-template-columns: 1fr; } }
.hero__eyebrow{
  display:inline-flex; align-items:center; gap:.5em; font-family: var(--font-mono); letter-spacing:.08em;
  text-transform: uppercase; font-size:.78rem; color: var(--terracotta-dark); font-weight:700; margin-bottom:.8em;
}
.hero h1{
  font-size: clamp(2.6rem, 7.6vw, 5.4rem); letter-spacing:-.01em;
}
.hero h1 em{ font-style:normal; color: var(--cobalt); }
.hero p.lede{ font-size: clamp(1.05rem,2vw,1.25rem); max-width: 34ch; color: var(--ink-soft); }
.hero__ctas{ display:flex; gap:1rem; flex-wrap:wrap; margin-top:1.4rem; }

.hero__art{ position:relative; min-height: 320px; z-index:2; }
.hero__photo{
  position:relative; border-radius: 10px; overflow:hidden; box-shadow: var(--shadow-paper);
  border: 6px solid var(--white); transform: rotate(-1.4deg);
}
.hero__photo img{ width:100%; height:100%; object-fit:cover; aspect-ratio: 4/5; filter: saturate(1.05) contrast(1.03); }
.parallax-shape{ position:absolute; pointer-events:none; will-change:transform; transition: transform .25s ease-out; z-index:1; }
.parallax-shape svg{ width:100%; height:100%; display:block; }
.shape-sun{ top:-8%; right:4%; width: 110px; }
.shape-sun svg{ animation: drift-rotate 38s linear infinite; }
@keyframes drift-rotate{ to{ transform: rotate(360deg); } }
.shape-wave{ bottom:-4%; left:-8%; width:220px; opacity:.9; }
.shape-diamond{ top:38%; left:-6%; width:70px; }
.shape-bird{ top:8%; left:30%; width:46px; }
@media (max-width:860px){ .shape-sun{ right:-2%; } .shape-wave{ left:-14%; } }

/* ---------- Kilim divider ---------- */
.kilim-divider{ width:100%; height: 26px; display:block; color: var(--terracotta); }
.kilim-divider .alt{ color: var(--cobalt); }
.kilim-divider.flip{ transform: scaleY(-1); }

/* ---------- Grain overlay ---------- */
.grain-overlay{
  position:fixed; inset:0; width:100vw; height:100vh; pointer-events:none; z-index:300;
  opacity:.05; mix-blend-mode: multiply;
}

/* ---------- Numbered sections ---------- */
.section{ padding-block: clamp(3rem, 7vw, 6rem); position:relative; }
.section--cream{ background: var(--cream); }
.section--soft{ background: var(--cream-soft); }
.section--ink{ background: var(--ink); color: var(--cream); }
.section--ink h2, .section--ink h3{ color: var(--white); }
.section--ink a{ color: var(--lemon); }
.section--ink a.btn-lemon{ color: var(--ink); }
.section--ink a.btn-lemon:hover{ color: var(--lemon); }

.numbered{ display:grid; grid-template-columns: auto minmax(0,1fr); gap: clamp(1rem,4vw,3rem); align-items:start; }
.numbered__num{
  font-family: var(--font-display); font-size: clamp(4.2rem, 11vw, 8.5rem); line-height:.8;
  color: var(--cobalt); font-weight:400; letter-spacing:-.03em; opacity:.2;
}
.section--ink .numbered__num{ color: var(--lemon); }
@supports (-webkit-text-stroke: 1px black){
  .numbered__num{ color: transparent; -webkit-text-stroke: 2px var(--cobalt); opacity:.85; }
  .section--ink .numbered__num{ -webkit-text-stroke: 2px var(--lemon); }
}
@media (max-width: 680px){
  .numbered{ grid-template-columns: minmax(0,1fr); }
  .numbered__num{ font-size: 3.6rem; }
}
.section__head{ max-width: 56ch; margin-bottom: 1.8rem; }
.section__head p{ color: var(--ink-soft); font-size:1.08rem; }
.section--ink .section__head p{ color: #d8cdb0; }

/* ---------- Reveal animation ---------- */
.reveal{ opacity:1; transform:none; }
.js-reveal .reveal{ opacity:0; transform: translateY(26px); clip-path: inset(0 0 12% 0); }
.js-reveal .reveal.in-view{
  opacity:1; transform:none; clip-path: inset(0 0 0 0);
  transition: opacity .7s ease, transform .7s ease, clip-path .7s ease;
}
.js-reveal .reveal:nth-child(2){ transition-delay: .06s; }
.js-reveal .reveal:nth-child(3){ transition-delay: .12s; }
.js-reveal .reveal:nth-child(4){ transition-delay: .18s; }
@media (prefers-reduced-motion: reduce){
  .js-reveal .reveal, .js-reveal .reveal.in-view{ transition:none !important; opacity:1 !important; transform:none !important; clip-path:none !important; }
  .parallax-shape{ transition:none !important; }
  .shape-sun svg{ animation:none !important; }
}

/* ---------- Feature: Mistral Mjerač ---------- */
.sizer{
  background: var(--white); border: 2px solid var(--ink); border-radius: 14px;
  padding: clamp(1.4rem, 4vw, 2.4rem); box-shadow: var(--shadow-paper);
  display:grid; gap: 2rem; grid-template-columns: 1fr 1fr;
}
@media (max-width: 760px){ .sizer{ grid-template-columns: 1fr; } }
.sizer__tape{ display:flex; flex-direction:column; gap:1rem; }
.sizer__readout{ display:flex; align-items:baseline; gap:.6rem; font-family:var(--font-mono); }
.sizer__readout strong{ font-family: var(--font-display); font-size: 2.8rem; color: var(--cobalt); }
input[type="range"].sizer__range{ accent-color: var(--terracotta); width:100%; height:44px; }
.sizer__scale{ display:flex; justify-content:space-between; font-family:var(--font-mono); font-size:.75rem; color: var(--ink-soft); }
.sizer__matches{ display:flex; flex-direction:column; gap:.8rem; }
.sizer__match{
  display:flex; align-items:center; gap:.8rem; border:1px solid var(--cream-soft); border-radius: var(--radius);
  padding:.6rem; background: var(--cream);
}
.sizer__match img{ width:56px; height:56px; object-fit:cover; border-radius:5px; flex:none; }
.sizer__match .name{ font-weight:700; }
.sizer__match .price{ font-family: var(--font-mono); color: var(--terracotta-dark); margin-left:auto; }
.sizer__note{ font-size:.85rem; color: var(--ink-soft); }

/* ---------- Product grid / strip ---------- */
.product-grid{ display:grid; gap: 1.5rem; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); }
.product-strip{
  display:flex; gap:1.2rem; overflow-x:auto; padding-bottom: .5rem; scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}
.product-strip .product-card{ min-width: 230px; scroll-snap-align:start; }
@media (min-width: 760px){ .product-strip{ display:grid; grid-template-columns: repeat(4,1fr); overflow:visible; } }

.product-card{
  background: var(--white); border:1px solid var(--cream-soft); border-radius: 10px; overflow:hidden;
  box-shadow: var(--shadow-paper); display:flex; flex-direction:column; transition: transform .3s ease;
}
.product-card:hover{ transform: translateY(-6px); }
.product-card__media{ aspect-ratio: 4/3; overflow:hidden; background: var(--cream-soft); }
.product-card__media img{ width:100%; height:100%; object-fit:cover; transition: transform .5s ease; }
.product-card:hover .product-card__media img{ transform: scale(1.08); }

/* Duotone treatment per category — distinguishes shared workshop photography across listings */
.duotone-straw, [data-cat="straw"] img{ filter: sepia(.35) saturate(1.45) hue-rotate(-6deg) brightness(1.05); }
.duotone-felt, [data-cat="felt"] img{ filter: sepia(.2) saturate(1.05) hue-rotate(170deg) brightness(.95) contrast(1.05); }
.duotone-custom, [data-cat="custom"] img{ filter: sepia(.45) saturate(1.3) hue-rotate(14deg) contrast(1.08); }
.duotone-dodaci, [data-cat="dodaci"] img{ filter: saturate(1.2) contrast(1.05); }
.duotone-cool{ filter: sepia(.15) saturate(1.1) hue-rotate(165deg) brightness(.97); }
.duotone-warm{ filter: sepia(.3) saturate(1.3) hue-rotate(-5deg) brightness(1.02); }
.product-card__body{ padding: 1rem 1.1rem 1.2rem; display:flex; flex-direction:column; gap:.4rem; flex:1; }
.product-card__cat{ font-family: var(--font-mono); font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; color: var(--cobalt); }
.product-card__name{ font-size:1.05rem; margin:0; }
.product-card__price{ font-family: var(--font-mono); font-weight:700; color: var(--terracotta-dark); margin-top:auto; }
.product-card__link{ position:static; }
.product-card a.product-card__link::after{ content:""; position:absolute; inset:0; }
.product-card{ position:relative; }

/* ---------- Badge / ornament ---------- */
.badge-seal{ width: 112px; height:112px; color: var(--terracotta); margin-bottom: .8rem; }
.ornament{ width: 32px; height:32px; color: var(--cobalt); }
.section--ink .badge-seal .ss-ink{ stroke: var(--cream); }
.section--ink .badge-seal .sv-ink{ fill: var(--cream); }

/* ---------- About / split layout ---------- */
.split{ display:grid; gap: 2.4rem; grid-template-columns: 1fr 1fr; align-items:center; }
@media (max-width:820px){ .split{ grid-template-columns: 1fr; } }
.split__media{ position:relative; }
.split__media img{ border-radius: 10px; box-shadow: var(--shadow-paper); aspect-ratio: 4/3; object-fit:cover; width:100%; }
.split__media .ornament{ position:absolute; bottom:-16px; right:-16px; background:var(--white); border-radius:50%; padding:8px; box-shadow: var(--shadow-paper); }

/* ---------- Forms ---------- */
.form-grid{ display:grid; gap:1.2rem; }
.field{ display:flex; flex-direction:column; gap:.4rem; }
.field label{ font-weight:700; font-size:.92rem; }
.field input, .field textarea, .field select{
  font: inherit; padding: .75em .9em; border: 2px solid var(--ink); border-radius: var(--radius);
  background: var(--white); color: var(--ink); min-height:44px; accent-color: var(--cobalt);
}
.field textarea{ min-height:120px; resize:vertical; }
.field input:focus-visible, .field textarea:focus-visible, .field select:focus-visible{ box-shadow: var(--ring); }
.field.has-error input, .field.has-error textarea{ border-color: var(--terracotta); }
.field__error{ color: var(--terracotta-dark); font-size:.85rem; min-height:1.2em; }
.checkbox-row{ display:flex; align-items:flex-start; gap:.6em; }
.checkbox-row input{ margin-top:.3em; width:1.2em; height:1.2em; accent-color: var(--cobalt); }
.hp-field{ position:absolute !important; left:-9999px; width:1px; height:1px; opacity:0; }
.form-status{ margin-top:1rem; font-weight:700; }
.form-status.ok{ color: var(--cobalt-dark); }
.form-status.err{ color: var(--terracotta-dark); }

/* ---------- Catalog filters ---------- */
.filters{ display:flex; gap:.7rem; flex-wrap:wrap; margin-bottom:2rem; }
.filters button{
  border:2px solid var(--ink); background: var(--white); border-radius:999px; padding:.5em 1.1em;
  font-weight:700; cursor:pointer; min-height:44px;
}
.filters button[aria-pressed="true"]{ background: var(--cobalt); border-color: var(--cobalt); color: var(--white); }

/* ---------- Product detail ---------- */
.product-detail{ display:grid; gap:2.5rem; grid-template-columns: 1fr 1fr; }
@media (max-width:820px){ .product-detail{ grid-template-columns:1fr; } }
.product-detail__media img{ width:100%; border-radius:10px; box-shadow: var(--shadow-paper); aspect-ratio: 4/3; object-fit:cover; }
.product-detail__price{ font-family: var(--font-mono); font-size:1.6rem; color: var(--terracotta-dark); font-weight:700; }
.qty-row{ display:flex; align-items:center; gap:1rem; margin-block:1.2rem; }
.qty-row input{ width:4.5rem; text-align:center; }
.size-row{ display:flex; gap:.6rem; flex-wrap:wrap; margin-block:1rem; }
.size-chip{ border:2px solid var(--ink); border-radius:999px; padding:.4em .9em; font-family:var(--font-mono); font-size:.85rem; }

/* ---------- Cart / checkout ---------- */
.cart-table{ width:100%; border-collapse: collapse; }
.cart-table th, .cart-table td{ text-align:left; padding:.8em .6em; border-bottom:1px solid var(--cream-soft); }
.cart-table img{ width:56px; height:56px; object-fit:cover; border-radius:5px; }
.cart-row__name{ display:flex; align-items:center; gap:.7em; font-weight:700; }
.cart-qty{ width:4rem; min-height:38px; }
.cart-remove{ background:none; border:none; color: var(--terracotta-dark); font-weight:700; cursor:pointer; }
.cart-summary{ margin-top:1.5rem; display:flex; justify-content:flex-end; }
.cart-summary table{ font-family: var(--font-mono); }
.cart-summary td{ padding:.3em .8em; }
.checkout-grid{ display:grid; gap:2.5rem; grid-template-columns: 1.1fr .9fr; margin-top:2.5rem; }
@media (max-width:860px){ .checkout-grid{ grid-template-columns:1fr; } }
.order-summary{ background: var(--cream-soft); border-radius:10px; padding:1.4rem; align-self:start; position:sticky; top:6rem; }
.empty-cart{ text-align:center; padding: 3rem 1rem; }

/* ---------- FAQ accordion ---------- */
.faq-item{ border-bottom:1px solid var(--cream-soft); }
.faq-item summary{
  display:flex; justify-content:space-between; align-items:center; cursor:pointer; padding:1.1em 0;
  font-family: var(--font-display); font-size:1.15rem; list-style:none;
}
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary .icon{ transition: transform .3s ease; flex:none; }
.faq-item[open] summary .icon{ transform: rotate(180deg); }
.faq-item p{ padding-bottom:1.2em; color: var(--ink-soft); max-width:62ch; }

/* ---------- Legal pages ---------- */
.legal{ max-width: 72ch; }
.legal h2{ margin-top:2em; font-size:1.4rem; }

/* ---------- Newsletter ---------- */
.newsletter{ display:flex; gap:.7rem; flex-wrap:wrap; }
.newsletter input[type="email"]{ flex:1; min-width:200px; }

/* ---------- Cookie banner ---------- */
.cookie-banner{
  position:fixed; left:1rem; right:1rem; bottom:1rem; z-index:400; max-width: 560px;
  background: var(--ink); color: var(--cream); border-radius: 12px; padding: 1.2rem 1.4rem;
  box-shadow: 0 20px 40px -10px rgba(0,0,0,.4); display:none; gap:1rem; flex-wrap:wrap; align-items:center;
}
.cookie-banner.is-visible{ display:flex; }
.cookie-banner p{ margin:0; flex:1 1 220px; font-size:.92rem; }
.cookie-banner .btn-ghost{ border-color: var(--cream); color: var(--cream); }
.cookie-banner .btn-ghost::before{ background: var(--cream); }
.cookie-banner .btn-ghost:hover{ color: var(--ink); }
.cookie-banner a{ color: var(--lemon); text-decoration: underline; }

/* ---------- Footer ---------- */
.site-footer{ background: var(--ink); color: var(--cream-soft); position:relative; }
.site-footer a{ color: var(--cream-soft); }
.site-footer a:hover{ color: var(--lemon); }
.site-footer .brand__mark circle{ stroke: var(--cream); }
.footer-grid{ display:grid; gap:2.2rem; grid-template-columns: 1.3fr 1fr 1fr 1.1fr; padding-block: 3rem; }
@media (max-width: 820px){ .footer-grid{ grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px){ .footer-grid{ grid-template-columns: 1fr; } }
.footer-grid h3{ color: var(--white); font-size:1rem; text-transform:uppercase; letter-spacing:.06em; font-family:var(--font-body); font-weight:700; }
.footer-grid ul{ list-style:none; display:flex; flex-direction:column; gap:.6em; }
.footer-bottom{ border-top:1px solid rgba(255,255,255,.12); padding: 1.2rem 0; display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; font-size:.85rem; }

/* ---------- 404 ---------- */
.notfound{ text-align:center; padding: 5rem 1rem; }
.notfound .numbered__num{ font-size: clamp(6rem,22vw,12rem); display:block; text-align:center; }

/* ---------- Utility ---------- */
.mt-0{ margin-top:0; }
.text-center{ text-align:center; }
.stack{ display:flex; flex-direction:column; gap:1rem; }
