/* =====================================================================
   Eftal Efecinar — Advisory
   Design system: deep navy · antique gold · dusty pink · warm cream
   Type: Fraunces (display serif) + Hanken Grotesk (grotesque sans)
   ===================================================================== */

/* ---------- Tokens ---------- */
:root {
  /* Palette */
  --navy:        #0C2340;
  --navy-deep:   #081628;
  --navy-soft:   #173354;
  --navy-line:   #21426b;

  --gold:        #C9A24D;
  --gold-bright: #E0BE6A;
  --gold-deep:   #A8843A;

  --pink:        #E7B8B3;   /* dusty rose accent */
  --pink-wash:   #F7E9E5;   /* soft background wash */
  --pink-deep:   #D89A93;

  --cream:       #FBF8F2;
  --cream-2:     #F4EEE4;
  --paper:       #FFFDFA;

  --ink:         #15243A;
  --ink-soft:    #41506a;
  --ink-faint:   #7d889b;

  /* Type */
  --display: "Urbanist", -apple-system, BlinkMacSystemFont, sans-serif;
  --sans: "Urbanist", -apple-system, BlinkMacSystemFont, sans-serif;

  /* Rhythm */
  --maxw: 1200px;
  --gutter: clamp(1.25rem, 5vw, 4rem);
  --section-y: clamp(4.5rem, 9vw, 8.5rem);

  --radius: 4px;
  --ease: cubic-bezier(.22, .61, .36, 1);
  --shadow-soft: 0 24px 60px -28px rgba(12, 35, 64, .35);
  --shadow-card: 0 18px 44px -26px rgba(12, 35, 64, .28);
}

/* ---------- Reset ---------- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  font-family: var(--sans);
  background: var(--cream);
  color: var(--ink);
  line-height: 1.62;
  font-size: clamp(1rem, .55vw + .9rem, 1.075rem);
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }
button { font: inherit; cursor: pointer; border: none; background: none; }
::selection { background: var(--gold); color: var(--navy-deep); }

/* ---------- Typography ---------- */
h1, h2, h3, h4 {
  font-family: var(--display);
  font-weight: 720;
  line-height: 1.04;
  letter-spacing: -.015em;
  color: var(--navy);
  font-optical-sizing: auto;
}
.display {
  font-size: clamp(2.6rem, 6.4vw, 5.4rem);
  line-height: 1.0;
  letter-spacing: -.03em;
  font-weight: 800;
}
h2 { font-size: clamp(1.9rem, 3.6vw, 3.1rem); }
h3 { font-size: clamp(1.3rem, 1.8vw, 1.7rem); letter-spacing: -.01em; }
p { max-width: 62ch; }
strong { font-weight: 600; color: var(--navy); }
em { font-style: italic; }

.eyebrow {
  font-family: var(--sans);
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--gold-deep);
  display: inline-flex;
  align-items: center;
  gap: .7rem;
}
.eyebrow::before {
  content: "";
  width: 2.2rem;
  height: 2px;
  background: var(--gold);
}
.lead {
  font-size: clamp(1.12rem, 1.3vw, 1.35rem);
  line-height: 1.55;
  color: var(--ink-soft);
  font-weight: 450;
  max-width: 58ch;
}

/* ---------- Layout ---------- */
.wrap { width: 100%; max-width: var(--maxw); margin-inline: auto; padding-inline: var(--gutter); }
.section { padding-block: var(--section-y); position: relative; }
.section--tight { padding-block: clamp(3rem, 6vw, 5rem); }
.gridlines { /* subtle vertical guides */ position: relative; }

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex; align-items: center; gap: .65rem;
  padding: .95rem 1.7rem;
  font-family: var(--sans); font-weight: 600; font-size: .92rem;
  letter-spacing: .01em;
  border-radius: 100px;
  transition: transform .35s var(--ease), background .35s var(--ease), color .35s var(--ease), box-shadow .35s var(--ease);
  position: relative;
}
.btn svg { width: 1.05em; height: 1.05em; transition: transform .35s var(--ease); }
.btn:hover svg { transform: translateX(3px); }
.btn--gold { background: var(--gold); color: var(--navy-deep); box-shadow: 0 12px 30px -12px rgba(168,132,58,.55); }
.btn--gold:hover { background: var(--gold-bright); transform: translateY(-2px); }
.btn--navy { background: var(--navy); color: var(--cream); }
.btn--navy:hover { background: var(--navy-soft); transform: translateY(-2px); }
.btn--ghost { border: 1px solid var(--navy-line); color: var(--navy); background: transparent; }
.btn--ghost:hover { border-color: var(--gold); color: var(--gold-deep); transform: translateY(-2px); }
.btn--light { border: 1px solid rgba(251,248,242,.3); color: var(--cream); }
.btn--light:hover { border-color: var(--gold); color: var(--gold-bright); }

