/* =========================================================
   Win Facility Solutions — Editorial site design system
   Calor Miami palette · Fraunces + Inter · Engineer's eye
   ========================================================= */

:root{
  /* Calor Miami palette */
  --sand:#F5F1EA;
  --sand-2:#EDE7DC;            /* slightly deeper sand for plates */
  --forest:#1F3A2E;
  --forest-2:#173024;
  --terracotta:#C56342;
  --terracotta-deep:#A94F31;
  --sage:#9CAF88;
  --sage-line:#B7C4A6;
  --charcoal:#1E293B;
  --frost:#F1F5F9;

  /* Working tokens */
  --ink: var(--forest);
  --ink-soft: color-mix(in oklab, var(--forest) 70%, var(--sand) 30%);
  --ink-faint: color-mix(in oklab, var(--forest) 45%, var(--sand) 55%);
  --rule: color-mix(in oklab, var(--forest) 18%, transparent);
  --rule-strong: color-mix(in oklab, var(--forest) 28%, transparent);
  --hair: 1px;

  --max: 1320px;
  --gutter: clamp(28px, 5vw, 64px);
  --col-gap: 24px;

  /* Type */
  --serif: "Fraunces", "Iowan Old Style", Georgia, "Times New Roman", serif;
  --sans:  "Inter", ui-sans-serif, system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
  --mono:  "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
}

*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
html{background:var(--sand);color:var(--ink);}
body{
  font-family:var(--sans);
  font-size:17px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  font-feature-settings:"ss01","cv11";
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
::selection{background:var(--terracotta);color:var(--sand)}

/* ---------- Layout primitives ---------- */
.wrap{max-width:var(--max);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.grid12{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--col-gap)}
.hr{height:var(--hair);background:var(--rule);width:100%}
.hr-strong{height:var(--hair);background:var(--rule-strong);width:100%}
.hr-sage{height:var(--hair);background:var(--sage-line)}

/* ---------- Type ---------- */
.eyebrow{
  font-family:var(--sans);
  font-weight:500;
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--ink-soft);
  font-feature-settings:"tnum";
}
.eyebrow .dot{display:inline-block;width:6px;height:6px;background:var(--terracotta);border-radius:50%;vertical-align:middle;margin:0 12px 2px 0}

.cap{
  font-family:var(--sans);
  font-weight:500;
  font-size:10.5px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--ink-soft);
}

.num{
  font-family:var(--serif);
  font-style:italic;
  font-weight:500;
  color:var(--terracotta);
  font-feature-settings:"tnum","lnum";
}

h1,h2,h3,h4{
  font-family:var(--serif);
  font-weight:500;
  letter-spacing:-0.012em;
  margin:0;
  color:var(--forest);
  text-wrap:pretty;
}
.display{
  font-size:clamp(54px,9vw,128px);
  line-height:.96;
  letter-spacing:-0.02em;
  text-wrap:balance;
}
.display em{
  font-style:italic;
  color:var(--terracotta);
  font-weight:500;
}
.h-section{
  font-size:clamp(34px,4.4vw,56px);
  line-height:1.02;
  letter-spacing:-0.018em;
}
.h-block{
  font-size:clamp(26px,2.6vw,36px);
  line-height:1.08;
}
.h-sub{
  font-size:clamp(20px,1.6vw,24px);
  line-height:1.2;
}
em.italic, .italic{font-style:italic}
.serif{font-family:var(--serif)}

.lede{
  font-family:var(--sans);
  font-size:clamp(17px,1.35vw,21px);
  line-height:1.5;
  color:var(--ink);
  max-width:46ch;
  text-wrap:pretty;
}
.body{
  font-size:16.5px;
  line-height:1.62;
  color:var(--ink);
  max-width:62ch;
  text-wrap:pretty;
}
.body p{margin:0 0 1em}
.muted{color:var(--ink-soft)}
.faint{color:var(--ink-faint)}

/* Editorial running marginalia / pull */
.margin-note{
  font-family:var(--serif);
  font-style:italic;
  font-weight:500;
  font-size:15px;
  line-height:1.45;
  color:var(--ink-soft);
  border-left:1px solid var(--terracotta);
  padding-left:14px;
}

