/* ===========================================================
   M. Lynn Creative — design system v2 (cinematic / editorial)
   Brand: warm white + citrus · Poppins + Montserrat
   =========================================================== */

:root {
  --warm-white: #FBF7F4;
  --cream-2: #F4EDE6;
  --charcoal: #252222;
  --deep-teal: #2F7F78;
  --teal-dark: #245f5a;
  --burnt-orange: #E37A2D;
  --orange-dark: #c9661f;
  --sage: #9FC089;
  --mustard: #E8B84B;
  --coral: #E39A89;
  --ink-soft: #5b5450;
  --line: rgba(37,34,34,0.12);
  --shadow-sm: 0 6px 20px rgba(37,34,34,0.08);
  --shadow: 0 18px 50px rgba(37,34,34,0.14);
  --shadow-lg: 0 40px 90px rgba(37,34,34,0.22);
  --radius: 16px;
  --maxw: 1180px;
  --nav-h: 96px;
  --ease: cubic-bezier(.22,.61,.36,1);
  --ease-out: cubic-bezier(.16,1,.3,1);
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  font-family: 'Montserrat', system-ui, -apple-system, sans-serif;
  background: var(--warm-white);
  color: var(--charcoal);
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
body.intro-lock { overflow: hidden; }
img { max-width: 100%; display: block; }
a { color: var(--deep-teal); text-decoration: none; transition: color .25s var(--ease); }
a:hover { color: var(--burnt-orange); }
::selection { background: var(--mustard); color: var(--charcoal); }

h1,h2,h3,h4 { font-family:'Poppins',sans-serif; font-weight:700; line-height:1.08; letter-spacing:-.015em; color:var(--charcoal); }
h1 { font-size: clamp(2.6rem, 7vw, 5.2rem); }
h2 { font-size: clamp(2rem, 4.5vw, 3.3rem); }
h3 { font-size: clamp(1.25rem, 2.2vw, 1.55rem); letter-spacing:-.01em; }
p { margin: 0 0 1rem; }

.container { width:100%; max-width:var(--maxw); margin:0 auto; padding:0 1.6rem; }
.container--wide { max-width: 1360px; }
.section { padding: clamp(4rem, 10vw, 8rem) 0; position: relative; }
.section--tint { background: var(--cream-2); }
.section--ink { background: var(--charcoal); color: #e9e3dd; }
.section--ink h2 { color:#fff; }
.center { text-align:center; }
.eyebrow {
  font-family:'Poppins',sans-serif; font-weight:600; letter-spacing:.32em;
  text-transform:uppercase; font-size:.74rem; color:var(--deep-teal);
  margin-bottom:1.1rem; display:flex; align-items:center; gap:.7rem;
}
.center .eyebrow { justify-content:center; }
.eyebrow::before { content:""; width:30px; height:2px; background:var(--burnt-orange); display:inline-block; }
.center .eyebrow::after { content:""; width:30px; height:2px; background:var(--burnt-orange); display:inline-block; }
.lede { font-size: clamp(1.08rem,1.6vw,1.28rem); line-height:1.7; color:var(--ink-soft); max-width:62ch; }
.center .lede { margin-left:auto; margin-right:auto; }
.accent { color: var(--burnt-orange); }
.section-head { max-width: 64ch; margin-bottom: clamp(2.5rem,5vw,3.8rem); }
.section-head.center { margin-left:auto; margin-right:auto; }
.display { font-size: clamp(2.4rem, 6vw, 4.4rem); }

/* ---------- Buttons ---------- */
.btn {
  display:inline-flex; align-items:center; gap:.6rem;
  font-family:'Poppins',sans-serif; font-weight:600; font-size:.95rem;
  padding:.95rem 1.8rem; border-radius:999px; cursor:pointer; border:2px solid transparent;
  transition: transform .3s var(--ease), background .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease), box-shadow .3s var(--ease);
}
.btn svg { width:18px; height:18px; transition: transform .3s var(--ease); }
.btn:hover svg { transform: translateX(3px); }
.btn--primary { background:var(--burnt-orange); color:#fff; box-shadow:0 10px 26px rgba(227,122,45,.32); }
.btn--primary:hover { background:var(--orange-dark); color:#fff; transform:translateY(-3px); box-shadow:0 16px 34px rgba(227,122,45,.4); }
.btn--teal { background:var(--deep-teal); color:#fff; }
.btn--teal:hover { background:var(--teal-dark); color:#fff; transform:translateY(-3px); }
.btn--ghost { background:transparent; color:var(--charcoal); border-color:var(--charcoal); }
.btn--ghost:hover { background:var(--charcoal); color:#fff; transform:translateY(-3px); }
.btn--light { background:#fff; color:var(--charcoal); box-shadow:var(--shadow-sm); }
.btn--light:hover { background:var(--mustard); color:var(--charcoal); transform:translateY(-3px); }
.btn--outline-light { background:transparent; color:#fff; border-color:rgba(255,255,255,.5); }
.btn--outline-light:hover { background:#fff; color:var(--charcoal); transform:translateY(-3px); }
.link-arrow { font-family:'Poppins',sans-serif; font-weight:600; display:inline-flex; align-items:center; gap:.5rem; }
.link-arrow svg { width:18px;height:18px; transition: transform .3s var(--ease); }
.link-arrow:hover svg { transform: translateX(4px); }

/* ===========================================================
   INTRO — cinematic logo reveal
   =========================================================== */
.intro {
  position: fixed; inset: 0; z-index: 9999; background: var(--warm-white);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 1.4rem;
}
.intro__heart {
  width: clamp(200px, 34vw, 360px); opacity: 0;
  transform: scale(.55) rotate(-12deg);
  animation: heartIn 1.15s var(--ease-out) .15s forwards;
  filter: drop-shadow(0 18px 30px rgba(227,122,45,.22));
}
.intro__word {
  width: clamp(300px, 52vw, 540px); opacity: 0; transform: translateY(22px);
  animation: wordIn 1s var(--ease-out) 1s forwards;
}
.intro__tag {
  font-family:'Poppins',sans-serif; font-weight:600; letter-spacing:.4em; text-transform:uppercase;
  font-size:.7rem; color:var(--deep-teal); opacity:0; transform:translateY(10px);
  animation: wordIn .9s var(--ease-out) 1.45s forwards;
}
.intro.lift { animation: introLift 1s var(--ease-out) forwards; }
@keyframes heartIn {
  0% { opacity:0; transform: scale(.55) rotate(-12deg); }
  60% { opacity:1; transform: scale(1.06) rotate(3deg); }
  100% { opacity:1; transform: scale(1) rotate(0); }
}
@keyframes wordIn { to { opacity:1; transform: translateY(0); } }
@keyframes introLift { to { opacity:0; transform: translateY(-40px); visibility:hidden; } }

/* ===========================================================
   HEADER / NAV
   =========================================================== */
.site-header {
  position: fixed; top:0; left:0; right:0; z-index: 900; height: var(--nav-h);
  display: flex; align-items: center;
  transition: background .4s var(--ease), box-shadow .4s var(--ease), height .4s var(--ease), border-color .4s var(--ease);
  border-bottom: 1px solid transparent;
}
.site-header.solid {
  background: rgba(251,247,244,.9);
  backdrop-filter: saturate(150%) blur(10px);
  border-bottom: 1px solid var(--line); height: 78px;
  box-shadow: 0 4px 24px rgba(37,34,34,.05);
}
.nav { display:flex; align-items:center; justify-content:space-between; width:100%; }
.brand { display:flex; align-items:center; gap:.7rem; }
.brand-heart { width:58px; height:auto; transition: transform .4s var(--ease); }
.brand:hover .brand-heart { transform: rotate(-6deg) scale(1.05); }
.brand-word { height:44px; width:auto; }
.nav-links { display:flex; align-items:center; gap:1.9rem; list-style:none; }
.nav-links a:not(.btn) {
  font-family:'Poppins',sans-serif; font-weight:500; font-size:.96rem; color:var(--charcoal);
  position:relative; padding:.3rem 0;
}
.nav-links a:not(.btn)::after { content:""; position:absolute; left:0; bottom:-3px; height:2px; width:0; background:var(--burnt-orange); transition:width .3s var(--ease); }
.nav-links a:not(.btn):hover, .nav-links a.active { color:var(--burnt-orange); }
.nav-links a.active::after, .nav-links a:not(.btn):hover::after { width:100%; }
.nav-links .btn { padding:.62rem 1.3rem; color:#fff; }
.nav-toggle { display:none; background:none; border:0; cursor:pointer; padding:.4rem; z-index:901; }
.nav-toggle span { display:block; width:26px; height:2px; background:var(--charcoal); margin:6px 0; transition:.35s var(--ease); }
.nav-toggle.open span:nth-child(1){ transform:translateY(8px) rotate(45deg); }
.nav-toggle.open span:nth-child(2){ opacity:0; }
.nav-toggle.open span:nth-child(3){ transform:translateY(-8px) rotate(-45deg); }

/* ===========================================================
   HERO — editorial
   =========================================================== */
.hero { position:relative; min-height:100svh; display:flex; align-items:center; padding:calc(var(--nav-h) + 2rem) 0 4rem; overflow:hidden; }
.hero__watermark {
  position:absolute; right:-6%; top:50%; transform:translateY(-50%);
  width:min(58vw,780px); opacity:.06; pointer-events:none; z-index:0; filter:saturate(.9);
}
.hero__bgshape { position:absolute; border-radius:50%; filter:blur(8px); z-index:0; pointer-events:none; }
.hero__bgshape.s1 { width:340px;height:340px; background:var(--mustard); opacity:.10; top:-80px; left:-120px; }
.hero__bgshape.s2 { width:300px;height:300px; background:var(--sage); opacity:.12; bottom:-120px; left:30%; }
.hero .container { position:relative; z-index:2; display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2rem,5vw,4.5rem); align-items:center; }
.hero__copy h1 { margin:.4rem 0 1.4rem; }
.hero__copy h1 .ital { color:var(--deep-teal); font-style:italic; font-weight:600; }
.hero__copy .lede { margin-bottom:2rem; }
.hero-actions { display:flex; flex-wrap:wrap; gap:1rem; }
.hero__art { position:relative; }
.hero__art .frame {
  border-radius:20px; overflow:hidden; box-shadow:var(--shadow-lg); aspect-ratio:4/5;
  transform: rotate(1.5deg); transition: transform .6s var(--ease);
}
.hero__art:hover .frame { transform: rotate(0); }
.hero__art .frame img { width:100%; height:100%; object-fit:cover; }
.hero__art .chip {
  position:absolute; left:-18px; bottom:34px; background:#fff; border-radius:14px;
  padding:.8rem 1.1rem; box-shadow:var(--shadow); display:flex; align-items:center; gap:.7rem;
}
.hero__art .chip img { width:44px; height:auto; }
.hero__art .chip b { font-family:'Poppins',sans-serif; font-size:.9rem; display:block; line-height:1.2; }
.hero__art .chip span { font-size:.76rem; color:var(--ink-soft); }
.hero__art .badge {
  position:absolute; right:-14px; top:-14px; width:96px; height:96px; border-radius:50%;
  background:var(--burnt-orange); color:#fff; display:grid; place-items:center; text-align:center;
  font-family:'Poppins',sans-serif; font-weight:600; font-size:.72rem; line-height:1.2; letter-spacing:.04em;
  transform:rotate(-8deg); box-shadow:0 12px 30px rgba(227,122,45,.4);
}
.scroll-cue { position:absolute; left:50%; bottom:1.6rem; transform:translateX(-50%); z-index:2; display:flex; flex-direction:column; align-items:center; gap:.5rem; color:var(--ink-soft); font-size:.7rem; letter-spacing:.25em; text-transform:uppercase; font-family:'Poppins',sans-serif; }
.scroll-cue .mouse { width:22px; height:34px; border:2px solid var(--ink-soft); border-radius:12px; position:relative; }
.scroll-cue .mouse::after { content:""; position:absolute; left:50%; top:6px; width:3px; height:6px; background:var(--ink-soft); border-radius:2px; transform:translateX(-50%); animation: wheel 1.5s infinite; }
@keyframes wheel { 0%{opacity:1; top:6px;} 100%{opacity:0; top:16px;} }

/* page hero (interior) */
.page-hero { padding: calc(var(--nav-h) + 3.5rem) 0 clamp(2.5rem,5vw,4rem); position:relative; overflow:hidden; }
.page-hero::after { content:""; position:absolute; right:-4%; top:-20%; width:380px; height:380px; border-radius:50%; background:var(--mustard); opacity:.08; }

/* ===========================================================
   MARQUEE
   =========================================================== */
.marquee { overflow:hidden; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:1.4rem 0; background:var(--warm-white); }
.marquee__track { display:flex; gap:2.5rem; white-space:nowrap; width:max-content; animation: scrollX 28s linear infinite; }
.marquee:hover .marquee__track { animation-play-state: paused; }
.marquee span { font-family:'Poppins',sans-serif; font-weight:700; font-size:clamp(1.4rem,3vw,2.2rem); color:var(--charcoal); display:inline-flex; align-items:center; gap:2.5rem; letter-spacing:-.01em; }
.marquee span::after { content:"✺"; color:var(--burnt-orange); font-size:1.4rem; }
@keyframes scrollX { to { transform: translateX(-50%); } }

/* ---------- Press strip (home) ---------- */
.press-strip { padding: clamp(2.6rem,5vw,3.8rem) 0; border-bottom:1px solid var(--line); background:var(--warm-white); }
.press-strip__line { font-family:'Poppins',sans-serif; font-weight:600; font-size:clamp(1.15rem,2.4vw,1.65rem); line-height:1.45; max-width:62ch; margin:.5rem auto 1.3rem; color:var(--charcoal); }
.press-strip__line a { color:var(--deep-teal); text-decoration:none; box-shadow: inset 0 -2px 0 var(--mustard); transition: box-shadow .3s var(--ease), color .25s var(--ease); white-space:nowrap; }
.press-strip__line a:hover { color:var(--burnt-orange); box-shadow: inset 0 -1.3em 0 rgba(232,184,75,.3); }

/* ===========================================================
   FEATURED WORK — editorial grid
   =========================================================== */
.feature-grid { display:grid; grid-template-columns: repeat(6, 1fr); grid-auto-rows: 220px; gap:1.1rem; }
.feature-grid .tile { position:relative; overflow:hidden; border-radius:14px; cursor:pointer; background:#e9e2db; }
.feature-grid .tile img { width:100%; height:100%; object-fit:cover; transition: transform .7s var(--ease); }
.feature-grid .tile:hover img { transform: scale(1.07); }
.feature-grid .tile .cap { position:absolute; inset:auto 0 0 0; padding:1.6rem 1rem .9rem; background:linear-gradient(180deg,transparent,rgba(37,34,34,.82)); color:#fff; opacity:0; transform:translateY(8px); transition:.35s var(--ease); }
.feature-grid .tile:hover .cap { opacity:1; transform:translateY(0); }
.feature-grid .tile .cap b { font-family:'Poppins',sans-serif; font-weight:600; display:block; font-size:1rem; }
.feature-grid .tile .cap span { font-size:.8rem; opacity:.85; }
.feature-grid .t-a { grid-column: span 4; grid-row: span 2; }
.feature-grid .t-b { grid-column: span 2; grid-row: span 1; }
.feature-grid .t-c { grid-column: span 2; grid-row: span 1; }
.feature-grid .t-d { grid-column: span 2; grid-row: span 1; }
.feature-grid .t-e { grid-column: span 2; grid-row: span 1; }
.feature-grid .t-f { grid-column: span 2; grid-row: span 1; }

/* ---------- generic grid / cards ---------- */
.grid { display:grid; gap:1.6rem; }
.grid-3 { grid-template-columns:repeat(3,1fr); }
.grid-2 { grid-template-columns:repeat(2,1fr); }
.card { background:var(--warm-white); border:1px solid var(--line); border-radius:var(--radius); padding:2rem 1.9rem; transition: transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s var(--ease); }
.section--tint .card, .section--ink .card { background:#fff; }
.card:hover { transform:translateY(-6px); box-shadow:var(--shadow); border-color:transparent; }
.card .ic { width:58px; height:58px; border-radius:16px; display:grid; place-items:center; margin-bottom:1.2rem; color:#fff; }
.card .ic svg { width:27px; height:27px; }
.card h3 { margin-bottom:.6rem; }
.card p { color:var(--ink-soft); margin-bottom:0; }
.ic-teal{background:var(--deep-teal);} .ic-orange{background:var(--burnt-orange);} .ic-mustard{background:var(--mustard); color:var(--charcoal);}
.num-badge { font-family:'Poppins',sans-serif; font-weight:700; font-size:.85rem; color:var(--burnt-orange); letter-spacing:.1em; }

/* ---------- Gallery (portfolio) ---------- */
.gallery { columns:3; column-gap:1.1rem; }
.gallery .tile { break-inside:avoid; margin-bottom:1.1rem; border-radius:14px; overflow:hidden; position:relative; cursor:pointer; background:#e9e2db; }
.gallery .tile img { width:100%; transition:transform .6s var(--ease); }
.gallery .tile:hover img { transform:scale(1.06); }
.gallery .cap { position:absolute; inset:auto 0 0 0; padding:1.6rem .95rem .85rem; background:linear-gradient(180deg,transparent,rgba(37,34,34,.82)); color:#fff; opacity:0; transition:opacity .3s var(--ease); }
.gallery .tile:hover .cap { opacity:1; }
.gallery .cap b { font-family:'Poppins',sans-serif; font-weight:600; display:block; font-size:.98rem; }
.gallery .cap span { font-size:.8rem; opacity:.85; }

/* preview strip (legacy) */
.work-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:1.1rem; }
.work-strip .tile { border-radius:14px; overflow:hidden; position:relative; aspect-ratio:4/3; }
.work-strip .tile img { width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease); }
.work-strip .tile:hover img { transform:scale(1.06); }

/* ---------- Lightbox ---------- */
.lightbox { position:fixed; inset:0; z-index:9000; background:rgba(20,18,18,.94); display:none; align-items:center; justify-content:center; padding:2rem; }
.lightbox.open { display:flex; }
.lightbox img { max-width:92vw; max-height:82vh; border-radius:8px; box-shadow:0 30px 80px rgba(0,0,0,.6); }
.lightbox .lb-cap { position:absolute; bottom:1.2rem; left:0; right:0; text-align:center; color:#fff; font-family:'Poppins',sans-serif; }
.lightbox .lb-cap span { display:block; font-size:.85rem; opacity:.8; font-family:'Montserrat',sans-serif; }
.lb-btn { position:absolute; top:1rem; right:1.2rem; background:rgba(255,255,255,.15); color:#fff; border:0; width:46px; height:46px; border-radius:50%; font-size:1.4rem; cursor:pointer; }
.lb-nav { position:absolute; top:50%; transform:translateY(-50%); background:rgba(255,255,255,.12); color:#fff; border:0; width:52px; height:52px; border-radius:50%; font-size:1.7rem; cursor:pointer; }
.lb-prev{left:1.2rem;} .lb-next{right:1.2rem;}
.lb-btn:hover,.lb-nav:hover{ background:var(--burnt-orange); }

/* ---------- About / bios ---------- */
.bio { display:grid; grid-template-columns:1fr 1.35fr; gap:clamp(1.5rem,4vw,3.5rem); align-items:center; }
.bio.rev { grid-template-columns:1.35fr 1fr; }
.bio.rev .bio-img { order:2; }
.bio-img { border-radius:18px; overflow:hidden; box-shadow:var(--shadow); position:relative; }
.bio-img img { width:100%; aspect-ratio:4/5; object-fit:cover; }
.bio h3 .role { display:block; font-size:.74rem; letter-spacing:.22em; text-transform:uppercase; color:var(--deep-teal); font-family:'Poppins',sans-serif; font-weight:600; margin-top:.5rem; }
.signature { font-family:'Poppins',sans-serif; font-style:italic; color:var(--deep-teal); font-weight:600; margin-top:1rem; }

/* ---------- CTA band ---------- */
.cta-band { background:var(--deep-teal); color:#fff; text-align:center; position:relative; overflow:hidden; }
.cta-band::before { content:""; position:absolute; width:420px; height:420px; border-radius:50%; background:rgba(255,255,255,.06); top:-160px; right:-120px; }
.cta-band h2 { color:#fff; position:relative; }
.cta-band p { color:rgba(255,255,255,.92); max-width:54ch; margin:0 auto; position:relative; }

/* ---------- Contact ---------- */
.contact-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:clamp(2rem,5vw,3.5rem); align-items:start; }
.field { margin-bottom:1.15rem; }
.field label { display:block; font-family:'Poppins',sans-serif; font-weight:500; font-size:.9rem; margin-bottom:.45rem; }
.field input,.field textarea,.field select { width:100%; font-family:'Montserrat',sans-serif; font-size:1rem; color:var(--charcoal); padding:.85rem .95rem; border:1px solid var(--line); border-radius:12px; background:#fff; transition:border-color .25s var(--ease), box-shadow .25s var(--ease); }
.field input:focus,.field textarea:focus,.field select:focus { outline:0; border-color:var(--deep-teal); box-shadow:0 0 0 3px rgba(47,127,120,.15); }
.field textarea { min-height:150px; resize:vertical; }
.contact-aside .info-item { display:flex; gap:.9rem; align-items:flex-start; margin-bottom:1.4rem; }
.contact-aside .info-item .ic { width:46px; height:46px; border-radius:13px; flex:0 0 46px; display:grid; place-items:center; color:#fff; }
.contact-aside .info-item b { font-family:'Poppins',sans-serif; display:block; }
.form-note { font-size:.85rem; color:var(--ink-soft); }
.form-status { padding:.9rem 1rem; border-radius:12px; margin-bottom:1rem; display:none; }
.form-status.ok { display:block; background:#e7f3ef; color:var(--teal-dark); }
.form-status.err { display:block; background:#fdece5; color:#b2531f; }
.links-hub { display:grid; gap:.8rem; max-width:440px; }
.link-row { display:flex; align-items:center; gap:.9rem; background:#fff; border:1px solid var(--line); border-radius:999px; padding:.8rem 1.3rem; font-family:'Poppins',sans-serif; font-weight:500; color:var(--charcoal); transition:transform .25s var(--ease), border-color .25s var(--ease); }
.link-row:hover { transform:translateX(5px); border-color:var(--burnt-orange); color:var(--charcoal); }
.link-row svg { width:22px; height:22px; flex:0 0 22px; fill:var(--deep-teal); }

/* ---------- Footer ---------- */
.site-footer { background:var(--charcoal); color:#cfc8c2; padding:4rem 0 2rem; }
.footer-top { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:2.5rem; margin-bottom:3rem; }
.site-footer h4 { color:#fff; font-size:1rem; margin-bottom:1.1rem; }
.site-footer a { color:#cfc8c2; }
.site-footer a:hover { color:var(--mustard); }
.footer-brand img { height:66px; width:auto; margin-bottom:1rem; }
.footer-brand p { color:#a39c96; max-width:36ch; }
.footer-links { list-style:none; display:grid; gap:.6rem; }
.footer-socials { display:flex; gap:.7rem; margin-top:.6rem; }
.footer-socials a { width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,.08); display:grid; place-items:center; transition:background .25s var(--ease), transform .25s var(--ease); }
.footer-socials svg { width:20px; height:20px; fill:#cfc8c2; }
.footer-socials a:hover { background:var(--burnt-orange); transform:translateY(-3px); }
.footer-socials a:hover svg { fill:#fff; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.12); padding-top:1.5rem; display:flex; justify-content:space-between; flex-wrap:wrap; gap:.5rem; font-size:.82rem; color:#8f8882; }

/* ===========================================================
   SCROLL REVEAL
   =========================================================== */
.reveal { opacity:0; transform:translateY(36px); transition:opacity .9s var(--ease-out), transform .9s var(--ease-out); will-change:opacity,transform; }
.reveal.is-visible { opacity:1; transform:none; }
.reveal.d1{transition-delay:.08s;} .reveal.d2{transition-delay:.16s;} .reveal.d3{transition-delay:.24s;} .reveal.d4{transition-delay:.32s;} .reveal.d5{transition-delay:.4s;}
.reveal-scale { opacity:0; transform:scale(.94); transition:opacity .9s var(--ease-out), transform .9s var(--ease-out); }
.reveal-scale.is-visible { opacity:1; transform:none; }

/* ===========================================================
   RESPONSIVE
   =========================================================== */
@media (max-width: 980px) {
  .hero .container { grid-template-columns:1fr; gap:2.5rem; }
  .hero__art { max-width:440px; }
  .feature-grid { grid-auto-rows:200px; }
  .feature-grid .t-a { grid-column:span 6; grid-row:span 2; }
  .feature-grid .t-b,.feature-grid .t-c,.feature-grid .t-d,.feature-grid .t-e,.feature-grid .t-f { grid-column:span 3; }
}
@media (max-width: 860px) {
  .nav-toggle { display:block; }
  .nav-links {
    position:fixed; top:0; right:0; height:100vh; width:min(78vw,340px);
    flex-direction:column; align-items:flex-start; justify-content:center; gap:1.6rem;
    background:var(--warm-white); padding:2rem 2.4rem; box-shadow:var(--shadow-lg);
    transform:translateX(100%); transition:transform .4s var(--ease);
  }
  .nav-links.open { transform:translateX(0); }
  .nav-links a:not(.btn) { font-size:1.3rem; }
  .grid-3,.grid-2,.work-strip { grid-template-columns:1fr; }
  .gallery { columns:2; }
  .bio,.bio.rev { grid-template-columns:1fr; }
  .bio.rev .bio-img { order:0; }
  .contact-grid { grid-template-columns:1fr; }
  .footer-top { grid-template-columns:1fr; gap:2rem; }
  .brand-heart { width:48px; }
  .brand-word { height:34px; }
}
@media (max-width: 520px) {
  .gallery { columns:1; }
  .feature-grid { display:flex; flex-direction:column; }
  .feature-grid .tile { height:240px; }
  .hero__art .chip { left:0; }
}
@media (prefers-reduced-motion: reduce) {
  * { animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
  .reveal,.reveal-scale { opacity:1 !important; transform:none !important; }
  .intro { display:none !important; }
}
