:root {
  --green: #0c3b33;
  --green-2: #174e43;
  --green-3: #dce8df;
  --gold: #c9a35a;
  --gold-dark: #aa8541;
  --cream: #f7f4ed;
  --paper: #fffdf9;
  --sand: #ece2d3;
  --sage: #dfe8de;
  --ink: #18302a;
  --muted: #65716c;
  --line: rgba(12, 59, 51, .16);
  --shadow: 0 24px 70px rgba(23, 51, 44, .12);
  --serif: "Cormorant Garamond", Georgia, serif;
  --brand: "Cinzel", Georgia, serif;
  --sans: "Montserrat", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--cream); color: var(--ink); font-family: var(--sans); font-size: 16px; line-height: 1.75; overflow-x: hidden; }
body.modal-open { overflow: hidden; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
img { display: block; max-width: 100%; }
.skip-link { position: fixed; z-index: 999; left: 18px; top: -80px; background: white; padding: 10px 14px; border-radius: 0 0 8px 8px; }
.skip-link:focus { top: 0; }

.utility-bar { background: var(--green); color: rgba(255,255,255,.86); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.utility-inner { max-width: 1440px; height: 34px; margin: 0 auto; padding: 0 44px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.utility-inner a { text-decoration: none; }
.utility-right { display: flex; align-items: center; gap: 12px; }
.utility-dot { color: var(--gold); }
.language-switch { display: flex; align-items: center; gap: 6px; }
.language-switch button { appearance: none; border: 0; background: none; color: rgba(255,255,255,.56); padding: 0; cursor: pointer; font-size: 11px; letter-spacing: .12em; }
.language-switch button.active { color: white; font-weight: 600; }

.site-header { position: sticky; top: 0; z-index: 50; background: rgba(247,244,237,.94); border-bottom: 1px solid rgba(12,59,51,.09); backdrop-filter: blur(14px); }
.header-inner { max-width: 1440px; min-height: 84px; margin: 0 auto; padding: 0 44px; display: grid; grid-template-columns: 250px 1fr auto; gap: 32px; align-items: center; }
.brand { width: 216px; text-decoration: none; }
.brand img { width: 100%; }
.main-nav { justify-self: center; display: flex; align-items: center; gap: clamp(20px,3vw,46px); }
.main-nav a { text-decoration: none; font-size: 12px; font-weight: 500; letter-spacing: .08em; position: relative; }
.main-nav a::after { content: ""; position: absolute; left: 50%; right: 50%; bottom: -9px; height: 1px; background: var(--gold); transition: left .2s ease,right .2s ease; }
.main-nav a:hover::after, .main-nav a:focus-visible::after { left: 0; right: 0; }
.menu-button { display: none; }

.btn { appearance: none; border: 0; cursor: pointer; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; min-height: 52px; padding: 14px 25px; font-family: var(--sans); font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.btn:hover { transform: translateY(-2px); }
.btn-header { min-height: 42px; padding: 11px 20px; color: white; background: var(--green); }
.btn-primary { color: white; background: var(--green); box-shadow: 0 12px 28px rgba(12,59,51,.18); }
.btn-gold { color: var(--green); background: #e4c780; box-shadow: 0 12px 30px rgba(0,0,0,.14); }
.btn-dark { width: 100%; color: white; background: var(--green); }
.text-link { display: inline-flex; align-items: center; gap: 10px; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-decoration: none; }
.text-link span:last-child { color: var(--gold-dark); font-size: 18px; }

.hero { position: relative; background: var(--paper); min-height: calc(100vh - 118px); overflow: hidden; }
.hero-inner { max-width: 1440px; min-height: 760px; margin: 0 auto; padding: 70px 44px 90px; display: grid; grid-template-columns: 1.02fr .98fr; gap: clamp(48px,6vw,94px); align-items: center; }
.hero-copy { position: relative; z-index: 3; padding-left: clamp(0px,2vw,28px); }
.eyebrow { margin: 0 0 20px; color: var(--gold-dark); font-size: 11px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; }
.eyebrow.light { color: #ecdba8; }
.eyebrow.dark { color: var(--gold-dark); }
.hero-pretitle { max-width: 640px; margin: 0 0 13px; font-family: var(--serif); font-size: clamp(30px,3.1vw,52px); font-style: italic; line-height: 1; color: var(--green-2); }
.hero h1 { max-width: 690px; margin: 0; font-family: var(--serif); font-size: clamp(62px,6.8vw,112px); font-weight: 500; letter-spacing: -.045em; line-height: .83; color: var(--green); }
.hero-lead { max-width: 650px; margin: 32px 0 0; font-size: clamp(16px,1.3vw,20px); line-height: 1.75; color: #3f504b; }
.hero-actions { margin-top: 36px; display: flex; align-items: center; flex-wrap: wrap; gap: 24px; }
.hero-proof { margin-top: 52px; padding-top: 26px; border-top: 1px solid var(--line); display: flex; gap: clamp(20px,3.5vw,46px); }
.hero-proof span { display: grid; gap: 4px; }
.hero-proof strong { font-family: var(--serif); font-size: 28px; font-weight: 600; color: var(--green); line-height: 1; }
.hero-proof small { max-width: 135px; color: var(--muted); font-size: 9px; line-height: 1.4; letter-spacing: .06em; text-transform: uppercase; }
.hero-portrait-wrap { position: relative; z-index: 2; max-width: 610px; justify-self: end; padding: 8px 8px 56px 46px; }
.hero-portrait-frame { position: relative; overflow: hidden; border-radius: 48% 48% 23px 23px / 28% 28% 23px 23px; box-shadow: var(--shadow); background: var(--sand); }
.hero-portrait-frame::before { content:""; position: absolute; z-index: 2; inset: 16px; border: 1px solid rgba(255,255,255,.58); border-radius: inherit; pointer-events: none; }
.hero-portrait-frame img { width: 100%; aspect-ratio: 1.25 / 1; object-fit: cover; object-position: center; }
.hero-quote-card { position: absolute; z-index: 5; left: 0; bottom: 0; width: min(340px,65%); background: var(--green); color: white; padding: 23px 28px 24px; box-shadow: 0 20px 40px rgba(12,59,51,.19); }
.hero-quote-card .quote-mark { position: absolute; right: 17px; top: -10px; font-family: var(--serif); font-size: 70px; color: var(--gold); opacity: .55; }
.hero-quote-card p { position: relative; margin: 0 0 4px; font-family: var(--serif); font-size: 27px; line-height: 1.1; }
.hero-quote-card small { display: block; color: rgba(255,255,255,.7); font-size: 10px; line-height: 1.55; }
.portrait-wave { position: absolute; z-index: 4; right: -55px; bottom: 28px; width: 80%; height: 105px; fill: none; stroke: var(--gold); stroke-width: 1.6px; opacity: .62; pointer-events: none; }
.hero-decor { position: absolute; border: 1px solid rgba(201,163,90,.35); border-radius: 50%; pointer-events: none; }
.hero-decor-one { width: 410px; height: 410px; right: -110px; top: 44px; }
.hero-decor-two { width: 620px; height: 210px; left: -260px; bottom: 0; transform: rotate(-12deg); }

.quote-band { position: relative; overflow: hidden; background: var(--green); color: white; }
.quote-band::before { content:""; position:absolute; inset:auto -8% -120px 25%; height:260px; border:1px solid rgba(212,175,55,.24); border-radius:50%; transform:rotate(-6deg); }
.quote-band-inner { max-width: 1080px; min-height: 330px; margin: 0 auto; padding: 64px 44px; display: grid; grid-template-columns: 120px 1fr; grid-template-areas: "emblem quote" "emblem sub"; column-gap: 50px; align-items: center; }
.quote-emblem { grid-area: emblem; width: 112px; height: 112px; overflow: hidden; border-radius: 50%; border: 1px solid rgba(255,255,255,.16); }
.quote-emblem img { width: 100%; height: 100%; object-fit: cover; }
.quote-band blockquote { grid-area: quote; margin: 0; font-family: var(--serif); font-size: clamp(42px,5vw,72px); font-weight: 500; line-height: 1.02; letter-spacing: -.025em; }
.quote-band p { grid-area: sub; align-self: start; margin: 8px 0 0; color: rgba(255,255,255,.66); font-size: 13px; letter-spacing: .08em; }

.section-light { background: var(--cream); }
.section-shell { max-width: 1320px; margin: 0 auto; padding: 120px 44px; }
.section-heading { max-width: 880px; }
.section-label { margin: 0 0 24px; display: flex; align-items: center; gap: 14px; color: var(--green); font-size: 10px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; }
.section-label > span:first-child { display: inline-grid; place-items: center; width: 34px; height: 34px; border: 1px solid rgba(12,59,51,.26); border-radius: 50%; color: var(--gold-dark); }
.section-label.light { color: rgba(255,255,255,.74); }
.section-label.light > span:first-child { border-color: rgba(255,255,255,.22); color: #e4c780; }
.section-heading h2, .meaning-copy h2, .approach-copy h2, .process-heading h2, .about-copy h2, .closing h2 { margin: 0; font-family: var(--serif); font-size: clamp(46px,5vw,76px); font-weight: 500; line-height: .98; letter-spacing: -.03em; }
.section-heading > p:last-child { max-width: 680px; margin: 28px 0 0; color: var(--muted); font-size: 17px; }

.recognition { position: relative; }
.playful-grid { margin-top: 68px; display: grid; grid-template-columns: 1.1fr .9fr 1fr .95fr; gap: 18px; align-items: start; }
.thought-card { min-height: 220px; padding: 30px 28px; border: 1px solid rgba(12,59,51,.13); box-shadow: 0 14px 38px rgba(20,51,44,.07); display: flex; flex-direction: column; justify-content: space-between; transition: transform .25s ease; }
.thought-card:hover { transform: translateY(-6px) rotate(0deg); }
.thought-card > span { color: var(--gold-dark); font-family: var(--brand); font-size: 11px; letter-spacing: .14em; }
.thought-card p { margin: 22px 0 0; font-family: var(--serif); font-size: clamp(25px,2vw,33px); line-height: 1.1; }
.thought-card-a { background: var(--paper); transform: rotate(-1.2deg); }
.thought-card-b { background: var(--sage); transform: translateY(34px) rotate(.8deg); }
.thought-card-c { background: var(--green); color: white; transform: translateY(-10px) rotate(-.7deg); }
.thought-card-c > span { color: #e4c780; }
.thought-card-d { background: var(--sand); transform: translateY(38px) rotate(1.1deg); }

.meaning { min-height: 720px; display: grid; grid-template-columns: 1fr 1fr; background: var(--paper); }
.meaning-visual { position: relative; overflow: hidden; background: var(--green); display: grid; place-items: center; padding: 90px; }
.meaning-emblem { width: min(660px,92%); box-shadow: 0 30px 80px rgba(0,0,0,.19); position: relative; z-index: 2; }
.meaning-emblem img { width: 100%; }
.meaning-wave { position: absolute; inset: auto -8% 18% -8%; width: 116%; height: 200px; fill: none; stroke: rgba(221,190,119,.6); stroke-width: 1.8px; }
.meaning-copy { align-self: center; max-width: 680px; padding: 110px clamp(48px,7vw,120px); }
.meaning-copy p:not(.section-label) { color: #4e5e59; margin: 25px 0; }
.meaning-path { margin-top: 40px; display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.meaning-path span { border-radius: 999px; padding: 10px 15px; background: #eef2eb; color: var(--green); font-size: 10px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; }
.meaning-path i { width: 18px; height: 1px; background: var(--gold); }

.approach-shell { display: grid; grid-template-columns: .92fr 1.08fr; gap: clamp(56px,7vw,100px); align-items: center; }
.approach-copy { max-width: 590px; }
.approach-lead { margin: 28px 0 20px; font-family: var(--serif); font-size: 26px; line-height: 1.35; color: var(--green-2); }
.approach-copy > p:not(.section-label):not(.approach-lead) { color: #53625e; }
.principle-pills { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 30px; }
.principle-pills span { padding: 9px 13px; border: 1px solid rgba(12,59,51,.17); border-radius: 999px; color: var(--green); background: rgba(255,255,255,.56); font-size: 9px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.approach-photo { position: relative; margin: 0; }
.approach-photo img { width: 100%; border-radius: 9px; box-shadow: var(--shadow); }
.approach-photo::before { content:""; position:absolute; z-index:-1; inset:-26px 34px 32px -28px; border:1px solid rgba(201,163,90,.48); border-radius:9px; }
.approach-photo figcaption { position: absolute; right: -1px; bottom: -1px; padding: 14px 18px; background: var(--cream); color: var(--green); font-size: 9px; font-weight: 600; letter-spacing: .11em; text-transform: uppercase; }

.process { background: var(--green); color: white; overflow: hidden; position: relative; }
.process::after { content:""; position:absolute; right:-250px; top:90px; width:620px; height:320px; border:1px solid rgba(221,190,119,.18); border-radius:50%; transform:rotate(-10deg); }
.process-heading { position: relative; z-index: 2; display: grid; grid-template-columns: 1.2fr .8fr; gap: 80px; align-items: end; }
.process-heading p:last-child { margin: 0; color: rgba(255,255,255,.66); }
.process-grid { position: relative; z-index:2; margin-top: 70px; display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid rgba(255,255,255,.13); border-left: 1px solid rgba(255,255,255,.13); }
.process-step { min-height: 230px; padding: 26px 24px 30px; border-right: 1px solid rgba(255,255,255,.13); border-bottom: 1px solid rgba(255,255,255,.13); }
.process-step > span { display: grid; place-items:center; width:42px; height:42px; border-radius:50%; background: rgba(255,255,255,.07); border:1px solid rgba(230,201,133,.42); color:#e9cc87; font-family:var(--brand); font-size:12px; }
.process-step h3 { margin: 34px 0 12px; font-family: var(--serif); font-size: 29px; font-weight: 500; }
.process-step p { margin: 0; color: rgba(255,255,255,.64); font-size: 12px; line-height: 1.7; }
.process-step-final { grid-column: span 2; background: rgba(225,195,125,.08); }
.process-note { position: relative; z-index: 2; max-width: 750px; margin: 36px 0 0; color: rgba(255,255,255,.55); font-size: 11px; }

.about-shell { display: grid; grid-template-columns: .78fr 1.22fr; gap: clamp(56px,8vw,120px); align-items: center; }
.about-photo { position: relative; max-width: 520px; justify-self: center; }
.about-photo img { width:100%; border-radius: 52% 52% 10px 10px / 25% 25% 10px 10px; box-shadow: var(--shadow); }
.about-photo::after { content:""; position:absolute; inset:30px -24px -24px 32px; border:1px solid rgba(201,163,90,.48); border-radius:inherit; z-index:-1; }
.about-photo-tag { position:absolute; right:-28px; bottom:54px; width:170px; padding:20px; background:var(--sand); border:1px solid rgba(12,59,51,.11); box-shadow:0 12px 30px rgba(12,59,51,.12); }
.about-photo-tag span { display:block; font-family:var(--serif); font-size:27px; line-height:1; color:var(--green); }
.about-photo-tag small { display:block; margin-top:7px; font-size:8px; line-height:1.5; letter-spacing:.07em; text-transform:uppercase; color:#69716e; }
.about-copy { max-width: 700px; }
.about-copy > p:not(.section-label) { color: #50605a; }
.about-stats { margin-top: 40px; padding-top: 28px; border-top: 1px solid var(--line); display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.about-stats div { display:grid; gap:7px; }
.about-stats strong { font-family: var(--serif); font-size: 42px; font-weight: 500; line-height:1; color:var(--green); }
.about-stats span { color:var(--muted); font-size:9px; line-height:1.5; letter-spacing:.06em; text-transform:uppercase; }

.closing { position: relative; overflow: hidden; background: var(--green); color: white; }
.closing-inner { position: relative; z-index: 2; max-width: 970px; margin: 0 auto; padding: 130px 44px 140px; text-align: center; }
.closing h2 { max-width: 900px; margin: 0 auto; font-size: clamp(52px,6vw,86px); }
.closing-inner > p:not(.eyebrow) { margin: 26px auto 35px; color: rgba(255,255,255,.72); font-size: 18px; }
.closing-contact { margin-top: 30px; display: flex; justify-content:center; gap:12px; color:rgba(255,255,255,.62); font-size:11px; letter-spacing:.08em; }
.closing-contact a { text-decoration:none; color:white; }
.closing-wave { position:absolute; inset: auto -5% -25px -5%; height:250px; opacity:.5; }
.closing-wave svg { width:100%; height:100%; fill:none; stroke:#d8b76b; stroke-width:1.5px; }

.footer { background:#f3eee4; border-top:1px solid rgba(12,59,51,.08); }
.footer-inner { max-width:1440px; margin:0 auto; min-height:120px; padding:26px 44px; display:grid; grid-template-columns:230px 1fr auto; align-items:center; gap:30px; }
.footer-brand img { width:190px; }
.footer-copy { display:flex; justify-content:center; align-items:center; gap:24px; color:#66716c; font-size:10px; letter-spacing:.04em; }
.footer-copy a { text-decoration:none; }
.back-top { display:grid; place-items:center; width:42px; height:42px; border:1px solid rgba(12,59,51,.18); border-radius:50%; text-decoration:none; color:var(--green); }
.mobile-booking { display:none; }

.booking-modal { width:min(650px,calc(100% - 32px)); border:0; padding:0; background:transparent; }
.booking-modal::backdrop { background:rgba(9,31,27,.72); backdrop-filter:blur(5px); }
.modal-shell { position:relative; background:var(--cream); padding:42px; border:1px solid rgba(201,163,90,.34); box-shadow:0 40px 100px rgba(0,0,0,.3); }
.modal-shell h2 { margin:0 0 15px; font-family:var(--serif); font-size:44px; line-height:1; font-weight:500; }
.modal-intro { margin:0 0 28px; color:var(--muted); font-size:13px; }
.modal-close { position:absolute; right:18px; top:15px; border:0; background:none; cursor:pointer; font-size:30px; color:var(--green); }
.modal-shell label { display:grid; gap:7px; margin:15px 0; color:var(--green); font-size:9px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.modal-shell input,.modal-shell select,.modal-shell textarea { width:100%; border:1px solid rgba(12,59,51,.18); background:white; color:var(--ink); padding:12px 13px; outline:none; border-radius:0; text-transform:none; letter-spacing:0; font-weight:400; }
.modal-shell input:focus,.modal-shell select:focus,.modal-shell textarea:focus { border-color:var(--gold-dark); box-shadow:0 0 0 3px rgba(201,163,90,.12); }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.modal-note { margin:14px 0 0; color:#7a827e; font-size:9px; text-align:center; }

.reveal { opacity:0; transform:translateY(24px); transition:opacity .72s ease, transform .72s ease; }
.reveal.visible { opacity:1; transform:none; }
.delay-1 { transition-delay:.10s; }
.delay-2 { transition-delay:.18s; }
.delay-3 { transition-delay:.26s; }

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

@media (max-width: 1120px) {
  .header-inner { grid-template-columns: 210px 1fr auto; padding:0 28px; }
  .brand { width:190px; }
  .main-nav { gap:20px; }
  .hero-inner { padding-left:28px; padding-right:28px; gap:40px; }
  .section-shell { padding-left:28px; padding-right:28px; }
  .playful-grid { grid-template-columns:1fr 1fr; }
  .thought-card-b,.thought-card-c,.thought-card-d { transform:none; }
  .meaning { grid-template-columns:.92fr 1.08fr; }
  .meaning-copy { padding:90px 45px; }
  .process-grid { grid-template-columns:repeat(3,1fr); }
  .process-step-final { grid-column:span 1; }
}

@media (max-width: 880px) {
  .utility-inner { padding:0 22px; }
  .utility-right > span:first-child,.utility-dot { display:none; }
  .header-inner { min-height:72px; grid-template-columns:190px auto 1fr; padding:0 22px; }
  .brand { width:180px; }
  .menu-button { grid-column:3; justify-self:end; display:grid; gap:6px; width:38px; height:38px; place-content:center; border:0; background:none; cursor:pointer; }
  .menu-button span { display:block; width:23px; height:1px; background:var(--green); }
  .btn-header { display:none; }
  .main-nav { position:absolute; left:0; right:0; top:72px; display:none; flex-direction:column; align-items:flex-start; gap:0; padding:10px 22px 22px; background:rgba(247,244,237,.99); border-bottom:1px solid var(--line); }
  .main-nav.open { display:flex; }
  .main-nav a { width:100%; padding:14px 0; border-bottom:1px solid rgba(12,59,51,.09); }
  .hero { min-height:auto; }
  .hero-inner { min-height:auto; padding:60px 28px 85px; grid-template-columns:1fr; }
  .hero-copy { padding-left:0; }
  .hero-portrait-wrap { width:min(620px,100%); justify-self:center; margin-top:10px; padding-left:34px; }
  .quote-band-inner { grid-template-columns:90px 1fr; column-gap:30px; }
  .quote-emblem { width:88px; height:88px; }
  .meaning { grid-template-columns:1fr; }
  .meaning-visual { min-height:520px; padding:55px 28px; }
  .meaning-copy { max-width:none; padding:90px 28px; }
  .approach-shell,.about-shell { grid-template-columns:1fr; }
  .approach-copy { max-width:none; }
  .approach-photo { max-width:760px; margin-top:10px; }
  .process-heading { grid-template-columns:1fr; gap:24px; }
  .process-grid { grid-template-columns:repeat(2,1fr); }
  .about-photo { width:min(560px,86%); order:2; }
  .about-copy { order:1; max-width:none; }
  .about-photo-tag { right:-18px; }
  .footer-inner { grid-template-columns:1fr auto; }
  .footer-copy { grid-row:2; grid-column:1 / -1; justify-content:flex-start; flex-wrap:wrap; gap:14px; }
  .mobile-booking { display:flex; position:fixed; z-index:45; left:16px; right:16px; bottom:14px; width:calc(100% - 32px); min-height:48px; border:0; border-radius:999px; background:var(--green); color:white; box-shadow:0 16px 34px rgba(12,59,51,.27); align-items:center; justify-content:center; font:600 10px var(--sans); letter-spacing:.09em; text-transform:uppercase; }
}

@media (max-width: 620px) {
  body { font-size:15px; }
  .utility-inner { height:30px; padding:0 16px; font-size:9px; }
  .header-inner { min-height:66px; padding:0 16px; grid-template-columns:160px 1fr; }
  .brand { width:154px; }
  .menu-button { grid-column:2; }
  .main-nav { top:66px; padding-left:16px; padding-right:16px; }
  .hero-inner { padding:48px 18px 70px; }
  .hero-pretitle { font-size:31px; }
  .hero h1 { font-size:58px; }
  .hero-lead { margin-top:24px; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:17px; }
  .hero-actions .btn { width:100%; }
  .hero-proof { margin-top:38px; display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
  .hero-proof strong { font-size:23px; }
  .hero-proof small { font-size:7px; }
  .hero-portrait-wrap { padding:0 0 58px 16px; }
  .hero-portrait-frame { border-radius:44% 44% 12px 12px / 22% 22% 12px 12px; }
  .hero-portrait-frame img { aspect-ratio:.95 / 1; object-position:58% center; }
  .hero-quote-card { left:0; width:78%; padding:18px 20px; }
  .hero-quote-card p { font-size:23px; }
  .portrait-wave { right:-25px; width:85%; }
  .quote-band-inner { min-height:310px; padding:50px 20px; grid-template-columns:1fr; grid-template-areas:"emblem" "quote" "sub"; gap:20px; }
  .quote-emblem { width:70px; height:70px; }
  .quote-band blockquote { font-size:42px; }
  .section-shell { padding:86px 18px; }
  .section-heading h2,.meaning-copy h2,.approach-copy h2,.process-heading h2,.about-copy h2,.closing h2 { font-size:45px; }
  .section-heading > p:last-child { font-size:15px; }
  .playful-grid { margin-top:44px; grid-template-columns:1fr; }
  .thought-card { min-height:170px; }
  .thought-card p { font-size:27px; }
  .meaning-visual { min-height:390px; padding:40px 18px; }
  .meaning-copy { padding:78px 18px; }
  .meaning-path i { display:none; }
  .approach-photo::before { inset:-14px 16px 18px -13px; }
  .process-grid { grid-template-columns:1fr; margin-top:45px; }
  .process-step { min-height:auto; }
  .about-photo { width:94%; }
  .about-photo-tag { right:-8px; bottom:34px; width:150px; }
  .about-stats { grid-template-columns:1fr; gap:20px; }
  .about-stats div { grid-template-columns:88px 1fr; align-items:center; }
  .closing-inner { padding:95px 18px 120px; }
  .closing-inner > p:not(.eyebrow) { font-size:16px; }
  .closing .btn { width:100%; }
  .closing-contact { flex-wrap:wrap; }
  .footer-inner { padding:28px 18px 90px; }
  .field-row { grid-template-columns:1fr; gap:0; }
  .modal-shell { padding:34px 22px 26px; }
  .modal-shell h2 { font-size:38px; }
}
