/* ————————————————————————————————————————
   Susan E. Dawson — sedawson.com
   Design 02 · "Culture, twice"
   Gambetta (display) · Switzer (text)
   ———————————————————————————————————————— */

:root {
  --paper: #F3F4EF;
  --ink: #10263E;
  --ink-60: rgba(16, 38, 62, 0.62);
  --ink-30: rgba(16, 38, 62, 0.3);
  --ink-12: rgba(16, 38, 62, 0.13);
  --blue: #2050A8;
  --blue-deep: #173E86;
  --jade: #1E6E52;
  --jade-soft: #9CC4B2;
  --tint-blue: #E4EAF3;
  --tint-agar: #E6EDE2;
  --white: #FDFDFB;

  --serif: 'Gambetta', Georgia, serif;
  --sans: 'Switzer', -apple-system, 'Helvetica Neue', sans-serif;

  --gutter: clamp(22px, 5vw, 64px);
  --maxw: 1280px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3 { font-family: var(--serif); font-weight: 500; margin: 0; line-height: 1.05; text-wrap: balance; }
p { margin: 0; }
a { color: inherit; }
img { max-width: 100%; display: block; }
.wrap { max-width: var(--maxw); margin: 0 auto; padding-left: var(--gutter); padding-right: var(--gutter); }

.smallcaps {
  font-family: var(--sans); font-weight: 600; font-size: 12px;
  letter-spacing: 0.15em; text-transform: uppercase; color: var(--ink);
}
.smallcaps.dim { color: var(--ink-60); }
.smallcaps.jade { color: var(--jade); }
.serifcap { font-family: var(--serif); font-style: italic; font-size: 15.5px; color: var(--ink-60); }

/* photographs — natural, with the faintest unifying tone */
.tone img { filter: saturate(0.95) contrast(1.02); }

/* links */
.tlink { color: var(--ink); text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 5px; text-decoration-color: var(--ink-30); transition: text-decoration-color 0.25s; }
.tlink:hover { text-decoration-color: var(--jade); }

/* buttons */
.btn {
  display: inline-flex; align-items: center; gap: 12px;
  font-family: var(--sans); font-weight: 600; font-size: 15px;
  padding: 16px 28px; border: 1.5px solid var(--blue);
  background: var(--blue); color: #fff; text-decoration: none;
  transition: background 0.25s, border-color 0.25s; cursor: pointer;
}
.btn:hover { background: var(--blue-deep); border-color: var(--blue-deep); }
.btn.ghost { background: transparent; color: var(--ink); border-color: var(--ink-30); }
.btn.ghost:hover { border-color: var(--jade); background: transparent; }
.btn .arr { font-family: var(--serif); font-size: 18px; line-height: 1; }

/* ————— top rule + nav ————— */
.toprule { height: 4px; background: var(--ink); }
header {
  position: sticky; top: 0; z-index: 100;
  background: var(--paper);
  transition: box-shadow 0.3s;
}
header.scrolled { box-shadow: 0 1px 0 var(--ink-12); }
.nav {
  display: flex; align-items: center; justify-content: space-between;
  padding-top: 20px; padding-bottom: 20px; gap: 20px;
}
.brand { font-family: var(--serif); font-weight: 500; font-size: 21px; text-decoration: none; letter-spacing: 0.005em; white-space: nowrap; }
.nav-links { display: flex; gap: 30px; align-items: center; }
.nav-links a { font-size: 15px; font-weight: 500; text-decoration: none; color: var(--ink-60); transition: color 0.2s; padding-bottom: 4px; border-bottom: 2px solid transparent; }
.nav-links a:hover { color: var(--ink); }
.nav-links a.active { color: var(--ink); border-bottom-color: var(--jade); }
.nav .btn { padding: 12px 22px; font-size: 14px; }
.nav-right { display: flex; align-items: center; gap: 18px; }
.menu-btn {
  display: none; flex-direction: column; gap: 5px; justify-content: center;
  width: 44px; height: 44px; padding: 10px;
  background: none; border: 1.5px solid var(--ink-30); cursor: pointer;
}
.menu-btn span { display: block; height: 2px; background: var(--ink); transition: transform 0.3s, opacity 0.3s; }
.menu-btn[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.menu-btn[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.menu-btn[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.mnav {
  display: none; position: fixed; inset: 0; z-index: 90;
  background: var(--paper); padding: 110px var(--gutter) 40px; overflow-y: auto;
}
.mnav.open { display: block; }
.mnav a {
  display: block; font-family: var(--serif); font-size: 32px; font-weight: 500;
  text-decoration: none; padding: 15px 0; border-bottom: 1px solid var(--ink-12);
}
.mnav a.active { color: var(--jade); }
.mnav .btn { font-family: var(--sans); font-size: 15px; margin-top: 28px; display: inline-flex; border-bottom: none; padding: 16px 28px; color: #fff; }
@media (max-width: 900px) {
  .nav-links { display: none; }
  .menu-btn { display: flex; }
  .nav .btn.nav-cta { display: none; }
}

/* ————— shared page head (subpages) ————— */
.pagehead { padding-top: clamp(44px, 6vw, 84px); }
.kicker { display: flex; align-items: center; gap: 14px; margin-bottom: 24px; }
.kicker::before { content: ""; width: 44px; height: 2px; background: var(--jade); flex: none; }
.pagehead h1 { font-size: clamp(44px, 6vw, 92px); letter-spacing: -0.015em; max-width: 16ch; }
.pagehead h1 em { font-style: italic; font-weight: 400; }
.pagehead .lede { margin-top: 26px; font-size: 19px; line-height: 1.65; color: var(--ink-60); max-width: 58ch; }
.pagehead .lede strong { color: var(--ink); font-weight: 600; }
.pagehead-rule { margin-top: clamp(36px, 5vw, 56px); border-top: 2.5px solid var(--ink); }

/* ————— home hero ————— */
.hero { position: relative; overflow: hidden; }
.hero-grid {
  display: grid; grid-template-columns: 7fr 5fr; gap: clamp(32px, 5vw, 80px);
  align-items: center; padding-top: clamp(36px, 5vw, 72px); padding-bottom: clamp(40px, 5vw, 72px);
}
.hero-eyebrow { margin-bottom: 26px; display: flex; align-items: center; gap: 16px; }
.hero-eyebrow::before { content: ""; width: 44px; height: 2px; background: var(--jade); flex: none; }
.hero h1 { font-size: clamp(52px, 7vw, 104px); letter-spacing: -0.015em; }
.hero h1 em { font-style: italic; font-weight: 400; }
.hero-sub { margin-top: 30px; font-size: 18.5px; line-height: 1.65; color: var(--ink-60); max-width: 50ch; }
.hero-sub strong { color: var(--ink); font-weight: 600; }
.hero-ctas { margin-top: 38px; display: flex; gap: 28px; align-items: center; flex-wrap: wrap; }
.hero-portrait { position: relative; align-self: center; }
.hero-portrait figure { margin: 0; }
/* the cutout sits inside the agar disc at every size */
.hero-portrait .cut-wrap {
  width: min(100%, 470px); aspect-ratio: 1; border-radius: 50%;
  background: var(--tint-agar); overflow: hidden;
  margin: 0 auto; display: flex; align-items: flex-end; justify-content: center;
}
.hero-portrait .cutout { width: 86%; height: auto; display: block; }
.hero-portrait figcaption { margin-top: 16px; text-align: center; }
@media (max-width: 860px) {
  .hero-grid { grid-template-columns: 1fr; }
  .hero-portrait { order: -1; }
  .hero-portrait .cut-wrap { width: min(72%, 320px); }
}

/* trust band */
.trust { border-top: 2.5px solid var(--ink); padding-top: 18px; padding-bottom: 26px; }
.trust-row { display: grid; grid-template-columns: repeat(4, auto); gap: 12px 34px; justify-content: space-between; align-items: baseline; font-size: 11.5px; }
.trust a { color: var(--jade); text-decoration: none; }
.trust a:hover { text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 1080px) { .trust-row { grid-template-columns: repeat(2, auto); } }
@media (max-width: 560px) { .trust-row { grid-template-columns: 1fr; } }

/* ————— tinted statement bands ————— */
.band-blue { background: var(--tint-blue); position: relative; overflow: hidden; }
.band-agar { background: var(--tint-agar); position: relative; overflow: hidden; }
.band-ink { background: var(--ink); color: var(--paper); position: relative; overflow: hidden; }
.band-pad { padding-top: clamp(64px, 8vw, 116px); padding-bottom: clamp(64px, 8vw, 116px); }

.culture h2 { font-size: clamp(34px, 4.6vw, 64px); max-width: 21ch; letter-spacing: -0.01em; }
.culture h2 em { font-style: italic; color: var(--blue); }
.culture-lede { margin-top: 26px; font-size: 19px; line-height: 1.65; color: var(--ink-60); max-width: 58ch; }
.culture-cols { margin-top: clamp(40px, 5vw, 64px); display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 4vw, 56px); }
.cul-col { border-top: 2px solid var(--ink); padding-top: 20px; }
.cul-col h3 { font-size: 26px; }
.cul-col p { margin-top: 12px; font-size: 16px; color: var(--ink-60); max-width: 44ch; }
.colony { position: absolute; right: -60px; top: -70px; opacity: 0.5; pointer-events: none; }
@media (max-width: 760px) { .culture-cols { grid-template-columns: 1fr; } }

/* ————— section heads ————— */
.sec-head { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-bottom: 8px; }
.sec-head .smallcaps { display: flex; align-items: center; gap: 14px; color: var(--jade); }
.sec-head .smallcaps::before { content: ""; width: 44px; height: 2px; background: var(--jade); }
.band-ink .sec-head .smallcaps { color: var(--jade-soft); }
.band-ink .sec-head .smallcaps::before { background: var(--jade-soft); }
.sec-title { font-size: clamp(36px, 4.8vw, 68px); letter-spacing: -0.012em; margin-top: 18px; max-width: 22ch; }
.sec-title em { font-style: italic; font-weight: 400; }
.sec-lede { margin-top: 22px; font-size: 18px; color: var(--ink-60); max-width: 58ch; line-height: 1.65; }

/* ————— ruled index ————— */
.index { margin-top: clamp(40px, 5vw, 60px); border-top: 2.5px solid var(--ink); }
.row {
  display: grid; grid-template-columns: minmax(220px, 5fr) 6fr minmax(130px, 2fr);
  gap: clamp(18px, 3vw, 44px); align-items: baseline;
  padding: clamp(24px, 3vw, 38px) 8px;
  border-bottom: 1px solid var(--ink-12);
  position: relative; transition: background 0.3s;
  text-decoration: none; color: inherit;
}
.row:hover { background: var(--white); }
.row .r-name { font-family: var(--serif); font-size: clamp(22px, 2.6vw, 32px); font-weight: 500; transition: transform 0.3s; }
.row:hover .r-name { transform: translateX(6px); }
.row .r-desc { font-size: 16px; color: var(--ink-60); max-width: 52ch; }
.row .r-for { text-align: right; color: var(--jade); }
@media (max-width: 860px) {
  .row { grid-template-columns: 1fr; gap: 8px; }
  .row .r-for { text-align: left; }
}
.index-foot { display: flex; gap: 28px; align-items: center; padding-top: 34px; flex-wrap: wrap; }

/* ————— record / 44 ————— */
.record-grid { display: grid; grid-template-columns: 5fr 7fr; gap: clamp(32px, 5vw, 80px); align-items: start; }
.fig44 .num {
  font-family: var(--serif); font-weight: 500; line-height: 0.8;
  font-size: clamp(150px, 21vw, 300px); letter-spacing: -0.04em;
  font-variant-numeric: tabular-nums;
}
.fig44 .num-cap { margin-top: 18px; font-size: 18px; color: var(--ink-60); max-width: 30ch; line-height: 1.55; }
.fig44 .num-cap strong { color: var(--ink); font-weight: 600; }
.scope { border-radius: 50%; overflow: hidden; position: relative; }
.fig44 .scope { margin-top: 40px; width: min(66%, 300px); aspect-ratio: 1; }
.scope img { width: 100%; height: 100%; object-fit: cover; }
.scope-cap { margin-top: 14px; }
.career { border-top: 2.5px solid var(--ink); }
.c-row {
  display: grid; grid-template-columns: 110px 1fr; gap: clamp(18px, 3vw, 40px);
  padding: clamp(22px, 2.6vw, 32px) 4px; border-bottom: 1px solid var(--ink-12); align-items: baseline;
}
.c-row .yr { font-family: var(--serif); font-size: clamp(24px, 2.6vw, 34px); font-weight: 500; font-variant-numeric: tabular-nums; }
.c-row .what { font-size: 16.5px; color: var(--ink-60); line-height: 1.55; max-width: 56ch; }
.c-row .what strong { color: var(--ink); font-weight: 600; }
.career-note { padding-top: 26px; }
@media (max-width: 900px) { .record-grid { grid-template-columns: 1fr; } }

/* ————— speaking band ————— */
.speaking-inner { display: grid; grid-template-columns: 5fr 7fr; gap: clamp(36px, 5vw, 90px); align-items: center; }
.speak-scope { width: min(100%, 420px); aspect-ratio: 1; justify-self: center; }
.speak-scope img { object-position: 24% 30%; }
.band-ink h2 { color: var(--paper); }
.band-ink .lede { margin-top: 22px; font-size: 17.5px; line-height: 1.65; color: rgba(243, 244, 239, 0.72); max-width: 54ch; }
.topics { margin-top: 34px; border-top: 1.5px solid rgba(243, 244, 239, 0.35); }
.topics .t-row { display: flex; justify-content: space-between; gap: 20px; align-items: baseline; padding: 16px 2px; border-bottom: 1px solid rgba(243, 244, 239, 0.16); }
.topics .t-name { font-family: var(--serif); font-size: 21px; }
.topics .t-tag { font-size: 13px; color: var(--jade-soft); }
.band-ink .btn { margin-top: 36px; background: var(--paper); border-color: var(--paper); color: var(--ink); }
.band-ink .btn:hover { background: #fff; border-color: #fff; }
@media (max-width: 900px) { .speaking-inner { grid-template-columns: 1fr; } .speak-scope { width: min(78%, 340px); } }

/* ————— book ————— */
.book-inner { display: grid; grid-template-columns: 4fr 7fr; gap: clamp(36px, 6vw, 100px); align-items: center; }
.book-cover { width: min(100%, 360px); box-shadow: 24px 28px 0 rgba(16, 38, 62, 0.12); }
.book-cover img { width: 100%; }
.book-inner h2, .book-inner h1 { font-size: clamp(36px, 4.6vw, 62px); margin-top: 18px; }
.booksub { font-family: var(--serif); font-style: italic; font-size: clamp(20px, 2.2vw, 26px); color: var(--ink-60); margin-top: 10px; }
.book-lede { margin-top: 24px; font-size: 17.5px; line-height: 1.65; color: var(--ink-60); max-width: 54ch; }
.book-ctas { margin-top: 34px; display: flex; gap: 26px; align-items: center; flex-wrap: wrap; }
.book-shelfnote { margin-top: 26px; }
@media (max-width: 860px) { .book-inner { grid-template-columns: 1fr; } .book-cover { width: min(70%, 300px); } }

/* ————— prose (About) ————— */
.prose-grid { display: grid; grid-template-columns: 7fr 4fr; gap: clamp(40px, 6vw, 100px); align-items: start; }
.prose section { margin-bottom: clamp(40px, 5vw, 60px); }
.prose .kicker { margin-bottom: 16px; }
.prose h2 { font-size: clamp(28px, 3.4vw, 44px); margin-bottom: 16px; }
.prose p { font-size: 17.5px; line-height: 1.75; color: var(--ink-60); max-width: 62ch; margin-bottom: 1em; }
.prose p strong { color: var(--ink); font-weight: 600; }
.prose p em { font-family: var(--serif); font-style: italic; }
.pull {
  border-top: 2px solid var(--jade); border-bottom: 1px solid var(--ink-12);
  padding: clamp(28px, 4vw, 44px) 0; margin: clamp(40px, 5vw, 60px) 0;
}
.pull p { font-family: var(--serif); font-style: italic; font-size: clamp(24px, 2.8vw, 34px); line-height: 1.35; color: var(--ink); max-width: 26ch; margin: 0; }
.aside-col { position: sticky; top: 110px; }
.aside-col figure { margin: 0 0 16px; }
.aside-col .ph { overflow: hidden; }
.aside-col img { width: 100%; }
.cred { border-top: 2.5px solid var(--ink); margin-top: 34px; }
.cred-row { padding: 18px 2px; border-bottom: 1px solid var(--ink-12); }
.cred-row .k { font-size: 12px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--jade); margin-bottom: 4px; }
.cred-row .v { font-family: var(--serif); font-size: 18px; line-height: 1.4; }
@media (max-width: 900px) { .prose-grid { grid-template-columns: 1fr; } .aside-col { position: static; } }

/* photo strip */
.photostrip { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: clamp(40px, 5vw, 64px); }
.photostrip figure { margin: 0; }
.photostrip .ph { overflow: hidden; aspect-ratio: 16 / 10; }
.photostrip img { width: 100%; height: 100%; object-fit: cover; }
.photostrip figcaption { margin-top: 12px; }
@media (max-width: 700px) { .photostrip { grid-template-columns: 1fr; } }

/* ————— service blocks (Consulting) ————— */
.svc { display: grid; grid-template-columns: 5fr 7fr; gap: clamp(24px, 4vw, 72px); padding: clamp(36px, 5vw, 56px) 0; border-bottom: 1px solid var(--ink-12); }
.svc:first-of-type { border-top: 2.5px solid var(--ink); }
.svc h2 { font-size: clamp(26px, 3.2vw, 42px); max-width: 14ch; }
.svc .s-for { margin-top: 14px; color: var(--jade); }
.svc .s-body p { font-size: 17px; line-height: 1.7; color: var(--ink-60); max-width: 58ch; margin-bottom: 18px; }
.svc .s-body p strong { color: var(--ink); font-weight: 600; }
.olist { border-top: 1px solid var(--ink-12); }
.olist li {
  list-style: none; padding: 13px 0 13px 26px; border-bottom: 1px solid var(--ink-12);
  font-size: 15.5px; color: var(--ink-60); position: relative;
}
.olist { margin: 0; padding: 0; }
.olist li::before { content: "—"; position: absolute; left: 0; color: var(--jade); }
@media (max-width: 860px) { .svc { grid-template-columns: 1fr; gap: 16px; } }

/* who-cols */
.who-cols { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 4vw, 56px); margin-top: clamp(36px, 5vw, 56px); }
.who-col { border-top: 2px solid var(--ink); padding-top: 20px; }
.who-col h3 { font-size: 24px; }
.who-col p { margin-top: 12px; font-size: 16px; color: var(--ink-60); max-width: 46ch; line-height: 1.65; }
@media (max-width: 760px) { .who-cols { grid-template-columns: 1fr; } }

/* numbered steps (a real sequence) */
.steps { margin-top: clamp(36px, 5vw, 56px); border-top: 2.5px solid var(--ink); }
.step-row { display: grid; grid-template-columns: 90px minmax(200px, 4fr) 7fr; gap: clamp(18px, 3vw, 44px); padding: clamp(24px, 3vw, 36px) 4px; border-bottom: 1px solid var(--ink-12); align-items: baseline; }
.step-row .n { font-family: var(--serif); font-size: clamp(26px, 3vw, 40px); font-weight: 500; color: var(--jade); }
.step-row h3 { font-size: clamp(22px, 2.4vw, 30px); }
.step-row p { font-size: 16px; color: var(--ink-60); max-width: 54ch; line-height: 1.65; }
@media (max-width: 860px) { .step-row { grid-template-columns: 60px 1fr; } .step-row p { grid-column: 2; } }

/* ————— insights ————— */
.works-tag { color: var(--jade); }
.subscribe { margin-top: clamp(44px, 6vw, 72px); border-top: 2.5px solid var(--ink); padding-top: 30px; display: flex; justify-content: space-between; gap: 24px; align-items: baseline; flex-wrap: wrap; }
.subscribe h3 { font-size: 27px; }
.subscribe p { font-size: 16px; color: var(--ink-60); max-width: 46ch; margin-top: 10px; }

/* ————— contact ————— */
.contact-grid { display: grid; grid-template-columns: 5fr 6fr; gap: clamp(40px, 6vw, 100px); margin-top: clamp(36px, 5vw, 56px); align-items: start; }
.sched { border-top: 2.5px solid var(--ink); padding-top: 26px; }
.sched h3, form h3 { font-size: 27px; }
.sched p { margin-top: 14px; font-size: 16px; color: var(--ink-60); max-width: 42ch; line-height: 1.6; }
.sched .btn { margin-top: 26px; }
.sched-alt { margin-top: 34px; padding-top: 22px; border-top: 1px solid var(--ink-12); font-size: 15.5px; color: var(--ink-60); line-height: 1.7; }
.sched-alt a { color: var(--ink); }
form.enquiry { border-top: 2.5px solid var(--ink); padding-top: 26px; }
form.enquiry h3 { margin-bottom: 22px; }
.f-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 20px; }
.f-field { display: flex; flex-direction: column; gap: 8px; }
.f-field.full { grid-column: 1 / -1; }
label { font-size: 12px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; }
input, select, textarea {
  font-family: var(--sans); font-size: 16px; color: var(--ink);
  background: var(--white); border: 1px solid var(--ink-30);
  padding: 13px 14px; border-radius: 0; appearance: none; -webkit-appearance: none;
  width: 100%;
}
select { background-image: linear-gradient(45deg, transparent 50%, var(--ink) 50%), linear-gradient(135deg, var(--ink) 50%, transparent 50%); background-position: calc(100% - 21px) 50%, calc(100% - 15px) 50%; background-size: 6px 6px; background-repeat: no-repeat; }
textarea { min-height: 130px; resize: vertical; }
input:focus, select:focus, textarea:focus { outline: 2px solid var(--blue); outline-offset: -1px; border-color: var(--blue); }
form.enquiry .btn { margin-top: 24px; border-width: 0; }
.form-note { margin-top: 16px; font-size: 14px; color: var(--ink-60); }
.f-field.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.form-done { font-family: var(--serif); font-size: 22px; font-style: italic; padding: 30px 0 10px; }
@media (max-width: 860px) { .contact-grid { grid-template-columns: 1fr; } .f-grid { grid-template-columns: 1fr; } }

/* ————— CTA band ————— */
.cta-band { border-top: 2.5px solid var(--ink); margin-top: clamp(72px, 9vw, 130px); }
.cta-inner { padding-top: clamp(48px, 6vw, 84px); padding-bottom: clamp(56px, 7vw, 96px); }
.cta-band h2 { font-size: clamp(38px, 5.4vw, 76px); letter-spacing: -0.012em; max-width: 18ch; }
.cta-band h2 em { font-style: italic; font-weight: 400; }
.cta-band .cta-row { margin-top: 36px; display: flex; gap: 28px; align-items: center; flex-wrap: wrap; }

/* section spacing helpers */
.sect { padding-top: clamp(72px, 9vw, 130px); }
.sect-tight { padding-top: clamp(48px, 6vw, 84px); }
.band-gap { margin-top: clamp(72px, 9vw, 130px); }

/* ————— footer ————— */
footer { background: var(--ink); color: var(--paper); margin-top: 0; }
.foot-inner { padding-top: clamp(48px, 6vw, 72px); padding-bottom: 56px; }
.foot-top { display: flex; justify-content: space-between; gap: 36px; flex-wrap: wrap; align-items: flex-start; }
.amcs { display: flex; gap: 18px; align-items: center; }
.amcs svg { flex: none; }
.amcs .a1 { font-weight: 700; font-size: 16px; letter-spacing: 0.14em; text-transform: uppercase; }
.amcs .a2 { font-size: 11.5px; letter-spacing: 0.3em; text-transform: uppercase; opacity: 0.65; margin-top: 3px; }
.amcs .a3 { font-family: var(--serif); font-style: italic; font-size: 14.5px; color: var(--jade-soft); margin-top: 8px; }
.foot-links { display: flex; gap: 30px; flex-wrap: wrap; }
.foot-links a { color: var(--paper); font-size: 15px; text-decoration: none; border-bottom: 1px solid rgba(243, 244, 239, 0.3); padding-bottom: 2px; transition: border-color 0.25s; }
.foot-links a:hover { border-color: var(--jade-soft); }
.foot-base { margin-top: 52px; padding-top: 22px; border-top: 1px solid rgba(243, 244, 239, 0.18); display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-size: 13.5px; color: rgba(243, 244, 239, 0.55); }

/* ————— motion ————— */
.fx { opacity: 0; transform: translateY(26px); transition: opacity 0.8s ease, transform 0.8s cubic-bezier(0.22, 1, 0.36, 1); }
.fx.in { opacity: 1; transform: none; }
.focuspull { filter: blur(12px); transform: scale(1.03); transition: filter 1s ease, transform 1.2s cubic-bezier(0.22, 1, 0.36, 1); }
.focuspull.in { filter: blur(0); transform: none; }
.tone.focuspull img { filter: saturate(0.95) contrast(1.02); }

.hload .hl-item { opacity: 0; transform: translateY(30px); animation: hlin 0.9s cubic-bezier(0.22, 1, 0.36, 1) forwards; }
.hload .hl-item:nth-child(1) { animation-delay: 0.05s; }
.hload .hl-item:nth-child(2) { animation-delay: 0.16s; }
.hload .hl-item:nth-child(3) { animation-delay: 0.3s; }
.hload .hl-item:nth-child(4) { animation-delay: 0.42s; }
@keyframes hlin { to { opacity: 1; transform: none; } }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .fx, .focuspull { opacity: 1; transform: none; filter: none; transition: none; }
  .tone.focuspull img { filter: saturate(0.95) contrast(1.02); }
  .hload .hl-item { animation: none; opacity: 1; transform: none; }
  .row .r-name, .row, .btn { transition: none; }
}
