/* ===== Original About styles (kept for the first section) ===== */
/* About page: quiet, editorial luxury aligned to the shared site grid. */
.about-page{--about-paper:#f5f2eb;--about-ivory:#fbf9f4;--about-ink:#10232d;--about-navy:#071722;--about-gold:#c7a66c;--about-muted:#68757a;background:var(--about-paper);color:var(--about-ink)}
.about-main{overflow:hidden}
@media(min-width:701px){
  .about-page .hdr .wrap{width:min(100% - var(--side)*2,var(--content));max-width:var(--content);margin-inline:auto;padding-inline:0}
}
@media(max-width:700px){
  .about-page .hdr .wrap{width:100%;max-width:none;margin:0;padding-inline:var(--side)}
  .about-page .hdr .wrap .logo{margin-left:0}
  .about-page .hdr .burger{margin-right:0}
}
.about-hero{position:relative;isolation:isolate;background:var(--about-paper);color:var(--about-ink)}
.about-hero-inner{display:grid;grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr);align-items:center;gap:clamp(36px,5vw,72px);padding-block:clamp(42px,5.1vw,72px) clamp(60px,7vw,96px)}
.about-hero-copy{max-width:570px}
.about-eyebrow{display:flex;align-items:center;gap:12px;color:#917243;font:500 10px/1.5 var(--display,Georgia,serif);letter-spacing:.23em;text-transform:uppercase}
.about-eyebrow>span{display:block;width:31px;height:1px;background:linear-gradient(90deg,#ae8d57,transparent)}
.about-hero h1{max-width:570px;margin:24px 0 19px;color:#10232d;font:500 clamp(48px,5.1vw,68px)/1.02 var(--display,Georgia,serif);letter-spacing:-.045em;text-wrap:balance}
.about-hero h1 em,.about-section-heading h2 em,.about-manifesto h2 em,.about-contact h2 em{color:#b08c52;font-weight:500}
.about-hero-lede{max-width:440px;color:#65737a;font-size:15px;line-height:1.85}
.about-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:27px}
.about-hero-actions .button,.about-contact-actions .button{min-height:48px;padding-inline:22px;font-size:13px}
.about-text-link{display:inline-flex;align-items:center;gap:11px;color:#8d7042;font:500 15px/1.4 var(--display,Georgia,serif);font-style:italic;transition:gap .45s cubic-bezier(.22,1,.36,1),color .3s}
.about-text-link:hover{gap:16px;color:#594321}
.about-text-link .icon{width:17px;height:17px}
.about-hero-signature{display:flex;align-items:center;gap:14px;margin-top:clamp(32px,4.4vw,55px);padding-top:17px;border-top:1px solid #bba57555;color:#8c7c60;font:500 9px/1.5 var(--display,Georgia,serif);letter-spacing:.19em}
.about-hero-signature i{display:block;width:24px;height:1px;background:#ba9a62}
.about-hero-visual{position:relative;isolation:isolate;height:clamp(390px,39vw,500px);min-width:0;margin:0;padding:10px;border:1px solid #b99a6065;background:#fbfaf6;box-shadow:0 25px 60px #18252b16}
.about-hero-visual:before{position:absolute;z-index:-1;inset:15px -13px -13px 15px;border:1px solid #b99a6047;content:""}
.about-hero-media{position:absolute;inset:10px;overflow:hidden;background:#091923}
.about-hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:100% 60%}
.about-photo-caption{position:absolute;right:24px;bottom:24px;display:flex;align-items:center;gap:12px;max-width:calc(100% - 48px);padding:12px 14px;background:#06131de0;color:#f3ead9;font:500 9px/1.4 var(--display,Georgia,serif);letter-spacing:.16em}
.about-photo-caption>span:first-child{color:#e0c28a;font-style:italic}
.about-photo-caption>i{width:25px;height:1px;background:#d9bd8b9c}
.about-photo-caption>span:last-child{white-space:nowrap}
.about-hero-note{position:absolute;left:24px;bottom:24px;display:flex;align-items:center;gap:10px;padding:9px 14px 9px 9px;border:1px solid #ead9b34a;background:#071722e8;color:#f8f3e7;backdrop-filter:blur(12px)}
.about-note-mark{display:grid;place-items:center;width:34px;height:34px;border:1px solid #dfc1867a;border-radius:50%;color:#ebd59e;font:italic 19px/1 var(--display,Georgia,serif)}
.about-hero-note strong,.about-hero-note small{display:block}
.about-hero-note strong{font:600 11px/1.4 var(--font,Arial,sans-serif)}
.about-hero-note small{margin-top:2px;color:#c0cbd0;font:400 10px/1.4 var(--font,Arial,sans-serif)}

.about-manifesto{position:relative;padding:clamp(76px,8.2vw,112px) 0;background:radial-gradient(ellipse at 92% 0,#173341 0,transparent 42%),linear-gradient(115deg,#071722,#091b25 70%);color:#f5f0e5}
.about-manifesto-grid{display:grid;grid-template-columns:minmax(180px,.56fr) minmax(0,1.44fr);gap:clamp(40px,7vw,100px);align-items:start}
.about-section-label{display:flex;align-items:center;gap:12px;padding-top:12px;color:#d3b77d;font:500 10px/1.5 var(--display,Georgia,serif);letter-spacing:.2em}
.about-section-label>span{color:#ead7ad;font-style:italic;font-size:14px}
.about-section-label>i{width:28px;height:1px;background:#c5a66d}
.about-manifesto h2{max-width:800px;color:#f5f0e5;font:500 clamp(40px,4.4vw,60px)/1.12 var(--display,Georgia,serif);letter-spacing:-.035em;text-wrap:balance}
.about-manifesto h2 em{color:#e2c487}
.about-manifesto-detail{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(32px,6vw,78px);align-items:start;margin-top:30px}
.about-manifesto-detail>p{max-width:545px;color:#bdc7c9;font-size:14px;line-height:1.9}
.about-manifesto blockquote{margin:0;padding:4px 0 4px 21px;border-left:1px solid #cfaf72;color:#e0c892;font:italic 500 19px/1.5 var(--display,Georgia,serif)}

.about-values{padding:clamp(74px,8vw,108px) 0;background:var(--about-ivory);border-bottom:1px solid #e8e1d5}
.about-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:48px;margin-bottom:42px}
.about-section-heading .eyebrow{margin-bottom:14px;color:#967749;font-size:10px}
.about-section-heading h2{color:#122731;font:500 clamp(42px,4.4vw,58px)/1.04 var(--display,Georgia,serif);letter-spacing:-.04em}
.about-section-heading h2 em{color:#ac8950}
.about-section-heading>p{max-width:355px;color:#6c787c;font-size:14px;line-height:1.8}
.about-value-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #cdb88f80;border-bottom:1px solid #cdb88f80}
.about-value-card{position:relative;display:flex;flex-direction:column;min-height:238px;padding:28px clamp(16px,2.1vw,28px) 25px;border-right:1px solid #ded6c7;background:transparent;transition:background .4s,transform .5s cubic-bezier(.22,1,.36,1)}
.about-value-card:first-child{padding-left:0}
.about-value-card:last-child{border-right:0;padding-right:0}
.about-value-card:hover{transform:translateY(-3px);background:#ffffff70}
.about-value-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:27px}
.about-value-top img,.about-steps article>img{box-sizing:border-box;width:47px;height:47px;padding:10px;border:1px solid #d8c18b55;border-radius:50%;background:radial-gradient(circle at 28% 22%,#213c4a,#081a24 78%);object-fit:contain}
.about-value-top>span{color:#a78a59;font:italic 14px/1 var(--display,Georgia,serif)}
.about-value-card h3{margin-bottom:10px;color:#1b303b;font:500 19px/1.28 var(--display,Georgia,serif);letter-spacing:-.015em}
.about-value-card p{max-width:265px;color:#6a767b;font-size:13px;line-height:1.75}

.about-community{position:relative;isolation:isolate;overflow:hidden;padding:clamp(76px,8vw,108px) 0;background:radial-gradient(ellipse at 87% 9%,#213c49 0,transparent 39%),linear-gradient(115deg,#081a25,#06121b 72%);color:#f7f2e8}
.about-community-orbit{position:absolute;right:-190px;top:-360px;z-index:-1;width:640px;height:640px;border:1px solid #d7bb7c20;border-radius:50%;box-shadow:0 0 0 35px #d7bb7c08,0 0 0 75px #d7bb7c05}
.about-community-grid{display:grid;grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);gap:clamp(50px,8vw,112px);align-items:center}
.about-community-copy h2{margin:20px 0 17px;color:#fff9ed;font:500 clamp(44px,4.6vw,62px)/1.06 var(--display,Georgia,serif);letter-spacing:-.04em}
.about-community-copy>p:not(.about-eyebrow){max-width:430px;color:#b9c4c9;font-size:14px;line-height:1.85}
.about-community-copy .about-text-link{margin-top:26px;color:#e6cd98}
.about-audience-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #e8cf9b40}
.about-audience-grid>div{position:relative;display:flex;align-items:center;gap:13px;min-height:94px;padding:16px 12px 16px 0;border-bottom:1px solid #e8cf9b40;transition:background .35s,padding .4s cubic-bezier(.22,1,.36,1)}
.about-audience-grid>div:nth-child(odd){margin-right:22px}
.about-audience-grid>div:nth-child(even){padding-left:18px;border-left:1px solid #e8cf9b40}
.about-audience-grid>div:hover{padding-left:8px;background:#ffffff06}
.about-audience-grid>div>span{align-self:flex-start;color:#d8bc80;font:italic 12px/1.4 var(--display,Georgia,serif)}
.about-audience-grid strong{flex:1;color:#f1eee6;font:500 14px/1.4 var(--display,Georgia,serif)}
.about-audience-grid img{flex:none;box-sizing:border-box;width:34px;height:34px;padding:6px;border:1px solid #d9bf8340;border-radius:50%;background:#102733;object-fit:contain}

.about-process{padding:clamp(76px,8vw,108px) 0;background:var(--about-ivory)}
.about-process-heading{margin-bottom:42px}
.about-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #d4c7ac}
.about-steps article{position:relative;display:grid;grid-template-columns:54px minmax(0,1fr);column-gap:18px;padding:26px clamp(20px,3vw,40px) 14px 0}
.about-steps article+article{padding-left:clamp(20px,3vw,40px);border-left:1px solid #ded7ca}
.about-step-number{grid-column:1/-1;margin-bottom:22px;color:#aa8951;font:italic 31px/1 var(--display,Georgia,serif)}
.about-steps article>img{grid-column:1;grid-row:2/4;width:45px;height:45px;padding:9px}
.about-steps h3{align-self:end;margin:1px 0 8px;color:#1a303b;font:500 20px/1.3 var(--display,Georgia,serif)}
.about-steps p{grid-column:2;color:#68767c;font-size:13px;line-height:1.75}
.about-process-note{margin-top:27px;color:#879197;font-size:10px;line-height:1.6}

.about-contact{padding:0 0 clamp(60px,7vw,88px);background:var(--about-ivory)}
.about-contact-panel{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:space-between;gap:42px;min-height:265px;padding:clamp(34px,5vw,62px);overflow:hidden;border:1px solid #c2a66b60;border-radius:12px;background:radial-gradient(ellipse at 90% 0,#d8b26e1b,transparent 43%),linear-gradient(120deg,#102934,#071722 74%);box-shadow:0 20px 54px #18242a12}
.about-contact-glow{position:absolute;right:11%;top:-164px;z-index:-1;width:340px;height:340px;border:1px solid #e0c48620;border-radius:50%;box-shadow:0 0 0 30px #e0c48609,0 0 0 64px #e0c48606,0 0 0 100px #e0c48604}
.about-contact-copy{max-width:650px}
.about-contact h2{margin:17px 0 12px;color:#fff8eb;font:500 clamp(38px,4vw,54px)/1.08 var(--display,Georgia,serif);letter-spacing:-.04em}
.about-contact-copy>p:last-child{max-width:475px;color:#bdc8cc;font-size:14px;line-height:1.8}
.about-contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:15px;flex:none}
.about-contact-email{color:#d4bd8c;font-size:12px;transition:color .3s}
.about-contact-email:hover{color:#fff1c9}

html.motion-ready .about-page [data-motion]{opacity:0;translate:0 18px;filter:blur(3px);transition:opacity .72s cubic-bezier(.22,1,.36,1),translate .76s cubic-bezier(.22,1,.36,1),filter .72s ease}
html.motion-ready .about-page [data-motion].is-visible{opacity:1;translate:0 0;filter:blur(0)}
.about-hero-copy>*{animation:about-rise .78s cubic-bezier(.22,1,.36,1) both}
.about-hero-copy>.about-eyebrow{animation-delay:.08s}
.about-hero-copy>h1{animation-delay:.16s}
.about-hero-copy>.about-hero-lede{animation-delay:.28s}
.about-hero-copy>.about-hero-actions{animation-delay:.39s}
.about-hero-copy>.about-hero-signature{animation-delay:.48s}
.about-hero-visual{animation:about-image-in 1s .18s cubic-bezier(.22,1,.36,1) both}
.about-photo-caption,.about-hero-note{animation:about-rise .75s .52s cubic-bezier(.22,1,.36,1) both}
@keyframes about-rise{from{opacity:0;transform:translateY(14px);filter:blur(3px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes about-image-in{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}

@media(max-width:1000px){
  .about-value-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .about-value-card{min-height:205px}
  .about-value-card:nth-child(2){border-right:0;padding-right:0}
  .about-value-card:nth-child(3){padding-left:0}
  .about-value-card:nth-child(4){border-right:0;padding-right:0}
  .about-community-grid{gap:42px}
  .about-audience-grid>div{min-height:86px}
  .about-audience-grid strong{font-size:13px}
}
@media(max-width:900px){
  .about-manifesto-grid{grid-template-columns:minmax(150px,.4fr) minmax(0,1.6fr);gap:34px}
}
@media(max-width:900px) and (min-width:701px){
  .about-hero-inner{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(22px,3vw,32px);padding-block:38px 50px}
  .about-hero h1{margin:17px 0 15px;font-size:clamp(35px,5vw,44px)}
  .about-hero-lede{font-size:13px;line-height:1.72}
  .about-hero-actions{gap:14px;margin-top:21px}
  .about-hero-actions .button{min-height:43px;padding-inline:16px;font-size:12px}
  .about-hero-actions .about-text-link{font-size:13px}
  .about-hero-signature{gap:9px;margin-top:27px;font-size:8px}
  .about-hero-visual{height:clamp(295px,39vw,345px)}
  .about-photo-caption{right:18px;bottom:18px;gap:8px;padding:10px 11px;font-size:8px}
  .about-hero-note{left:18px;bottom:18px}
}
@media(max-width:700px){
  .about-hero-inner{grid-template-columns:1fr;gap:26px;padding-block:31px 45px}
  .about-hero-copy{max-width:none}
  .about-eyebrow{gap:9px;font-size:9px;letter-spacing:.17em}
  .about-eyebrow>span{width:22px}
  .about-hero h1{margin:18px 0 15px;font-size:clamp(38px,10vw,44px);line-height:1.04;letter-spacing:-.04em}
  .about-hero-lede{max-width:470px;font-size:13px;line-height:1.72}
  .about-hero-actions{gap:17px;margin-top:21px}
  .about-hero-actions .button,.about-contact-actions .button{min-height:44px;padding-inline:18px;font-size:12px}
  .about-hero-actions .about-text-link{font-size:13px}
  .about-hero-signature{display:none}
  .about-hero-visual{height:clamp(225px,64vw,275px);padding:7px}
  .about-hero-media{inset:7px}
  .about-hero-media img{object-position:center 76%}
  .about-photo-caption{right:14px;bottom:14px;gap:7px;padding:9px 10px;font-size:7px;letter-spacing:.12em}
  .about-photo-caption>i{width:15px}
  .about-hero-note{left:14px;bottom:14px;gap:7px;padding:6px 10px 6px 6px}
  .about-note-mark{width:27px;height:27px;font-size:16px}
  .about-hero-note strong{font-size:9px}
  .about-hero-note small{font-size:8px}
  .about-manifesto{padding:56px 0 60px}
  .about-manifesto-grid{grid-template-columns:1fr;gap:21px}
  .about-section-label{padding:0;font-size:9px}
  .about-manifesto h2{font-size:clamp(35px,9.5vw,45px);line-height:1.1}
  .about-manifesto-detail{grid-template-columns:1fr;gap:20px;margin-top:21px}
  .about-manifesto-detail>p{font-size:13px;line-height:1.8}
  .about-manifesto blockquote{max-width:360px;font-size:18px}
  .about-values,.about-process{padding:57px 0}
  .about-section-heading{display:block;margin-bottom:29px}
  .about-section-heading .eyebrow{margin-bottom:11px;font-size:9px}
  .about-section-heading h2{font-size:39px}
  .about-section-heading>p{margin-top:15px;font-size:13px;line-height:1.72}
  .about-value-grid{grid-template-columns:1fr 1fr}
  .about-value-card,.about-value-card:first-child,.about-value-card:nth-child(3){min-height:0;padding:19px 12px 21px 0}
  .about-value-card:nth-child(even){padding-left:15px}
  .about-value-card:nth-child(odd){border-right:1px solid #ded6c7}
  .about-value-card:nth-child(even){border-right:0}
  .about-value-top{margin-bottom:20px}
  .about-value-top img{width:39px;height:39px;padding:8px}
  .about-value-top>span{font-size:12px}
  .about-value-card h3{font-size:15px;line-height:1.28}
  .about-value-card p{font-size:12px;line-height:1.65}
  .about-community{padding:59px 0 63px}
  .about-community-grid{grid-template-columns:1fr;gap:27px}
  .about-community-copy h2{margin:16px 0 13px;font-size:clamp(31px,9.6vw,39px)}
  .about-community-copy>p:not(.about-eyebrow){font-size:13px;line-height:1.75}
  .about-community-copy .about-text-link{margin-top:19px;font-size:14px}
  .about-audience-grid>div{gap:7px;min-height:77px;padding:11px 7px 11px 0}
  .about-audience-grid>div:nth-child(odd){margin-right:10px}
  .about-audience-grid>div:nth-child(even){padding-left:10px}
  .about-audience-grid>div>span{font-size:10px}
  .about-audience-grid strong{font-size:11px;line-height:1.32}
  .about-audience-grid img{width:28px;height:28px;padding:5px}
  .about-process-heading{margin-bottom:27px}
  .about-steps{grid-template-columns:1fr}
  .about-steps article,.about-steps article+article{grid-template-columns:44px minmax(0,1fr);column-gap:14px;padding:19px 0 18px;border-left:0;border-bottom:1px solid #ded7ca}
  .about-steps article:first-child{padding-top:0}
  .about-step-number{grid-column:1/-1;margin-bottom:14px;font-size:25px}
  .about-steps article>img{grid-row:2/4;width:38px;height:38px;padding:8px}
  .about-steps h3{font-size:18px}
  .about-steps p{font-size:12px;line-height:1.65}
  .about-process-note{margin-top:19px;font-size:9px}
  .about-contact{padding-bottom:46px}
  .about-contact-panel{align-items:flex-start;flex-direction:column;gap:23px;min-height:0;padding:26px 21px;border-radius:10px}
  .about-contact h2{margin:14px 0 10px;font-size:34px}
  .about-contact-copy>p:last-child{font-size:13px}
  .about-contact-actions{gap:12px}
  .about-contact-email{font-size:11px}
  .about-contact-glow{right:-190px;top:-180px;width:310px;height:310px}
}
@media(max-width:359px){
  .about-hero h1{font-size:clamp(32px,9.5vw,34px)}
  .about-section-heading h2{font-size:34px}
  .about-contact h2{font-size:30px}
  .about-hero-actions{align-items:flex-start;flex-direction:column;gap:13px}
  .about-hero-signature{letter-spacing:.1em;font-size:7px}
  .about-photo-caption{right:10px;bottom:10px;font-size:6.5px;letter-spacing:.08em}
  .about-hero-note{left:10px;bottom:10px}
  .about-value-card h3{font-size:14px}
  .about-audience-grid strong{font-size:10px}
}
@media(prefers-reduced-motion:reduce){
  .about-value-card,.about-text-link,.about-hero-copy>*,.about-hero-visual,.about-photo-caption,.about-hero-note{animation:none!important;transition:none!important}
  html.motion-ready .about-page [data-motion]{opacity:1!important;translate:none!important;filter:none!important;transition:none!important}
}


/* =========================================================
   About page — premium, modern, editorial
   ========================================================= */
.about-page {
  --ab-navy: #06141f;
  --ab-navy-2: #0b2233;
  --ab-gold: #d8b26e;
  --ab-gold-soft: #f3d79c;
  --ab-gold-text: #a37c43;
  --ab-ivory: #fbf9f4;
  --ab-cream: #f4efe5;
  --ab-ink: #0c1e2c;
  --ab-muted: #64717a;
  --ab-line: #e6dccb;
  --ab-ease: cubic-bezier(.22, 1, .36, 1);
  --ab-badge-bg: radial-gradient(circle at 30% 25%, #1c3647 0%, #0a1a26 78%);
  background: var(--ab-ivory);
  color: var(--ab-ink);
}
.about-main { overflow: clip; }

/* Header alignment with the page grid */
@media (min-width: 701px) {
  .about-page .hdr .wrap { width: min(100% - var(--side) * 2, var(--content)); max-width: var(--content); margin-inline: auto; padding-inline: 0; }
}
@media (max-width: 700px) {
  .about-page .hdr .wrap { width: 100%; max-width: none; margin: 0; padding-inline: var(--side); }
  .about-page .hdr .wrap .logo { margin-left: 0; }
  .about-page .hdr .burger { margin-right: 0; }
}

/* One premium CTA on this page: hide the duplicate footer invitation */
.about-page .footer-invitation { display: none; }

/* ---------- Shared pieces ---------- */
.ab-eyebrow {
  display: flex; align-items: center; gap: 14px; margin: 0;
  font: 500 12px/1.4 var(--display, "Playfair Display", Georgia, serif);
  letter-spacing: .26em; text-transform: uppercase; color: var(--ab-gold-text);
}
.ab-eyebrow > span { flex: none; width: 40px; height: 1.5px; background: linear-gradient(90deg, var(--ab-gold), rgba(216, 178, 110, .2)); }
.ab-eyebrow-light { color: var(--ab-gold-soft); }

.about-page h2 { font-family: var(--display, "Playfair Display", Georgia, serif); font-weight: 600; letter-spacing: -.015em; }
.about-page h2 em, .about-page h1 em { font-style: italic; font-weight: 500; }

.ab-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 54px; padding: 0 26px; border-radius: 999px; border: 0; cursor: pointer;
  font: 700 15px/1 var(--font); letter-spacing: .01em; white-space: nowrap; text-decoration: none;
  transition: transform .45s var(--ab-ease), box-shadow .45s var(--ab-ease), background-color .3s, border-color .3s, color .3s;
}
.ab-btn .icon { width: 18px; height: 18px; stroke-width: 2.1; transition: transform .45s var(--ab-ease); }
.ab-btn:hover { transform: translateY(-2px); }
.ab-btn:hover .icon:last-child { transform: translateX(4px); }
.ab-btn-gold {
  color: #10181f; background: linear-gradient(180deg, #fbe0a5 0%, #ecc57f 100%);
  box-shadow: 0 14px 30px -14px rgba(236, 197, 127, .8), inset 0 1px 0 rgba(255, 255, 255, .55);
}
.ab-btn-gold:hover { box-shadow: 0 20px 38px -14px rgba(236, 197, 127, .95), inset 0 1px 0 rgba(255, 255, 255, .6); }
.ab-btn-glass {
  color: #fff; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .38);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
}
.ab-btn-glass:hover { background: rgba(255, 255, 255, .16); border-color: rgba(255, 255, 255, .7); }
.ab-btn-glass .icon:first-child { transform: none !important; }

.ab-badge {
  flex: none; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%;
  background: var(--ab-badge-bg); border: 1px solid rgba(232, 207, 155, .38);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .09), 0 10px 22px -10px rgba(2, 12, 20, .6);
  color: var(--ab-gold-soft);
}
.ab-badge svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.ab-badge img { width: 56%; height: 56%; object-fit: contain; }
.ab-badge-lg { width: 60px; height: 60px; }

.ab-link {
  display: inline-flex; align-items: center; gap: 10px; padding-bottom: 6px;
  font: 700 15px/1.3 var(--font); color: var(--ab-ink); text-decoration: none;
  border-bottom: 1.5px solid var(--ab-gold); transition: gap .45s var(--ab-ease), color .3s;
}
.ab-link .icon { width: 18px; height: 18px; stroke-width: 2; color: var(--ab-gold); }
.ab-link:hover { gap: 16px; }
.ab-link-light { color: #fff; }

.ab-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; margin-bottom: clamp(36px, 4.5vw, 56px); }
.ab-heading h2 { margin-top: 14px; font-size: clamp(34px, 4vw, 54px); line-height: 1.06; color: var(--ab-ink); }
.ab-heading h2 em { display: block; color: var(--ab-gold-text); }
.ab-heading > p { max-width: 420px; font-size: 16.5px; line-height: 1.7; color: var(--ab-muted); }
.ab-heading-center { flex-direction: column; align-items: center; text-align: center; }
.ab-heading-center .ab-eyebrow { justify-content: center; }
.ab-heading-center .ab-eyebrow > span:last-child { background: linear-gradient(270deg, var(--ab-gold), rgba(216, 178, 110, .2)); }
.ab-heading-center > p { max-width: 560px; margin-top: -18px; }

/* ---------- 1. Hero ---------- */
.ab-hero {
  position: relative; isolation: isolate; overflow: hidden; color: #fff;
  min-height: clamp(620px, calc(100svh - var(--hdr, 84px)), 860px);
  display: flex; background: var(--ab-navy);
}
.ab-hero > .container { width: min(100% - var(--side) * 2, var(--content)); }
.ab-hero-media { position: absolute; inset: 0; z-index: -2; }
.ab-hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: 62% 60%; animation: abZoom 2.4s var(--ab-ease) both; }
@keyframes abZoom { from { transform: scale(1.06); opacity: .4; } }
.ab-hero-shade {
  position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background:
    linear-gradient(90deg, rgba(4, 13, 21, .92) 0%, rgba(4, 13, 21, .72) 30%, rgba(4, 13, 21, .2) 58%, rgba(4, 13, 21, 0) 75%),
    linear-gradient(180deg, rgba(4, 13, 21, .35) 0%, rgba(4, 13, 21, 0) 25%, rgba(4, 13, 21, 0) 60%, rgba(4, 13, 21, .85) 100%);
}
.ab-hero-inner { display: flex; flex-direction: column; padding-block: clamp(70px, 8vw, 104px) clamp(28px, 3vw, 40px); }
.ab-crumbs { display: flex; align-items: center; gap: 10px; margin-bottom: clamp(26px, 3vw, 40px); font: 600 13px/1 var(--font); color: rgba(255, 255, 255, .62); }
.ab-crumbs a { color: rgba(255, 255, 255, .78); text-decoration: none; transition: color .3s; }
.ab-crumbs a:hover { color: var(--ab-gold-soft); }
.ab-crumbs [aria-current] { color: var(--ab-gold-soft); }
.ab-hero-copy { max-width: 780px; animation: abRise 1s var(--ab-ease) .1s both; }
@keyframes abRise { from { opacity: 0; transform: translateY(22px); } }
.ab-hero h1 {
  margin: 22px 0 0; font: 600 clamp(48px, 6.2vw, 88px)/.98 var(--display, "Playfair Display", Georgia, serif);
  letter-spacing: -.025em; color: #fff; text-shadow: 0 6px 30px rgba(0, 0, 0, .3);
}
.ab-hero h1 em {
  display: block; padding-bottom: .08em;
  background: linear-gradient(180deg, #fde6ae 0%, #f3d08c 55%, #e5b96c 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent; text-shadow: none;
}
.ab-hero-lede { max-width: 520px; margin-top: 22px; font-size: clamp(16px, 1.3vw, 18.5px); line-height: 1.7; color: rgba(255, 255, 255, .84); }
.ab-hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }

.ab-hero-strip {
  display: grid; grid-template-columns: repeat(4, 1fr); margin: clamp(48px, 7vw, 96px) 0 0; padding: 0; list-style: none;
  border-radius: 22px; overflow: hidden;
  background: rgba(6, 20, 31, .55); border: 1px solid rgba(243, 215, 156, .18);
  -webkit-backdrop-filter: blur(14px) saturate(1.2); backdrop-filter: blur(14px) saturate(1.2);
  box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .8);
  animation: abRise 1s var(--ab-ease) .35s both;
}
.ab-hero-strip li { display: flex; align-items: center; gap: 14px; padding: 20px 22px; }
.ab-hero-strip li + li { border-left: 1px solid rgba(255, 255, 255, .1); }
.ab-hero-strip strong { display: block; font: 700 15.5px/1.3 var(--font); color: #fff; }
.ab-hero-strip small { display: block; margin-top: 3px; font: 500 13px/1.4 var(--font); color: rgba(255, 255, 255, .64); }
.ab-scroll { display: none; }

/* ---------- 2. Story ---------- */
.ab-story { padding: clamp(84px, 10vw, 140px) 0; background: var(--ab-ivory); }
.ab-story-grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(48px, 7vw, 110px); align-items: center; }
.ab-story-media { position: relative; padding: 0 12% 14% 0; }
.ab-photo { margin: 0; overflow: hidden; border-radius: 26px; box-shadow: 0 40px 80px -40px rgba(6, 20, 31, .55); }
.ab-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s var(--ab-ease); }
.ab-photo:hover img { transform: scale(1.04); }
.ab-photo-main { aspect-ratio: 4 / 3.4; }
.ab-photo-small { position: absolute; right: 0; bottom: 0; width: 52%; aspect-ratio: 4 / 3; border: 8px solid var(--ab-ivory); border-radius: 24px; }
.ab-seal {
  position: absolute; left: -26px; bottom: 6%; width: 132px; height: 132px; display: grid; place-items: center;
  border-radius: 50%; background: var(--ab-badge-bg); border: 1px solid rgba(232, 207, 155, .45);
  box-shadow: 0 24px 50px -20px rgba(2, 12, 20, .7);
}
.ab-seal svg { position: absolute; inset: 0; width: 100%; height: 100%; animation: abSpin 26s linear infinite; }
.ab-seal text { font: 600 9px var(--font); letter-spacing: .12em; fill: var(--ab-gold-soft); }
.ab-seal-mark { font: italic 600 40px/1 var(--display, "Playfair Display", Georgia, serif); color: var(--ab-gold-soft); }
@keyframes abSpin { to { transform: rotate(360deg); } }
.ab-story-copy h2 { margin-top: 18px; font-size: clamp(32px, 3.6vw, 50px); line-height: 1.1; color: var(--ab-ink); }
.ab-story-copy h2 em { color: var(--ab-gold-text); }
.ab-story-copy > p { margin-top: 22px; font-size: 16.5px; line-height: 1.8; color: var(--ab-muted); }
.ab-story-copy blockquote {
  position: relative; margin: 30px 0 0; padding: 22px 26px 22px 64px; border-radius: 18px;
  background: linear-gradient(135deg, #fff, #f7f1e5); border: 1px solid var(--ab-line);
  font: italic 500 clamp(19px, 1.7vw, 23px)/1.4 var(--display, "Playfair Display", Georgia, serif); color: var(--ab-ink);
}
.ab-story-copy blockquote span { position: absolute; left: 20px; top: 8px; font: 600 54px/1 var(--display, "Playfair Display", Georgia, serif); color: var(--ab-gold); }
.ab-checks { display: grid; gap: 12px; margin: 28px 0 0; padding: 0; list-style: none; }
.ab-checks li { display: flex; align-items: center; gap: 12px; font: 600 15.5px/1.45 var(--font); color: var(--ab-ink); }
.ab-checks svg {
  flex: none; box-sizing: border-box; width: 26px; height: 26px; padding: 5px; border-radius: 50%;
  background: rgba(216, 178, 110, .18); fill: none; stroke: var(--ab-gold-text); stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round;
}

/* ---------- 3. Values ---------- */
.ab-values { padding: clamp(84px, 9vw, 130px) 0; background: var(--ab-cream); }
.ab-value-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.ab-value {
  position: relative; overflow: hidden; padding: 30px 26px 32px; border-radius: 22px;
  background: #fff; border: 1px solid var(--ab-line);
  box-shadow: 0 2px 6px rgba(12, 30, 44, .04);
}
.ab-value::before {
  content: ""; position: absolute; left: 0; top: 0; height: 3px; width: 100%;
  background: linear-gradient(90deg, var(--ab-gold), #f3d79c, var(--ab-gold));
  transform: scaleX(0); transform-origin: left; transition: transform .7s var(--ab-ease);
}
.ab-value:hover::before { transform: scaleX(1); }
.ab-value-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 26px; }
.ab-num { font: italic 500 40px/1 var(--display, "Playfair Display", Georgia, serif); color: transparent; -webkit-text-stroke: 1px rgba(163, 124, 67, .55); }
.ab-value h3 { font: 600 22px/1.25 var(--display, "Playfair Display", Georgia, serif); color: var(--ab-ink); }
.ab-value p { margin-top: 10px; font-size: 15px; line-height: 1.7; color: var(--ab-muted); }

/* ---------- 4. Audience ---------- */
.ab-audience { position: relative; isolation: isolate; overflow: hidden; padding: clamp(84px, 9vw, 130px) 0; color: #fff; background: radial-gradient(90% 120% at 0% 0%, #12304a 0%, var(--ab-navy) 55%); }
.ab-audience-art {
  position: absolute; inset: 0 0 0 46%; z-index: -1; opacity: .38;
  background: url('assets/sydney-evening.png') center 40% / cover no-repeat;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 45%); mask-image: linear-gradient(90deg, transparent, #000 45%);
}
.ab-audience-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(40px, 6vw, 90px); align-items: center; }
.ab-audience-copy h2 { margin-top: 18px; font-size: clamp(34px, 4vw, 54px); line-height: 1.06; color: #fff; }
.ab-audience-copy h2 em { display: block; color: var(--ab-gold-soft); }
.ab-audience-copy > p { margin: 22px 0 30px; max-width: 460px; font-size: 16.5px; line-height: 1.75; color: rgba(255, 255, 255, .74); }
.ab-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.ab-tile {
  position: relative; display: flex; flex-direction: column; gap: 18px; min-height: 196px; padding: 26px 24px 24px; border-radius: 22px;
  text-decoration: none; color: #fff;
  background: linear-gradient(160deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .02));
  border: 1px solid rgba(243, 215, 156, .18);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
}
.ab-tile-text strong { display: block; font: 600 20px/1.25 var(--display, "Playfair Display", Georgia, serif); }
.ab-tile-text small { display: block; margin-top: 8px; font: 500 14px/1.55 var(--font); color: rgba(255, 255, 255, .66); }
.ab-tile-arrow {
  position: absolute; right: 22px; top: 26px; width: 38px; height: 38px; box-sizing: border-box; padding: 10px; border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, .22); fill: none; stroke: #fff; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
  transition: transform .5s var(--ab-ease), background-color .3s, border-color .3s, stroke .3s;
}
.ab-tile:hover .ab-tile-arrow { transform: rotate(-35deg); background: var(--ab-gold-soft); border-color: var(--ab-gold-soft); stroke: var(--ab-ink); }

/* ---------- 5. Process ---------- */
.ab-process { padding: clamp(84px, 9vw, 130px) 0 clamp(64px, 7vw, 96px); background: var(--ab-ivory); }
.ab-steps { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin: 0; padding: 0; list-style: none; }
.ab-steps::before {
  content: ""; position: absolute; left: 16.6%; right: 16.6%; top: 22px; height: 1.5px;
  background: repeating-linear-gradient(90deg, var(--ab-gold) 0 8px, transparent 8px 16px); opacity: .7;
}
.ab-steps li { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; padding: 0 18px 34px; }
.ab-step-node {
  position: relative; z-index: 1; display: grid; place-items: center; width: 46px; height: 46px; margin-bottom: 26px; border-radius: 50%;
  background: var(--ab-ivory); border: 1.5px solid var(--ab-gold); color: var(--ab-gold-text);
  font: italic 600 16px/1 var(--display, "Playfair Display", Georgia, serif);
  box-shadow: 0 0 0 7px var(--ab-ivory);
}
.ab-steps .ab-badge { width: 72px; height: 72px; margin-bottom: 20px; }
.ab-steps h3 { font: 600 23px/1.25 var(--display, "Playfair Display", Georgia, serif); color: var(--ab-ink); }
.ab-steps p { max-width: 300px; margin-top: 10px; font-size: 15.5px; line-height: 1.7; color: var(--ab-muted); }
.ab-note {
  display: flex; align-items: center; justify-content: center; gap: 10px; margin: 26px auto 0; width: fit-content; max-width: 100%;
  padding: 12px 20px; border-radius: 999px; background: #fff; border: 1px solid var(--ab-line);
  font: 600 13.5px/1.45 var(--font); color: var(--ab-muted); text-align: left;
}
.ab-note svg { flex: none; width: 18px; height: 18px; fill: none; stroke: var(--ab-gold-text); stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }

/* ---------- 6. CTA ---------- */
.ab-cta { padding: 0 0 clamp(84px, 9vw, 120px); background: var(--ab-ivory); }
.ab-cta-panel {
  position: relative; isolation: isolate; overflow: hidden;
  display: grid; grid-template-columns: 1.15fr .85fr; gap: 40px; align-items: center;
  padding: clamp(40px, 5.5vw, 72px); border-radius: 32px; color: #fff;
  background: var(--ab-navy) url('assets/journey-banner.png') center / cover no-repeat;
  box-shadow: 0 50px 100px -50px rgba(6, 20, 31, .8);
}
.ab-cta-panel::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(100deg, rgba(4, 13, 21, .95) 0%, rgba(4, 13, 21, .82) 50%, rgba(4, 13, 21, .45) 100%); }
.ab-cta-panel::after { content: ""; position: absolute; left: 50px; right: 50px; top: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(243, 215, 156, .9), transparent); }
.ab-cta-copy h2 { margin-top: 16px; font-size: clamp(32px, 3.6vw, 50px); line-height: 1.08; color: #fff; }
.ab-cta-copy h2 em { display: block; color: var(--ab-gold-soft); }
.ab-cta-copy > p { margin-top: 18px; max-width: 470px; font-size: 16.5px; line-height: 1.7; color: rgba(255, 255, 255, .76); }
.ab-cta-side { display: flex; flex-direction: column; align-items: flex-start; gap: 22px; justify-self: end; }
.ab-cta-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.ab-cta-contact { display: flex; align-items: center; gap: 14px; padding: 12px 22px 12px 12px; border-radius: 999px; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .12); color: #fff; text-decoration: none; font: 600 15px/1.3 var(--font); transition: border-color .3s, background-color .3s; }
.ab-cta-contact small { display: block; margin-bottom: 2px; font: 700 10.5px/1.2 var(--font); letter-spacing: .16em; text-transform: uppercase; color: var(--ab-gold-soft); }
.ab-cta-contact:hover { border-color: rgba(243, 215, 156, .5); background: rgba(255, 255, 255, .1); }

/* ---------- Motion: smooth, transform-only reveal (no blur) ---------- */
html.motion-ready .about-page [data-motion] {
  opacity: 0; transform: translate3d(0, 26px, 0); translate: none; filter: none;
  transition: opacity .9s var(--ab-ease) var(--d, 0s), transform 1s var(--ab-ease) var(--d, 0s), box-shadow .55s var(--ab-ease), border-color .4s, background-color .4s;
}
html.motion-ready .about-page [data-motion].is-visible { opacity: 1; transform: none; translate: none; filter: none; }
/* Hover lift once revealed (separate from the reveal so it never feels laggy) */
.about-page .ab-value.is-visible:hover, html:not(.motion-ready) .about-page .ab-value:hover { transform: translateY(-8px); transition-delay: 0s; box-shadow: 0 34px 60px -34px rgba(6, 20, 31, .45); border-color: rgba(216, 178, 110, .55); }
.about-page .ab-tile.is-visible:hover, html:not(.motion-ready) .about-page .ab-tile:hover { transform: translateY(-6px); transition-delay: 0s; border-color: rgba(243, 215, 156, .55); background-color: rgba(255, 255, 255, .04); }
html.motion-ready .about-page .ab-value.is-visible, html.motion-ready .about-page .ab-tile.is-visible { transition-duration: .55s; }

/* ---------- Tablet ---------- */
@media (max-width: 1100px) {
  .ab-hero-strip { grid-template-columns: repeat(2, 1fr); }
  .ab-hero-strip li:nth-child(3) { border-left: 0; }
  .ab-hero-strip li:nth-child(n+3) { border-top: 1px solid rgba(255, 255, 255, .1); }
  .ab-value-grid { grid-template-columns: repeat(2, 1fr); }
  .ab-audience-grid { grid-template-columns: 1fr; }
  .ab-audience-art { inset: 40% 0 0 0; -webkit-mask-image: linear-gradient(180deg, transparent, #000 50%); mask-image: linear-gradient(180deg, transparent, #000 50%); }
  .ab-cta-panel { grid-template-columns: 1fr; }
  .ab-cta-side { justify-self: start; }
}
@media (max-width: 900px) {
  .ab-story-grid { grid-template-columns: 1fr; }
  .ab-story-media { max-width: 620px; }
  .ab-heading { flex-direction: column; align-items: flex-start; gap: 16px; }
  .ab-heading-center { align-items: center; }
  .ab-heading-center > p { margin-top: 0; }
}

/* ---------- Phone ---------- */
@media (max-width: 700px) {
  .ab-hero { min-height: 0; }
  .ab-hero-media img { object-position: center 75%; }
  .ab-hero-shade {
    background: linear-gradient(180deg, rgba(4, 13, 21, .9) 0%, rgba(4, 13, 21, .66) 36%, rgba(4, 13, 21, .08) 56%, rgba(4, 13, 21, .15) 72%, rgba(4, 13, 21, .94) 100%);
  }
  .ab-hero-inner { padding-block: 30px 20px; }
  .ab-crumbs { margin-bottom: 22px; font-size: 12px; }
  .ab-eyebrow { font-size: 10.5px; letter-spacing: .2em; gap: 10px; }
  .ab-eyebrow > span { width: 28px; }
  .ab-hero h1 { margin-top: 16px; font-size: clamp(40px, 11.4vw, 56px); }
  .ab-hero-lede { margin-top: 16px; font-size: 15.5px; }
  .ab-hero-actions { margin-top: 24px; gap: 10px; }
  .ab-hero-actions .ab-btn { flex: 1 1 auto; min-height: 50px; padding: 0 18px; font-size: 14.5px; }
  .ab-hero-strip { margin-top: min(62vw, 300px); border-radius: 18px; }
  .ab-hero-strip li { padding: 14px 12px; gap: 10px; }
  .ab-hero-strip .ab-badge { width: 38px; height: 38px; }
  .ab-hero-strip .ab-badge svg { width: 18px; height: 18px; }
  .ab-hero-strip strong { font-size: 13.5px; }
  .ab-hero-strip small { font-size: 11.5px; }

  .ab-story, .ab-values, .ab-audience { padding: 72px 0; }
  .ab-story-media { padding: 0 8% 16% 0; }
  .ab-seal { left: auto; right: -6px; top: -26px; bottom: auto; width: 96px; height: 96px; }
  .ab-seal text { font-size: 8.5px; }
  .ab-seal-mark { font-size: 30px; }
  .ab-photo-small { border-width: 6px; }
  .ab-story-copy > p, .ab-heading > p, .ab-audience-copy > p, .ab-cta-copy > p { font-size: 15.5px; }
  .ab-story-copy blockquote { padding: 18px 18px 18px 52px; }
  .ab-story-copy blockquote span { left: 16px; font-size: 44px; }

  .ab-value-grid { grid-template-columns: 1fr; gap: 14px; }
  .ab-value { padding: 24px 22px 26px; }
  .ab-value-top { margin-bottom: 18px; }

  .ab-tiles { grid-template-columns: 1fr; gap: 12px; }
  .ab-tile { flex-direction: row; align-items: center; min-height: 0; padding: 18px 64px 18px 18px; gap: 14px; }
  .ab-tile-arrow { top: 50%; margin-top: -19px; right: 16px; }
  .ab-tile-text strong { font-size: 18px; }
  .ab-tile-text small { margin-top: 4px; font-size: 13.5px; }

  .ab-process { padding: 72px 0 56px; }
  .ab-steps { grid-template-columns: 1fr; gap: 0; }
  .ab-steps::before { left: 22px; right: auto; top: 22px; bottom: 40px; width: 1.5px; height: auto; background: repeating-linear-gradient(180deg, var(--ab-gold) 0 8px, transparent 8px 16px); }
  .ab-steps li { display: grid; grid-template-columns: 46px 56px 1fr; column-gap: 14px; align-items: start; text-align: left; padding: 0 0 30px; }
  .ab-step-node { margin: 0; grid-row: span 2; }
  .ab-steps .ab-badge { width: 56px; height: 56px; margin: 0; grid-row: span 2; }
  .ab-steps h3 { font-size: 20px; padding-top: 4px; }
  .ab-steps p { margin-top: 6px; font-size: 14.5px; }
  .ab-note { border-radius: 16px; align-items: flex-start; }

  .ab-cta { padding-bottom: 64px; }
  .ab-cta-panel { padding: 34px 22px; border-radius: 24px; gap: 26px; }
  .ab-cta-panel::after { left: 24px; right: 24px; }
  .ab-cta-side, .ab-cta-actions { width: 100%; }
  .ab-cta-actions .ab-btn { flex: 1 1 auto; }
  .ab-cta-contact { width: 100%; font-size: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  .ab-hero-media img, .ab-hero-copy, .ab-hero-strip, .ab-seal svg { animation: none !important; }
  html.motion-ready .about-page [data-motion] { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* Mobile: hero photo labels never overlap — note bottom-left, caption top-right */
@media (max-width: 700px) {
  .about-hero-visual .about-photo-caption { top: 14px; bottom: auto; right: 14px; left: auto; max-width: calc(100% - 28px); padding: 8px 12px; gap: 8px; font-size: 8.5px; letter-spacing: .14em; border-radius: 999px; }
  .about-hero-visual .about-photo-caption > i { width: 14px; }
  .about-hero-visual .about-hero-note { left: 14px; right: auto; bottom: 14px; max-width: calc(100% - 28px); padding: 7px 14px 7px 7px; border-radius: 999px; }
  .about-hero-visual .about-hero-note strong { font-size: 12px; }
  .about-hero-visual .about-hero-note small { font-size: 10.5px; }
  .about-hero-visual .about-note-mark { width: 30px; height: 30px; font-size: 16px; }
}
@media (max-width: 360px) {
  .about-hero-visual .about-photo-caption > span:last-child { white-space: normal; }
}
