:root { --ink:#202943; --blue:#35416d; --cream:#f5f0e8; --paper:#fffdf9; --orange:#dd8c62; --lilac:#bbb3d9; --lavender:#ded8ec; --sage:#aabfae; --sky:#9fb5d8; --yellow:#e8c985; --line:rgba(32,41,67,.19); --flow-content-width:1320px; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; background:var(--cream); color:var(--ink); font-family:Manrope,sans-serif; } a { color:inherit; text-decoration:none; } button { font:inherit; } h1,h2,h3,p { margin-top:0; } h1,h2,h3 { font-weight:500; } img { display:block; max-width:100%; }
.progress { position:fixed; z-index:30; top:0; width:100%; height:4px; }.progress span { display:block; width:var(--progress,0%); height:100%; background:var(--orange); transition:width .1s linear; }
.topbar { position:absolute; z-index:10; top:0; width:100%; display:grid; grid-template-columns:1fr 1fr auto; align-items:start; padding:28px 4.3vw; color:var(--paper); }.brand { font:1.42rem/.89 'Playfair Display',serif; letter-spacing:-.055em; }.role,.eyebrow,footer { font:.64rem/1.5 'DM Mono',monospace; letter-spacing:.04em; text-transform:uppercase; }.role { margin:2px 0; opacity:.76; }.menu-toggle { position:relative; z-index:2; padding:10px 13px 10px 17px; border:1px solid rgba(255,255,255,.48); border-radius:99px; background:transparent; color:inherit; font-size:.74rem; cursor:pointer; }.menu-toggle span { margin-left:17px; font-size:1rem; }.site-menu { position:absolute; right:4.3vw; top:72px; display:none; width:254px; padding:14px; border:1px solid rgba(255,255,255,.35); background:var(--blue); box-shadow:0 18px 40px rgba(0,0,0,.15); }.site-menu.is-open { display:grid; }.site-menu a { padding:11px; font-size:.75rem; }.site-menu a:not(.menu-cta):hover { background:rgba(255,255,255,.12); }.site-menu .menu-cta { margin-top:5px; background:var(--orange); color:var(--ink); text-align:center; }
.hero { position:relative; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(310px,.95fr); min-height:min(840px,100vh); padding:125px 8.8vw 70px; overflow:hidden; background:var(--blue); color:var(--paper); }.hero-copy { position:relative; z-index:1; align-self:center; max-width:720px; }.eyebrow { margin-bottom:28px; color:var(--orange); font-weight:500; }.hero h1 { margin-bottom:20px; font:clamp(4.3rem,7vw,7.9rem)/.86 'Playfair Display',serif; letter-spacing:-.075em; }.hero-subtitle { margin-bottom:24px; font:clamp(1.6rem,3vw,3.1rem)/1.05 'Playfair Display',serif; letter-spacing:-.045em; }.hero-subtitle em,h2 em { color:var(--orange); font-style:normal; }.lead { max-width:480px; font-size:clamp(.9rem,1.4vw,1.1rem); line-height:1.7; }.round-link { display:flex; justify-content:space-between; align-items:end; width:126px; height:126px; margin-top:43px; padding:21px; border:1px solid rgba(255,255,255,.45); border-radius:50%; font-size:.7rem; line-height:1.3; transition:transform .35s,background .35s; }.round-link b { font-size:1.6rem; font-weight:400; }.round-link:hover { background:var(--orange); transform:rotate(13deg); }.hero-portrait-wrap { align-self:end; justify-self:end; width:min(38vw,545px); height:80%; transition:transform .3s ease-out; }.hero-portrait { width:100%; height:100%; object-fit:cover; object-position:center; filter:saturate(.8) contrast(.96); }
.section { padding:126px 8.8vw; }.section-heading { display:grid; grid-template-columns:1fr 1.35fr .75fr; gap:30px; align-items:start; margin-bottom:72px; }.section-heading .eyebrow { grid-column:1; }.section-heading h2 { grid-column:2; margin:0; font:clamp(3.1rem,5.2vw,5.8rem)/.9 'Playfair Display',serif; letter-spacing:-.065em; }.section-heading > p:last-child { grid-column:3; margin:12px 0 0; font-size:.82rem; line-height:1.6; }.section-heading h2 em { font-style:italic; }
.requests { background:var(--paper); }.stickers { display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:232px; gap:16px; max-width:1320px; margin:auto; }.sticker { position:relative; display:flex; flex-direction:column; justify-content:space-between; min-width:0; padding:23px; border:0; color:var(--ink); text-align:left; cursor:pointer; transition:transform .3s,box-shadow .3s; }.sticker:nth-child(2) { transform:rotate(2.5deg); }.sticker:nth-child(3) { transform:rotate(-2deg); }.sticker:nth-child(5) { transform:rotate(-1.5deg); }.sticker:nth-child(6) { transform:rotate(2deg); }.sticker:nth-child(8) { transform:rotate(-2.5deg); }.sticker:hover,.sticker.is-active { z-index:2; transform:translateY(-12px) rotate(0); box-shadow:8px 11px 0 rgba(32,41,67,.14); }.sticker span { font:.6rem 'DM Mono',monospace; }.sticker h3 { margin:20px 0 11px; font:clamp(1.35rem,2vw,2rem)/.96 'Playfair Display',serif; letter-spacing:-.04em; }.sticker p { margin:0; font-size:.72rem; line-height:1.55; }.sticker-blue { background:var(--blue); color:var(--paper); }.sticker-orange { background:var(--orange); }.sticker-lilac { background:var(--lilac); }.sticker-sage { background:var(--sage); }.sticker-paper { border:1px solid var(--line); background:var(--paper); }.sticker-sky { background:var(--sky); }.sticker-yellow { background:var(--yellow); }.sticker-ink { background:var(--ink); color:var(--paper); }
.section-dark { background:var(--ink); color:var(--paper); }.section-dark .eyebrow { color:var(--orange); }.section-dark h2 em { color:var(--orange); }.principles { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.26); border-left:1px solid rgba(255,255,255,.26); }.principles article { min-height:275px; padding:32px; border-right:1px solid rgba(255,255,255,.26); border-bottom:1px solid rgba(255,255,255,.26); transition:background .35s,color .35s; }.principles article:hover { background:var(--paper); color:var(--ink); }.principles span,.process-grid span { display:block; margin-bottom:50px; font:.65rem 'DM Mono',monospace; color:var(--orange); }.principles h3,.process-grid h3 { margin-bottom:15px; font:1.8rem/.96 'Playfair Display',serif; letter-spacing:-.04em; }.principles p,.process-grid p { margin:0; font-size:.78rem; line-height:1.65; }
.process { background:var(--cream); }.process-grid { display:grid; grid-template-columns:repeat(3,1fr); max-width:1240px; margin:auto; border-top:1px solid var(--line); border-left:1px solid var(--line); }.process-grid article { min-height:300px; padding:35px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }.process-grid span { color:var(--blue); }.details { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin-top:18px; background:var(--line); }.details div { min-height:146px; padding:26px; background:var(--paper); }.details b { display:block; margin-bottom:13px; font:clamp(1.8rem,3vw,2.9rem)/1 'Playfair Display',serif; letter-spacing:-.06em; }.details span { font-size:.7rem; }
.section-lilac { background:var(--lilac); }.section-lilac h2 em { color:var(--blue); }.education { max-width:1200px; margin:0 auto; padding:0; list-style:none; border-top:1px solid var(--line); }.education li { display:grid; grid-template-columns:1fr 1.5fr 1.2fr; gap:35px; padding:28px 0; border-bottom:1px solid var(--line); }.education span { font:.65rem 'DM Mono',monospace; }.education strong { font:1.35rem/1.1 'Playfair Display',serif; letter-spacing:-.03em; }.education em { font-size:.75rem; line-height:1.5; font-style:normal; }.membership { max-width:800px; margin:56px auto 0; font-size:.9rem; line-height:1.7; }.certificates-heading { display:flex; justify-content:space-between; align-items:end; margin:90px auto 24px; max-width:1200px; }.certificates-heading h3 { font:clamp(2.4rem,4vw,4rem)/.9 'Playfair Display',serif; letter-spacing:-.055em; }.certificates-heading p { margin:0; font-size:.7rem; }.flow-certificates { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; max-width:1200px; margin:auto; }.flow-cert { padding:0; overflow:hidden; border:0; background:var(--paper); cursor:zoom-in; }.flow-cert img { width:100%; height:220px; object-fit:cover; transition:transform .35s; }.flow-cert:hover img { transform:scale(1.05); }.flow-cert.horiz { grid-column:span 2; }.flow-cert.horiz img { height:260px; object-fit:contain; }
.publications { background:var(--paper); }.flow-publications { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; max-width:1200px; margin:auto; }.flow-publication { min-height:340px; display:flex; flex-direction:column; align-items:start; padding:34px; border:1px solid var(--line); background:var(--paper); transition:transform .35s,background .35s,color .35s,box-shadow .35s; }.flow-publication:hover { background:var(--blue); color:var(--paper); transform:translateY(-8px); box-shadow:9px 10px 0 rgba(32,41,67,.13); }.flow-publication span { color:var(--orange); font:.62rem 'DM Mono',monospace; text-transform:uppercase; }.flow-publication h3 { margin:43px 0 18px; font:clamp(2rem,3.2vw,3.3rem)/.88 'Playfair Display',serif; letter-spacing:-.06em; }.flow-publication p { font-size:.8rem; line-height:1.65; }.flow-publication b { margin-top:auto; font-size:.72rem; }.flow-button { display:flex; justify-content:space-between; align-items:center; width:max-content; gap:52px; margin:45px auto 0; padding:16px 20px; border:1px solid var(--blue); border-radius:99px; color:var(--blue); font-size:.78rem; transition:background .25s,color .25s; }.flow-button:hover { background:var(--blue); color:var(--paper); }
.faq .section-heading { margin-bottom:35px; }.flow-faq { max-width:1000px; margin:auto; border-top:1px solid rgba(255,255,255,.28); }.flow-faq details { border-bottom:1px solid rgba(255,255,255,.28); }.flow-faq summary { display:flex; justify-content:space-between; gap:30px; padding:26px 0; cursor:pointer; list-style:none; font:clamp(1.5rem,2.7vw,2.5rem)/1 'Playfair Display',serif; letter-spacing:-.045em; }.flow-faq summary::-webkit-details-marker { display:none; }.flow-faq summary b { color:var(--orange); font:2rem/1 Manrope,sans-serif; font-weight:300; transition:transform .3s; }.flow-faq details[open] summary b { transform:rotate(45deg); }.flow-faq details > div { max-width:790px; padding:0 0 29px; font-size:.82rem; line-height:1.7; }.flow-faq li { margin:10px 0; }
.contacts { display:grid; grid-template-columns:1fr 1fr; gap:7vw; align-items:end; background:var(--orange); }.contacts h2 { font:clamp(3.5rem,6vw,6.2rem)/.87 'Playfair Display',serif; letter-spacing:-.065em; }.contacts h2 em { color:var(--blue); font-style:italic; }.contacts > div > p:last-child { max-width:400px; margin:28px 0 0; font-size:.9rem; line-height:1.65; }.contact-actions { display:grid; gap:12px; }.contact-actions a { display:flex; justify-content:space-between; align-items:center; padding:22px; border:1px solid rgba(32,41,67,.5); font-size:.85rem; transition:background .25s,color .25s,transform .25s; }.contact-actions a:hover { background:var(--blue); color:var(--paper); transform:translateX(6px); }.contact-actions span { font-size:1.4rem; }.channel { display:grid; grid-template-columns:1.25fr .75fr; gap:7vw; align-items:center; padding:74px 8.8vw; background:var(--sky); }.channel p { margin:0; font:clamp(1.7rem,3vw,3rem)/1.1 'Playfair Display',serif; letter-spacing:-.045em; }.channel p a { border-bottom:1px solid var(--blue); color:var(--blue); }.channel > a { justify-self:end; padding:18px 22px; border-radius:99px; background:var(--blue); color:var(--paper); font-size:.78rem; transition:transform .25s; }.channel > a:hover { transform:translateY(-4px); } footer { padding:28px 8.8vw; background:var(--ink); color:var(--paper); }
.lightbox { position:relative; width:min(94vw,1100px); padding:20px 62px; border:0; background:var(--ink); color:var(--paper); }.lightbox::backdrop { background:rgba(20,25,40,.82); }.lightbox img { max-width:100%; max-height:82vh; margin:auto; object-fit:contain; }.lightbox button { position:absolute; z-index:1; border:0; background:transparent; color:var(--paper); cursor:pointer; }.lightbox-close { top:10px; right:17px; font-size:2rem; }.lightbox-prev,.lightbox-next { top:50%; font-size:4rem; transform:translateY(-50%); }.lightbox-prev { left:12px; }.lightbox-next { right:12px; }
.flow-article-nav { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:20px 6vw; background:var(--blue); color:var(--paper); font-size:.72rem; }.flow-article-nav a:first-child { font:1.3rem 'Playfair Display',serif; }.flow-article-nav a:last-child { padding:10px 13px; border:1px solid rgba(255,255,255,.5); border-radius:99px; }.flow-article,.flow-list { max-width:980px; margin:auto; padding:88px 7vw 120px; }.flow-article-back { display:inline-block; margin-bottom:56px; color:var(--blue); font-size:.78rem; }.flow-article-tag { margin-bottom:18px; color:var(--orange); font:.64rem 'DM Mono',monospace; text-transform:uppercase; }.flow-article h1,.flow-list h1 { margin-bottom:50px; font:clamp(3.6rem,7vw,6.5rem)/.88 'Playfair Display',serif; letter-spacing:-.07em; }.flow-list h1 em { color:var(--orange); font-style:italic; }.flow-article-content { max-width:760px; color:#3b4254; font-size:1rem; line-height:1.85; }.flow-article-content p + p { margin-top:24px; }.flow-article-content blockquote { margin:0 0 38px; padding:25px 30px; border-left:3px solid var(--orange); background:var(--cream); color:var(--ink); font:italic clamp(1.5rem,3vw,2.1rem)/1.3 'Playfair Display',serif; }.flow-article-content figure { margin:38px 0; }.flow-article-content figure img { width:100%; height:auto; }.flow-list { max-width:1260px; }.flow-list .eyebrow { margin-bottom:22px; }.flow-list-intro { max-width:720px; margin:-24px 0 54px; font-size:.9rem; line-height:1.6; }
@media(max-width:850px) { .topbar { grid-template-columns:1fr auto; padding:20px 6vw; }.role { display:none; }.hero { grid-template-columns:1fr; min-height:760px; padding:125px 7vw 50px; }.hero-copy { align-self:start; }.hero-portrait-wrap { position:absolute; right:0; bottom:0; width:67vw; height:49%; opacity:.67; }.hero h1 { font-size:clamp(4rem,16vw,6.4rem); }.section { padding:85px 7vw; }.section-heading { grid-template-columns:1fr; gap:17px; margin-bottom:45px; }.section-heading h2,.section-heading > p:last-child { grid-column:auto; }.section-heading > p:last-child { margin:0; max-width:400px; }.stickers { grid-template-columns:repeat(2,1fr); grid-auto-rows:230px; gap:12px; }.principles { grid-template-columns:1fr; }.principles article { min-height:0; }.process-grid { grid-template-columns:1fr; }.details { grid-template-columns:1fr 1fr; }.education li { grid-template-columns:1fr; gap:10px; }.certificates-heading { display:block; margin-top:65px; }.certificates-heading p { margin-top:12px; }.flow-certificates { grid-template-columns:1fr 1fr; }.flow-cert.horiz { grid-column:span 2; }.flow-publications { grid-template-columns:1fr; }.contacts,.channel { grid-template-columns:1fr; }.contact-actions { margin-top:25px; }.channel > a { justify-self:start; }.site-menu { right:6vw; }.lightbox { padding:18px 45px; } }
@media(max-width:480px) { .stickers { grid-template-columns:1fr; }.sticker { min-height:200px; }.details { grid-template-columns:1fr; }.flow-certificates { grid-template-columns:1fr; }.flow-cert.horiz { grid-column:auto; }.flow-cert img,.flow-cert.horiz img { height:auto; }.channel p { font-size:1.9rem; }.hero-subtitle { font-size:1.8rem; } }

/* Flow refinements: fixed portrait, full navigation and equal-weight section statements. */
.topbar { grid-template-columns:1fr auto; align-items:start; }
.brand { display:block; font:1.42rem/.89 'Playfair Display',serif; }
.brand span { display:block; max-width:185px; margin-top:8px; font:.55rem/1.35 'DM Mono',monospace; letter-spacing:.045em; text-transform:uppercase; }
.role,.menu-toggle { display:none; }
.site-menu { position:static; display:flex; width:auto; align-items:center; gap:22px; padding:0; border:0; background:transparent; box-shadow:none; }
.site-menu a { padding:8px 0; font-size:.68rem; text-transform:uppercase; letter-spacing:.035em; white-space:nowrap; }
.site-menu a:not(.menu-cta) { position:relative; }.site-menu a:not(.menu-cta)::after { content:''; position:absolute; right:0; bottom:3px; left:0; height:1px; background:var(--orange); transform:scaleX(0); transform-origin:right; transition:transform .25s; }.site-menu a:not(.menu-cta):hover::after { transform:scaleX(1); transform-origin:left; }
.site-menu .menu-cta { margin:0 0 0 7px; padding:10px 14px; border:1px solid rgba(255,255,255,.48); border-radius:99px; background:transparent; color:var(--paper); text-align:left; transition:background .25s,color .25s; }.site-menu .menu-cta:hover { background:var(--paper); color:var(--blue); }
.hero-copy { align-self:center; }.hero h1 { margin-bottom:27px; font-size:clamp(3.4rem,5.7vw,6.3rem); }.hero-subtitle { margin-bottom:29px; font-size:clamp(2.45rem,4.2vw,4.85rem); line-height:.89; letter-spacing:-.065em; }.hero-subtitle em { color:var(--orange); font-style:italic; }.hero-portrait-wrap { align-self:center; height:72%; margin-top:-42px; transition:none; }.hero-portrait { object-fit:contain; object-position:center top; filter:saturate(.84) contrast(.97); }
.requests .section-heading,.philosophy .section-heading { grid-template-columns:1fr 1fr; column-gap:8vw; row-gap:24px; max-width:1240px; margin-right:auto; margin-left:auto; }.requests .section-heading .eyebrow,.philosophy .section-heading .eyebrow { grid-column:1 / -1; }.requests .section-heading h2,.philosophy .section-heading h2 { grid-column:1; }.section-heading .section-statement { grid-column:2; align-self:start; margin:0; font:clamp(2.05rem,3.6vw,4rem)/.95 'Playfair Display',serif; letter-spacing:-.055em; }.section-heading .section-statement em { color:var(--orange); font-style:italic; }.section-dark .section-statement em { color:var(--orange); }
.sticker.is-active { box-shadow:none; }.sticker:hover { z-index:2; transform:translateY(-12px) rotate(0); box-shadow:8px 11px 0 rgba(32,41,67,.14); }
.principles article { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:300px; text-align:center; }.principles span { display:none; }.principles h3 { margin:0 0 17px; }.principles p { max-width:310px; }
.details { gap:16px; margin-top:32px; background:transparent; }.details div { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:126px; padding:22px; border:0; text-align:center; transform:rotate(-1.5deg); }.details div:nth-child(2) { background:var(--orange); transform:rotate(1.2deg); }.details div:nth-child(3) { background:var(--sky); transform:rotate(-.8deg); }.details div:nth-child(4) { background:var(--lilac); transform:rotate(1.5deg); }.details b { margin-bottom:9px; }.details span { font-size:.67rem; }
.certificates-carousel { position:relative; max-width:1200px; margin:auto; }.flow-certificates { display:flex; gap:18px; overflow-x:auto; max-width:none; padding:13px 5px 20px; scroll-behavior:smooth; scroll-snap-type:x mandatory; scrollbar-width:none; }.flow-certificates::-webkit-scrollbar { display:none; }.flow-cert { flex:0 0 clamp(210px,25vw,294px); scroll-snap-align:start; overflow:visible; background:transparent; }.flow-cert.horiz { flex-basis:clamp(310px,39vw,460px); }.flow-cert img,.flow-cert.horiz img { width:100%; height:270px; padding:11px; border:1px solid rgba(32,41,67,.24); background:rgba(255,253,249,.28); object-fit:contain; transition:transform .35s,border-color .35s; }.flow-cert:nth-child(2n) img { background:rgba(159,181,216,.25); }.flow-cert:nth-child(3n) img { background:rgba(221,140,98,.18); }.flow-cert:hover img { border-color:var(--blue); transform:translateY(-5px) rotate(.4deg) scale(1.01); }.cert-arrow { position:absolute; z-index:2; top:50%; width:44px; height:44px; border:1px solid var(--blue); border-radius:50%; background:var(--paper); color:var(--blue); cursor:pointer; transform:translateY(-50%); transition:background .25s,color .25s; }.cert-arrow:hover { background:var(--blue); color:var(--paper); }.cert-prev { left:-22px; }.cert-next { right:-22px; }
.publications .section-heading { display:flex; flex-direction:column; align-items:center; max-width:980px; margin-right:auto; margin-left:auto; text-align:center; }.publications .section-heading .eyebrow { align-self:flex-start; }.publications .section-heading h2 { margin-bottom:23px; }.publications .section-heading > p:last-child { max-width:760px; margin:0; font-size:1rem; line-height:1.65; }
.flow-faq.is-ready details > div { display:grid; grid-template-rows:0fr; padding:0; opacity:0; transition:grid-template-rows .42s ease,opacity .3s ease; }.flow-faq.is-ready details > div > div { min-height:0; overflow:hidden; }.flow-faq.is-ready details.is-open > div { grid-template-rows:1fr; padding-bottom:29px; opacity:1; }.flow-faq.is-ready details.is-open > div > div { overflow:visible; }.flow-faq.is-ready details[open]:not(.is-open) summary b { transform:rotate(0); }

@media(max-width:1100px) { .site-menu { gap:13px; }.site-menu a { font-size:.6rem; }.site-menu .menu-cta { margin-left:2px; padding:9px 11px; }.hero-portrait-wrap { width:min(40vw,505px); } }
@media(max-width:850px) { .site-menu { flex-wrap:wrap; justify-content:flex-end; max-width:315px; row-gap:3px; }.site-menu a { font-size:.56rem; }.hero-portrait-wrap { align-self:end; height:50%; margin-top:0; }.requests .section-heading,.philosophy .section-heading { grid-template-columns:1fr; gap:19px; }.requests .section-heading .eyebrow,.philosophy .section-heading .eyebrow,.requests .section-heading h2,.philosophy .section-heading h2,.section-heading .section-statement { grid-column:auto; }.section-heading .section-statement { font-size:clamp(1.9rem,7vw,3.3rem); }.details { gap:12px; }.cert-arrow { display:none; }.flow-certificates { margin-right:-7vw; }.publications .section-heading .eyebrow { align-self:center; }.flow-faq.is-ready details.is-open > div { padding-bottom:25px; } }
@media(max-width:560px) { .topbar { align-items:start; }.brand span { font-size:.48rem; }.site-menu { max-width:205px; gap:0 11px; }.site-menu a { padding:4px 0; }.site-menu .menu-cta { padding:7px 9px; }.hero { padding-top:130px; }.hero h1 { font-size:clamp(3rem,13vw,4.6rem); }.hero-subtitle { font-size:clamp(2.25rem,10vw,3.4rem); }.hero-portrait-wrap { width:72vw; height:43%; opacity:.74; }.details { grid-template-columns:1fr; }.flow-certificates { margin-right:-7vw; }.flow-cert,.flow-cert.horiz { flex-basis:78vw; }.flow-cert img,.flow-cert.horiz img { height:260px; } }

/* Flow refinements: persistent navigation, consistent CTA states and modal certificates. */
.topbar { position:fixed; z-index:20; min-height:76px; transition:background .25s,color .25s,border-color .25s; }
.brand { opacity:0; visibility:hidden; pointer-events:none; transition:opacity .25s,visibility .25s; }
.brand span { max-width:230px; font:400 .68rem/1.35 Manrope,sans-serif; letter-spacing:0; text-transform:none; }
.topbar.is-scrolled { border-bottom:1px solid rgba(32,41,67,.14); background:rgba(255,253,249,.96); color:var(--ink); backdrop-filter:blur(10px); }
.topbar.is-scrolled .brand { opacity:1; visibility:visible; pointer-events:auto; }
.topbar.is-scrolled .site-menu a:not(.menu-cta)::after { background:var(--blue); }
.menu-cta,.hero-cta,.flow-button,.contact-actions a,.channel > a { border:1px solid var(--blue); background:var(--blue); color:var(--paper); }
.site-menu .menu-cta { margin-left:7px; border-color:var(--blue); background:var(--blue); color:var(--paper); text-align:center; }
.site-menu .menu-cta:hover { border-color:var(--blue); background:var(--paper); color:var(--blue); }
.menu-cta:hover,.hero-cta:hover,.flow-button:hover,.contact-actions a:hover,.channel > a:hover { border-color:var(--blue); background:var(--paper); color:var(--blue); transform:none; }
.hero { background:var(--ink); }
.hero-cta { display:inline-flex; align-items:center; justify-content:center; margin-top:43px; padding:12px 17px; border-radius:99px; font-size:.72rem; letter-spacing:.025em; transition:background .25s,color .25s,border-color .25s; }
.requests .section-heading h2,.philosophy .section-heading h2,.section-heading .section-statement { margin:0; font:clamp(2rem,3.35vw,3.75rem)/.98 'Playfair Display',serif; letter-spacing:-.055em; }
.requests .section-heading h2,.philosophy .section-heading h2 { max-width:520px; }
.section-heading .section-statement { max-width:520px; }
.sticker.is-active { transform:none; }
.cert-arrow { display:inline-flex; align-items:center; justify-content:center; width:auto; height:auto; padding:9px 12px; border-radius:99px; font-size:.64rem; line-height:1; }
.cert-prev { left:-15px; }.cert-next { right:-15px; }
.lightbox { position:fixed; inset:0; display:none; align-items:center; justify-content:center; width:min(94vw,1100px); height:fit-content; max-height:92vh; margin:auto; padding:58px 86px; overflow:visible; }
.lightbox[open] { display:flex; }
.lightbox img { width:auto; max-width:100%; max-height:78vh; margin:0; }
.lightbox button { padding:9px 12px; border:1px solid rgba(255,253,249,.68); border-radius:99px; background:var(--ink); color:var(--paper); font-size:.68rem; transition:background .2s,color .2s; }
.lightbox button:hover { background:var(--paper); color:var(--blue); }
.lightbox-close { top:14px; right:16px; }
.lightbox-prev,.lightbox-next { top:50%; font-size:.68rem; transform:translateY(-50%); }.lightbox-prev { left:16px; }.lightbox-next { right:16px; }
@media(max-width:850px) { .topbar { min-height:64px; }.brand span { max-width:152px; font-size:.52rem; }.site-menu .menu-cta { margin-left:2px; }.cert-arrow { display:none; }.lightbox { width:96vw; padding:58px 16px; }.lightbox-prev { left:10px; }.lightbox-next { right:10px; }.lightbox img { max-height:76vh; } }

/* Requested Flow adjustments: compact solid header and matching paired statements. */
.topbar { left:50%; width:66.667%; padding:18px 0; transform:translateX(-50%); background:var(--blue); }
.topbar:not(.is-scrolled) .site-menu .menu-cta { border-color:var(--paper); background:var(--paper); color:var(--blue); }
.topbar:not(.is-scrolled) .site-menu .menu-cta:hover { border-color:var(--blue); background:var(--blue); color:var(--paper); }
.site-menu { gap:16px; }.site-menu a { padding:10px 0; font-size:.78rem; }
.brand span { max-width:235px; margin-top:7px; font:500 .62rem/1.35 Montserrat,sans-serif; letter-spacing:.075em; text-transform:uppercase; }
.hero { background:var(--blue); }.hero-portrait-wrap { width:min(38vw,545px); height:72%; margin-top:-42px; }
.hero-cta { padding:16px 26px; font-size:.8rem; font-weight:600; letter-spacing:.075em; text-transform:uppercase; }
.requests .section-heading,.philosophy .section-heading { max-width:1060px; column-gap:clamp(24px,3vw,48px); }
.requests .section-heading h2,.requests .section-heading .section-statement,.philosophy .section-heading h2,.philosophy .section-heading .section-statement { max-width:none; margin:0; font:clamp(2rem,3.35vw,3.75rem)/.98 'Playfair Display',serif; letter-spacing:-.055em; }
.sticker:nth-child(n) { transform:none; }
.cert-arrow { width:44px; height:44px; padding:0; border-radius:50%; font-size:1.15rem; }
.cert-prev { left:-22px; }.cert-next { right:-22px; }
@media(max-width:1350px) { .topbar { width:calc(100% - 8.6vw); } }
@media(max-width:850px) { .topbar { left:0; width:100%; padding:16px 6vw; transform:none; }.site-menu { gap:0 13px; }.site-menu a { font-size:.62rem; }.brand span { max-width:152px; font-size:.5rem; }.hero-cta { padding:14px 21px; } }

/* Flow: navigation structure aligned with the main site and requested layout fixes. */
.topbar { left:0; width:100%; padding:0; transform:none; background:var(--blue); }
.topbar-inner { display:flex; align-items:center; justify-content:space-between; gap:32px; width:66.667%; min-height:92px; margin:0 auto; }
.topbar .brand { flex:0 0 auto; font:1.75rem/1 'Playfair Display',serif; letter-spacing:-.02em; }
.topbar .brand span { display:block; max-width:none; margin-top:7px; font:500 .62rem/1.3 Montserrat,sans-serif; letter-spacing:.075em; text-transform:uppercase; }
.topbar .site-menu { display:flex; align-items:center; justify-content:flex-end; gap:clamp(10px,1.3vw,22px); }
.topbar .site-menu a { padding:8px 0; font-size:.78rem; }
.topbar .site-menu .menu-cta { min-width:142px; margin-left:12px; padding:11px 22px; border-radius:8px; }
.hero-portrait-wrap { width:430px; height:430px; }
.hero-actions { display:flex; justify-content:center; width:100%; max-width:480px; margin-top:34px; }
.hero-cta { min-height:52px; margin:0; padding:14px 28px; border-color:var(--paper); border-radius:8px; background:var(--paper); color:var(--blue); }
.hero-cta:hover { border-color:var(--paper); background:var(--paper); color:var(--blue); transform:scale(1.04); }
.requests .section-heading,.philosophy .section-heading { width:100%; max-width:none; margin-right:0; margin-left:0; grid-template-columns:repeat(2,minmax(0,1fr)); }
.requests .section-heading h2,.requests .section-heading .section-statement,.philosophy .section-heading h2,.philosophy .section-heading .section-statement { width:100%; }
.membership { text-align:center; }
.publications .section-heading { width:100%; max-width:none; }
.lightbox-prev,.lightbox-next { font-size:1.45rem; }
@media(max-width:1350px) { .topbar-inner { width:calc(100% - 8.6vw); } }
@media(max-width:850px) { .topbar-inner { width:100%; min-height:64px; padding:0 6vw; }.topbar .site-menu { gap:0 13px; }.topbar .site-menu a { font-size:.62rem; }.topbar .site-menu .menu-cta { min-width:auto; margin-left:2px; padding:8px 11px; }.hero-portrait-wrap { width:min(72vw,430px); height:auto; aspect-ratio:1; }.requests .section-heading,.philosophy .section-heading { grid-template-columns:1fr; }.publications .section-heading .eyebrow { align-self:flex-start; }.hero-actions { justify-content:flex-start; } }

/* Flow: prevent text collisions while keeping the slide labels aligned. */
.topbar-inner { width:100%; max-width:1280px; padding:0 42px; }
.hero-cta { transition:background .3s ease,color .3s ease,border-color .3s ease,transform .3s ease; }
.section-heading .eyebrow { white-space:nowrap; }
.requests .section-heading { grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); column-gap:clamp(32px,4vw,64px); }
.requests .section-heading .eyebrow { grid-column:1 / -1; grid-row:1; }
.requests .section-heading h2 { grid-column:1; grid-row:2; min-width:0; }
.requests .section-heading .section-statement { grid-column:2; grid-row:2; min-width:0; }
.philosophy .section-heading { grid-template-columns:minmax(0,2.2fr) minmax(0,1fr); column-gap:clamp(32px,4vw,64px); }
.philosophy .section-heading .eyebrow { grid-column:1 / -1; grid-row:1; }
.philosophy .section-heading h2 { grid-column:1; grid-row:2; min-width:0; }
.philosophy .section-heading .section-statement { grid-column:2; grid-row:2; min-width:0; }
@media(max-width:850px) { .topbar-inner { padding:0 6vw; }.section-heading .eyebrow { font-size:clamp(.5rem,2.5vw,.64rem); }.requests .section-heading,.philosophy .section-heading { grid-template-columns:1fr; }.requests .section-heading .eyebrow,.requests .section-heading h2,.requests .section-heading .section-statement,.philosophy .section-heading .eyebrow,.philosophy .section-heading h2,.philosophy .section-heading .section-statement { grid-column:1; grid-row:auto; } }