/* ---------- Buttons / CTAs ---------- */
.cta{
  display:inline-flex;align-items:center;gap:14px;
  padding:18px 26px;
  background:var(--forest);color:var(--sand);
  border-radius:10px;
  font-weight:500;font-size:14px;letter-spacing:.04em;
  transition:background .2s ease,transform .2s ease;
}
.cta:hover{background:var(--forest-2)}
.cta .arr{font-family:var(--serif);font-style:italic;font-size:18px;line-height:1;color:var(--terracotta);transition:transform .2s ease}
.cta:hover .arr{transform:translateX(4px)}
.cta--terra{background:var(--terracotta);color:var(--sand)}
.cta--terra:hover{background:var(--terracotta-deep)}
.cta--terra .arr{color:var(--sand)}
.cta--ghost{background:transparent;color:var(--forest);border:1px solid var(--rule-strong)}
.cta--ghost:hover{background:transparent;border-color:var(--forest)}

.link{
  display:inline-flex;align-items:center;gap:10px;
  font-weight:500;font-size:14px;letter-spacing:.02em;
  color:var(--forest);
  padding-bottom:4px;
  border-bottom:1px solid var(--rule-strong);
  transition:border-color .2s ease;
}
.link:hover{border-color:var(--terracotta)}
.link .arr{font-family:var(--serif);font-style:italic;color:var(--terracotta);transition:transform .2s ease}
.link:hover .arr{transform:translateX(3px)}

/* ---------- Nav ---------- */
.nav{
  position:sticky;top:0;z-index:50;
  background:color-mix(in oklab, var(--sand) 92%, transparent);
  backdrop-filter:saturate(140%) blur(8px);
  border-bottom:1px solid var(--rule);
}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand{display:flex;align-items:center;gap:14px}
.brand-mark{width:36px;height:36px;flex:none}
.brand-name{display:flex;flex-direction:column;line-height:1}
.brand-name b{font-family:var(--sans);font-weight:700;font-size:15.5px;letter-spacing:0}
.brand-name span{font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;margin-top:4px;color:var(--ink-soft);font-weight:500}
.nav-links{display:flex;align-items:center;gap:36px}
.nav-links a{
  font-size:13.5px;font-weight:500;letter-spacing:.02em;
  color:var(--forest);
  position:relative;padding:6px 0;
}
.nav-links a[aria-current="page"]::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:1.5px;background:var(--terracotta);
}
.nav-links a:hover{color:var(--terracotta-deep)}
.nav-cta{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--forest);color:var(--sand);
  padding:12px 18px;border-radius:8px;
  font-size:13px;font-weight:500;letter-spacing:.02em;
}
.nav-cta:hover{background:var(--forest-2)}
.nav-cta .arr{font-family:var(--serif);font-style:italic;color:var(--terracotta)}

/* ---------- Mobile menu (burger + fullscreen overlay) ---------- */
.nav-burger{
  display:none;
  width:44px;height:44px;
  align-items:center;justify-content:center;
  background:transparent;border:0;cursor:pointer;
  color:var(--forest);
  margin-right:-10px;
}
.nav-burger .bars{position:relative;width:22px;height:14px;display:block}
.nav-burger .bars::before,
.nav-burger .bars::after{
  content:"";position:absolute;left:0;right:0;height:1.5px;
  background:currentColor;
  transition:transform .3s cubic-bezier(.22,.61,.36,1), top .3s cubic-bezier(.22,.61,.36,1);
}
.nav-burger .bars::before{top:0}
.nav-burger .bars::after{top:12px}
.nav-burger[aria-expanded="true"] .bars::before{top:6px;transform:rotate(45deg)}
.nav-burger[aria-expanded="true"] .bars::after{top:6px;transform:rotate(-45deg)}