.textlink {
  display: inline-flex; align-items: center; gap: .5rem;
  font-weight: 600; font-size: .93rem; color: var(--navy);
  position: relative; padding-bottom: 2px;
}
.textlink::after {
  content: ""; position: absolute; left: 0; bottom: 0; height: 1.5px; width: 100%;
  background: var(--gold); transform: scaleX(0); transform-origin: left;
  transition: transform .4s var(--ease);
}
.textlink:hover::after { transform: scaleX(1); }
.textlink svg { width: 1em; height: 1em; transition: transform .35s var(--ease); }
.textlink:hover svg { transform: translateX(3px); }

/* ---------- Header / Nav ---------- */
.site-header {
  position: sticky; top: 0; z-index: 80;
  background: color-mix(in srgb, var(--cream) 82%, transparent);
  backdrop-filter: saturate(140%) blur(14px);
  -webkit-backdrop-filter: saturate(140%) blur(14px);
  border-bottom: 1px solid transparent;
  transition: border-color .4s var(--ease), background .4s var(--ease);
}
.site-header.is-scrolled { border-color: rgba(12,35,64,.09); }
.nav {
  display: flex; align-items: center; justify-content: space-between;
  height: 76px;
}
.brand {
  display: inline-flex; align-items: center; gap: .7rem;
  font-family: var(--display); font-size: 1.18rem; font-weight: 800; letter-spacing:-.02em;
  color: var(--navy); letter-spacing: -.01em;
}
.brand .monogram {
  width: 38px; height: 38px; border-radius: 50%;
  display: grid; place-items: center;
  background: var(--navy); color: var(--gold);
  font-family: var(--display); font-size: .95rem; font-weight: 800;
  letter-spacing: .01em;
  border: 1px solid var(--navy);
}
.brand small { display:block; font-family: var(--sans); font-size:.6rem; letter-spacing:.18em; text-transform:uppercase; color: var(--ink-faint); font-weight:600; margin-top:1px;}
.brand .brand-name { line-height: 1.05; white-space: nowrap; }

.nav-links { display: flex; align-items: center; gap: clamp(1.1rem, 2vw, 2.1rem); }
.nav-links a {
  font-size: .9rem; font-weight: 500; color: var(--ink-soft);
  position: relative; padding: .3rem 0; transition: color .3s var(--ease);
}
.nav-links a::after {
  content: ""; position: absolute; left: 0; bottom: -2px; height: 1.5px; width: 100%;
  background: var(--gold); transform: scaleX(0); transform-origin: center;
  transition: transform .35s var(--ease);
}
.nav-links a:hover { color: var(--navy); }
.nav-links a:hover::after,
.nav-links a[aria-current="page"]::after { transform: scaleX(1); }
.nav-links a[aria-current="page"] { color: var(--navy); }
.nav-cta { margin-left: .4rem; }