/* Flow: requested button, spacing and slide-label refinements. */
.topbar:not(.is-scrolled) .site-menu .menu-cta:hover { border-color:var(--paper); }
.topbar:not(.is-scrolled) .site-menu a:not(.menu-cta):hover { background:transparent; }
.eyebrow { font-family:Montserrat,sans-serif; font-weight:500; letter-spacing:.075em; }
.requests .section-heading .section-statement { justify-self:end; width:92%; }
.philosophy .section-heading { grid-template-columns:minmax(0,1.8fr) minmax(0,1fr); }
.requests .section-heading .section-statement,.philosophy .section-heading .section-statement { text-align:right; }
@media(max-width:850px) { .requests .section-heading .section-statement { justify-self:start; width:100%; } }

/* Flow: keep secondary calls to action consistent with the navigation CTA. */
.flow-button,.contact-actions a,.channel > a { display:inline-flex; align-items:center; justify-content:center; width:max-content; min-width:142px; min-height:42px; padding:11px 22px; border:1px solid var(--blue); border-radius:8px; background:var(--blue); color:var(--paper); font-size:.78rem; font-weight:400; letter-spacing:.035em; line-height:1.2; text-align:center; text-transform:uppercase; transition:background .3s ease,color .3s ease,border-color .3s ease,transform .3s ease; }
.flow-button:hover,.contact-actions a:hover,.channel > a:hover { border-color:var(--blue); background:var(--paper); color:var(--blue); transform:none; }
.contact-actions a { justify-self:start; }
.flow-publication span { font-family:Montserrat,sans-serif; font-weight:500; letter-spacing:.075em; }

