:root{--ink:#20201d;--green:#294e46;--paper:#f5f0e8;--cream:#fffaf2;--accent:#e5a928;--sun:#e5a928;--mint:#d7e1dc;--line:rgba(32,32,29,.18)}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:17px;line-height:1.6}
a{color:inherit;text-decoration:none}
.nav-wrap{position:sticky;top:0;z-index:20;background:rgba(245,240,232,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{max-width:1240px;margin:auto;padding:18px 30px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:inline-flex;align-items:center}
.brand img{display:block;width:78px;height:52px;object-fit:contain}
.nav-links{display:flex;gap:30px;font-size:.9rem}
.nav-links a:hover,.text-link:hover{color:var(--green)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;background:var(--green);color:white;padding:15px 22px;border:1px solid var(--green);font-weight:600;font-size:.92rem;transition:.2s}
.button:hover{background:var(--accent);border-color:var(--accent);color:var(--ink);transform:translateY(-2px)}
.button-small{padding:10px 16px}
.hero{max-width:1240px;min-height:760px;margin:auto;padding:100px 30px 70px;display:grid;grid-template-columns:minmax(0,1.75fr) minmax(260px,.75fr);gap:90px;align-items:center}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;font-weight:700;color:var(--green);margin:0 0 20px}
.hero h1,.section h2{font:600 clamp(3.4rem,7vw,6.7rem)/.96 "DM Sans",sans-serif;letter-spacing:-.06em;margin:0}
.hero h1 em{font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:600;color:var(--green)}
.hero-intro{max-width:720px;font-size:1.2rem;margin:34px 0 0}
.hero-actions{display:flex;align-items:center;gap:26px;margin-top:38px}
.text-link{font-weight:600;border-bottom:1px solid}
.hero-note{align-self:center;border-top:5px solid var(--green);padding:0 0 10px;transform:rotate(1.25deg)}
.conviction-portrait{position:relative;width:min(100%,320px);height:auto;aspect-ratio:1/1;margin:0 auto 24px;overflow:visible;background:var(--green)}
.conviction-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 34%;filter:saturate(.9) contrast(1.02);box-shadow:10px 10px 0 var(--accent)}
.conviction-portrait figcaption{position:absolute;left:-18px;bottom:18px;margin:0;background:var(--cream);color:var(--green);padding:7px 15px 9px;font:italic 600 1.65rem/1 "Cormorant Garamond",serif;box-shadow:0 8px 22px rgba(32,32,29,.14)}
.note-index{font-size:.72rem;text-transform:uppercase;letter-spacing:.13em}
.hero-note>p{font:500 1.32rem/1.32 "DM Sans",sans-serif;margin:25px 0 18px}
.hero-note>p strong{display:inline-block;margin:8px 0 4px;color:var(--green);font:italic 600 1.55rem/1 "Cormorant Garamond",serif}
.scribble{font:italic 600 1.55rem/1.2 "Cormorant Garamond",serif;color:var(--green)}
.marquee{overflow:hidden;background:var(--green);color:white;padding:14px 0;font:700 .78rem "DM Sans",sans-serif;letter-spacing:.13em}
.marquee div{width:100%;text-align:center;padding:0 22px}
.marquee span{color:var(--sun);margin:0 12px}
@keyframes scroll{to{transform:translateX(-40%)}
}
.section{max-width:1240px;margin:auto;padding:130px 30px}
.section-heading{display:grid;grid-template-columns:1fr 2.2fr;gap:40px;margin-bottom:70px}
.section h2{font-size:clamp(2.7rem,5vw,4.8rem)}
.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}
.approach-copy{font-size:1.15rem}
.method{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.method li{display:grid;grid-template-columns:45px 1fr;gap:18px;padding:24px 0;border-bottom:1px solid var(--line)}
.method span,.service-list span{color:var(--green);font-size:.75rem}
.method strong{font:700 1.35rem "DM Sans",sans-serif}
.method p{margin:5px 0 0}
.work{max-width:none;background:var(--green);color:var(--cream);padding-left:max(30px,calc((100vw - 1180px)/2));padding-right:max(30px,calc((100vw - 1180px)/2))}
.work .eyebrow{color:var(--sun)}
.projects{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.project{background:#214740;padding:28px;min-height:420px;display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.15);transition:.25s}
.project:hover{transform:translateY(-5px);border-color:var(--mint)}
.project-featured{grid-column:1/-1;background:var(--mint);color:var(--ink);min-height:470px}
.project-top{display:flex;justify-content:space-between;text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;opacity:.72}
.project-body{display:grid;grid-template-columns:1.7fr 1fr;gap:70px;align-items:end;margin:auto 0}
.project-tag{color:var(--sun);font-size:.76rem;text-transform:uppercase;letter-spacing:.1em}
.project-featured .project-tag{color:var(--green)}
.project h3{font:700 clamp(2rem,4vw,3.8rem)/1.04 "DM Sans",sans-serif;letter-spacing:-.05em;margin:14px 0 24px}
.project:not(.project-featured) h3{font-size:2.4rem}
.project>p{max-width:580px}
.project-result{display:grid;grid-template-columns:150px 1fr auto;gap:20px;align-items:center;border-top:1px solid rgba(24,34,32,.25);padding-top:20px}
.project-result span,.project-foot{text-transform:uppercase;letter-spacing:.1em;font-size:.68rem}
.project-result p{margin:0}
.project-foot{margin-top:auto;padding-top:25px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.project-foot>span{opacity:.62}
.project-link{display:inline-flex;align-items:center;gap:8px;border-bottom:1px solid var(--sun);color:var(--cream);font-weight:700;padding-bottom:4px;transition:.2s}
.project-link:hover{color:var(--sun);transform:translateY(-2px)}
.project-link-featured{color:var(--green);border-bottom-color:var(--green);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}
.project-link-featured:hover{color:var(--ink)}
.service-list{border-top:1px solid var(--line)}
.service-list>div{display:grid;grid-template-columns:60px 1fr 1fr;gap:30px;align-items:center;padding:27px 0;border-bottom:1px solid var(--line)}
.service-list h3{font:700 1.6rem "DM Sans",sans-serif;margin:0}
.service-list p{margin:0}
.about{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center;background:var(--sun);max-width:none;padding-left:max(30px,calc((100vw - 1180px)/2));padding-right:max(30px,calc((100vw - 1180px)/2))}
.about-portrait{position:relative;margin:0;max-width:520px;justify-self:center}
.about-portrait img{display:block;width:100%;aspect-ratio:6/7;object-fit:cover;object-position:center 42%;border:1px solid rgba(32,32,29,.18);box-shadow:18px 18px 0 var(--green)}
.about-portrait figcaption{position:absolute;right:-34px;bottom:28px;max-width:330px;background:var(--cream);padding:20px 24px;font:italic 600 clamp(1.5rem,2.5vw,2.15rem)/1.08 "Cormorant Garamond",serif;color:var(--green);box-shadow:0 12px 30px rgba(32,32,29,.14)}
.about-copy h2{font-size:clamp(2.5rem,4vw,4rem)}
.about-copy .eyebrow{color:var(--ink)}
.signature{font:italic 600 2.3rem "Cormorant Garamond",serif;color:var(--green)}
.contact{text-align:center;max-width:930px}
.contact h2{margin-bottom:30px}
.contact>p:not(.eyebrow){max-width:650px;margin:0 auto 35px}
.button-light{background:var(--accent);border-color:var(--accent);color:var(--ink)}
.button-light:hover{background:var(--ink);border-color:var(--ink)}
footer{background:var(--green);color:white;padding:45px max(30px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:.78rem}
footer p{margin:0}
.brand-light img{width:78px;height:auto}
.footer-signature{font:italic 600 1.25rem/1.2 "Cormorant Garamond",serif}
.footer-copyright{text-align:right}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}
.reveal.visible{opacity:1;transform:none}
@media(max-width:1000px){
.hero{grid-template-columns:1fr;min-height:auto}
.hero-note{width:min(100%,420px);justify-self:center}
}
@media(max-width:800px){.nav{padding:14px 20px}
.nav-links{display:none}
.button-small{font-size:.75rem;padding:9px 12px}
.hero{min-height:auto;padding:75px 22px 55px;grid-template-columns:1fr;gap:60px}
.hero h1{font-size:clamp(3rem,14vw,5rem)}
.hero-actions{align-items:flex-start;flex-direction:column}
.hero-note{max-width:360px}
.conviction-portrait figcaption{left:-8px}
.section{padding:85px 22px}
.section-heading,.approach-grid,.project-body,.about{grid-template-columns:1fr}
.section-heading{gap:10px;margin-bottom:45px}
.approach-grid,.about{gap:55px}
.projects{grid-template-columns:1fr}
.project-featured{grid-column:auto}
.project,.project-featured{min-height:auto}
.project-body{gap:15px;margin:60px 0 25px}
.project h3,.project:not(.project-featured) h3{font-size:2rem}
.project-result{grid-template-columns:1fr}
.service-list>div{grid-template-columns:35px 1fr}
.service-list>div p{grid-column:2}
.about{padding-left:22px;padding-right:22px}
.about-portrait{width:calc(100% - 18px);margin:0 18px 18px 0}
.about-portrait figcaption{right:-18px;bottom:-18px;max-width:88%;padding:16px 18px;font-size:1.45rem}
footer{flex-direction:column;align-items:flex-start;padding:38px 22px}
.footer-copyright{text-align:left}
.marquee div{padding:0 16px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
.reveal{opacity:1;transform:none;transition:none}
}