.nav-toggle { display: none; width: 44px; height: 44px; border-radius: 50%; position: relative; }
.nav-toggle span { position:absolute; left: 11px; right: 11px; height: 1.6px; background: var(--navy); transition: transform .35s var(--ease), opacity .25s var(--ease); }
.nav-toggle span:nth-child(1){ top: 16px; }
.nav-toggle span:nth-child(2){ top: 22px; }
.nav-toggle span:nth-child(3){ top: 28px; }
.nav-toggle[aria-expanded="true"] span:nth-child(1){ transform: translateY(6px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2){ opacity: 0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3){ transform: translateY(-6px) rotate(-45deg); }

/* ---------- Hero ---------- */
.hero {
  position: relative; overflow: hidden;
  padding-top: clamp(3rem, 7vw, 6rem);
  padding-bottom: clamp(3.5rem, 7vw, 6.5rem);
}
.hero-grid {
  display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
}
.hero h1 { margin: 1.4rem 0 1.5rem; }
.hero .lead { margin-bottom: 2.2rem; }
.hero-cta { display: flex; flex-wrap: wrap; gap: .85rem; align-items: center; }
.hero-meta {
  margin-top: 2.6rem; display: flex; flex-wrap: wrap; gap: 1.6rem 2.4rem;
  padding-top: 1.7rem; border-top: 1px solid rgba(12,35,64,.12);
}
.hero-meta div { min-width: 0; }
.hero-meta .k { font-family: var(--display); font-size: 1.7rem; color: var(--navy); line-height: 1; }
.hero-meta .v { font-size: .8rem; color: var(--ink-faint); letter-spacing: .04em; margin-top: .4rem; }

/* gold gradient text accent */
.gild { color: var(--gold-deep); font-style: italic; }

/* ---------- Intersection motif (SVG container) ---------- */
.motif { position: relative; width: 100%; aspect-ratio: 1/1; max-width: 460px; margin-inline: auto; }
.motif svg { width: 100%; height: 100%; overflow: visible; }
.motif .ring { fill: none; stroke-width: 1.25; }
.r-ai     { stroke: var(--navy); }
.r-climate{ stroke: var(--gold-deep); }
.r-capital{ stroke: var(--pink-deep); }
.motif .label { font-family: var(--sans); font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; fill: var(--ink-soft); }
.motif .node { fill: var(--gold); }
.motif .core { fill: color-mix(in srgb, var(--pink) 55%, transparent); }

.motif .spin { transform-origin: 230px 230px; animation: motspin 60s linear infinite; }
.motif .pulse { transform-origin: center; animation: motpulse 4.5s var(--ease) infinite; }
@keyframes motspin { to { transform: rotate(360deg); } }
@keyframes motpulse { 0%,100% { opacity: .5; r: 16px; } 50% { opacity: .9; r: 20px; } }

/* ---------- Decorative atmospheric blobs ---------- */
.aura { position: absolute; border-radius: 50%; filter: blur(60px); opacity: .5; pointer-events: none; z-index: -1; }
.aura--gold { background: radial-gradient(circle, rgba(201,162,77,.45), transparent 70%); }
.aura--pink { background: radial-gradient(circle, rgba(231,184,179,.55), transparent 70%); }

/* ---------- Section heading block ---------- */
.section-head { max-width: 760px; margin-bottom: clamp(2.4rem, 4vw, 3.6rem); }
.section-head h2 { margin: 1.1rem 0 1.1rem; }
.section-head .lead { margin: 0; }
.section-head--center { margin-inline: auto; text-align: center; }
.section-head--center .eyebrow { justify-content: center; }

/* ---------- Cards ---------- */
.card-grid { display: grid; gap: 1.4rem; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.card {
  background: var(--paper); border: 1px solid rgba(12,35,64,.08);
  border-radius: 12px; padding: clamp(1.7rem, 2.4vw, 2.3rem);
  position: relative; overflow: hidden;
  transition: transform .45s var(--ease), box-shadow .45s var(--ease), border-color .45s var(--ease);
}
.card::before {
  content: ""; position: absolute; inset: 0 0 auto 0; height: 3px;
  background: linear-gradient(90deg, var(--gold), var(--pink));
  transform: scaleX(0); transform-origin: left; transition: transform .5s var(--ease);
}
.card:hover { transform: translateY(-5px); box-shadow: var(--shadow-card); border-color: rgba(201,162,77,.4); }
.card:hover::before { transform: scaleX(1); }
.card .num {
  font-family: var(--display); font-size: .95rem; color: var(--gold-deep);
  letter-spacing: .05em; display: block; margin-bottom: .9rem;
}
.card h3 { margin-bottom: .7rem; }
.card p { color: var(--ink-soft); font-size: .98rem; }

/* tag list inside cards */
.chips { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: 1.2rem; }
.chip {
  font-size: .76rem; font-weight: 500; color: var(--ink-soft);
  background: var(--cream-2); border: 1px solid rgba(12,35,64,.07);
  padding: .32rem .7rem; border-radius: 100px;
}

/* ---------- Question list (homepage) ---------- */
.q-list { display: grid; gap: 0; border-top: 1px solid rgba(12,35,64,.12); margin-top: 1.5rem; }
.q-list li {
  display: flex; gap: 1.2rem; align-items: flex-start;
  padding: 1.15rem 0; border-bottom: 1px solid rgba(12,35,64,.12);
  font-size: clamp(1.05rem, 1.4vw, 1.28rem);
  font-family: var(--display); font-weight: 400; color: var(--navy);
  line-height: 1.3;
}
.q-list .qmark { color: var(--gold-deep); font-size: .85rem; font-family: var(--sans); font-weight: 700; padding-top: .55rem; letter-spacing: .05em; }

/* ---------- Dark band ---------- */
.band-dark {
  background: var(--navy);
  color: var(--cream);
  position: relative; overflow: hidden;
}
.band-dark::after {
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(ellipse 60% 50% at 85% 15%, rgba(201,162,77,.16), transparent 60%),
    radial-gradient(ellipse 50% 45% at 8% 90%, rgba(231,184,179,.13), transparent 60%);
  pointer-events:none;
}
.band-dark h2, .band-dark h3 { color: var(--cream); }
.band-dark .eyebrow { color: var(--gold-bright); }
.band-dark .eyebrow::before { background: var(--gold-bright); }
.band-dark .lead { color: rgba(251,248,242,.78); }
.band-dark p { color: rgba(251,248,242,.74); }

/* ---------- Pink wash band ---------- */
.band-pink { background: linear-gradient(180deg, var(--pink-wash), var(--cream)); }

/* ---------- Audience / two-col feature ---------- */
.split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 5vw, 4.5rem); align-items: start; }
.feature-list { display: grid; gap: 1.4rem; }
.feature {
  display: grid; grid-template-columns: auto 1fr; gap: 1.1rem; align-items: start;
  padding-bottom: 1.4rem; border-bottom: 1px solid rgba(12,35,64,.1);
}
.feature:last-child { border-bottom: 0; }
.feature .dot {
  width: 12px; height: 12px; border-radius: 50%; margin-top: .5rem;
  background: var(--gold); box-shadow: 0 0 0 4px rgba(201,162,77,.18);
}
.feature h3 { font-size: 1.18rem; margin-bottom: .35rem; }
.feature p { font-size: .96rem; color: var(--ink-soft); }