.nav-overlay{
  position:fixed;inset:0;z-index:100;
  background:var(--sand);
  display:flex;flex-direction:column;
  padding:24px var(--gutter) 40px;
  opacity:0;visibility:hidden;
  transform:translateY(-8px);
  transition:opacity .3s ease, transform .3s cubic-bezier(.22,.61,.36,1), visibility .3s;
}
.nav-overlay[data-open="true"]{
  opacity:1;visibility:visible;transform:translateY(0);
}
.nav-overlay .ov-head{
  display:flex;align-items:center;justify-content:space-between;
  height:72px;flex:none;
  border-bottom:1px solid var(--rule);
  margin-bottom:32px;
}
.nav-overlay .ov-close{
  width:44px;height:44px;
  display:inline-flex;align-items:center;justify-content:center;
  background:transparent;border:0;cursor:pointer;color:var(--forest);
  margin-right:-10px;
}
.nav-overlay .ov-close svg{width:20px;height:20px}
.nav-overlay .ov-links{
  display:flex;flex-direction:column;gap:0;flex:1;
  padding-top:8px;
}
.nav-overlay .ov-links a{
  font-family:var(--serif);font-weight:500;
  font-size:clamp(28px,7vw,40px);
  line-height:1.1;letter-spacing:-0.015em;
  color:var(--forest);
  padding:18px 0;
  border-bottom:1px solid var(--rule);
  display:flex;align-items:baseline;justify-content:space-between;gap:18px;
}
.nav-overlay .ov-links a .idx{
  font-family:var(--sans);font-weight:500;
  font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--ink-soft);
}
.nav-overlay .ov-links a[aria-current="page"]{color:var(--terracotta)}
.nav-overlay .ov-links a[aria-current="page"] em{font-style:italic}
.nav-overlay .ov-cta{
  margin-top:32px;
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  background:var(--forest);color:var(--sand);
  padding:20px 22px;border-radius:10px;
  font-size:15px;font-weight:500;letter-spacing:.01em;
}
.nav-overlay .ov-cta .arr{font-family:var(--serif);font-style:italic;color:var(--terracotta);font-size:18px}
.nav-overlay .ov-foot{
  margin-top:24px;padding-top:18px;border-top:1px solid var(--rule);
  font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);font-weight:500;
  display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;
}
.nav-overlay .ov-foot a{color:inherit}
body.nav-open{overflow:hidden}

/* ---------- Footer ---------- */
.foot{
  margin-top:120px;
  border-top:1px solid var(--rule);
  padding:64px 0 40px;
  color:var(--ink);
  background:var(--sand);
}
.foot-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1fr;
  gap:48px;
  align-items:start;
}
.foot h5{font-family:var(--serif);font-weight:500;font-size:15px;margin:0 0 14px;letter-spacing:-0.005em}
.foot ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.foot a, .foot li{font-size:14px;color:var(--ink-soft)}
.foot a:hover{color:var(--terracotta-deep)}
.foot .phone{font-family:var(--serif);font-size:26px;line-height:1;color:var(--forest);font-weight:500;letter-spacing:-0.01em}
.foot .small{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);margin-top:18px;font-weight:500}
.foot-bottom{
  margin-top:56px;padding-top:24px;border-top:1px solid var(--rule);
  display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;
  font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);font-weight:500;
}
.foot-bottom .langs{display:inline-flex;gap:18px}
.foot-bottom .langs span::before{content:"·  ";color:var(--terracotta);font-style:italic;font-family:var(--serif)}

/* ---------- Reusable plates ---------- */
.plate{
  background:var(--sand-2);
  border:1px solid var(--rule);
  border-radius:2px;
  padding:36px;
}
.plate--forest{background:var(--forest);color:var(--sand);border-color:transparent}
.plate--forest h2,.plate--forest h3,.plate--forest h4{color:var(--sand)}
.plate--forest .eyebrow,.plate--forest .cap,.plate--forest .muted{color:color-mix(in oklab, var(--sand) 70%, transparent)}

/* Editorial numbered list */
.num-list{display:flex;flex-direction:column;gap:0;margin:0;padding:0;list-style:none}
.num-list li{
  display:grid;grid-template-columns:64px 1fr;gap:28px;
  padding:26px 0;border-top:1px solid var(--rule);
}
.num-list li:last-child{border-bottom:1px solid var(--rule)}
.num-list .n{
  font-family:var(--serif);font-style:italic;font-weight:500;
  font-size:30px;color:var(--terracotta);line-height:1;
  font-feature-settings:"tnum";
}
.num-list .t{font-family:var(--serif);font-weight:500;font-size:22px;line-height:1.15;margin:0 0 8px;letter-spacing:-0.01em}
.num-list .b{font-size:15px;line-height:1.6;color:var(--ink-soft);max-width:62ch;text-wrap:pretty}