/* Flow: refinements for requests, education, publications and contacts. */
.requests-note { max-width:880px; margin:56px auto 0; font:clamp(1.2rem,1.75vw,1.75rem)/1.15 'Playfair Display',serif; letter-spacing:-.04em; text-align:center; }
.requests-note em { color:var(--orange); font-style:italic; }
.requests-note a { border-bottom:1px solid currentColor; }
.about.section-lilac { background:var(--lavender); }
.publications > .flow-button { display:flex; margin:45px auto 0; }
.flow-publication h3 { line-height:.98; }
.contacts { text-align:center; }
.contacts > div > p:last-child { margin-right:auto; margin-left:auto; }
.contact-actions { justify-items:center; }
.contact-actions a { justify-self:center; }
.channel { grid-template-columns:1fr; justify-items:center; text-align:center; }
.channel p { max-width:820px; }
.channel > a { justify-self:center; }
footer { font-family:Montserrat,sans-serif; font-weight:500; letter-spacing:.075em; }
@media(max-width:850px) { .requests-note { margin-top:42px; }.channel > a { justify-self:center; } }

/* Flow: hero CTA, education, contacts and channel refinements. */
.hero-cta { font-size:.78rem; font-weight:400; letter-spacing:.035em; }
.education span { font:500 .88rem/1.2 Montserrat,sans-serif; letter-spacing:.04em; }
.contacts { grid-template-columns:1fr; align-items:center; justify-items:center; gap:40px; }
.contacts > div { display:flex; flex-direction:column; align-items:center; }
.contact-actions { margin-top:0; }
.channel { gap:28px; }
.contacts > div:first-child { gap:40px; }
.contacts .eyebrow,.contacts h2,.contacts > div > p:last-child { margin:0; }
.contacts .eyebrow { margin-bottom:8px; }

