/* Fixed red palette sampled from the supplied campaign design board. */
:root{--accent:#c63227;--accent-dark:#8c2019;--tint:#fff0ed;--ice:#ffd5ca;--ink:#161d25;--muted:#525a64;--line:#dce0e6;--paper:#fff;--max:1320px;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;transition:background-color .5s,color .5s}body.modal-open{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button{border:0}button:disabled{cursor:default}img{display:block;max-width:100%;height:auto}p{line-height:1.65;margin:0 0 1.3em}h1,h2,h3{margin:0;letter-spacing:-.055em;line-height:1.03;font-weight:900}h2{font-size:clamp(38px,4.5vw,64px)}h3{font-size:clamp(28px,3vw,43px)}em{font-style:italic;color:var(--accent);transition:color .5s}::selection{background:var(--accent);color:#fff}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}button:focus-visible{border-radius:2px}.section-wrap{max-width:var(--max);padding-inline:48px;margin-inline:auto}.section-space{padding-block:110px}.skip{position:fixed;top:12px;left:12px;padding:16px;background:var(--ink);color:white;z-index:100;transform:translateY(-160%)}.skip:focus{transform:none}.header{height:100px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 48px;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);z-index:20}.brand{font-weight:900;font-size:23px;letter-spacing:-1.2px;line-height:.84;color:var(--accent);transition:color .5s}.brand span{display:block;color:var(--ink);font-size:7px;letter-spacing:.65px;margin-top:8px;font-weight:700;line-height:1.3}.navigation{display:flex;align-items:center;gap:32px;font-size:13px;font-weight:700}.navigation a{padding-block:14px;position:relative}.navigation a:after{content:"";position:absolute;height:2px;background:var(--accent);bottom:5px;left:0;right:0;transform:scaleX(0);transform-origin:left;transition:transform .3s}.navigation a:hover:after,.navigation a:focus-visible:after{transform:scaleX(1)}.header-actions{display:flex;align-items:center;gap:16px}.menu-toggle{display:none;background:none;width:44px;height:44px;padding:10px}.menu-toggle span{display:block;height:2px;background:var(--ink);margin:6px 0;transition:transform .3s}.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:30px;padding-top:48px;padding-bottom:50px;min-height:740px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.3px;line-height:1.6}.hero .eyebrow{display:flex;align-items:center;gap:9px;margin-bottom:24px}.slogan-slot{min-height:177px;display:flex;align-items:center}.hero-slogan{font-size:clamp(30px,3.2vw,47px);line-height:1.02;letter-spacing:-1.8px;font-weight:800;margin:0;max-width:590px;transform-origin:0 60%}.hero-slogan em{font-style:italic}.hero-slogan.changing{animation:headline-enter .65s var(--ease) both}h1{font-size:clamp(77px,9.3vw,136px);font-style:italic;letter-spacing:-.075em;line-height:.79;margin:28px 0 34px;color:var(--accent);position:relative;transition:color .5s}h1 span:not(.hero-dot){padding-left:2px}.hero-dot{color:var(--ink)}.hero-bottom{display:flex;align-items:center;gap:26px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:36px;padding:18px 22px;min-height:56px;font-size:13px;font-weight:700;border-radius:2px;position:relative;overflow:hidden;transition:background .4s,transform .4s;flex-shrink:0}.button span{display:inline-block;transition:transform .35s var(--ease)}.button span:last-child{font-size:22px;line-height:1}.button:hover span:first-child{transform:translateX(5px) skewX(-7deg)}.button:hover span:last-child{transform:translate(3px,-3px)}.button:active{transform:scale(.98)}.solid{background:var(--accent);color:#fff}.solid:hover{background:var(--accent-dark)}.text-link{font-size:13px;font-weight:700;border-bottom:1px solid var(--ink);padding:12px 0}.text-link span{margin-left:16px}.slogan-controls{display:flex;align-items:center;gap:16px;margin-top:30px;font-size:10px;font-variant-numeric:tabular-nums;font-weight:700;color:var(--muted)}.slide-dots{display:flex;align-items:center;gap:2px}.slide-dots button{width:28px;height:28px;background:transparent;position:relative}.slide-dots button:after{content:"";height:3px;width:20px;position:absolute;left:4px;top:13px;background:#cbd0d9;transition:background .4s,transform .4s}.slide-dots button[aria-pressed=true]:after{background:var(--accent);transform:scaleY(2)}.pause{background:transparent;font-size:15px;width:32px;height:32px;border:1px solid var(--line);border-radius:50%}.hero-visual{position:relative;padding-top:5px;align-self:stretch;min-width:0}.portrait-frame{position:relative;height:560px;overflow:hidden;background:var(--tint);border-radius:48% 48% 2px 2px;transition:background .6s}.portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:50% 35%;mix-blend-mode:multiply}.portrait-caption{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:700;line-height:1.4;margin:15px 0 0;padding:0 8px}.portrait-caption>span:last-child{font-size:35px;color:var(--accent)}.ribbon{overflow:hidden;background:var(--accent);color:white;padding:23px 0;transition:background .5s}.ribbon div{font-size:30px;font-style:italic;font-weight:900;letter-spacing:-.7px;white-space:nowrap;transform:translateX(-25px);display:flex;align-items:center;gap:38px;line-height:1.2}.ribbon span{color:var(--ice);font-style:normal;font-size:35px}.section-marker{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:16px;margin-bottom:56px;font-size:10px;font-weight:800;letter-spacing:1.3px}.section-marker>span:last-child{font-size:26px;line-height:1;color:var(--accent)}.about-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;align-items:start}.about-photo{position:relative;margin-top:10px}.about-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%;filter:grayscale(100%)}.photo-note{background:var(--tint);position:absolute;right:-36px;bottom:28px;padding:25px 34px;font-size:28px;font-weight:800;line-height:1.05;letter-spacing:-1px;transform:rotate(-5deg);transition:background .5s}.photo-note em{font-size:32px}.about-copy h2{font-size:clamp(36px,4vw,57px);margin-bottom:30px}.about-copy h2 em{display:inline-block;margin-top:8px}.about-copy p{font-size:14px;color:var(--muted)}.about-copy p.lead{font-size:18px;color:var(--ink);line-height:1.5}.bio{border-block:1px solid var(--line);margin-top:26px}.bio summary{display:flex;justify-content:space-between;padding:20px 0;font-size:13px;font-weight:700;cursor:pointer;list-style:none}.bio summary span{color:var(--accent);font-size:22px;line-height:15px}.bio[open] summary span{transform:rotate(45deg)}.bio p{font-size:13px}.projects{background:#f5f6f8}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:28px}.section-heading p{font-size:14px;color:var(--muted);margin:0 0 5px;max-width:320px}.render-note{font-size:11px;color:var(--muted);margin-bottom:38px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px 32px}.project-card{min-width:0}.project-open{display:block;text-align:left;background:transparent;width:100%;padding:0}.project-image{position:relative;width:100%;aspect-ratio:1.47;overflow:hidden;background:#e2e6e7}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}.project-image.nursery img{height:100%;width:100%;object-fit:cover;object-position:center;transform-origin:center}.project-open:hover .project-image img,.project-open:focus-visible .project-image img{transform:scale(1.045)}.project-number{position:absolute;top:16px;left:16px;background:white;color:var(--accent);font-size:12px;font-weight:800;display:grid;place-items:center;width:38px;height:38px;border-radius:50%}.project-arrow{position:absolute;bottom:16px;right:16px;background:var(--accent);color:#fff;width:46px;height:46px;display:grid;place-items:center;font-size:27px;transition:transform .4s,background .4s}.project-open:hover .project-arrow{transform:rotate(-8deg)}.project-label{font-size:10px;font-weight:800;letter-spacing:.8px;margin:23px 0 13px;color:var(--muted)}.project-card h3{font-size:clamp(30px,3.5vw,48px);margin-bottom:18px}.project-card p{font-size:14px;line-height:1.6;color:var(--muted);max-width:440px;margin-bottom:20px}.under-link{display:inline-flex;gap:24px;font-size:12px;font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:8px}.under-link span{transition:transform .3s}.project-open:hover .under-link span{transform:translate(4px,-3px)}.market{display:grid;grid-template-columns:1.15fr 1fr;margin-top:100px;gap:48px;align-items:center}.market-image{position:relative}.market-image img{width:100%;aspect-ratio:1.1;object-fit:cover}.market-image>span{position:absolute;bottom:0;left:0;background:var(--accent);color:white;font-size:9px;letter-spacing:.7px;font-weight:700;padding:16px 18px;transition:background .5s}.market-copy h3{font-size:clamp(36px,4.1vw,57px);margin-bottom:23px}.market-copy p:not(.eyebrow){font-size:15px;color:var(--muted);max-width:380px}.market-copy .button{margin-top:10px}.principles-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:90px}.principles-intro h2{font-size:clamp(37px,4vw,55px);margin-bottom:28px}.principles-intro>p{font-size:15px;color:var(--muted);max-width:390px}.statement{background:var(--accent);color:#fff;padding:30px;margin-top:36px;transition:background .5s;position:relative}.statement>span{font-family:Georgia,serif;font-size:65px;color:var(--ice);line-height:.7}.statement p{font-size:25px;line-height:1.1;font-weight:700;letter-spacing:-.7px;margin:7px 0 24px}.statement strong{font-style:italic;color:var(--ice)}.statement small{font-size:9px;font-weight:800;letter-spacing:1px}.policy-list details{border-bottom:1px solid var(--line)}.policy-list details:first-child{border-top:1px solid var(--line)}.policy-list summary{display:flex;align-items:center;gap:18px;list-style:none;cursor:pointer;padding:28px 0}.policy-no{font-size:10px;color:var(--accent);font-weight:700}.policy-list h3{font-size:21px;line-height:1.2;letter-spacing:-.65px;flex:1}.plus{font-size:27px;font-weight:400;color:var(--accent);transition:transform .3s}.policy-list details[open] .plus{transform:rotate(45deg)}.policy-body{padding-left:31px;padding-bottom:14px}.policy-body p{font-size:14px;color:var(--muted);line-height:1.7}.policy-body strong{color:var(--ink)}summary::-webkit-details-marker{display:none}.closing{background:var(--accent);color:white;padding:70px 0 44px;transition:background .6s;overflow:hidden}.closing .eyebrow{color:var(--ice)}.closing-row{display:flex;align-items:center;justify-content:space-between;gap:25px}.closing h2{font-size:clamp(54px,8.5vw,116px);letter-spacing:-.065em;line-height:.95}.closing h2 em{color:var(--ice)}.closing-bottom{border-top:1px solid #ffffff4d;margin-top:44px;padding-top:28px;display:flex;justify-content:space-between;align-items:center;gap:26px}.closing-bottom p{font-size:15px;margin:0;line-height:1.4}.light{background:#fff;color:var(--accent)}.closing-link{font-size:12px;border-bottom:1px solid #ffffff80;padding:12px 0}.share-status{min-height:18px;font-size:12px;margin:15px 0 0}.footer{display:flex;align-items:center;justify-content:space-between;padding-block:35px;gap:25px}.footer .brand{font-size:25px}.footer .brand span{font-size:7px;letter-spacing:.1px}.footer p{font-size:11px;color:var(--muted);margin:0}.back-top{font-size:23px;border:1px solid var(--line);width:43px;height:43px;display:grid;place-items:center}.back-top:hover{background:var(--tint)}dialog{max-width:1040px;width:calc(100% - 48px);max-height:calc(100dvh - 48px);border:0;padding:0;color:var(--ink);background:white;overscroll-behavior:contain;box-shadow:0 15px 100px #0004}dialog::backdrop{background:#111a2acc;backdrop-filter:blur(7px)}dialog[open]{animation:dialog-enter .35s var(--ease)}.dialog-top{display:flex;align-items:center;justify-content:space-between;padding:14px 28px;background:white;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:2}.dialog-top>span{font-size:9px;font-weight:800;letter-spacing:.8px}.dialog-close{display:flex;align-items:center;gap:16px;background:var(--tint);padding:9px 14px;font-size:12px}.dialog-close span{font-size:24px}.dialog-content{padding:38px 48px}.dialog-content h2{font-size:clamp(31px,4.5vw,52px);max-width:800px;margin-bottom:20px}.dialog-lead{font-size:18px;color:var(--muted);max-width:780px}.dialog-figure{margin:28px 0 0}.dialog-figure img{max-height:550px;object-fit:contain;width:100%;background:#f1f3f5;height:auto;min-height:140px}.dialog-figure figcaption{font-size:11px;color:var(--muted);margin-top:10px}.gallery-controls{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:15px 0 30px}.gallery-controls>div{display:flex;gap:8px;flex-wrap:wrap}.gallery-controls button{width:64px;height:46px;padding:3px;background:white;border:1px solid var(--line)}.gallery-controls button[aria-pressed=true]{border:2px solid var(--accent);padding:2px}.gallery-controls img{width:100%;height:100%;object-fit:cover}.gallery-controls a{font-size:11px;text-decoration:underline;flex-shrink:0}.detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:30px}.detail-block{border-top:2px solid var(--accent);padding-top:20px}.detail-block h3{font-size:23px;letter-spacing:-.7px;line-height:1.15;margin-bottom:15px}.detail-block p,.detail-block li{font-size:14px;color:var(--muted);line-height:1.7}.detail-block ul{padding-left:18px}.detail-block li{padding-bottom:8px}.detail-banner{background:var(--tint);padding:23px;margin-top:24px;font-size:15px;line-height:1.6}.dialog-footnote{font-size:11px;color:var(--muted);border-top:1px solid var(--line);margin-top:30px;padding-top:20px;margin-bottom:0}.noscript{background:#fff5db;padding:20px}.reveal{transition:transform .75s var(--ease),opacity .75s var(--ease)}.reveal.waiting{opacity:0;transform:translateY(26px)}@keyframes headline-enter{from{opacity:0;transform:translateY(16px) skewX(-5deg)}to{opacity:1;transform:translateY(0) skewX(0)}}@keyframes dialog-enter{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1500px){.header{padding-inline:max(48px,calc((100vw - 1224px)/2))}.hero{padding-block:60px}.portrait-frame{height:590px}}
@media(max-width:1100px){.section-wrap{padding-inline:32px}.header{padding-inline:32px}.hero{grid-template-columns:1.1fr 1fr;gap:22px;min-height:auto}.hero-slogan{font-size:35px}.slogan-slot{min-height:142px}h1{font-size:97px}.portrait-frame{height:510px}.about-layout{gap:65px}.principles-layout{gap:48px}.hero-bottom{gap:19px}.button{gap:22px;padding:17px 19px}.text-link{font-size:12px}.navigation{gap:24px}}
@media(max-width:800px){html{scroll-padding-top:90px}.header{height:80px;padding:14px 24px}.brand{font-size:21px}.brand span{font-size:6px}.navigation{gap:17px;font-size:11px}.section-wrap{padding-inline:24px}.section-space{padding-block:72px}.hero{padding-top:32px;gap:24px;grid-template-columns:1.1fr 1fr}.hero .eyebrow{font-size:8px;letter-spacing:.6px;margin-bottom:16px}.hero-slogan{font-size:29px;letter-spacing:-1px}.slogan-slot{min-height:128px}h1{font-size:76px;margin:24px 0 28px}.hero-bottom{flex-wrap:wrap;gap:12px 20px}.button{font-size:12px;min-height:50px;padding:15px 18px}.hero-bottom .text-link{font-size:11px;padding:8px 0}.portrait-frame{height:430px}.portrait-caption{font-size:10px}.slogan-controls{margin-top:20px}.ribbon{padding:18px 0}.ribbon div{font-size:25px;gap:26px}.section-marker{margin-bottom:38px}.about-layout{gap:46px;grid-template-columns:.85fr 1fr}.about-copy h2{font-size:36px}.about-copy p.lead{font-size:16px}.about-copy p{font-size:13px}.photo-note{font-size:22px;right:-22px;padding:20px}.photo-note em{font-size:25px}.section-heading h2{font-size:43px}.section-heading p{font-size:12px;max-width:230px}.project-grid{gap:44px 24px}.project-card h3{font-size:35px}.project-card p{font-size:13px}.project-label{font-size:8px;letter-spacing:.55px}.market{gap:30px;margin-top:70px}.market-copy h3{font-size:39px}.market-copy p:not(.eyebrow){font-size:13px}.market-copy .eyebrow{font-size:8px}.market-image>span{font-size:8px;padding:13px 12px}.principles-layout{gap:35px}.principles-intro h2{font-size:36px}.principles-intro>p{font-size:13px}.policy-list h3{font-size:18px}.policy-list summary{gap:12px;padding:23px 0}.policy-body{padding-left:24px}.policy-body p{font-size:13px}.statement{padding:23px}.statement p{font-size:23px}.closing-bottom{gap:18px}.closing-link{font-size:11px}.closing-bottom p{font-size:13px}}
@media(max-width:600px){html{scroll-padding-top:85px}.header{height:77px;padding-inline:20px}.brand{font-size:20px}.menu-toggle{display:block}.navigation{display:none;position:absolute;top:76px;left:0;right:0;background:white;padding:16px 24px 24px;border-bottom:1px solid var(--line);box-shadow:0 12px 14px #00000006;flex-direction:column;align-items:stretch;gap:0;font-size:16px}.navigation.open{display:flex}.navigation a{padding:18px 0;border-bottom:1px solid var(--line)}.navigation a:last-child{border:0}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.header-actions{gap:10px}.section-wrap{padding-inline:22px}.hero{display:block;padding-top:30px;padding-bottom:34px}.hero .eyebrow{font-size:8px;letter-spacing:.55px;gap:7px;margin-bottom:22px}.hero-slogan{font-size:clamp(30px,8.7vw,44px);letter-spacing:-1.5px;line-height:1.04}.slogan-slot{min-height:138px}.hero h1{font-size:clamp(91px,24.3vw,142px);margin:25px 0 28px;line-height:.8;letter-spacing:-.075em}.hero-bottom{flex-wrap:nowrap;gap:24px}.hero-bottom .text-link{font-size:12px}.hero-bottom .button{padding:17px 20px}.slogan-controls{margin-top:20px;margin-bottom:26px;gap:13px}.hero-visual{width:100%;padding-top:0}.portrait-frame{height:440px;border-radius:45% 45% 2px 2px;max-width:420px;margin:auto}.portrait-frame img{object-position:50% 34%}.portrait-caption{font-size:11px;margin-top:12px}.ribbon{padding:17px 0}.ribbon div{font-size:23px;gap:25px}.ribbon span{font-size:28px}.section-space{padding-block:60px}.section-marker{font-size:9px;letter-spacing:.9px;margin-bottom:32px}.about-layout{display:flex;flex-direction:column;gap:36px}.about-photo{width:calc(100% - 26px);max-width:420px;margin-top:0}.about-photo img{aspect-ratio:1.05;object-position:50% 25%}.photo-note{right:-26px;bottom:20px;font-size:24px;padding:22px 26px}.photo-note em{font-size:28px}.about-copy h2{font-size:43px;max-width:480px;margin-bottom:25px}.about-copy p.lead{font-size:17px}.about-copy p{font-size:14px}.section-heading{display:block;margin-bottom:23px}.section-heading h2{font-size:42px}.section-heading p{font-size:14px;margin-top:24px;max-width:none}.section-heading p br{display:none}.render-note{font-size:10px;margin-bottom:28px;max-width:330px}.project-grid{grid-template-columns:1fr;gap:42px}.project-image{aspect-ratio:1.42}.project-label{font-size:9px;margin-top:20px}.project-card h3{font-size:38px;margin-bottom:16px}.project-card p{font-size:14px;margin-bottom:17px}.project-number{top:12px;left:12px}.project-arrow{width:43px;height:43px;right:12px;bottom:12px}.market{grid-template-columns:1fr;gap:26px;margin-top:54px}.market-image img{aspect-ratio:1.35}.market-image>span{font-size:8px}.market-copy .eyebrow{font-size:9px}.market-copy h3{font-size:42px}.market-copy p:not(.eyebrow){font-size:14px}.market-copy .button{margin-top:5px}.principles-layout{grid-template-columns:1fr;gap:34px}.principles-intro h2{font-size:42px}.principles-intro>p{font-size:14px}.statement{margin-top:28px;padding:25px 28px}.statement p{font-size:28px}.policy-list h3{font-size:20px}.policy-list summary{padding:24px 0;gap:14px}.policy-body p{font-size:14px}.policy-body{padding-left:28px}.closing{padding:49px 0 25px}.closing .eyebrow{font-size:8px}.closing-row{position:relative}.closing h2{font-size:clamp(48px,12.5vw,72px);position:relative;z-index:1}.closing-bottom{flex-wrap:wrap;justify-content:flex-start;gap:25px;margin-top:32px;padding-top:25px}.closing-bottom p{font-size:14px;width:100%;margin:0}.closing-bottom .button{padding:15px 17px;font-size:12px;gap:22px}.closing-link{font-size:10px}.share-status{margin-top:18px}.footer{padding-block:28px;flex-wrap:wrap;gap:20px}.footer .brand{font-size:24px}.footer .brand span{font-size:6px}.footer>p{order:3;width:100%;font-size:10px}.back-top{margin-left:auto;width:38px;height:38px}dialog{width:100%;max-width:none;max-height:100dvh;height:100dvh;margin:0}.dialog-top{padding:12px 18px}.dialog-top>span{font-size:8px;max-width:180px;line-height:1.5}.dialog-content{padding:30px 22px}.dialog-content h2{font-size:35px}.dialog-lead{font-size:16px}.detail-columns{grid-template-columns:1fr;gap:18px;margin-top:25px}.detail-block h3{font-size:25px}.dialog-figure{margin-inline:-22px}.dialog-figure figcaption{padding-inline:22px}.gallery-controls{flex-wrap:wrap;gap:16px}.gallery-controls button{width:60px}.detail-banner{font-size:14px;padding:20px}.dialog-footnote{font-size:10px}}
@media(max-width:360px){.hero-bottom{gap:16px}.hero-bottom .button{padding:15px;font-size:11px;gap:18px}.hero-bottom .text-link{font-size:11px}.hero .eyebrow{font-size:7px}.header{padding-inline:16px}.hero h1{font-size:87px}.section-wrap{padding-inline:18px}.slogan-slot{min-height:125px}.hero-slogan{font-size:30px}.closing-link{font-size:10px}.closing-bottom{gap:18px}.portrait-frame{height:380px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal.waiting{opacity:1;transform:none}}

/* Campaign revision: direct portrait composition, no overlapping labels. */
.hero{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.hero-copy,.hero-visual{min-width:0}
.portrait-frame{border-radius:0;background:#f0f0ef;height:auto;aspect-ratio:4/5}
.portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:center 25%;mix-blend-mode:normal}
.photo-note{position:static;transform:none;margin:0;padding:20px 24px;display:flex;flex-wrap:wrap;gap:6px 12px;font-size:23px;line-height:1.2}
.photo-note br{display:none}.photo-note em{font-size:inherit}
.slogan-slot{min-height:3.35em;font-size:clamp(30px,3.2vw,47px)}
.hero-slogan{font-size:inherit;overflow-wrap:normal}
.ribbon{position:relative;padding:0;display:flex;align-items:center}
.ribbon .ribbon-window{overflow:hidden;display:block;flex:1;min-width:0;transform:none}
.ribbon .ribbon-track{display:flex;width:max-content;gap:0;transform:none;animation:ribbon-scroll 28s linear infinite;will-change:transform}
.ribbon .ribbon-group{display:flex;min-width:100vw;justify-content:space-around;flex-shrink:0;align-items:center;gap:36px;padding:24px 36px 24px 0;transform:none;white-space:nowrap;font-size:30px;line-height:1.2}
.ribbon .ribbon-group span{font:inherit;color:white}
.ribbon .ribbon-group b{font-weight:400;color:var(--ice);font-style:normal}
.ribbon-pause{flex-shrink:0;background:var(--accent);color:white;width:64px;align-self:stretch;font-size:19px;border-left:1px solid #ffffff55;position:relative;z-index:1}
.ribbon-pause:focus-visible{outline:2px solid white;outline-offset:-7px}
.party-signature{display:flex;gap:14px;align-items:center;font-size:12px;font-weight:700;line-height:1.3}
.party-signature img{width:64px;height:64px;object-fit:contain}
@keyframes ribbon-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:1000px) and (min-width:901px){.hero h1{font-size:clamp(75px,9.2vw,97px)}.hero-bottom{flex-wrap:wrap}.slogan-slot{font-size:33px}}
@media(max-width:900px){
 .hero{display:grid;grid-template-columns:minmax(0,1fr);gap:34px;min-height:0}
 .hero-copy{width:100%}.hero h1{font-size:clamp(88px,15vw,126px);margin-top:26px}
 .slogan-slot{font-size:clamp(32px,5.5vw,45px);min-height:3.4em}
 .hero-visual{width:100%;max-width:620px;justify-self:center;padding:0}
 .portrait-frame{height:auto;max-width:none;width:100%;aspect-ratio:4/5;border-radius:0;margin:0}
 .slogan-controls{margin-bottom:0}.hero-bottom{flex-wrap:wrap}
 .about-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1fr)}
}
@media(max-width:600px){
 .hero{display:grid;gap:27px}.hero h1{font-size:clamp(68px,22vw,126px)}
 .slogan-slot{font-size:clamp(28px,8vw,42px);min-height:3.5em}
 .portrait-frame{height:auto;aspect-ratio:4/5;border-radius:0}
 .hero-visual{max-width:440px}.portrait-caption{padding-inline:0}
 .about-photo{width:100%}.photo-note{font-size:22px;padding:20px}
 .ribbon .ribbon-group{font-size:23px;gap:24px;padding:20px 24px 20px 0}
 .ribbon-pause{width:48px}.footer{align-items:center;gap:26px}
 .footer>.brand{width:100%;line-height:1}.party-signature img{width:54px;height:54px}
 .party-signature{font-size:11px;gap:10px}
}
@media(prefers-reduced-motion:reduce){.ribbon .ribbon-track{animation:none;transform:none}.ribbon-pause{display:none}}

/* More of the programme stays visible on the single page. */
.project-facts{display:block;border-top:1px solid var(--line);padding-top:17px;margin:0 0 23px;max-width:470px}
.project-facts>span{display:block;position:relative;padding-left:17px;margin-bottom:11px;font-size:13px;line-height:1.55;color:var(--muted);font-weight:400}
.project-facts>span:before{content:"";position:absolute;left:0;top:.6em;width:5px;height:5px;background:var(--accent)}
.neighbourhoods{padding-bottom:25px}.neighbourhoods .section-heading{margin-bottom:46px}
.neighbourhood-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 32px}
.neighbourhood-grid article{border-top:2px solid var(--accent);padding-top:23px;min-width:0}
.neighbourhood-grid .eyebrow{color:var(--accent);font-size:9px;letter-spacing:1px;margin-bottom:18px}
.neighbourhood-grid h3{font-size:27px;line-height:1.12;letter-spacing:-1px;margin-bottom:18px}
.neighbourhood-grid article>p:last-child{font-size:14px;color:var(--muted);margin-bottom:0}
.neighbourhood-note{font-size:13px;color:var(--muted);border-block:1px solid var(--line);padding:21px 0;margin:38px 0 0;max-width:100%}
.accountability{padding-bottom:100px}
.accountability-heading{border-top:1px solid var(--line);padding-top:28px;margin-bottom:38px;display:flex;justify-content:space-between;gap:36px;align-items:flex-start}
.accountability-heading h2{font-size:clamp(35px,4vw,54px);width:58%}
.accountability-heading>.eyebrow{max-width:230px;color:var(--muted);margin-top:10px}
.accountability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.accountability-grid article{background:var(--tint);padding:28px;min-width:0}
.accountability-number{color:var(--accent);font-size:12px;font-weight:700;display:block;margin-bottom:30px}
.accountability-grid h3{font-size:26px;line-height:1.12;letter-spacing:-1px;margin-bottom:20px}
.accountability-grid p{font-size:14px;line-height:1.65;margin:0;color:var(--muted)}
@media(max-width:1000px){.neighbourhood-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.accountability-grid{gap:18px}.accountability-grid article{padding:22px}.accountability-grid h3{font-size:23px}.accountability-grid p{font-size:13px}}
@media(max-width:700px){.accountability-grid{grid-template-columns:1fr}.accountability-grid article{padding:26px}.accountability-grid h3{font-size:28px}.accountability-grid p{font-size:14px}.accountability-number{margin-bottom:19px}.accountability-heading{display:block}.accountability-heading h2{width:100%;font-size:40px}.accountability-heading>.eyebrow{max-width:none;margin-bottom:24px}.accountability{padding-bottom:60px}}
@media(max-width:600px){.neighbourhood-grid{grid-template-columns:1fr;gap:30px}.neighbourhoods .section-heading{margin-bottom:32px}.neighbourhood-grid h3{font-size:30px}.neighbourhood-grid .eyebrow{font-size:10px}.neighbourhood-grid article{padding-top:20px}.neighbourhoods{padding-bottom:0}.project-facts>span{font-size:13px;line-height:1.65}.neighbourhood-note{font-size:12px}.accountability-heading h2{font-size:38px}}

/* The municipal nurseries are the main project in the programme. */
.nursery-feature{grid-column:1/-1;background:var(--tint)}
.nursery-feature .project-open{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);align-items:center;gap:0}
.nursery-feature .project-image{height:100%;aspect-ratio:auto;min-height:470px;display:flex;align-items:center;background:#ebe8e2}
.nursery-feature .project-image.nursery img{width:100%;height:auto;object-fit:contain}
.nursery-feature-copy{padding:38px;min-width:0}
.nursery-feature-copy>.eyebrow{font-size:9px;letter-spacing:1px;color:var(--accent);margin-bottom:20px}
.nursery-feature .project-label{margin-top:0}
.nursery-feature h3{font-size:clamp(38px,4.4vw,60px)}
.nursery-feature p{font-size:15px}
.nursery-feature .project-facts{border-top-color:#c6322730}
.nursery-feature .under-link{background:var(--accent);color:white;border:0;padding:15px 20px}
.market{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:36px;margin-top:60px;border-top:1px solid var(--line);padding-top:36px}
.market-image img{aspect-ratio:1.45}
.market-copy h3{font-size:36px}.market-copy h3 br{display:none}
.market-copy p:not(.eyebrow){font-size:14px;max-width:620px}
.market-copy .button{padding:13px 18px;min-height:46px}
@media(max-width:1000px){.nursery-feature-copy{padding:28px}.nursery-feature h3{font-size:42px}.nursery-feature p{font-size:14px}.nursery-feature .project-image{min-height:400px}}
@media(max-width:700px){.nursery-feature .project-open{grid-template-columns:1fr}.nursery-feature .project-image{min-height:0;height:auto;aspect-ratio:auto}.nursery-feature .project-image.nursery img{width:100%;height:auto}.nursery-feature-copy{padding:27px 24px}.nursery-feature h3{font-size:40px}.market{grid-template-columns:1fr;gap:24px}.market-copy h3{font-size:33px}.market-image img{aspect-ratio:1.75}.market-image>span{font-size:8px}}
@media(max-width:360px){.nursery-feature-copy{padding:24px 18px}.nursery-feature h3{font-size:34px}}

/* New project crops and supplied portraits / visit photos. */
.nursery-feature .project-image.nursery-mosaic{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-content:center;min-height:0;height:auto;background:transparent;padding:18px}
.nursery-feature .nursery-mosaic img{width:100%;height:190px;object-fit:cover;object-position:center}
.nursery-feature .nursery-mosaic img.nursery-main{grid-column:1/-1;width:100%;height:auto;aspect-ratio:4.09;object-fit:contain}
.nursery-mosaic .project-number{top:30px;left:30px}.nursery-mosaic .project-arrow{bottom:30px;right:30px}
.about-photo img{filter:none}
.field-section{background:#f5f6f8}.field-controls{display:flex;align-items:center;justify-content:space-between;margin:25px 0 18px;gap:20px;font-size:11px;color:var(--muted)}
.field-controls>div{display:flex;gap:8px}.field-controls button{width:44px;height:44px;background:white;border:1px solid var(--line);color:var(--accent);font-size:22px}.field-controls button:disabled{opacity:.35}
.field-strip{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:20px;scrollbar-color:var(--accent) #e3e5e8;scrollbar-width:thin}
.field-photo{position:relative;flex:0 0 45%;min-width:0;scroll-snap-align:start;background:transparent;padding:0;aspect-ratio:1.45;overflow:hidden}
.field-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.field-photo:hover img{transform:scale(1.025)}
.field-photo>span{position:absolute;bottom:12px;right:12px;display:grid;place-items:center;width:38px;height:38px;background:white;color:var(--accent);font-size:22px}
.closing-portrait{width:29%;max-width:350px;aspect-ratio:1.1;object-fit:cover;object-position:center;border:5px solid #ffffff30}
#photo-dialog{background:#15191e;color:white;max-width:1200px;padding:58px 24px 18px}
#photo-dialog figure{margin:0}#photo-full{width:100%;max-height:75dvh;object-fit:contain}#photo-caption{font-size:12px;line-height:1.5;text-align:center;padding:15px 12px 0}
.photo-close{position:absolute;right:15px;top:12px;padding:10px 15px;background:white;color:var(--ink);font-size:13px}
@media(max-width:1100px){.navigation{gap:18px;font-size:12px}.nursery-feature .nursery-mosaic img{height:155px}.closing h2{font-size:clamp(54px,7.4vw,106px)}}
@media(max-width:800px){.navigation{gap:13px;font-size:10px}.nursery-feature .nursery-mosaic img{height:135px}.field-photo{flex-basis:70%}}
@media(max-width:700px){.nursery-feature .project-image.nursery-mosaic{padding:12px;gap:6px}.nursery-feature .nursery-mosaic img{height:150px}.nursery-mosaic .project-number{top:20px;left:20px}.nursery-mosaic .project-arrow{bottom:20px;right:20px}}
@media(max-width:600px){.navigation{font-size:16px;gap:0}.field-photo{flex-basis:90%;aspect-ratio:1.3}.field-strip{gap:12px}.field-controls{font-size:10px}.field-section .section-heading h2{font-size:38px}.closing-row{flex-direction:column;align-items:flex-start;gap:25px}.closing-portrait{width:100%;max-width:none;aspect-ratio:1.7;object-position:center 28%;border:0}.closing h2{font-size:clamp(48px,12.5vw,72px)}#photo-dialog{height:auto;max-height:100dvh;padding:60px 12px 18px;margin:auto;width:100%}#photo-full{max-height:75dvh}.nursery-feature .nursery-mosaic img{height:125px}}

/* Readability revision: preserve display headlines, enlarge supporting copy. */
.brand span,.footer .brand span{font-size:10px;letter-spacing:.45px;line-height:1.4}
.hero .eyebrow{font-size:13px;letter-spacing:.7px;max-width:100%;line-height:1.6}
.eyebrow,.section-marker,.project-label{font-size:12px}
.navigation{font-size:14px;gap:20px}
.hero-bottom{flex-wrap:wrap}
.button,.hero-bottom .button,.text-link,.hero-bottom .text-link,.under-link{font-size:15px}
.about-copy p,.bio p,.project-card p,.nursery-feature p,.section-heading p,.principles-intro>p,.policy-body p,.accountability-grid p,.neighbourhood-grid article>p:last-child,.detail-block p,.detail-block li{font-size:17px;line-height:1.7}
.about-copy p.lead,.dialog-lead{font-size:20px;line-height:1.6}
.project-facts>span{font-size:16px;line-height:1.65}
.neighbourhood-grid .eyebrow{font-size:18px;line-height:1.4;letter-spacing:.5px}
.neighbourhood-note,.render-note,.bio summary,.portrait-caption,.footer p,.closing-link,.field-controls,.dialog-figure figcaption,.dialog-footnote{font-size:14px;line-height:1.65}
.portrait-frame img{object-position:center 18%}
@media(max-width:1000px) and (min-width:601px){.navigation{font-size:12px;gap:12px}}
@media(max-width:600px){
 .brand span,.footer .brand span{font-size:9px}
 .hero .eyebrow{font-size:11px;letter-spacing:.45px}
 .navigation{font-size:16px;gap:0}
 .hero-bottom{gap:12px 22px;align-items:center}
 .hero-bottom .text-link,.hero-bottom .button{font-size:14px}
 .about-copy p,.bio p,.project-card p,.nursery-feature p,.section-heading p,.principles-intro>p,.policy-body p,.accountability-grid p,.neighbourhood-grid article>p:last-child,.detail-block p,.detail-block li{font-size:16px}
 .project-facts>span{font-size:15px}
 .about-copy p.lead,.dialog-lead{font-size:18px}
 .neighbourhood-grid .eyebrow{font-size:16px}
 .section-marker,.project-label{font-size:11px}
 .portrait-caption,.render-note,.footer p,.field-controls,.dialog-footnote{font-size:13px}
}

/* Supplied Facebook page: keyboard-accessible links, no embeds or trackers. */
.social-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;color:var(--accent);border:1px solid var(--line)}
.social-icon:hover,.facebook-link:hover{background:var(--tint)}
.social-icon svg,.facebook-link svg{flex-shrink:0}
.header .brand{flex-shrink:0}.header-actions{flex-shrink:0}
.social-section{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:55px}
.social-section .eyebrow{color:var(--muted);margin-bottom:12px}
.social-section h2{font-size:38px}
.facebook-link{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 20px;border:1px solid var(--line);font-size:16px;font-weight:700;color:var(--accent)}
.footer{flex-wrap:wrap}.footer-facebook{padding:10px 14px}
@media(max-width:1000px){
 .menu-toggle{display:block}
 .navigation{display:none;position:absolute;top:100%;left:0;right:0;background:white;padding:16px 24px 24px;border-bottom:1px solid var(--line);box-shadow:0 12px 14px #00000006;flex-direction:column;align-items:stretch;gap:0;font-size:16px;max-height:calc(100dvh - 100px);overflow-y:auto}
 .navigation.open{display:flex}.navigation a{padding:18px 0;border-bottom:1px solid var(--line)}.navigation a:last-child{border:0}
 .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}
 .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
}
@media(max-width:600px){.header-actions{gap:6px}.social-section{padding-block:38px;flex-wrap:wrap}.social-section h2{font-size:32px}.footer{gap:20px}.footer-facebook{font-size:14px}.footer .back-top{margin-left:auto}}

.social-links{display:flex;flex-wrap:wrap;gap:12px}.footer-instagram{padding:10px 14px}
@media(max-width:600px){.footer-instagram{font-size:14px}.header-actions{gap:2px}.header .social-icon{width:38px;height:44px;border:0}.header .brand span{font-size:8px;letter-spacing:.2px}.social-links{width:100%}}

/* November revision: supporting headings and copy keep a readable scale. */
.slogan-slot{font-size:clamp(36px,3.7vw,54px);min-height:3.4em}
.hero-slogan{font-size:inherit;line-height:1.08;letter-spacing:-.045em;max-width:100%}
.hero .eyebrow{font-size:14px}
.brand span,.footer .brand span{font-size:11px;line-height:1.45;letter-spacing:.25px}
.project-label{font-size:15px;line-height:1.5;letter-spacing:.45px}
.nursery-feature-copy>.eyebrow{font-size:13px;line-height:1.55}
.section-marker{font-size:13px;line-height:1.5}
.policy-list h3{font-size:25px;line-height:1.25}
.policy-list summary{gap:20px}.policy-no{font-size:13px}
.statement p{font-size:30px;line-height:1.2}.statement small{font-size:12px;line-height:1.5}
.closing .eyebrow{font-size:20px;line-height:1.45;letter-spacing:.7px;margin-bottom:28px}
.closing-bottom p{font-size:19px;line-height:1.6}.closing-link{font-size:16px}
.about-copy p,.project-card p,.nursery-feature p,.policy-body p,.accountability-grid p,.neighbourhood-grid article>p:last-child{font-size:18px;line-height:1.7}
.project-facts>span{font-size:17px;line-height:1.7}
.portrait-frame img{transform:scale(1.2);transform-origin:50% 20%;object-position:center 16%}
@media(max-width:1100px) and (min-width:901px){.slogan-slot{font-size:36px}}
@media(max-width:900px){.slogan-slot{font-size:clamp(35px,5.5vw,48px);min-height:3.3em}}
@media(max-width:600px){
 .slogan-slot{font-size:clamp(29px,8.4vw,43px);min-height:3.5em}
 .hero .eyebrow{font-size:12px}.brand span,.footer .brand span,.header .brand span{font-size:9px}
 .project-label{font-size:13px}.section-marker{font-size:12px}.nursery-feature-copy>.eyebrow{font-size:12px}
 .policy-list h3{font-size:23px}.statement p{font-size:28px}
 .closing .eyebrow{font-size:16px;letter-spacing:.45px}.closing-bottom p{font-size:17px}.closing-link{font-size:15px}
 .about-copy p,.project-card p,.nursery-feature p,.policy-body p,.accountability-grid p,.neighbourhood-grid article>p:last-child{font-size:17px}
 .project-facts>span{font-size:16px}.portrait-frame img{transform:scale(1.15)}
}