/* Range tag */
.range{
  display:inline-flex;align-items:baseline;gap:6px;
  font-family:var(--serif);font-weight:500;font-size:30px;
  font-variant-numeric:tabular-nums lining-nums;
  letter-spacing:-0.01em;
}
.range small{font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-left:6px}

/* Section header pattern */
.section-head{
  display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:baseline;
  padding-top:18px;border-top:1px solid var(--rule-strong);
  margin-bottom:36px;
}
.section-head .idx{font-family:var(--serif);font-style:italic;font-weight:500;color:var(--terracotta);font-size:18px;font-feature-settings:"tnum"}
.section-head h2{max-width:18ch}

/* Page hero spacing */
.page-hero{padding:88px 0 56px}
.section{padding:88px 0}
.section-tight{padding:56px 0}
.section-loose{padding:120px 0}

/* =========================================================
   Field plates — documentary photography as editorial chapas
   ========================================================= */
.field-plate{display:flex;flex-direction:column;gap:14px}
.field-plate .frame{
  position:relative;
  background:var(--sand-2);
  border:1px solid var(--rule);
  padding:10px;
}
.field-plate .frame image-slot{
  display:block;
  width:100%;
  aspect-ratio:4/5;
  background:var(--sand);
  border:1px solid var(--rule);
  --image-slot-bg: var(--sand);
  --image-slot-color: var(--ink-soft);
  --image-slot-placeholder-font: italic 500 14px/1.4 var(--serif);
}
.field-plate .frame image-slot[data-aspect="wide"]{aspect-ratio:3/2}
.field-plate .frame image-slot[data-aspect="square"]{aspect-ratio:1/1}
.field-plate .frame image-slot[data-aspect="tall"]{aspect-ratio:4/5}
.field-plate .frame .corner{position:absolute;width:14px;height:14px;border:1px solid var(--terracotta);pointer-events:none}
.field-plate .frame .corner.tl{top:-1px;left:-1px;border-right:0;border-bottom:0}
.field-plate .frame .corner.tr{top:-1px;right:-1px;border-left:0;border-bottom:0}
.field-plate .frame .corner.bl{bottom:-1px;left:-1px;border-right:0;border-top:0}
.field-plate .frame .corner.br{bottom:-1px;right:-1px;border-left:0;border-top:0}
.field-plate .meta{
  display:flex;justify-content:space-between;align-items:baseline;gap:18px;flex-wrap:wrap;
  font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);font-weight:500;
}
.field-plate .meta .idx{font-family:var(--serif);font-style:italic;letter-spacing:0;text-transform:none;color:var(--terracotta);font-size:15px;font-weight:500}
.field-plate .cap-line{
  font-family:var(--serif);font-style:italic;font-weight:500;
  font-size:15.5px;line-height:1.4;color:var(--ink);
  max-width:34ch;text-wrap:pretty;
}

/* "In the field" section on home */
.fieldsection{padding:120px 0 56px;border-top:1px solid var(--rule-strong)}
.fieldsection .field-head{
  display:grid;grid-template-columns:auto 1fr 320px;gap:40px;align-items:end;
  padding-top:18px;margin-bottom:56px;
}
.field-head h2{font-size:clamp(40px,5.2vw,68px);line-height:1;letter-spacing:-0.022em;max-width:16ch}
.field-head h2 em{font-style:italic;color:var(--terracotta);font-weight:500}
.field-head .right{font-size:15px;line-height:1.55;color:var(--ink-soft);max-width:32ch}
.field-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;align-items:start}

