:root{--paper:#fbfaf6;--ivory:#f7f6f0;--white:#fff;--forest:#124b35;--green:#176344;--dark:#103725;--gold:#dec460;--ink:#203129;--muted:#617368;--line:#dbe2d7;--heading:'Montserrat',Arial,sans-serif;--hero-heading:'Space Grotesk',Arial,sans-serif;--body:'Poppins',Arial,sans-serif;--serif:'Montserrat',Arial,sans-serif;--ease-smooth:cubic-bezier(.22,1,.36,1);--motion-short:300ms;--motion-standard:400ms;--max:1240px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:15px/1.7 var(--body);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:clip}a{color:inherit;text-decoration:none}img,svg{max-width:100%}img{display:block}button,input,select,textarea{font:inherit}button{cursor:pointer}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #e1bb3d;outline-offset:3px}.container{width:min(var(--max),calc(100% - 36px));margin-inline:auto}.skip-link{position:absolute;left:14px;top:-100px;padding:10px;background:#fff;z-index:1000}.skip-link:focus{top:10px}.site-header{position:sticky;top:0;z-index:120;padding:9px 0;background:rgba(251,250,246,.94);backdrop-filter:blur(18px);border-bottom:1px solid #e9ebe3}.nav-wrap{width:min(1330px,calc(100% - 24px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:62px;border:1px solid #e6ebe2;background:rgba(255,255,255,.97);border-radius:999px;padding:7px 10px 7px 13px;box-shadow:0 8px 30px rgba(18,75,53,.05)}.brand{display:flex;align-items:center;gap:9px;min-width:0}.brand img{width:42px;height:42px;object-fit:contain;flex-shrink:0}.brand span{min-width:0;display:flex;flex-direction:column;gap:1px}.brand strong{color:var(--forest);font:800 19px/1.05 var(--heading);letter-spacing:-.065em;white-space:nowrap}.brand small{font:700 7px/1.45 var(--body);letter-spacing:.04em;color:#67806d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px}.desktop-nav,.nav-cta{display:none}.menu-toggle{width:44px;height:44px;flex:0 0 44px;border:0;background:var(--forest);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px}.menu-toggle span{display:block;width:19px;height:1.7px;background:#fff;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.8px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.8px) rotate(-45deg)}.mobile-menu{position:fixed;top:80px;left:0;right:0;bottom:0;background:var(--paper);padding:18px 24px 34px;display:none;z-index:115;overflow:auto}.mobile-menu.open{display:flex;flex-direction:column;justify-content:space-between}.mobile-menu nav{display:flex;flex-direction:column}.mobile-menu nav a{display:flex;justify-content:space-between;align-items:center;min-height:64px;border-bottom:1px solid var(--line);font:700 24px/1.25 var(--heading);letter-spacing:-.04em}.mobile-menu .mobile-contact{background:var(--forest);color:#fff;min-height:58px;padding:0 18px;margin-top:18px;border-radius:12px;font:700 14px var(--body)}.mobile-menu-foot{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.11em}body.menu-open{overflow:hidden}
/* Universal controls and editorial typography */
.section{padding:80px 0}.kicker{display:inline-flex;align-items:center;gap:9px;font-size:10px;line-height:1.7;text-transform:uppercase;letter-spacing:.15em;font-weight:800;color:var(--forest)}.mini-dash{width:20px;height:2px;background:var(--gold);display:inline-block;flex:0 0 20px}.kicker.muted-light{color:#e9ecd7}.button{display:inline-flex;gap:12px;justify-content:center;align-items:center;border-radius:999px;padding:15px 22px;min-height:52px;font-size:12px;font-weight:800;line-height:1.3;border:1px solid transparent;transition:transform .2s,background .2s,color .2s}.button:hover{transform:translateY(-2px)}.green-button{background:var(--forest);color:#fff}.green-button:hover{background:#1e7050}.yellow-button{background:var(--gold);color:var(--dark)}.ghost-button{border:1px solid #9aafa0;background:transparent;color:var(--forest)}.underlined-link{display:inline-flex;align-items:center;gap:9px;padding:10px 0;border-bottom:2px solid var(--gold);font-size:12px;font-weight:800;color:var(--forest);transition:gap .2s}.underlined-link:hover{gap:15px}h1,h2,h3,p{overflow-wrap:break-word}.section h2,.feature-section h2,.constituents-section h2{font:700 clamp(35px,8.8vw,55px)/1.1 var(--heading);letter-spacing:-.075em;margin:20px 0}.section h2 em,.feature-section h2 em,.constituents-section h2 em,.footer-top h2 em{font:italic 400 1.06em/1 var(--serif);color:var(--green);letter-spacing:-.04em}.split-heading{display:flex;flex-direction:column;gap:12px;margin-bottom:32px}.split-heading h2{margin:15px 0}.split-heading>p{max-width:540px;font-size:14px;color:var(--muted);line-height:1.9}
/* Homepage masthead */
.hero{position:relative;padding:29px 0 27px;overflow:hidden;background:radial-gradient(circle at 91% 74%,#e8eedf 0%,transparent 32%),var(--paper)}.hero-grid{display:grid;gap:35px}.hero-content{position:relative;z-index:2}.hero-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--forest);font-size:9px;font-weight:800;letter-spacing:.065em;line-height:1.6}.small-sun{height:9px;width:9px;background:var(--gold);border-radius:50%;flex-shrink:0}.hero-prefix{display:block;margin-top:30px;color:#54715d;font:italic 32px/1 var(--serif)}.hero h1{font:800 clamp(47px,16.5vw,78px)/.99 var(--heading);color:var(--forest);letter-spacing:-.09em;margin:8px 0 8px;white-space:normal;max-width:100%}.hero-dot{color:var(--gold)}.hero-full-name{color:#65796a;font-size:10px;letter-spacing:.09em;font-weight:800;margin-top:15px;line-height:1.6}.hero-description{font-size:14px;color:#54665a;line-height:1.95;margin:20px 0 0;max-width:510px}.hero-buttons{display:flex;gap:10px;flex-wrap:wrap;margin-top:29px}.hero-buttons .button{min-height:50px}.hero-mini{display:flex;align-items:center;gap:13px;margin-top:36px}.hero-mini-line{height:35px;width:3px;background:var(--gold)}.hero-mini>div{display:flex;flex-direction:column;min-width:0;border-right:1px solid #ccd8cc;padding-right:16px}.hero-mini>div:last-child{border:0}.hero-mini strong{font-size:10px;color:var(--forest);letter-spacing:.07em}.hero-mini small{color:#758678;font-size:9px}.hero-visual{height:clamp(370px,105vw,540px);position:relative;margin-top:4px}.hero-blob{position:absolute;inset:13% 3% 1% 8%;background:#e6d06b;border-radius:51% 49% 12% 16% / 49% 49% 11% 15%;transform:rotate(-7deg)}.hero-arch{position:absolute;inset:0 7% 0 8%;border-radius:49% 49% 10px 10px/36% 36% 10px 10px;overflow:hidden;background:#e2eade;box-shadow:0 14px 38px rgba(26,77,50,.08)}.hero-portrait{width:100%;height:100%;object-fit:cover;object-position:center 16%}.hero-arch .image-empty{position:absolute;inset:0;display:grid;place-items:center;color:rgba(16,66,43,.26);font:italic 170px var(--serif)}.portrait-fallback{display:none}.floating-constituency{position:absolute;right:0;bottom:14px;display:flex;gap:12px;align-items:center;padding:12px 15px;background:#fff;border-radius:14px;box-shadow:0 14px 40px rgba(20,70,43,.14);max-width:220px}.float-icon{display:grid;place-items:center;width:37px;height:37px;border-radius:12px;background:#f4ecd0;color:var(--forest);flex-shrink:0}.floating-constituency>div{display:flex;flex-direction:column;line-height:1.25}.floating-constituency>div>span{font-size:7px;letter-spacing:.1em;color:var(--muted);font-weight:800}.floating-constituency strong{font-size:13px;color:var(--forest)}.floating-constituency small{font-size:9px;color:var(--muted)}.portrait-bottomline{display:none}.hero-bottom-line{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line);margin-top:42px;padding-top:17px;font-size:8px;letter-spacing:.095em;font-weight:800;color:#597062}.hero-bottom-line a{display:inline-flex;align-items:center;gap:6px;color:var(--forest);white-space:nowrap}
/* Recorded numbers / about */
.credibility{background:var(--forest);color:#fff;padding:22px 0}.credibility-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}.credibility-label{grid-column:1/-1;display:flex;align-items:center;gap:14px;color:#e6df9e;font-size:10px;letter-spacing:.14em;font-weight:800}.credibility-label span{height:1px;flex:1;background:#7b9979}.credibility-list>div:not(:first-child){display:flex;flex-direction:column;gap:0}.credibility-list strong{font:700 28px/1.1 var(--heading);letter-spacing:-.05em;color:var(--gold)}.credibility-list>div>span{font-size:10px;line-height:1.5;color:#e2eee6}.about-section{background:#fff}.about-grid{display:grid;gap:39px}.about-media{position:relative}.about-photo{position:relative;background:#e4ece1;border-radius:23px;overflow:hidden;min-height:360px;aspect-ratio:4/5}.about-img,.frame-photo{width:100%;height:100%;object-fit:cover}.about-photo .image-empty{height:100%;min-height:370px;display:grid;place-items:center;font:italic 110px var(--serif);color:#b2c2b2}.about-decor-circle{position:absolute;right:-52px;bottom:-50px;width:190px;height:190px;border:22px solid rgba(240,199,77,.45);border-radius:50%;pointer-events:none}.about-media-label{display:block;color:var(--forest);font-size:10px;letter-spacing:.11em;font-weight:800;margin-top:17px}.about-copy .lead{font:400 clamp(20px,5vw,26px)/1.55 var(--serif);color:#314b3b;margin:16px 0}.about-copy p:not(.lead){font-size:14px;color:var(--muted);line-height:2}
/* Photo-first priorities instead of dashboard widgets */
.priorities-section{background:var(--ivory)}.priorities-grid{display:grid;grid-template-columns:1fr;gap:15px}.priority-card{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:300px;overflow:hidden;color:#fff;border-radius:22px;background:linear-gradient(145deg,#709280,#184834);isolation:isolate;transition:transform .25s}.priority-card:hover{transform:translateY(-4px)}.priority-image{position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse at 70% 18%,#7da28d 0%,#2d684b 68%,#184633 100%)}.priority-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,39,24,.86) 0%,rgba(10,39,24,.23) 64%,rgba(10,39,24,.03) 100%)}.priority-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.priority-card:hover img{transform:scale(1.035)}.priority-content{padding:25px 25px 27px;position:relative;z-index:1}.priority-number{font:700 11px var(--body);letter-spacing:.09em;color:#efe3a6}.priority-content h3{font:700 28px/1.15 var(--heading);letter-spacing:-.05em;margin:10px 0 7px}.priority-content>span:last-child{font-size:12px;color:#dce9da}.priority-go{position:absolute;right:23px;top:20px;width:38px;height:38px;border:1px solid rgba(255,255,255,.5);border-radius:50%;display:grid;place-items:center}
/* Single dramatic featured section */
.feature-section{padding:80px 0;background:#124b35;color:#fff;overflow:hidden}.feature-grid{display:grid;gap:35px}.feature-section h2{color:#fff}.feature-section h2 em{color:#ead578}.feature-copy>p{color:#d3e0d7;font-size:14px;line-height:1.95;max-width:560px;margin:24px 0 28px}.feature-collage{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:200px 155px;gap:12px}.feature-collage>div{overflow:hidden;border-radius:18px;background:#8ba88d;min-width:0}.feature-collage img{width:100%;height:100%;object-fit:cover}.feature-collage .image-empty{height:100%;display:grid;place-items:center;font:italic 90px var(--serif);color:#eaf1e2}.collage-a{grid-row:span 2}.collage-c{background:#efe0a5!important;color:var(--forest);display:flex;align-items:center;justify-content:space-around;gap:4px;font:800 27px/1.1 var(--heading);letter-spacing:-.06em}.collage-c img{width:100%;height:100%;object-fit:cover}
/* Geographic section */
.constituency-section{background:#fff}.constituency-grid{display:grid;gap:35px}.constituency-copy p{font-size:14px;color:var(--muted);line-height:1.9;max-width:590px}.community-tags{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0}.community-tags span{font-size:11px;font-weight:700;padding:9px 14px;background:#f1f6ef;border-radius:999px;border:1px solid #dce6da;color:#315742}.constituency-art{min-height:340px;border-radius:25px;background:linear-gradient(145deg,#f6f5e9,#e6eddc);display:flex;align-items:center;justify-content:center;flex-direction:column;padding:17px}.map-shape svg{max-height:280px}.map-caption{display:flex;justify-content:space-between;gap:10px;width:100%;padding:0 14px 11px;font-size:10px;font-weight:800;letter-spacing:.11em;color:#486f51}.map-caption span{font-size:8px;color:#7d947e}
/* Gallery */
.gallery-section{background:var(--ivory)}.home-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gallery-tile{position:relative;display:block;padding:0;height:160px;border:0;border-radius:14px;overflow:hidden;background:#d2decf;color:#fff}.gallery-tile:first-child{grid-column:1/-1;height:250px}.gallery-tile img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.gallery-tile:hover img{transform:scale(1.035)}.gallery-placeholder{display:grid;place-items:center;height:100%;color:#60836b;font:italic 76px var(--serif)}.gallery-overlay{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;align-items:center;text-align:left;gap:10px;padding:24px 15px 13px;background:linear-gradient(0deg,rgba(14,47,30,.74),transparent);font-size:10px;font-weight:700}.lightbox{display:none;position:fixed;inset:0;background:rgba(5,19,11,.94);z-index:250;align-items:center;justify-content:center;flex-direction:column;padding:72px 20px 24px}.lightbox.open{display:flex}.lightbox-close{position:absolute;top:18px;right:20px;border:1px solid #ffffff8a;background:transparent;color:#fff;border-radius:50%;height:44px;width:44px;display:grid;place-items:center}.lightbox-image{max-height:75vh;width:auto;object-fit:contain;border-radius:8px}.lightbox-caption{color:#fff;font-size:12px}
/* News + article */
.news-section{background:#fff}.stories-grid{display:grid;gap:33px}.story-card{min-width:0}.story-image{position:relative;height:240px;background:#dce7d9;border-radius:20px;overflow:hidden;display:block}.story-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.story-image:hover img{transform:scale(1.03)}.story-placeholder{display:grid;place-items:center;height:100%;font:italic 120px var(--serif);color:#9db99f}.story-arrow{position:absolute;right:15px;bottom:15px;background:var(--gold);color:var(--forest);border-radius:50%;height:41px;width:41px;display:grid;place-items:center}.story-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:19px 0 7px;color:var(--forest);font-size:9px;font-weight:800;letter-spacing:.075em}.story-meta time{color:#87938a;text-align:right}.story-card h3{font:700 23px/1.27 var(--serif);letter-spacing:-.035em;margin:0 0 12px}.story-card>p{font-size:13px;color:var(--muted);line-height:1.8}.empty-state{padding:45px 22px;border:1px solid var(--line);background:#f9fbf8;border-radius:18px}.empty-state h3{font:600 26px var(--serif);margin:0 0 10px}.empty-state p{color:var(--muted)}
/* Contact band / footer */
.constituents-section{background:#f8e8a9;padding:80px 0}.constituents-grid{display:grid;gap:23px;align-items:center}.constituents-section h2{color:var(--forest)}.constituents-section p{color:#556451;font-size:14px;line-height:1.9;max-width:540px}.constituents-illustration{width:min(310px,100%);margin:auto}.site-footer{background:#103d2b;color:#f3f5e8;padding:75px 0 20px;overflow:hidden}.footer-top{display:grid;gap:52px}.footer-top h2{font:700 clamp(37px,9vw,58px)/1.15 var(--heading);letter-spacing:-.065em;margin:17px 0 22px}.footer-top h2 em{color:var(--gold)}.footer-cta{display:inline-flex;gap:10px;align-items:center;border-bottom:1px solid var(--gold);padding:8px 0;color:var(--gold);font-weight:700;font-size:13px}.footer-link-cols{display:grid;grid-template-columns:1fr 1fr;gap:25px}.footer-link-cols>div{display:flex;flex-direction:column;gap:11px}.footer-link-cols strong{font-size:12px;color:var(--gold);margin-bottom:10px}.footer-link-cols a{font-size:12px;color:#d5e4d7}.footer-link-cols a:hover{color:#fff}.footer-monogram{font:800 clamp(65px,18vw,218px)/1 var(--heading);letter-spacing:-.105em;color:rgba(255,255,255,.095);text-align:center;white-space:nowrap;margin:56px 0 5px}.footer-bottom{padding-top:20px;border-top:1px solid #ffffff30;display:flex;flex-wrap:wrap;justify-content:space-between;gap:13px;color:#c2d2c5;font-size:10px}
/* Secondary editorial layouts */
.page-hero{padding:64px 0 54px;background:linear-gradient(115deg,#f9faf4,#edf3e8)}.page-hero h1{font:700 clamp(38px,9vw,72px)/1.09 var(--heading);letter-spacing:-.07em;color:var(--forest);margin:15px 0}.page-hero p{color:var(--muted);max-width:750px;font-size:14px;line-height:1.9}.listing-bar{margin-bottom:30px;color:var(--muted);font-size:12px;font-weight:700}.listing-section .stories-grid{margin-top:30px}.about-detail-grid{display:grid;gap:30px}.about-detail-aside{display:flex;flex-direction:column;gap:14px;font-size:11px;letter-spacing:.09em;font-weight:800;color:var(--forest)}.about-detail-image{height:380px;background:#dce9d9;border-radius:22px;overflow:hidden}.about-detail-image img{height:100%;width:100%;object-fit:cover}.prose{font-size:15px;color:#40574a;line-height:2}.prose p{margin:0 0 22px}.prose h2{font:700 clamp(28px,7vw,42px)/1.2 var(--heading);color:var(--forest);margin:36px 0 15px}.prose-large p:first-child{font:400 23px/1.55 var(--serif);color:#244936}.article-hero{background:#f5f7ef;padding:55px 0}.article-head-inner{max-width:910px}.back-link{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:800;color:var(--forest);margin-bottom:27px}.article-head-inner h1{font:700 clamp(32px,8vw,63px)/1.15 var(--heading);letter-spacing:-.07em;color:var(--forest);margin:15px 0}.article-head-inner p{font-size:16px;color:#607466;max-width:800px;line-height:1.9}.article-content-grid{display:grid;gap:32px}.article-main-photo{border-radius:23px;overflow:hidden;background:#e3ebe0;margin-bottom:30px;max-height:550px}.article-main-photo img{width:100%;height:auto;max-height:550px;object-fit:cover}.article-sidebar{background:#edf3e9;border-radius:20px;padding:22px;height:max-content;font-size:12px;color:#536758}.side-line{display:grid;gap:8px;padding:12px 0;border-bottom:1px solid #d5e2d3}.side-line strong{color:var(--forest)}.masonry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.masonry-item{padding:0;border:0;overflow:hidden;border-radius:15px;background:#d5e3d7;cursor:pointer}.masonry-item img{height:215px;width:100%;object-fit:cover}.document-list{display:grid;gap:15px}.document-row{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px}.document-row strong{color:var(--forest)}.document-row span{font-size:12px;color:var(--muted)}.contact-grid{display:grid;gap:30px}.contact-aside h2{font:700 clamp(34px,8vw,57px)/1.12 var(--heading);letter-spacing:-.07em;color:var(--forest)}.contact-aside h2 em{font:italic 400 1.08em var(--serif)}.contact-aside p{color:var(--muted);line-height:1.9}.contact-info{display:flex;flex-direction:column;gap:6px;margin:20px 0;overflow-wrap:anywhere}.contact-info small{color:#7c967d;letter-spacing:.12em;font-weight:800}.contact-info a{font-weight:700;color:var(--forest)}.privacy-note{font-size:11px!important}.form-card{padding:25px 19px;background:#fff;border:1px solid var(--line);border-radius:22px}.form-card h3{font:700 24px var(--heading);margin:0 0 20px}.contact-form{display:grid;gap:17px}.contact-form label{display:grid;gap:7px;font-size:11px;font-weight:800;color:var(--forest)}.contact-form input,.contact-form textarea{display:block;width:100%;border:1px solid #d9e0d7;border-radius:11px;padding:13px;min-height:48px;outline-offset:2px;background:#fcfdfb;color:var(--ink);font-size:13px}.contact-form textarea{resize:vertical;line-height:1.7}.contact-form .form-consent{display:flex;align-items:flex-start;font-size:11px;line-height:1.6;color:var(--muted);font-weight:500}.form-consent input{width:18px;height:18px;min-height:auto;flex:0 0 18px}.form-consent a{text-decoration:underline;color:var(--forest)}.honeypot{position:absolute;width:1px;height:1px;overflow:hidden;left:-10000px}.form-alert{padding:13px;border-radius:10px;background:#fff0ee;color:#863e37}.success-notice{color:var(--forest);padding:25px}.error-page{padding:110px 0;text-align:center}.error-page>span{font:800 140px var(--heading);color:var(--forest)}.error-page h1{font:700 35px var(--heading)}
/* Tablet */
@media(min-width:650px){.container{width:min(var(--max),calc(100% - 60px))}.hero-grid{grid-template-columns:1fr 1fr;gap:22px;align-items:center}.hero{padding:53px 0 35px}.hero h1{font-size:clamp(56px,8.3vw,93px)}.hero-visual{height:480px}.hero-content{padding:0}.hero-full-name{max-width:340px}.hero-description{max-width:425px}.hero-bottom-line{margin-top:30px}.credibility-list{grid-template-columns:repeat(5,minmax(0,1fr));align-items:center}.credibility-label{grid-column:auto}.about-grid,.constituency-grid{grid-template-columns:1fr 1fr;align-items:center;gap:40px}.priority-card{min-height:285px}.priorities-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.priority-feature{grid-row:span 2;min-height:586px}.feature-grid{grid-template-columns:1fr 1fr;align-items:center;gap:34px}.home-gallery{grid-template-columns:repeat(4,1fr);gap:13px}.gallery-tile{height:185px}.gallery-tile:first-child{grid-column:span 2;grid-row:span 2;height:383px}.stories-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.constituents-grid{grid-template-columns:1.2fr .8fr}.footer-top{grid-template-columns:1.1fr .9fr}.masonry-grid{grid-template-columns:repeat(3,1fr)}.about-detail-grid{grid-template-columns:minmax(220px,330px) 1fr}.article-content-grid{grid-template-columns:minmax(0,1fr) 260px}.contact-grid{grid-template-columns:1fr 1.2fr}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.split-heading{flex-direction:row;justify-content:space-between;align-items:end}.split-heading>p{max-width:375px}}
@media(min-width:1050px){.site-header{padding:13px 0}.nav-wrap{min-height:66px;padding-inline:20px 9px}.brand img{height:44px;width:54px}.brand strong{font-size:22px}.brand small{font-size:8px;max-width:260px}.desktop-nav{display:flex;align-items:center;gap:clamp(14px,2vw,32px)}.desktop-nav a{font-size:11px;font-weight:800;color:#5e7564;transition:color .2s}.desktop-nav a:hover,.desktop-nav a[aria-current]{color:var(--forest)}.nav-cta{display:inline-flex;align-items:center;gap:15px;padding:6px 7px 6px 18px;background:var(--forest);color:#fff;border-radius:99px;font-size:11px;font-weight:800}.btn-icon{display:grid;place-items:center;width:35px;height:35px;background:var(--gold);color:var(--forest);border-radius:50%}.menu-toggle{display:none}.mobile-menu{display:none!important}.hero{padding:62px 0 35px}.hero-grid{grid-template-columns:1.05fr .95fr;gap:40px}.hero-prefix{font-size:43px}.hero h1{font-size:clamp(80px,9vw,126px)}.hero-description{font-size:15px}.hero-visual{height:580px}.floating-constituency{padding:16px 21px;right:-13px;max-width:240px}.section{padding:115px 0}.section h2,.feature-section h2,.constituents-section h2{font-size:clamp(48px,5vw,68px)}.about-photo{min-height:510px}.about-grid{gap:80px}.priorities-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.priority-feature{grid-row:span 2;min-height:594px}.priority-card{min-height:288px}.priority-content h3{font-size:29px}.feature-section{padding:115px 0}.feature-grid{gap:110px}.feature-collage{grid-template-rows:260px 195px;gap:17px}.constituency-grid{gap:105px}.home-gallery{gap:17px}.gallery-tile{height:220px}.gallery-tile:first-child{height:457px}.stories-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.story-image{height:260px}.constituents-section{padding:90px 0}.site-footer{padding-top:105px}.footer-monogram{margin-top:80px}.footer-bottom{padding-top:25px}.form-card{padding:38px}.about-detail-image{height:480px}}
@media(max-width:385px){.container{width:calc(100% - 30px)}.hero h1{font-size:clamp(44px,15vw,58px)}.hero-kicker{font-size:8px}.hero-full-name{font-size:9px}.hero-mini{gap:9px}.hero-mini>div{padding-right:10px}.hero-mini strong{font-size:8px}.hero-mini small{font-size:8px}.hero-visual{height:395px}.hero-bottom-line{font-size:7px}.brand small{max-width:145px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

.footer-logo{width:68px;height:68px;object-fit:contain;margin-bottom:16px}

.map-shape .custom-art{display:block;width:100%;max-height:330px;object-fit:contain}.constituents-illustration .custom-art{width:100%;max-height:300px;object-fit:contain}


/* IREYODE 3.2 — Mobile-first motion and type refinements */
:root{--surface-border:#ececec;--surface-shadow:0 12px 34px rgba(14,49,32,.055);--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-5:48px;--space-6:64px;--space-7:96px;--space-8:120px}
body{font-family:var(--body);font-weight:400;line-height:1.85}
.hero h1,.ireyode-hero-title{font-family:var(--hero-heading);font-weight:700;letter-spacing:-.072em}
.brand strong{font-family:var(--hero-heading);font-weight:700;letter-spacing:-.045em}
.section h2,.feature-section h2,.constituents-section h2,.footer-top h2,.page-hero h1,.article-head-inner h1,.contact-aside h2,.error-page h1,.prose h2,.priority-content h3{font-family:var(--heading);font-weight:600;letter-spacing:-.047em}
/* Accented headings remain carefully weighted instead of adding another font download. */
.section h2 em,.feature-section h2 em,.constituents-section h2 em,.footer-top h2 em,.contact-aside h2 em,.hero-prefix,.about-copy .lead,.prose-large p:first-child{font-family:var(--heading);font-weight:600;font-style:normal;letter-spacing:-.045em}
.button,.nav-cta,.desktop-nav a,.mobile-menu nav a{font-family:var(--body);font-weight:500}
/* Buttons and controls */
.button{position:relative;isolation:isolate;overflow:hidden;min-height:48px;height:auto;padding:14px 28px;border-radius:999px;font-size:13px;line-height:1.5;transition:transform var(--motion-short) var(--ease-smooth),box-shadow var(--motion-short) ease,background-color var(--motion-short) ease}
.button:hover{box-shadow:0 11px 23px rgba(16,57,37,.12);transform:translateY(-2px)}
.button:active{transform:translateY(0)}
.button-ripple{position:absolute;z-index:-1;left:0;top:0;border-radius:50%;pointer-events:none;background:rgba(255,255,255,.23);width:12px;height:12px;transform:translate(-50%,-50%) scale(0);animation:ireyode-ripple var(--motion-standard) ease-out forwards}
.yellow-button .button-ripple,.ghost-button .button-ripple{background:rgba(20,75,46,.13)}
@keyframes ireyode-ripple{to{opacity:0;transform:translate(-50%,-50%) scale(24)}}
/* Photo and editorial surfaces */
.story-card,.form-card,.document-row,.article-sidebar,.empty-state,.priority-card{border-radius:20px}
.story-card,.form-card,.document-row,.empty-state{border:1px solid var(--surface-border);background:#fff;box-shadow:var(--surface-shadow)}
.story-card{overflow:hidden;transition:transform var(--motion-short) ease,box-shadow var(--motion-short) ease}
.priority-card,.gallery-tile,.masonry-item{transition:transform var(--motion-short) ease,box-shadow var(--motion-short) ease}
.story-image,.gallery-tile,.masonry-item,.priority-card,.about-photo,.hero-arch{position:relative;overflow:hidden}
.story-image img,.gallery-tile img,.masonry-item img,.priority-card img,.about-photo img{transition:transform var(--motion-standard) var(--ease-smooth),opacity var(--motion-short) ease}
/* Loading shimmer only runs for image containers tagged while an image is loading. */
.image-is-loading{isolation:isolate}
.image-is-loading::after{content:"";pointer-events:none;position:absolute;z-index:2;inset:0;background:linear-gradient(105deg,rgba(245,247,242,.18) 10%,rgba(255,255,255,.64) 40%,rgba(245,247,242,.18) 70%);background-size:220% 100%;animation:ireyode-skeleton 1.1s ease-in-out infinite}
@keyframes ireyode-skeleton{from{background-position:150% 0}to{background-position:-100% 0}}
/* Focus state stays visible for keyboard users; input 'glass' is subtle, not distracting. */
.contact-form input,.contact-form textarea,.form-card select{background:rgba(255,255,255,.95);border:1px solid #e5e9e4;border-radius:14px;min-height:52px;padding:16px;transition:box-shadow var(--motion-short) ease,border-color var(--motion-short) ease,background var(--motion-short) ease}
.contact-form :is(input,textarea,select):focus{border-color:#4c9670;background:#fff;box-shadow:0 0 0 4px rgba(24,112,78,.09);outline:2px solid transparent}
/* Reveal animation is opt-in: content always remains visible when JavaScript is off. */
html.motion-ready .reveal.is-pending{opacity:0;transform:translate3d(0,18px,0)}
html.motion-ready .reveal{transition:opacity var(--motion-standard) ease,transform var(--motion-standard) var(--ease-smooth);transition-delay:var(--reveal-delay,0ms)}
html.motion-ready .reveal.is-visible{opacity:1;transform:translate3d(0,0,0)}
html.motion-ready .fade-only.is-pending{transform:none}
.hero-content{animation:ireyode-page-enter var(--motion-short) ease both}
.hero-visual{animation:ireyode-page-enter var(--motion-standard) ease both}
@keyframes ireyode-page-enter{from{opacity:0;transform:translate3d(0,12px,0)}to{opacity:1;transform:none}}
/* On mobile, avoid hover-only animation and keep adequate content breathing space. */
@media(max-width:649px){.section{padding-block:64px}.hero{padding-top:32px}.split-heading{margin-bottom:32px}.story-card{border-radius:20px}.form-card{padding:24px 20px}.priority-card{border-radius:20px}.stories-grid,.priorities-grid{gap:24px}.button{min-height:48px;padding:14px 24px}.hero-buttons{gap:12px}.menu-toggle{min-width:48px;min-height:48px;flex-basis:48px}.mobile-menu nav a{min-height:64px}}
@media(min-width:1050px){.section{padding-block:120px}.hero{padding-block:64px 48px}.priorities-grid,.stories-grid{gap:24px}}
@media(hover:hover) and (pointer:fine){.story-card:hover,.priority-card:hover,.gallery-tile:hover,.masonry-item:hover{transform:translateY(-5px);box-shadow:0 22px 48px rgba(18,66,42,.12)}.story-card:hover img,.priority-card:hover img,.gallery-tile:hover img,.masonry-item:hover img{transform:scale(1.035)}}
/* Progressive enhancement, only browsers supporting cross-document view transitions use it. */
@view-transition{navigation:auto}
::view-transition-old(root){animation:ireyode-old-page var(--motion-short) ease both}
::view-transition-new(root){animation:ireyode-new-page var(--motion-short) ease both}
@keyframes ireyode-old-page{to{opacity:0}}
@keyframes ireyode-new-page{from{opacity:0}to{opacity:1}}
/* Fully bypass non-essential animation when a user requests reduced motion. */
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}html.motion-ready .reveal,html.motion-ready .reveal.is-pending{opacity:1!important;transform:none!important;transition:none!important}.hero-content,.hero-visual{animation:none!important}.button-ripple,.image-is-loading::after{display:none!important}*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