/* ---------- Audience pill grid ---------- */
.pill-grid { display: flex; flex-wrap: wrap; gap: .6rem; }
.pill {
  border: 1px solid rgba(12,35,64,.14); border-radius: 100px;
  padding: .55rem 1.05rem; font-size: .9rem; color: var(--ink-soft);
  background: var(--paper); transition: all .3s var(--ease);
}
.pill:hover { border-color: var(--gold); color: var(--navy); transform: translateY(-2px); }
.band-dark .pill { background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.16); color: rgba(251,248,242,.85); }
.band-dark .pill:hover { border-color: var(--gold-bright); color: var(--gold-bright); }

/* ---------- Services (detailed page) ---------- */
.service-block {
  display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  padding-block: clamp(3rem, 5vw, 4.5rem);
  border-top: 1px solid rgba(12,35,64,.12);
  align-items: start;
}
.service-block:first-of-type { border-top: 0; }
.service-aside .num { font-family: var(--display); font-size: 3.4rem; color: var(--pink-deep); line-height: 1; display:block; }
.service-aside h2 { font-size: clamp(1.6rem,2.4vw,2.2rem); margin: .8rem 0 1rem; }
.service-aside .best { margin-top: 1.6rem; }
.service-aside .best span { font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; color: var(--gold-deep); font-weight:700; }
.service-cols { display: grid; gap: 2rem; }
.col-h { font-size:.74rem; letter-spacing:.2em; text-transform:uppercase; color: var(--ink-faint); font-weight:700; margin-bottom: 1rem; }
.tick-list { display: grid; gap: .7rem; }
.tick-list li { display: grid; grid-template-columns: auto 1fr; gap: .7rem; font-size:.96rem; color: var(--ink-soft); }
.tick-list .t { color: var(--gold); font-weight: 700; }