/* Flow: shared request grid and sticker refinements. */
.topbar:not(.is-scrolled) { border-bottom:1px solid rgba(255,253,249,.32); }
.requests .section-heading,.requests .stickers { width:100%; max-width:var(--flow-content-width); margin-right:auto; margin-left:auto; }
.sticker { align-items:center; justify-content:center; text-align:center; }
.sticker > span { display:none; }
.sticker h3 { margin:0 0 14px; }
.sticker { cursor:default; }
.principles article { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:32px; }
.principles h3 { display:block; width:auto; height:auto; margin:0 0 17px; }
.principles p { align-self:auto; }
.details div,.details div:nth-child(2),.details div:nth-child(3),.details div:nth-child(4) { transform:none; }

/* Flow: one shared desktop grid for every standard slide. */
.hero,.section { padding-right:max(8.8vw,calc((100vw - var(--flow-content-width)) / 2)); padding-left:max(8.8vw,calc((100vw - var(--flow-content-width)) / 2)); }
.channel { padding-right:max(8.8vw,calc((100vw - var(--flow-content-width)) / 2)); padding-left:max(8.8vw,calc((100vw - var(--flow-content-width)) / 2)); }
.topbar-inner { max-width:1280px; }
.principles,.process-grid,.details,.education,.certificates-heading,.certificates-carousel,.flow-publications { max-width:var(--flow-content-width); margin-right:auto; margin-left:auto; }
@media(max-width:850px) { .hero,.section { padding-right:7vw; padding-left:7vw; }.channel { padding-right:7vw; padding-left:7vw; } }