/* Slim photo band — single-image strip for HOA/Medical pages */
.field-band{padding:64px 0 24px}
.field-band-inner{
  display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:end;
  padding-top:24px;border-top:1px solid var(--rule);
}
.field-band-inner .plate{padding:0;background:transparent;border:0}
.field-band-inner .frame{
  position:relative;background:var(--sand-2);border:1px solid var(--rule);padding:10px;
}
.field-band-inner image-slot{
  display:block;width:100%;aspect-ratio:16/9;background:var(--sand);border:1px solid var(--rule);
  --image-slot-placeholder-font: italic 500 14px/1.4 var(--serif);
  --image-slot-color: var(--ink-soft);
}
.field-band-inner .corner{position:absolute;width:14px;height:14px;border:1px solid var(--terracotta);pointer-events:none}
.field-band-inner .corner.tl{top:-1px;left:-1px;border-right:0;border-bottom:0}
.field-band-inner .corner.tr{top:-1px;right:-1px;border-left:0;border-bottom:0}
.field-band-inner .corner.bl{bottom:-1px;left:-1px;border-right:0;border-top:0}
.field-band-inner .corner.br{bottom:-1px;right:-1px;border-left:0;border-top:0}
.field-band-inner .meta{
  display:flex;justify-content:space-between;align-items:baseline;gap:18px;flex-wrap:wrap;margin-top:14px;
  font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);font-weight:500;
}
.field-band-inner .meta .idx{font-family:var(--serif);font-style:italic;letter-spacing:0;text-transform:none;color:var(--terracotta);font-size:15px;font-weight:500}
.field-band-inner aside{display:flex;flex-direction:column;gap:18px;padding-bottom:14px}
.field-band-inner aside .quote{font-family:var(--serif);font-style:italic;font-weight:500;font-size:21px;line-height:1.35;color:var(--ink);max-width:28ch;text-wrap:pretty}
.field-band-inner aside .quote em{color:var(--terracotta);font-weight:500}
.field-band-inner aside .attrib{font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);font-weight:500;line-height:1.6}

@media (max-width:900px){
  .fieldsection .field-head{grid-template-columns:1fr;gap:18px}
  .field-grid{grid-template-columns:1fr;gap:32px}
  .field-band-inner{grid-template-columns:1fr;gap:32px}
}

/* ========== FIELD LAYOUT VARIATIONS (toggled via Tweaks) ========== */

/* Layout B — Hero plate + pair below */
body.field-layout-b .field-grid{
  grid-template-columns:1fr 1fr;
  grid-template-rows:auto auto;
  gap:32px 32px;
}
body.field-layout-b .field-grid .field-plate:nth-child(1){
  grid-column:1 / -1;
  margin-top:0;
}
body.field-layout-b .field-grid .field-plate:nth-child(1) .frame image-slot{
  aspect-ratio:21/9;
}
body.field-layout-b .field-grid .field-plate:nth-child(2),
body.field-layout-b .field-grid .field-plate:nth-child(3){
  margin-top:0;
}
body.field-layout-b .field-grid .field-plate:nth-child(2) .frame image-slot,
body.field-layout-b .field-grid .field-plate:nth-child(3) .frame image-slot{
  aspect-ratio:4/5;
}

/* Layout C — Dark spread, magazine-style */
body.field-layout-c .fieldsection{
  background:var(--forest);
  margin:0 calc(-1 * var(--gutter));
  padding:96px var(--gutter) 96px;
  border-top:0;
  position:relative;
}
body.field-layout-c .fieldsection .wrap{padding:0;max-width:var(--max)}
body.field-layout-c .field-head h2,
body.field-layout-c .field-head .right{color:var(--sand)}
body.field-layout-c .field-head .right{color:color-mix(in oklab, var(--sand) 78%, transparent)}
body.field-layout-c .field-head .num{color:var(--terracotta)}
body.field-layout-c .field-grid .field-plate .frame{
  background:color-mix(in oklab, var(--sand) 10%, var(--forest));
  border-color:color-mix(in oklab, var(--sand) 18%, transparent);
}
body.field-layout-c .field-grid .field-plate .frame image-slot{
  background:color-mix(in oklab, var(--sand) 6%, var(--forest));
  border-color:color-mix(in oklab, var(--sand) 14%, transparent);
  --image-slot-color: color-mix(in oklab, var(--sand) 60%, transparent);
}
body.field-layout-c .field-grid .field-plate .meta{
  color:color-mix(in oklab, var(--sand) 65%, transparent);
}
body.field-layout-c .field-grid .field-plate .cap-line{
  color:var(--sand);
}
body.field-layout-c .field-grid .field-plate .cap-line em{color:var(--terracotta)}
body.field-layout-c .field-grid .field-plate:nth-child(1){margin-top:48px}
body.field-layout-c .field-grid .field-plate:nth-child(2){margin-top:0}
body.field-layout-c .field-grid .field-plate:nth-child(3){margin-top:96px}