/* ---------- Bio / timeline ---------- */
.bio-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(2rem,5vw,4.5rem); align-items: start; }
.portrait {
  position: relative; border-radius: 14px; overflow: hidden;
  aspect-ratio: 4/5; background: linear-gradient(135deg, var(--navy), var(--navy-soft));
  box-shadow: var(--shadow-soft);
}
.portrait .ph {
  position:absolute; inset:0; display:grid; place-items:center; text-align:center;
  color: rgba(251,248,242,.55); font-size:.8rem; letter-spacing:.05em; padding:1.5rem;
}
.portrait .ph .mono { font-family: var(--display); font-size: 3.5rem; color: var(--gold); margin-bottom:.6rem;}
.portrait img { width:100%; height:100%; object-fit: cover; }

.timeline { display: grid; gap: 0; }
.tl-item { padding: 1.6rem 0 1.6rem 1.8rem; position: relative; border-bottom: 1px solid rgba(12,35,64,.1); }
.tl-item:last-child { border-bottom: 0; }
.tl-item::before { content:""; position:absolute; left:0; top: 2rem; width: 9px; height: 9px; border-radius:50%; background: var(--gold); }
.tl-item::after { content:""; position:absolute; left: 4px; top: 2.6rem; bottom: -.4rem; width: 1px; background: rgba(12,35,64,.14); }
.tl-item:last-child::after { display:none; }
.tl-item h3 { font-size: 1.25rem; margin-bottom:.4rem; }
.tl-item .role { font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; color: var(--gold-deep); font-weight:700; margin-bottom:.6rem; }
.tl-item p { font-size:.96rem; color: var(--ink-soft); }

/* ---------- Articles ---------- */
.topic-grid { display: grid; gap: 1.2rem; grid-template-columns: repeat(auto-fit,minmax(260px,1fr)); }
.article-row {
  display: grid; grid-template-columns: auto 1fr auto; gap: 1.5rem; align-items: center;
  padding: 1.5rem 0; border-bottom: 1px solid rgba(12,35,64,.12);
  transition: padding .35s var(--ease);
}
.article-row:hover { padding-left: .6rem; }
.article-row .cat { font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color: var(--gold-deep); font-weight:700; min-width: 110px; }
.article-row h3 { font-size: 1.2rem; }
.article-row .meta { font-size:.82rem; color: var(--ink-faint); white-space: nowrap; }
.soon-grid { display: grid; gap: 1.4rem; grid-template-columns: repeat(auto-fit,minmax(280px,1fr)); }
.soon { background: var(--paper); border:1px solid rgba(12,35,64,.08); border-radius:12px; padding: 1.6rem 1.7rem; }
.soon .col-h { margin-bottom: 1.1rem; }
.soon ul { display:grid; gap:.7rem; }
.soon li { font-size:.95rem; color: var(--ink-soft); font-family: var(--display); line-height:1.3; }

/* ---------- Contact ---------- */
.contact-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(2rem,5vw,4rem); align-items: start; }
.contact-info { display: grid; gap: 1.5rem; }
.ci-item .col-h { margin-bottom:.4rem; }
.ci-item a, .ci-item p { font-size: 1.05rem; color: var(--navy); font-weight: 500; }
.ci-item a { transition: color .3s var(--ease); }
.ci-item a:hover { color: var(--gold-deep); }