/* Flow: three-part approach header aligned to the principles grid. */
.philosophy .section-heading { grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:0; row-gap:28px; margin-bottom:56px; }
.philosophy .section-heading .eyebrow { grid-column:1 / -1; grid-row:1; }
.philosophy .section-heading .philosophy-photo { grid-column:1; grid-row:2; width:100%; margin:0; }
.philosophy-photo img { width:100%; aspect-ratio:6 / 5; object-fit:cover; object-position:center; }
.philosophy .section-heading .philosophy-primary,.philosophy .section-heading .philosophy-secondary { width:100%; min-width:0; margin:0; padding:0 clamp(14px,2vw,34px); font:clamp(1.35rem,2.1vw,2.65rem)/.98 'Playfair Display',serif; letter-spacing:-.055em; text-align:center; }
.philosophy .section-heading .philosophy-primary { grid-column:2; grid-row:2; align-self:start; }
.philosophy .section-heading .philosophy-secondary { grid-column:3; grid-row:2; align-self:end; }
.philosophy .section-heading .philosophy-connector { grid-column:2 / 4; grid-row:2; z-index:0; width:100%; height:100%; background:center / 100% 100% no-repeat url('../images/flow-thread.svg'); pointer-events:none; }
.philosophy .section-heading .philosophy-primary,.philosophy .section-heading .philosophy-secondary { position:relative; z-index:1; }
@media(max-width:850px) { .philosophy .section-heading { grid-template-columns:1fr; margin-bottom:45px; }.philosophy .section-heading .eyebrow,.philosophy .section-heading .philosophy-photo,.philosophy .section-heading .philosophy-primary,.philosophy .section-heading .philosophy-secondary { grid-column:1; grid-row:auto; }.philosophy .section-heading .philosophy-connector { display:none; }.philosophy .section-heading .philosophy-photo { max-width:560px; margin:0 auto; }.philosophy .section-heading .philosophy-primary,.philosophy .section-heading .philosophy-secondary { padding:0; font-size:clamp(1.75rem,6.2vw,3rem); } }

