:root{--ink:#193d3b;--dark:#102e2d;--muted:#60736d;--paper:#f7f6ef;--sand:#ebe9dd;--line:#d9dfd6;--accent:#bd6b45;--white:#fff;--serif:Georgia,'Times New Roman',serif;--sans:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.65;font-size:16px}a{color:inherit;text-underline-offset:4px}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}button,a,input,textarea,select{touch-action:manipulation}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.skip{position:fixed;top:-100px;left:20px;background:var(--ink);color:white;padding:10px;z-index:50}.skip:focus{top:10px}.wrap{width:min(1240px,calc(100% - 80px));margin:auto}.topline{background:var(--dark);color:#e7eee9;font-size:11px;letter-spacing:.06em}.topline .wrap{display:flex;align-items:center;justify-content:space-between;min-height:34px}.topline a{text-decoration:none}.site-header{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.header-row{height:94px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;flex-direction:column;text-decoration:none;flex-shrink:0}.brand strong{font-family:var(--serif);font-size:27px;line-height:1.1;font-weight:normal;letter-spacing:-.7px}.brand span{font-size:10px;text-transform:uppercase;letter-spacing:.19em;color:var(--muted);margin-top:7px}nav{display:flex;align-items:center;gap:23px}nav a{font-size:13px;text-decoration:none;white-space:nowrap;padding:8px 0;border-bottom:1px solid transparent}nav a[aria-current=page]{border-color:var(--accent)}nav a:hover{color:var(--accent)}nav .nav-contact{padding:10px 15px;border:1px solid var(--ink)}.menu-toggle{display:none;border:1px solid var(--line);background:none;padding:9px 13px}.eyebrow{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:22px}.hero{display:grid;grid-template-columns:1.06fr 1fr;min-height:620px;gap:70px;align-items:center;padding:65px 0 60px}.hero h1{font-family:var(--serif);font-size:clamp(48px,5.5vw,76px);font-weight:normal;line-height:1.04;letter-spacing:-2.8px;margin:0 0 28px}.hero h1 em{font-weight:normal;color:var(--accent)}.hero .lead{font-size:17px;max-width:470px;color:var(--muted);line-height:1.85;margin-bottom:28px}.actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.button{display:inline-flex;align-items:center;gap:20px;background:var(--ink);color:var(--white);padding:14px 22px;font-size:13px;text-decoration:none;border:1px solid var(--ink);cursor:pointer}.button:hover{background:var(--dark)}.button.outline{background:transparent;color:var(--ink)}.textlink{font-size:13px;text-decoration:none;border-bottom:1px solid var(--ink);padding:5px 0}.hero-art{position:relative;padding:0 32px 24px 0}.hero-art .portrait{height:495px;width:100%;object-fit:cover;object-position:center 29%;border-radius:220px 220px 0 0}.hero-art .accent-block{position:absolute;inset:35px 0 0 35px;border:1px solid #b7c7bc;z-index:-1;border-radius:220px 220px 0 0}.hero-art .photo-note{position:absolute;bottom:4px;right:0;background:var(--dark);color:white;padding:22px 30px;display:flex;gap:16px;align-items:center}.photo-note span:first-child{font-family:var(--serif);font-size:37px}.photo-note span:last-child{font-size:11px;letter-spacing:.05em;line-height:1.6}.hero-foot{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:38px}.stat-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stats{display:grid;grid-template-columns:repeat(3,1fr)}.stat{padding:27px 0;display:flex;align-items:center;gap:20px}.stat:not(:first-child){border-left:1px solid var(--line);padding-left:50px}.stat strong{font-family:var(--serif);font-size:42px;font-weight:normal;line-height:1}.stat span{font-size:12px;color:var(--muted);line-height:1.5}.section{padding:86px 0}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:35px}.section-head h2,.display-title{font-family:var(--serif);font-size:clamp(34px,3.4vw,48px);line-height:1.15;font-weight:normal;margin:0;letter-spacing:-1px}.section-head .eyebrow{margin-bottom:14px}.section-head p{color:var(--muted);max-width:450px;margin:0}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.service{padding:27px 0 15px;border-top:1px solid var(--ink)}.service .num{font-size:11px;letter-spacing:.1em;color:var(--accent)}.service h3{font-size:26px;font-family:var(--serif);font-weight:normal;margin:24px 0 16px}.service p{font-size:14px;color:var(--muted)}.landscape{position:relative;height:320px;overflow:hidden}.landscape img{height:100%;width:100%;object-fit:cover;filter:brightness(.64)}.landscape .caption{position:absolute;left:max(40px,calc((100% - 1240px)/2));top:50%;transform:translateY(-50%);color:white;max-width:650px;font-family:var(--serif);font-size:clamp(30px,3.2vw,46px);line-height:1.25}.landscape small{display:block;font:10px var(--sans);letter-spacing:.16em;text-transform:uppercase;margin-top:25px}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}.project-card{text-decoration:none;display:block}.project-card img{height:285px;width:100%;object-fit:cover;transition:transform .4s}.image-wrap{overflow:hidden;background:var(--sand)}.project-card:hover img{transform:scale(1.035)}.project-card .eyebrow{margin:22px 0 10px}.project-card h3{font:28px/1.25 var(--serif);margin:0 0 12px}.project-card p{font-size:14px;color:var(--muted);margin:0}.testimonials{background:var(--sand)}.quotes{display:grid;grid-template-columns:1fr 1fr;gap:60px}.quote-mark{color:var(--accent);font:70px/1 var(--serif);height:50px}.quotes blockquote{margin:0}.quotes blockquote p{font:24px/1.55 var(--serif);margin:15px 0 25px}.quotes cite{font-style:normal;font-size:12px;color:var(--muted)}.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.post-card{display:flex;flex-direction:column;text-decoration:none;height:100%;border-bottom:1px solid var(--line);padding-bottom:25px}.post-card img{height:220px;width:100%;object-fit:cover;transition:transform .4s}.post-card:hover img{transform:scale(1.03)}.post-card .date{font-size:11px;letter-spacing:.05em;color:var(--muted);margin:19px 0 12px}.post-card h2,.post-card h3{font:26px/1.3 var(--serif);font-weight:normal;margin:0 0 12px}.post-card p{font-size:13px;color:var(--muted);margin:0 0 20px}.post-card .read{font-size:12px;margin-top:auto}.cta{padding:65px 0;background:var(--ink);color:white}.cta .wrap{display:flex;justify-content:space-between;gap:40px;align-items:center}.cta h2{font:42px/1.2 var(--serif);margin:0 0 12px}.cta p{color:#c1d1c9;margin:0}.cta .button{background:var(--paper);color:var(--ink);border-color:var(--paper);white-space:nowrap}.footer{padding:45px 0 22px;background:var(--dark);color:#c4d2cc}.footer-top{display:flex;justify-content:space-between;gap:40px;padding-bottom:35px}.footer strong{font:26px var(--serif);color:white}.footer p,.footer a{font-size:12px}.footer-links{display:flex;gap:20px;align-items:start;flex-wrap:wrap}.footer-bottom{border-top:1px solid #33504a;padding-top:18px;display:flex;justify-content:space-between;font-size:10px}.page-intro{padding:65px 0 50px;border-bottom:1px solid var(--line)}.page-intro h1{font:clamp(44px,5vw,68px)/1.1 var(--serif);letter-spacing:-2px;margin:0 0 23px}.page-intro p{max-width:760px;color:var(--muted);font-size:17px;margin:0}.two-col{display:grid;grid-template-columns:300px 1fr;gap:80px}.side-note{font-size:13px;color:var(--muted)}.side-note img{width:100%;margin-bottom:24px;max-height:380px;object-fit:cover;object-position:top}.prose{max-width:820px}.prose h2{font:32px/1.25 var(--serif);margin:35px 0 20px}.prose h3{font:26px/1.35 var(--serif);margin:30px 0 16px}.prose p,.prose li{color:#435d54;line-height:1.85}.prose p{margin:0 0 20px}.prose img{margin:30px 0;width:auto;max-height:780px;object-fit:contain}.prose .date{font-size:13px;color:var(--accent)}.timeline-row{display:grid;grid-template-columns:205px 1fr;gap:40px;padding:35px 0;border-bottom:1px solid var(--line)}.timeline-row .date{font-size:12px;color:var(--accent)}.timeline-row h2{font:27px/1.3 var(--serif);margin:0 0 16px}.timeline-row p{font-size:14px;color:var(--muted);margin:0 0 12px}.project-detail{display:grid;grid-template-columns:.95fr 1.05fr;gap:50px;margin-bottom:70px;padding-bottom:65px;border-bottom:1px solid var(--line)}.project-detail img{width:100%;max-height:450px;object-fit:cover}.project-detail h2{font:31px/1.25 var(--serif);margin:0 0 15px}.project-detail .date{color:var(--accent);font-size:12px;margin:0 0 20px}.project-detail p,.project-detail li{font-size:14px;color:var(--muted)}.project-detail li{margin-bottom:12px}.download-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:55px}.download{padding:28px;background:var(--sand);border-top:2px solid var(--ink)}.download span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.download h2{font:26px var(--serif);margin:18px 0}.download p{font-size:13px;color:var(--muted)}.download a{font-size:12px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.gallery-button{background:none;border:0;padding:0;cursor:zoom-in;width:100%;text-align:left;color:var(--ink)}.gallery-button img{width:100%;height:300px;object-fit:cover}.gallery-button span{display:block;font:18px var(--serif);padding-top:12px}.gallery-dialog{border:0;padding:20px;max-width:min(1000px,95vw);background:var(--paper);color:var(--ink)}.gallery-dialog::backdrop{background:#102e2dde}.gallery-dialog img{max-height:75vh;max-width:90vw;object-fit:contain;margin:auto}.gallery-dialog button{display:block;margin:0 0 15px auto;background:var(--ink);border:0;color:white;padding:8px 16px;cursor:pointer}.gallery-dialog p{font-size:14px;margin:15px 0 0}.filters{display:flex;gap:18px;margin:35px 0;align-items:end;flex-wrap:wrap}.filters label{font-size:12px;color:var(--muted);display:grid;gap:8px;flex:1;min-width:200px}.filters input,.filters select{background:white;border:1px solid var(--line);padding:13px 16px;color:var(--ink);width:100%;border-radius:0}.result-count{font-size:12px;color:var(--muted);margin-bottom:25px}.empty{padding:50px 0;color:var(--muted)}.article-head{max-width:860px;padding:65px 0 40px}.article-head h1{font:clamp(36px,4.2vw,58px)/1.16 var(--serif);letter-spacing:-1px;margin:22px 0}.article-meta{font-size:12px;color:var(--muted)}.article{padding-bottom:70px}.article .prose{margin:auto}.article-nav{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:25px;gap:25px;margin-top:50px;font-size:13px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact-info h2{font:38px/1.2 var(--serif);font-weight:normal}.contact-info a{display:inline-block;margin:0 0 15px;font-size:20px}.contact-info p{color:var(--muted)}.contact-form{padding:30px;background:var(--sand)}.contact-form label{display:grid;font-size:12px;gap:7px;margin-bottom:20px}.contact-form input,.contact-form textarea{padding:12px;border:1px solid #c5cec4;background:var(--paper);width:100%;color:var(--ink)}.contact-form textarea{min-height:160px;resize:vertical}.form-note{font-size:12px;color:var(--muted);margin:18px 0 0}.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.video{padding:25px;background:var(--sand);text-decoration:none;border-top:1px solid var(--line)}.video .play{display:inline-block;font-size:22px;color:var(--accent);margin-bottom:25px}.video h3{font:23px/1.3 var(--serif);margin:0 0 12px}.video p{font-size:12px;color:var(--muted)}[hidden]{display:none!important}@media(min-width:1500px){.hero{min-height:680px}}@media(max-width:1100px){.wrap{width:calc(100% - 48px)}nav{gap:14px}nav a{font-size:12px}.hero{gap:35px}.hero-art .portrait{height:460px}.stat:not(:first-child){padding-left:25px}.two-col{gap:45px;grid-template-columns:260px 1fr}.contact-grid{gap:40px}}@media(max-width:850px){.header-row{height:78px}.menu-toggle{display:block}nav{display:none;position:absolute;top:78px;left:0;right:0;flex-direction:column;align-items:stretch;background:var(--paper);padding:18px 24px;border-bottom:1px solid var(--line);gap:3px}nav.open{display:flex}nav a{font-size:15px;padding:10px}.topline{display:none}.hero{padding-top:45px;grid-template-columns:1fr 1fr;gap:25px;min-height:auto}.hero h1{font-size:49px}.hero .lead{font-size:15px}.hero-art{padding-right:15px}.hero-art .portrait{height:400px}.hero-art .photo-note{padding:14px;bottom:5px}.hero-foot{font-size:9px}.services{gap:25px}.section{padding:60px 0}.section-head{align-items:start}.section-head p{font-size:14px}.journal-grid{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.side-note{max-width:420px}.side-note img{max-height:350px}.gallery-grid{grid-template-columns:repeat(2,1fr)}.download-grid{gap:15px}.download{padding:20px}.contact-grid{grid-template-columns:1fr}.video-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.wrap{width:calc(100% - 36px)}.brand strong{font-size:24px}.hero{grid-template-columns:1fr;padding:40px 0;gap:40px}.hero h1{font-size:54px;letter-spacing:-2px}.hero .lead{font-size:16px}.hero-art{max-width:420px;width:100%;margin:auto}.hero-art .portrait{height:450px}.hero-foot{margin-top:25px}.stats{grid-template-columns:1fr}.stat,.stat:not(:first-child){padding:22px 0;border-left:0;border-top:1px solid var(--line)}.stat:first-child{border-top:0}.stat strong{min-width:130px;font-size:35px}.section-head{flex-direction:column;gap:20px}.services,.project-grid,.journal-grid,.quotes,.download-grid,.video-grid{grid-template-columns:1fr}.service{padding-bottom:0}.landscape{height:280px}.landscape .caption{left:22px;right:22px}.project-card img{height:240px}.quotes{gap:35px}.quotes blockquote p{font-size:23px}.cta .wrap,.footer-top{flex-direction:column;align-items:start}.cta h2{font-size:35px}.footer-bottom{flex-direction:column;gap:12px}.page-intro{padding:40px 0}.page-intro h1{font-size:47px}.page-intro p{font-size:15px}.timeline-row{grid-template-columns:1fr;gap:12px;padding:25px 0}.project-detail{grid-template-columns:1fr;gap:25px;padding-bottom:40px;margin-bottom:40px}.project-detail h2{font-size:28px}.gallery-grid{gap:15px}.gallery-button img{height:210px}.gallery-button span{font-size:16px}.contact-info a{font-size:18px}.contact-form{padding:22px}.article-head{padding-top:40px}.article-nav{flex-direction:column}.post-card img{height:245px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