/* ========== TWEAKS PANEL ========== */
.wf-tweaks{
  position:fixed;right:24px;bottom:24px;z-index:200;
  background:var(--sand);
  border:1px solid var(--rule-strong);
  border-radius:10px;
  padding:18px 20px 20px;
  width:264px;
  box-shadow:0 14px 40px -8px rgba(31,58,46,.18), 0 2px 6px rgba(31,58,46,.06);
  font-family:var(--sans);
  display:none;
}
.wf-tweaks.show{display:block}
.wf-tweaks .wt-head{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding-bottom:12px;border-bottom:1px solid var(--rule);margin-bottom:14px;
}
.wf-tweaks .wt-title{font-family:var(--serif);font-style:italic;font-weight:500;font-size:18px;color:var(--forest);letter-spacing:-0.005em}
.wf-tweaks .wt-close{
  background:transparent;border:0;cursor:pointer;font-size:18px;line-height:1;color:var(--ink-soft);
  padding:4px 8px;border-radius:4px;
}
.wf-tweaks .wt-close:hover{background:var(--sand-2);color:var(--forest)}
.wf-tweaks .wt-section{margin-bottom:8px}
.wf-tweaks .wt-label{
  font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);font-weight:500;margin-bottom:10px;
}
.wf-tweaks .wt-radios{display:flex;flex-direction:column;gap:6px}
.wf-tweaks .wt-radio{
  display:flex;align-items:center;gap:10px;cursor:pointer;
  padding:10px 12px;border:1px solid var(--rule);border-radius:6px;
  background:var(--sand);transition:border-color .15s ease, background .15s ease;
}
.wf-tweaks .wt-radio:hover{border-color:var(--rule-strong)}
.wf-tweaks .wt-radio input{position:absolute;opacity:0;pointer-events:none}
.wf-tweaks .wt-radio .dot{
  width:14px;height:14px;flex:none;border-radius:50%;border:1px solid var(--rule-strong);
  display:inline-flex;align-items:center;justify-content:center;
}
.wf-tweaks .wt-radio .dot::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--terracotta);transform:scale(0);transition:transform .15s ease}
.wf-tweaks .wt-radio.active{border-color:var(--terracotta);background:color-mix(in oklab, var(--terracotta) 6%, var(--sand))}
.wf-tweaks .wt-radio.active .dot{border-color:var(--terracotta)}
.wf-tweaks .wt-radio.active .dot::after{transform:scale(1)}
.wf-tweaks .wt-radio .lbl{display:flex;flex-direction:column;gap:2px;line-height:1.2}
.wf-tweaks .wt-radio .lbl b{font-family:var(--sans);font-weight:600;font-size:13px;color:var(--forest);letter-spacing:0}
.wf-tweaks .wt-radio .lbl span{font-size:11.5px;color:var(--ink-soft);font-family:var(--serif);font-style:italic;letter-spacing:0}
.wf-tweaks .wt-hint{
  margin-top:14px;padding-top:12px;border-top:1px solid var(--rule);
  font-size:11px;line-height:1.45;color:var(--ink-soft);font-family:var(--serif);font-style:italic;
}

/* ========== HERO SUBTLE MOTION ========== */
.hero-display em{
  display:inline-block;
}
@keyframes wf-hairline-grow{
  from{transform:scaleX(0)}
  to{transform:scaleX(1)}
}
.hero-ribbon{position:relative;overflow:hidden}
.hero-ribbon::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;
  background:var(--terracotta);
  transform-origin:left center;
  animation:wf-hairline-grow 2.4s cubic-bezier(.22,.61,.36,1) .4s both;
}

/* Inline mark — the terracotta "eye" — small */
.eye{
  display:inline-block;width:.55em;height:.18em;background:var(--terracotta);border-radius:.18em;
  vertical-align:.18em;
}

/* ---------- Mobile ---------- */
@media (max-width: 900px){
  .grid12{grid-template-columns:repeat(6,1fr)}
  .nav-links{display:none}
  .nav-cta{display:none}
  .nav-burger{display:inline-flex}
  .foot-grid{grid-template-columns:1fr 1fr}
  .num-list li{grid-template-columns:44px 1fr;gap:18px}
  .num-list .n{font-size:24px}
}
@media (max-width: 560px){
  .foot-grid{grid-template-columns:1fr}
  .section,.section-loose{padding:64px 0}
}

/* ---------- Print ---------- */
@media print{
  .nav,.foot{display:none}
  body{background:white;color:black}
}