/* Flow: process, certificates, publications and contact refinements. */
.process-grid > article > span { font:500 .88rem/1.2 Montserrat,sans-serif; letter-spacing:.04em; }
.flow-cert:hover img { transform:none; }
/* Flow: requested hero and publication-card refinements. */
.hero-actions { justify-content:flex-start; }
.flow-publication .publication-hint { margin-top:auto; color:var(--orange); font:500 .66rem/1.35 Montserrat,sans-serif; letter-spacing:.075em; opacity:0; text-transform:none; transform:translateY(7px); transition:opacity .3s ease,transform .3s ease; }
.flow-publication:hover .publication-hint,.flow-publication:focus-visible .publication-hint { opacity:1; transform:translateY(0); }
@media(min-width:1101px) {
  .topbar:not(.is-scrolled) .topbar-inner { width:calc(100% - 17.6vw); max-width:var(--flow-content-width); padding:0; }
  .topbar:not(.is-scrolled) .brand { display:none; }
  .topbar:not(.is-scrolled) .site-menu { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); width:100%; gap:0; }
  .topbar:not(.is-scrolled) .site-menu a { justify-self:center; }
  .topbar:not(.is-scrolled) .site-menu .menu-cta { margin-left:0; }
}
.contacts { padding-top:96px; padding-bottom:96px; }
@media(max-width:850px) { .contacts { padding-top:72px; padding-bottom:72px; } }

