@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Libre+Baskerville:wght@400;700&family=Outfit:wght@400;500;600;700&family=Barlow+Condensed:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');

:root { --mint:#eef7ef; --mint-deep:#d6ebd9; --forest:#173a2d; --green:#2a835f; --sage:#8bbb92; --ink:#183229; --line:rgba(23,58,45,.2); --cream:#fffdf8; --display:'Libre Baskerville', Georgia, serif; --sans:'Outfit', sans-serif; --mono:'DM Mono', monospace; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--mint); color:var(--ink); font:15px/1.65 var(--sans); }
a { color:inherit; text-decoration:none; }
img { display:block; width:100%; height:100%; object-fit:cover; }
.back-link { position:fixed; z-index:20; top:18px; left:18px; color:var(--cream); background:var(--green); padding:7px 12px; font:10px var(--mono); letter-spacing:.05em; text-transform:uppercase; }
.site-shell { min-height:100vh; display:grid; grid-template-columns:218px minmax(0,1fr); }
.rail { position:sticky; top:0; height:100vh; padding:70px 28px 28px; display:flex; flex-direction:column; background:var(--forest); color:var(--cream); }
.brand { display:block; margin-bottom:72px; }
.brand-mark { width:52px; height:52px; margin-bottom:18px; border:1px solid var(--sage); color:var(--sage); display:grid; place-items:center; font:700 21px var(--display); transform:rotate(45deg); }
.brand-mark span { transform:rotate(-45deg); }
.brand-name { display:block; font:700 22px/1.1 var(--display); letter-spacing:-.04em; }
.brand-sub { display:block; margin-top:9px; color:var(--sage); font:10px var(--mono); letter-spacing:.1em; text-transform:uppercase; }
.nav { display:grid; gap:12px; }
.nav a { position:relative; padding:8px 0 8px 23px; color:#c7dfce; font-size:13px; }
.nav a::before { content:''; position:absolute; left:0; top:16px; width:9px; height:1px; background:var(--sage); transition:width .25s; }
.nav a:hover,.nav a.active { color:#fff; }
.nav a:hover::before,.nav a.active::before { width:17px; background:#fff; }
.rail-note { margin-top:auto; color:#9bbca5; font:10px/1.5 var(--mono); text-transform:uppercase; letter-spacing:.05em; }
.content { min-width:0; overflow:hidden; }
.page-pad { padding:72px clamp(28px,6vw,92px); }
.eyebrow { display:flex; align-items:center; gap:12px; color:var(--green); font:11px var(--mono); letter-spacing:.1em; text-transform:uppercase; }
.eyebrow::before { content:''; width:28px; height:1px; background:var(--sage); }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family:var(--display); font-weight:400; letter-spacing:-.05em; }
h1 { max-width:750px; margin:24px 0 26px; font-size:clamp(46px,7.2vw,105px); line-height:1.04; }
h1 em,h2 em { color:var(--green); font-style:normal; }
h2 { font-size:clamp(34px,4vw,60px); line-height:1.1; }
.lead { max-width:530px; color:#486157; font-size:18px; }
.button { display:inline-flex; align-items:center; gap:18px; margin-top:22px; padding:13px 18px; border:1px solid var(--green); color:var(--green); font:11px var(--mono); text-transform:uppercase; }
.button:hover { background:var(--green); color:var(--cream); }
.button span { font-size:16px; }
.hero { min-height:100vh; padding:110px clamp(28px,6vw,92px) 72px; background:var(--mint); position:relative; }
.hero-grid { display:grid; grid-template-columns:minmax(280px,.9fr) minmax(350px,1.1fr); gap:clamp(28px,7vw,105px); align-items:center; max-width:1240px; margin:auto; }
.hero-copy { position:relative; z-index:1; }
.hero-copy::after { content:'01'; position:absolute; left:-3px; bottom:-110px; color:var(--sage); font:120px var(--display); opacity:.22; }
.hero-art { min-height:590px; position:relative; }
.hero-photo { position:absolute; right:3%; top:3%; width:75%; height:86%; clip-path:polygon(14% 0,100% 7%,88% 100%,0 91%); background:var(--sage); }
.hero-photo img { filter:saturate(.75); }
.hero-detail { position:absolute; left:0; bottom:3%; width:45%; height:34%; border:14px solid var(--mint); outline:1px solid var(--green); background:var(--sage); clip-path:polygon(0 12%,87% 0,100% 88%,12% 100%); }
.hero-stamp { position:absolute; right:0; bottom:2%; display:grid; place-items:center; width:94px; height:94px; border:1px solid var(--green); border-radius:50%; color:var(--green); font:10px/1.3 var(--mono); text-align:center; transform:rotate(13deg); }
.ticker { border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:16px clamp(28px,6vw,92px); overflow:hidden; white-space:nowrap; color:var(--green); font:11px var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.ticker span { display:inline-block; margin-right:55px; }
.section { max-width:1240px; margin:auto; }
.intro-grid { display:grid; grid-template-columns:1fr 1fr; gap:12%; align-items:end; }
.intro-grid p { color:#486157; }
.rule-list { border-top:1px solid var(--line); }
.rule-item { display:grid; grid-template-columns:60px 1fr auto; gap:15px; align-items:center; padding:17px 0; border-bottom:1px solid var(--line); }
.rule-item small { color:var(--green); font:11px var(--mono); }
.rule-item strong { font:400 18px var(--display); }
.rule-item span { color:#64806f; font:11px var(--mono); }
.work-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:25px; align-items:start; }
.work-card { position:relative; background:var(--cream); }
.work-card:nth-child(2) { margin-top:130px; }
.work-image { height:430px; overflow:hidden; }
.work-card:nth-child(2) .work-image { height:310px; }
.work-copy { padding:18px 18px 22px; border:1px solid var(--line); border-top:0; }
.work-copy small,.meta { color:var(--green); font:10px var(--mono); text-transform:uppercase; letter-spacing:.06em; }
.work-copy h3 { margin:9px 0 3px; font:400 25px var(--display); }
.work-copy p { margin:0; color:#5a7465; font-size:13px; }
.quote-band { background:var(--green); color:var(--cream); }
.quote-band h2 { max-width:760px; margin-bottom:0; }
.quote-band h2 em { color:var(--mint-deep); }
.footer { padding:25px clamp(28px,6vw,92px); display:flex; justify-content:space-between; gap:18px; color:#5b7867; font:10px var(--mono); text-transform:uppercase; border-top:1px solid var(--line); }
.page-intro { padding-bottom:34px; }
.page-intro h1 { max-width:none; font-size:clamp(34px,4.3vw,64px); white-space:nowrap; }
.journal-list { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.journal-card { border-top:2px solid var(--green); padding-top:16px; }
.journal-card .journal-image { height:220px; margin-bottom:19px; }
.journal-card:nth-child(2) .journal-image { clip-path:polygon(0 0,90% 4%,100% 92%,8% 100%); }
.journal-card:nth-child(3) .journal-image { clip-path:ellipse(50% 48% at 50% 50%); }
.journal-card h3 { font:400 22px var(--display); line-height:1.2; }
.journal-card p { color:#5a7465; font-size:14px; }
.service-list { border-top:1px solid var(--line); }
.service { display:grid; grid-template-columns:100px 1fr 40%; gap:25px; padding:25px 0; border-bottom:1px solid var(--line); }
.service-number { color:var(--green); font:12px var(--mono); }
.service h2 { margin:0; font-size:31px; }
.service p { margin:0; color:#5a7465; }
.contact-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(30px,8vw,120px); }
.contact-details { display:grid; gap:30px; align-content:start; }
.contact-details h2 { margin-bottom:0; }
.contact-details address { color:#496657; font-style:normal; }
.contact-label { display:block; margin-bottom:8px; color:var(--green); font:10px var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.contact-form { padding:28px; background:var(--cream); border:1px solid var(--line); }
.form-row { display:grid; gap:6px; margin-bottom:19px; }
.form-row label { color:var(--green); font:10px var(--mono); text-transform:uppercase; }
.form-row input,.form-row textarea { width:100%; border:0; border-bottom:1px solid var(--line); padding:9px 0; outline:none; background:transparent; color:var(--ink); font:16px var(--sans); }
.form-row textarea { min-height:115px; resize:vertical; }
.form-row input:focus,.form-row textarea:focus { border-color:var(--green); }
.contact-form .button { background:var(--green); color:var(--cream); cursor:pointer; }
.form-status { min-height:24px; margin:15px 0 0; color:var(--green); font-size:13px; }
.map-wrap { margin-top:75px; }
.map-frame { height:340px; border:1px solid var(--green); filter:saturate(.65); }
.map-frame iframe { width:100%; height:100%; border:0; }
@media (max-width:850px) { .site-shell{display:block}.rail{position:relative;height:auto;padding:62px 24px 20px;display:block}.brand{margin-bottom:25px;display:flex;align-items:center;gap:15px}.brand-mark{width:42px;height:42px;margin:0}.nav{display:flex;gap:8px;flex-wrap:wrap}.nav a{padding:6px 10px 6px 20px}.nav a::before{top:17px}.rail-note{display:none}.hero{min-height:auto;padding-top:68px}.hero-grid,.intro-grid,.contact-layout{grid-template-columns:1fr}.hero-art{min-height:470px}.work-grid{grid-template-columns:1fr}.work-card:nth-child(2){margin-top:0}.journal-list{grid-template-columns:1fr}.service{grid-template-columns:48px 1fr}.service p{grid-column:2}.footer{display:grid}.page-pad{padding-top:60px;padding-bottom:60px}.page-intro h1 { white-space:normal; } }
@media (max-width:520px) { .hero-art{min-height:350px}.hero-photo{width:82%;height:82%}.hero-detail{height:31%;width:46%;border-width:9px}.hero-stamp{width:74px;height:74px;font-size:8px}.rule-item{grid-template-columns:40px 1fr}.rule-item span{display:none}.service h2{font-size:25px}.contact-form{padding:20px} }
:root { --mint:#edf4ff; --mint-deep:#d9e8fa; --forest:#182c52; --green:#4e6fae; --sage:#93b7d8; --ink:#1d2940; --line:rgba(24,44,82,.2); --cream:#fbfdff; --display:'Space Grotesk', sans-serif; --sans:'Barlow Condensed', sans-serif; --mono:'DM Mono', monospace; }
body { font-size:14px; background:var(--mint); }
.rail { grid-template-columns:190px minmax(0,1fr); background:var(--forest); }
.brand-mark { width:46px; height:46px; border-radius:0; transform:rotate(45deg); color:#c9dcf2; border-color:#c9dcf2; }
.brand-mark span { transform:rotate(-45deg); }
.brand-name { font-family:var(--display); font-size:20px; text-transform:uppercase; letter-spacing:.04em; }
.brand-sub { color:#c9dcf2; }
.nav { gap:7px; }
.nav a { color:#c9dcf2; font-size:15px; padding-left:18px; }
.nav a::before { background:var(--sage); }
.hero { background:var(--mint); }
.hero h1 { font-family:var(--display); font-size:clamp(38px,5.2vw,76px); letter-spacing:-.07em; }
.hero-copy::after { font-family:var(--display); font-size:90px; }
.hero-photo { clip-path:polygon(0 7%,93% 0,100% 90%,8% 100%); }
.hero-detail { clip-path:polygon(0 0,100% 15%,90% 100%,9% 86%); }
.hero-stamp { border-radius:0; transform:rotate(0); }
.button { border-radius:0; background:transparent; }
.button:hover { background:var(--forest); }
.work-card:nth-child(2) .work-image { clip-path:none; }
.quote-band { background:var(--green); }
.service h2 { font-family:var(--display); font-size:27px; }
.map-frame { border-color:var(--green); }