.form { display: grid; gap: 1.1rem; }
.field { display: grid; gap: .4rem; }
.field label { font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; color: var(--ink-soft); font-weight:600; }
.field input, .field textarea, .field select {
  font: inherit; font-size: .98rem; color: var(--ink);
  background: var(--paper); border: 1px solid rgba(12,35,64,.16);
  border-radius: 8px; padding: .85rem 1rem; width: 100%;
  transition: border-color .3s var(--ease), box-shadow .3s var(--ease);
}
.field textarea { resize: vertical; min-height: 130px; }
.field input:focus, .field textarea:focus, .field select:focus {
  outline: none; border-color: var(--gold);
  box-shadow: 0 0 0 4px rgba(201,162,77,.14);
}
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem; }
.form-note { font-size:.84rem; color: var(--ink-faint); }
.form-status { font-size:.92rem; font-weight:600; padding:.4rem 0; display:none; }
.form-status.ok { display:block; color: var(--gold-deep); }
.form-status.err { display:block; color: #b4453c; }

/* ---------- CTA strip ---------- */
.cta-strip { text-align: center; max-width: 720px; margin-inline: auto; }
.cta-strip h2 { margin-bottom: 1.2rem; }
.cta-strip .lead { margin: 0 auto 2rem; }
.cta-strip .hero-cta { justify-content: center; }

/* ---------- Footer ---------- */
.site-footer { background: var(--navy-deep); color: rgba(251,248,242,.7); padding-block: clamp(3rem,5vw,4.5rem) 2rem; }
.footer-top { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 2.5rem; padding-bottom: 2.5rem; border-bottom: 1px solid rgba(255,255,255,.1); }
.footer-brand .brand { color: var(--cream); margin-bottom: 1rem; }
.footer-brand .monogram { background: var(--gold); color: var(--navy-deep); border-color: var(--gold); }
.footer-brand p { font-size:.92rem; color: rgba(251,248,242,.62); max-width: 38ch; }
.footer-col h4 { color: var(--cream); font-family: var(--sans); font-size:.74rem; letter-spacing:.16em; text-transform:uppercase; margin-bottom: 1.1rem; }
.footer-col a { display:block; font-size:.92rem; padding:.32rem 0; color: rgba(251,248,242,.7); transition: color .3s var(--ease); }
.footer-col a:hover { color: var(--gold-bright); }
.footer-bot { display:flex; flex-wrap:wrap; justify-content: space-between; gap:1rem; padding-top:1.8rem; font-size:.82rem; color: rgba(251,248,242,.5); }
.footer-bot a:hover { color: var(--gold-bright); }

/* ---------- Reveal animation ---------- */
.reveal { opacity: 0; transform: translateY(22px); transition: opacity .8s var(--ease), transform .8s var(--ease); }
.reveal.in { opacity: 1; transform: none; }
[data-delay="1"]{ transition-delay: .08s; }
[data-delay="2"]{ transition-delay: .16s; }
[data-delay="3"]{ transition-delay: .24s; }
[data-delay="4"]{ transition-delay: .32s; }
[data-delay="5"]{ transition-delay: .40s; }

/* hero load stagger */
.hero .reveal { transform: translateY(28px); }

@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .reveal { opacity:1; transform:none; }
}