/* Flow: publication navigation and category filtering. */
.flow-article-nav { display:block; padding:0; border-bottom:1px solid var(--line); background:var(--paper); color:var(--ink); }
.flow-article-nav-inner { display:flex; align-items:center; justify-content:space-between; gap:32px; width:100%; max-width:1280px; min-height:92px; margin:0 auto; padding:0 42px; }
.flow-article-nav .flow-article-brand { flex:0 0 auto; font:1.75rem/1 'Playfair Display',serif; letter-spacing:-.02em; }
.flow-article-nav .flow-article-brand span { display:block; margin-top:7px; font:500 .62rem/1.3 Montserrat,sans-serif; letter-spacing:.075em; text-transform:uppercase; }
.flow-article-nav-links { display:flex; align-items:center; justify-content:flex-end; gap:clamp(10px,1.3vw,22px); }
.flow-article-nav .flow-article-nav-links > a { position:relative; padding:8px 0; color:inherit; font:.78rem/1 Manrope,sans-serif; letter-spacing:.035em; text-transform:uppercase; white-space:nowrap; }
.flow-article-nav-links > a:not(.flow-article-cta)::after { position:absolute; right:0; bottom:3px; left:0; height:1px; background:var(--orange); content:''; transform:scaleX(0); transform-origin:right; transition:transform .25s; }
.flow-article-nav-links > a:not(.flow-article-cta):hover::after,.flow-article-nav-links > a:not(.flow-article-cta):focus-visible::after { transform:scaleX(1); transform-origin:left; }
.flow-article-nav .flow-article-nav-links .flow-article-cta { min-width:142px; margin-left:12px; padding:11px 22px; border:1px solid var(--blue); border-radius:8px; background:var(--blue); color:var(--paper); font-weight:400; text-align:center; transition:background .3s ease,color .3s ease,border-color .3s ease; }
.flow-article-nav .flow-article-nav-links .flow-article-cta:hover,.flow-article-nav .flow-article-nav-links .flow-article-cta:focus-visible { background:var(--paper); color:var(--blue); }
.flow-article-tag { display:inline-flex; align-items:center; gap:.28em; margin-bottom:18px; padding:7px 10px; border:1px solid currentColor; border-radius:4px; color:var(--orange); font:500 .62rem/1.35 Montserrat,sans-serif; letter-spacing:.075em; text-transform:uppercase; transition:background .25s ease,color .25s ease; }
.flow-article-tag::before { content:'#'; }
.flow-article-tag:hover,.flow-article-tag:focus-visible { background:var(--orange); color:var(--paper); }
.flow-article-return { display:inline-flex; align-items:center; justify-content:center; min-width:142px; min-height:42px; margin-top:54px; padding:11px 22px; border:1px solid var(--blue); border-radius:8px; background:var(--blue); color:var(--paper); font:.78rem/1.2 Manrope,sans-serif; font-weight:400; letter-spacing:.035em; text-align:center; text-transform:uppercase; transition:background .3s ease,color .3s ease,border-color .3s ease; }
.flow-article-return:hover,.flow-article-return:focus-visible { background:var(--paper); color:var(--blue); }
.flow-publication[hidden] { display:none; }
@media(max-width:850px) { .flow-article-nav-inner { min-height:64px; padding:12px 6vw; }.flow-article-nav .flow-article-brand { font-size:1.25rem; }.flow-article-nav .flow-article-brand span { max-width:155px; font-size:.5rem; }.flow-article-nav-links { flex-wrap:wrap; gap:4px 13px; }.flow-article-nav-links > a { font-size:.62rem; }.flow-article-nav .flow-article-nav-links .flow-article-cta { min-width:auto; margin-left:2px; padding:8px 11px; } }

/* Flow: responsive hardening for phones, tablets and compact laptops. */
html,body { overflow-x:hidden; }
.section-heading > *,.flow-publication,.principles article,.process-grid article,.education li { min-width:0; }

