@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--ink:#272b25;--muted:#6b6d61;--paper:#f5f2e9;--green:#303d31;--line:#d8d7c9;--accent:#817047}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.65 'DM Sans',Arial,sans-serif}img{display:block;width:100%;height:auto}a{color:inherit;text-underline-offset:5px}button,input,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}.skip{position:absolute;top:-100px}.skip:focus{top:0;background:white;z-index:99;padding:12px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #817047;outline-offset:4px}.demo{text-align:center;background:var(--green);color:#fff;font-size:11px;padding:8px 18px}.demo a{font-weight:600}header{display:flex;align-items:center;justify-content:space-between;padding:22px 4.8%;border-bottom:1px solid var(--line);gap:30px;background:var(--paper)}.brand{display:flex;align-items:center;gap:16px;text-decoration:none;flex-shrink:0}.brand img{width:54px;height:47px;object-fit:contain;background:var(--green);padding:5px}.brand span{font-size:20px;letter-spacing:2px;line-height:1.2}.brand small{display:block;font-size:10px;letter-spacing:4px;margin-top:7px}nav{display:flex;align-items:center;gap:28px;font-size:13px}nav a{text-decoration:none}.nav-contact{border:1px solid var(--ink);padding:11px 19px}.menu{display:none}.hero{display:grid;grid-template-columns:44% 56%;min-height:650px}.hero-copy{padding:80px 11% 30px;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--accent);margin:0 0 24px}h1,h2,h3{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;line-height:1.03;margin:0}h1{font-size:clamp(52px,5.2vw,86px);letter-spacing:-2px}h1 em,h2 em{font-weight:400;color:#65745b}p{margin:0 0 22px}.intro{margin:30px 0;font-size:17px;line-height:1.7;max-width:410px}.button{display:inline-block;padding:14px 22px;background:var(--green);color:#fff;text-decoration:none;font-size:13px;font-weight:600;border:1px solid var(--green)}.button:hover{background:#485640}.button.secondary{background:transparent;color:var(--ink)}.hero-photo{position:relative;margin:0;min-width:0}.hero-photo>img{height:100%;position:absolute;object-fit:cover;object-position:50% 54%}.hero-photo figcaption{position:absolute;bottom:26px;left:28px;right:28px;background:#f5f2e9ef;padding:15px 19px;display:flex;justify-content:space-between;align-items:center;font-size:11px}.hero-photo figcaption span{font-weight:600;letter-spacing:2px}.intro-strip{display:grid;grid-template-columns:repeat(4,1fr);padding:22px 4.8%;border-bottom:1px solid var(--line);text-align:center;font-size:11px;letter-spacing:1px}.section{padding:100px 4.8%;max-width:1600px;margin:auto}.section-heading{display:grid;grid-template-columns:1.25fr 1fr;gap:12%;align-items:end;margin-bottom:48px}h2{font-size:clamp(44px,4.5vw,68px);letter-spacing:-1px}h3{font-size:38px}.section-heading p:last-child{margin:0;color:var(--muted);max-width:440px}.rule{border-top:1px solid var(--line)}.project{display:grid;grid-template-columns:1.35fr 1fr;gap:7%;align-items:center;margin-top:55px}.project.reverse{grid-template-columns:1fr 1.35fr}.project.reverse .project-image{order:2}.project-image{margin:0;position:relative}.project-image>img{aspect-ratio:4/3;object-fit:cover}.project-image figcaption{font-size:11px;color:var(--muted);padding-top:12px}.project-body{padding:24px 0;min-width:0}.project-body h3{font-size:54px;margin-bottom:25px}.project-body p{color:var(--muted);font-size:15px}.project-body .eyebrow{color:var(--accent);font-size:10px}.project-logo{height:40px;max-width:175px;width:auto;object-fit:contain;object-position:left center;background:var(--green);padding:6px 12px;margin-bottom:20px}.text-link{font-size:13px;font-weight:600;display:inline-block}.facts{display:flex;gap:30px;border-top:1px solid var(--line);padding-top:18px;margin:25px 0}.facts div{flex:1;font-size:12px;color:var(--muted)}.facts strong{display:block;color:var(--ink);font-size:22px;font-weight:500}.dark{background:var(--green);color:#f5f2e9}.dark .eyebrow{color:#c1b594}.dark h2 em{color:#c3cba9}.dark p{color:#d1d5c6}.dark .section{max-width:1600px}.approach-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-bottom:65px}.approach-grid article{border-top:1px solid #66705f;padding-top:20px}.approach-grid small{font-size:11px;color:#b9beaa}.approach-grid h3{font-size:28px;margin:15px 0}.approach-grid p{font-size:13px;margin:0}.story-pair{display:grid;grid-template-columns:1fr 1fr;gap:45px}.story-pair figure{margin:0}.story-pair img{aspect-ratio:16/10;object-fit:cover}.story-pair h3{margin:30px 0 20px;font-size:40px}.story-pair p{font-size:15px}.story-pair figcaption{font-size:11px;color:#b9beaa;padding-top:10px}.core{display:grid;grid-template-columns:.75fr 1.25fr;gap:9%;align-items:center;margin-top:75px;border-top:1px solid #66705f;padding-top:55px}.core img{aspect-ratio:3/2;object-fit:cover}.core h3{font-size:43px;margin-bottom:20px}.profile{display:grid;grid-template-columns:1fr 1.2fr;gap:9%}.profile h2{margin-bottom:25px}.profile p{color:var(--muted);font-size:15px}.chairman{display:flex;gap:25px;align-items:center;border-top:1px solid var(--line);padding-top:25px;margin-top:25px}.chairman img{width:110px;height:130px;object-fit:cover}.chairman h3{font-family:'DM Sans',sans-serif;font-size:18px;line-height:1.5;margin-bottom:8px}.chairman p{font-size:13px;margin:0}.panorama{margin:45px 0 0}.panorama img{aspect-ratio:3.3/1;object-fit:cover}.panorama figcaption{font-size:11px;color:var(--muted);margin-top:8px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:35px}.gallery button{border:0;background:none;padding:0;text-align:left;color:var(--ink)}.gallery img{aspect-ratio:4/3;object-fit:cover}.gallery span{display:block;font-size:12px;margin-top:10px}.investment{display:grid;grid-template-columns:1fr 1fr;background:#e8e8dc}.investment img{height:100%;object-fit:cover;max-height:560px}.investment .copy{padding:65px 9%;display:flex;flex-direction:column;justify-content:center}.investment h2{margin-bottom:25px}.investment p{color:var(--muted)}.news-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:35px}.news-lead img{aspect-ratio:16/10;object-fit:cover}.news-meta{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:var(--accent);margin:22px 0 15px}.news-grid h3{font-size:34px;margin-bottom:18px}.news-grid p{font-size:14px;color:var(--muted)}.news-secondary{border-top:1px solid var(--ink);padding:25px 0;align-self:center}.media-archive{margin-top:60px}.media-archive summary{cursor:pointer;padding:25px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:22px;list-style:none;display:flex;justify-content:space-between}.media-archive summary::after{content:'+';font-size:25px}.media-archive[open] summary::after{content:'−'}.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:30px}.archive-grid button{border:0;padding:0;background:transparent;text-align:left;color:inherit}.archive-grid img{aspect-ratio:1.5;object-fit:contain;background:#eae9df;padding:8px}.archive-grid h3{font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.5;margin:16px 0 7px}.archive-grid p{font-size:12px;color:var(--muted);margin:0}.contact{display:grid;grid-template-columns:1fr 1.1fr;gap:12%}.contact h2{margin-bottom:28px}.contact p{font-size:14px}.contact a{overflow-wrap:anywhere}.contact-details{margin-top:35px;display:grid;grid-template-columns:1fr 1fr;gap:25px}.contact-details h3{font-family:'DM Sans',sans-serif;font-size:11px;letter-spacing:1px;margin-bottom:12px;text-transform:uppercase}.contact-details p{margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:12px;margin-bottom:8px}input,textarea{width:100%;min-width:0;border:0;border-bottom:1px solid #788371;background:transparent;padding:11px 0;color:white;border-radius:0}textarea{resize:vertical}.wide{grid-column:1/-1}form .button{background:var(--paper);color:var(--ink);margin-top:23px}.form-note{font-size:11px!important;margin-top:16px}.prepared{margin-top:15px}.prepared a{color:white}.footer{display:flex;justify-content:space-between;gap:25px;padding:24px 4.8%;font-size:11px;border-top:1px solid #66705f}.preview-info{padding:24px 4.8%;background:#e8e8dc;font-size:11px;display:flex;justify-content:space-between;gap:35px}.preview-info p{margin:0;max-width:760px}dialog{padding:0;border:0;background:var(--paper);max-width:min(94vw,1100px);max-height:92vh;width:1100px;color:var(--ink)}dialog::backdrop{background:#172018dd}.dialog-bar{display:flex;justify-content:space-between;gap:20px;padding:15px 20px;position:sticky;top:0;background:var(--paper);font-size:13px}.dialog-bar button{background:none;border:1px solid var(--ink);padding:5px 13px}dialog img{max-height:78vh;object-fit:contain}dialog .dialog-source{display:block;margin:15px 20px;font-size:12px}
@media(min-width:1600px){.hero{min-height:770px}.hero-copy{padding-top:100px}}
@media(max-width:1000px){nav{gap:17px}.hero{min-height:590px}.hero-copy{padding:60px 8% 25px}h1{font-size:61px}.project-body h3{font-size:43px}.section{padding:75px 5%}.section-heading{gap:7%}.profile{gap:6%}.contact{gap:7%}}
@media(max-width:740px){.demo{font-size:9px;padding:8px 13px}.demo span{display:block}header{padding:18px 5%;flex-wrap:wrap;gap:15px}.brand span{font-size:17px}.brand img{width:44px;height:40px}.menu{display:block;border:1px solid var(--ink);padding:7px 14px;background:none;font-size:12px}nav{display:none;flex-basis:100%;flex-wrap:wrap;gap:17px;padding-top:15px}nav.open{display:flex}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:45px 6% 30px}.eyebrow{font-size:9px;letter-spacing:1.5px}h1{font-size:60px;letter-spacing:-1px}.intro{font-size:15px;margin:22px 0}.hero-photo{height:370px}.hero-photo figcaption{left:20px;right:20px;bottom:20px;font-size:10px;padding:12px}.intro-strip{grid-template-columns:repeat(2,1fr);gap:13px;font-size:9px;padding:20px 5%}.section{padding:60px 6%}.section-heading{grid-template-columns:1fr;gap:25px;margin-bottom:35px}h2{font-size:48px}.section-heading p:last-child{font-size:14px}.project,.project.reverse{grid-template-columns:1fr;gap:0;margin-top:40px}.project.reverse .project-image{order:0}.project-body{padding:28px 0 8px}.project-body h3{font-size:45px}.project-body p{font-size:14px}.approach-grid{grid-template-columns:1fr 1fr;gap:25px;margin-bottom:45px}.approach-grid h3{font-size:27px}.story-pair{grid-template-columns:1fr;gap:40px}.story-pair h3{font-size:37px}.core{grid-template-columns:1fr;gap:25px;margin-top:45px;padding-top:40px}.profile{grid-template-columns:1fr;gap:25px}.panorama img{aspect-ratio:2}.gallery{grid-template-columns:1fr 1fr;gap:18px}.investment{grid-template-columns:1fr}.investment img{height:320px;order:-1}.investment .copy{padding:45px 6%}.news-grid{grid-template-columns:1fr;gap:30px}.news-secondary{padding-bottom:0}.archive-grid{grid-template-columns:1fr 1fr;gap:22px}.archive-grid h3{font-size:12px}.contact{grid-template-columns:1fr;gap:45px}.contact-details{gap:20px}.form-grid{gap:18px}.footer,.preview-info{flex-direction:column;gap:12px}.footer{padding:24px 6%}.preview-info{padding:24px 6%}html{scroll-padding-top:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(max-width:740px){.contact-details{grid-template-columns:1fr}.contact-details a{overflow-wrap:normal}}
/* Shared content rails across header, sections and footer. */
:root{--page-gutter:clamp(24px,4.8vw,76.8px);--content-width:1450px;--page-inset:max(var(--page-gutter),calc((100vw - var(--content-width))/2))}
header,.intro-strip,.section,.dark .section,.footer,.preview-info{max-width:none;padding-left:var(--page-inset);padding-right:var(--page-inset)}
.hero-copy{padding-left:var(--page-inset);padding-right:clamp(24px,3.5vw,56px)}
.investment{padding:65px var(--page-inset);gap:7%;grid-template-columns:1fr 1fr}
.investment .copy{padding:0}
.investment>img{width:100%;height:100%;min-height:350px;max-height:560px;object-fit:cover}
@media(max-width:740px){:root{--page-gutter:6vw}.hero-copy{padding-right:var(--page-inset)}.investment{grid-template-columns:1fr;padding-top:45px;padding-bottom:45px;gap:30px}.investment>img{height:320px;min-height:0}.investment .copy{padding:0}}
.profile-art{margin:0;width:110px;flex-shrink:0}.profile-art figcaption{font-size:12px;line-height:1.35;margin-top:8px;color:var(--muted)}