/* ---------- Responsive ---------- */
@media (max-width: 940px) {
  .hero-grid, .split, .service-block, .bio-grid, .contact-grid { grid-template-columns: 1fr; }
  .service-block { gap: 1.6rem; }
  .motif { max-width: 360px; margin-top: 1rem; }
  .footer-top { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .nav-links {
    position: fixed; inset: 76px 0 auto 0;
    flex-direction: column; align-items: flex-start; gap: 0;
    background: var(--cream); padding: 1rem var(--gutter) 2rem;
    border-bottom: 1px solid rgba(12,35,64,.1);
    transform: translateY(-120%); transition: transform .45s var(--ease);
    box-shadow: var(--shadow-soft); height: auto;
  }
  .nav-links.open { transform: translateY(0); }
  .nav-links a { width: 100%; padding: .85rem 0; font-size: 1.08rem; }
  .nav-links a::after { display: none; }
  .nav-links .nav-cta { margin: 1.1rem 0 0; width: 100%; }
  .nav-links .nav-cta .btn { width: 100%; justify-content: center; padding: .95rem 1.7rem; border-radius: 100px; }
  .brand { font-size: 1.06rem; }
  .brand .monogram { width: 34px; height: 34px; }
  .lang-switch { margin: .4rem 0 0; }
  .nav-toggle { display: block; }
  .field-row { grid-template-columns: 1fr; }
  .article-row { grid-template-columns: 1fr; gap: .5rem; }
  .article-row .meta { white-space: normal; }
  .footer-top { grid-template-columns: 1fr; }
  .hero-meta { gap: 1.2rem 1.8rem; }
}


/* ============ Photos, figures, references (added) ============ */
.figure{position:relative;border-radius:14px;overflow:hidden;background:var(--cream-2);box-shadow:var(--shadow-card);}
.figure img{width:100%;height:100%;object-fit:cover;display:block;}
.figure--tall{aspect-ratio:4/5;}
.figure--wide{aspect-ratio:3/2;}
.figure--port{aspect-ratio:3/4;}
.figure figcaption{position:absolute;left:0;right:0;bottom:0;padding:1rem 1.15rem;font-size:.8rem;font-weight:600;color:#fff;background:linear-gradient(transparent,rgba(8,22,40,.82));letter-spacing:.01em;}
.hero-photo{position:relative;}
.hero-photo .figure{aspect-ratio:4/5;max-width:430px;margin-inline:auto;}
.hero-photo::after{content:"";position:absolute;inset:auto -14px -14px auto;width:62%;height:62%;border:1px solid var(--gold);border-radius:16px;z-index:-1;}
.hero-photo .badge{position:absolute;left:-14px;bottom:24px;background:var(--navy);color:var(--cream);font-size:.74rem;font-weight:600;letter-spacing:.04em;padding:.7rem 1.1rem;border-radius:10px;box-shadow:var(--shadow-card);}
.hero-photo .badge b{color:var(--gold-bright);font-weight:700;}
.media-3{display:grid;gap:1rem;grid-template-columns:1.25fr 1fr 1fr;}
.media-3 .figure{aspect-ratio:4/5;}
.media-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));}
.media-grid .figure{aspect-ratio:1/1;}
.avatar{width:clamp(150px,22vw,200px);aspect-ratio:1;border-radius:50%;overflow:hidden;box-shadow:var(--shadow-soft);border:3px solid var(--paper);}
.avatar img{width:100%;height:100%;object-fit:cover;}
.logos{display:flex;flex-wrap:wrap;gap:.7rem 1.3rem;align-items:center;}
.logos span{font-family:var(--display);font-weight:700;font-size:1.02rem;color:var(--navy);opacity:.8;letter-spacing:-.01em;}
.logos .sep{width:5px;height:5px;border-radius:50%;background:var(--gold);opacity:.85;flex:none;}
.band-dark .logos span{color:var(--cream);opacity:.92;}
.article-row{cursor:pointer;}
.article-row h3{transition:color .3s var(--ease);}
.article-row:hover h3{color:var(--gold-deep);}
.article-row .src{font-size:.76rem;color:var(--ink-faint);letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;}
.band-dark .article-row{border-color:rgba(255,255,255,.14);}
.band-dark .article-row:hover h3{color:var(--gold-bright);}
.band-dark .article-row .cat{color:var(--gold-bright);}
.band-dark .article-row .src{color:rgba(251,248,242,.6);}
@media(max-width:760px){.media-3{grid-template-columns:1fr;}.hero-photo .figure{max-width:340px;}}