@media(min-width:851px) and (max-width:1100px) {
  .flow-publications { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .flow-publication { min-height:300px; padding:28px; }
  .flow-publication h3 { font-size:clamp(2rem,4vw,2.7rem); }
  .topbar-inner,.flow-article-nav-inner { padding-right:clamp(26px,4vw,42px); padding-left:clamp(26px,4vw,42px); }
  .topbar .site-menu { gap:clamp(8px,1.2vw,14px); }
  .topbar .site-menu a { font-size:.68rem; }
  .topbar .site-menu .menu-cta { min-width:auto; padding:10px 15px; }
  .hero { grid-template-columns:minmax(0,1fr) minmax(330px,.78fr); }
  .hero-portrait-wrap { width:min(39vw,430px); height:auto; aspect-ratio:1; }
  .principles article { min-height:270px; padding:26px 20px; }
  .principles p { max-width:100%; }
  .details { gap:12px; }
  .details div { min-height:118px; padding:18px 14px; }
}

@media(max-width:850px) {
  .topbar { min-height:0; }
  .topbar-inner { align-items:flex-start; flex-wrap:wrap; gap:10px 16px; min-height:0; padding:12px max(7vw,env(safe-area-inset-right)) 11px max(7vw,env(safe-area-inset-left)); }
  .topbar .brand { font-size:clamp(1.2rem,5.5vw,1.55rem); }
  .topbar .brand span { max-width:none; font-size:clamp(.46rem,1.8vw,.56rem); }
  .topbar .site-menu { flex:1 1 100%; justify-content:space-between; max-width:none; gap:4px 12px; }
  .topbar .site-menu a { padding:5px 0; font-size:clamp(.53rem,1.8vw,.62rem); }
  .topbar .site-menu .menu-cta { margin-left:0; padding:7px 10px; }
  .hero { min-height:0; padding-top:clamp(190px,34vw,260px); padding-bottom:clamp(330px,69vw,470px); }
  .hero-copy { width:100%; max-width:520px; }
  .hero h1 { font-size:clamp(3.4rem,14vw,5.3rem); }
  .hero-subtitle { font-size:clamp(2.2rem,9.5vw,3.5rem); }
  .lead { max-width:34rem; font-size:clamp(.88rem,2.8vw,1rem); }
  .hero-portrait-wrap { right:7vw; bottom:28px; width:min(80vw,430px); height:auto; aspect-ratio:1; margin:0; opacity:.62; }
  .hero-portrait { object-fit:contain; object-position:center bottom; }
  .section { padding-top:72px; padding-bottom:72px; }
  .section-heading { margin-bottom:38px; }
  .section-heading h2,.section-heading .section-statement { font-size:clamp(2rem,9vw,3.3rem); }
  .stickers { grid-auto-rows:minmax(210px,auto); }
  .sticker { min-height:210px; padding:20px 16px; }
  .sticker h3 { font-size:clamp(1.4rem,5vw,1.8rem); }
  .sticker p { font-size:.74rem; }
  .requests-note { font-size:clamp(1.05rem,4.7vw,1.35rem); }
  .principles article { min-height:0; padding:34px 22px; }
  .principles h3 { font-size:clamp(1.55rem,7vw,2rem); }
  .principles p { max-width:34rem; font-size:.82rem; }
  .process-grid article { min-height:0; padding:30px 22px; }
  .process-grid h3 { font-size:clamp(1.6rem,7vw,2rem); }
  .details { gap:10px; margin-top:18px; }
  .details div { min-height:112px; padding:18px 12px; }
  .details b { font-size:clamp(1.55rem,7vw,2.15rem); }
  .education li { padding:24px 0; }
  .education strong { font-size:clamp(1.2rem,5.4vw,1.55rem); }
  .membership { margin-top:38px; font-size:.86rem; }
  .certificates-heading { margin-top:58px; }
  .certificates-heading h3 { font-size:clamp(2rem,9vw,3rem); }
  .flow-certificates { gap:14px; padding-bottom:14px; }
  .flow-cert,.flow-cert.horiz { flex-basis:min(78vw,350px); }
  .flow-cert img,.flow-cert.horiz img { height:clamp(220px,61vw,300px); }
  .flow-publication { min-height:0; padding:26px 22px; }
  .flow-publication h3 { margin-top:30px; font-size:clamp(1.9rem,8vw,2.7rem); }
  .flow-publication p { font-size:.84rem; }
  .flow-faq summary { gap:18px; padding:21px 0; font-size:clamp(1.35rem,6.4vw,2rem); }
  .flow-faq summary b { flex:0 0 auto; }
  .contacts { gap:30px; padding-top:76px; padding-bottom:76px; }
  .contacts > div:first-child { gap:28px; }
  .contact-actions { width:100%; }
  .contact-actions a { width:100%; max-width:330px; }
  .channel { gap:20px; padding-top:58px; padding-bottom:58px; }
  .channel p { font-size:clamp(1.65rem,7.6vw,2.45rem); }
  footer { padding:24px 7vw max(24px,env(safe-area-inset-bottom)); font-size:.56rem; }

  .flow-article-nav-inner { align-items:flex-start; flex-wrap:wrap; gap:10px 14px; min-height:0; padding:12px max(6vw,env(safe-area-inset-right)) 11px max(6vw,env(safe-area-inset-left)); }
  .flow-article-nav .flow-article-brand { flex:1 1 100%; font-size:clamp(1.2rem,5.3vw,1.5rem); }
  .flow-article-nav .flow-article-brand span { max-width:none; font-size:clamp(.46rem,1.75vw,.54rem); }
  .flow-article-nav-links { flex:1 1 100%; justify-content:space-between; gap:4px 12px; }
  .flow-article-nav .flow-article-nav-links > a { padding:5px 0; font-size:clamp(.53rem,1.75vw,.62rem); }
  .flow-article-nav .flow-article-nav-links .flow-article-cta { margin-left:0; padding:7px 10px; }
  .flow-article,.flow-list { padding:54px 7vw 82px; }
  .flow-article h1,.flow-list h1 { margin-bottom:34px; font-size:clamp(2.5rem,11vw,4.35rem); line-height:.94; }
  .flow-list-intro { margin-top:-10px; margin-bottom:38px; font-size:.88rem; }
  .flow-article-content { font-size:.98rem; line-height:1.78; }
  .flow-article-content blockquote { margin-bottom:30px; padding:20px; font-size:clamp(1.35rem,6vw,1.85rem); }
  .flow-article-tag { margin-bottom:16px; }
  .flow-article-return { display:flex; width:100%; max-width:330px; margin:42px auto 0; }
}

@media(max-width:520px) {
  .stickers,.details { grid-template-columns:1fr; }
  .sticker { min-height:190px; }
  .hero { padding-top:clamp(196px,51vw,230px); padding-bottom:clamp(300px,78vw,370px); }
  .hero-portrait-wrap { width:86vw; right:4vw; bottom:18px; }
  .hero-actions,.hero-cta { width:100%; max-width:300px; }
  .flow-article-nav-links { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); justify-content:stretch; gap:5px; width:100%; }
  .flow-article-nav .flow-article-nav-links > a { justify-self:stretch; min-width:0; font-size:clamp(.48rem,1.75vw,.62rem); text-align:center; }
  .flow-article-nav .flow-article-nav-links .flow-article-cta { min-width:0; padding:7px 4px; }
}

@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; }
}

/* Flow: compact mobile navigation and ordered hero content. */
@media(max-width:850px) {
  .topbar { background:var(--blue); }
  .topbar-inner { position:relative; display:flex; align-items:center; flex-wrap:nowrap; min-height:64px; padding:10px 7vw; }
  .topbar .brand { display:none; }
  .topbar.is-scrolled .brand { display:block; }
  .topbar .site-menu { position:absolute; top:calc(100% + 8px); right:0; display:none; width:min(280px,calc(100vw - 14vw)); padding:12px 14px; border:1px solid rgba(32,41,67,.16); border-radius:8px; background:var(--paper); color:var(--ink); box-shadow:0 18px 36px rgba(32,41,67,.2); }
  .topbar .site-menu.is-open { display:grid; grid-template-columns:1fr; gap:2px; }
  .topbar .site-menu.is-open a { padding:10px 4px; color:var(--ink); font-size:.7rem; }
  .topbar .site-menu.is-open a:not(.menu-cta)::after { background:var(--blue); }
  .topbar:not(.is-scrolled) .site-menu.is-open .menu-cta,.topbar .site-menu.is-open .menu-cta { width:100%; margin:6px 0 0; padding:10px 14px; border-color:var(--blue); border-radius:8px; background:var(--blue); color:var(--paper); text-align:center; }
  .menu-toggle { display:inline-flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; width:42px; height:42px; margin-left:auto; padding:0; border:1px solid rgba(255,253,249,.62); border-radius:8px; background:transparent; color:var(--paper); cursor:pointer; }
  .menu-toggle span { display:block; width:18px; height:1px; margin:0; background:currentColor; transition:transform .25s ease,opacity .25s ease; }
  .menu-toggle.is-open span:nth-child(1) { transform:translateY(5px) rotate(45deg); }
  .menu-toggle.is-open span:nth-child(2) { opacity:0; }
  .menu-toggle.is-open span:nth-child(3) { transform:translateY(-5px) rotate(-45deg); }
  .topbar.is-scrolled .menu-toggle { border-color:var(--blue); color:var(--blue); }

  .hero { display:grid; grid-template-columns:1fr; grid-template-areas:'name' 'subtitle' 'lead' 'photo' 'cta'; justify-items:center; min-height:0; padding:104px 7vw 52px; text-align:center; }
  .hero-copy { display:contents; }
  .hero h1 { grid-area:name; margin-bottom:23px; text-align:center; }
  .hero-subtitle { grid-area:subtitle; margin-bottom:27px; text-align:center; }
  .lead { grid-area:lead; margin-bottom:34px; text-align:center; }
  .hero-portrait-wrap { position:static; grid-area:photo; align-self:auto; justify-self:center; width:min(100%,430px); height:auto; aspect-ratio:1; margin:0; opacity:1; }
  .hero-portrait { width:100%; height:100%; object-fit:contain; object-position:center; }
  .hero-actions { grid-area:cta; display:flex; justify-content:center; justify-self:center; width:min(100%,430px); max-width:430px; margin:20px 0 0; }
  .hero-cta { width:auto; min-width:210px; max-width:100%; }
}

@media(max-width:520px) {
  .hero { padding-top:96px; padding-bottom:40px; }
  .hero h1 { font-size:clamp(3.25rem,15vw,4.55rem); }
  .hero-subtitle { font-size:clamp(2rem,9.7vw,3rem); }
  .hero-portrait-wrap,.hero-actions { width:100%; }
}