/* ============ v2: language switch, accordion, carousel, dark contact (added) ============ */
.btn--cream { background: var(--paper); color: var(--navy); border: 1px solid var(--navy-line); }
.btn--cream:hover { background: #fff; border-color: var(--gold); color: var(--gold-deep); transform: translateY(-2px); }

.lang-switch { display:inline-flex; align-items:center; gap:.1rem; font-family:var(--sans); font-size:.8rem; font-weight:700; letter-spacing:.04em; }
.lang-switch a { color: var(--ink-faint); padding:.2rem .4rem; transition: color .3s var(--ease); }
.lang-switch a:hover { color: var(--navy); }
.lang-switch a.active { color: var(--navy); }
.lang-switch .div { color: var(--navy-line); }
.band-dark .lang-switch a, .site-footer .lang-switch a { color: rgba(251,248,242,.6); }
.band-dark .lang-switch a.active, .site-footer .lang-switch a.active { color: var(--cream); }

/* Accordion (native details) */
.acc { border-top: 1px solid var(--navy-line); }
.acc:last-child { border-bottom: 1px solid var(--navy-line); }
.acc summary { list-style:none; cursor:pointer; display:grid; grid-template-columns:auto 1fr auto; gap:1.3rem; align-items:center; padding:1.6rem 0; }
.acc summary::-webkit-details-marker { display:none; }
.acc .anum { font-family:var(--display); font-weight:800; color:var(--gold-deep); font-size:1rem; }
.acc .acc-title { display:block; }
.acc .acc-title h3 { font-size:clamp(1.18rem,2vw,1.5rem); margin:0; }
.acc .acc-sub { display:block; color:var(--ink-soft); font-size:.96rem; font-weight:500; margin-top:.35rem; }
.acc .plus { width:24px; height:24px; position:relative; flex:none; }
.acc .plus::before, .acc .plus::after { content:""; position:absolute; background:var(--gold-deep); transition:transform .3s var(--ease); }
.acc .plus::before { left:0; right:0; top:11px; height:2px; }
.acc .plus::after { top:0; bottom:0; left:11px; width:2px; }
.acc details[open] .plus::after { transform:scaleY(0); }
.acc .acc-body { padding:0 0 1.9rem 3.3rem; display:grid; grid-template-columns:1.05fr 1fr; gap:2.2rem; }
.acc .acc-body h4 { font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-deep); font-weight:700; margin-bottom:.85rem; }
@media (max-width:760px){ .acc .acc-body{ grid-template-columns:1fr; gap:1.3rem; padding-left:0; } .acc summary{ padding:1.3rem 0; gap:1rem; } }

/* Carousel */
.carousel-track { display:flex; gap:1.1rem; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; -webkit-overflow-scrolling:touch; padding-bottom:.4rem; scrollbar-width:none; }
.carousel-track::-webkit-scrollbar { display:none; }
.carousel-track .slide { flex:0 0 clamp(280px,78%,540px); scroll-snap-align:center; }
.carousel-track .figure { aspect-ratio:3/2; }
.carousel-btns { display:flex; gap:.7rem; margin-top:1.5rem; }
.carousel-btn { width:48px; height:48px; border-radius:50%; border:1px solid rgba(251,248,242,.32); background:transparent; color:var(--cream); display:grid; place-items:center; cursor:pointer; transition:border-color .3s var(--ease), color .3s var(--ease), transform .3s var(--ease); }
.carousel-btn:hover { border-color:var(--gold-bright); color:var(--gold-bright); transform:translateY(-2px); }
.carousel-btn svg { width:20px; height:20px; }

/* Contact on dark */
.contact-dark .ci-item { border-color:rgba(255,255,255,.16); }
.contact-dark .col-h { color:var(--gold-bright); }
.contact-dark .ci-item a, .contact-dark .ci-item p { color:rgba(251,248,242,.86); }
.contact-dark .ci-item a:hover { color:var(--gold-bright); }
.band-dark .form { background:var(--paper); border:0; border-radius:16px; padding:clamp(1.6rem,3vw,2.4rem); box-shadow:0 30px 60px -30px rgba(0,0,0,.5); }
.band-dark .form label { color:var(--ink-soft); }
.band-dark .form .form-note { color:var(--ink-faint); }
