
.contact-page-main{padding-top:8vh;padding-bottom:8rem}.contact-page-intro{display:grid;grid-template-columns:.8fr 1.65fr;gap:4rem;padding-bottom:7rem}.contact-page-intro h1{grid-column:2;margin:0;font-size:clamp(4rem,8.3vw,8.6rem);max-width:62rem}.contact-page-copy{grid-column:2;display:grid;grid-template-columns:1fr 1fr;gap:2rem;max-width:44rem;margin-top:1rem}.contact-page-copy p{margin:0}.inquiry-form{border-top:1px solid var(--line);max-width:58rem;margin-left:33.3%}.form-row{display:grid;grid-template-columns:1fr 2fr;gap:2rem;padding:1.4rem 0;border-bottom:1px solid var(--line);font-size:.9rem}.form-row label{padding-top:.45rem}.form-row input,.form-row textarea{width:100%;border:0;border-bottom:1px solid var(--ink);padding:.45rem 0;background:transparent;color:var(--ink);font:inherit}.form-row textarea{resize:vertical;min-height:9rem}.honeypot{position:absolute;left:-10000px}.form-submit-row{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;padding-top:1.6rem}.form-submit-row .button{border:0;cursor:pointer;margin:0}.form-note{max-width:23rem;margin:0;font-size:.72rem;line-height:1.45;opacity:.72}.contact-alternative{max-width:58rem;margin:6rem 0 0 33.3%;padding-top:1.6rem;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr;gap:2rem}.contact-alternative p{margin:0}@media(max-width:760px){.contact-page-main{padding-top:6vh;padding-bottom:5rem}.contact-page-intro{grid-template-columns:1fr;gap:2rem;padding-bottom:4rem}.contact-page-intro h1,.contact-page-copy{grid-column:auto}.contact-page-copy{grid-template-columns:1fr}.inquiry-form,.contact-alternative{margin-left:0}.form-row,.contact-alternative{grid-template-columns:1fr;gap:.7rem}.form-submit-row{align-items:flex-start;flex-direction:column}}:root { --ink:#162120; --paper:#f3f1eb; --quiet:#d7d8cf; --line:#a8afa9; --accent:#7d8d7f; --serif:"Newsreader", Georgia, serif; --sans:"DM Sans", Arial, sans-serif; --mono:"DM Mono", monospace; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); font-size:16px; line-height:1.45; }
a { color:inherit; text-decoration:none; }
.skip-link { position:fixed; z-index:5; left:1rem; top:-4rem; padding:.6rem .9rem; background:var(--ink); color:var(--paper); }
.skip-link:focus { top:1rem; }
.site-header { max-width:1440px; margin:auto; padding:1.75rem 3.25rem; display:flex; align-items:flex-start; justify-content:space-between; }
.wordmark { font-size:.82rem; font-weight:600; line-height:1.04; letter-spacing:.035em; text-transform:uppercase; }
.site-nav { display:flex; gap:2rem; align-items:center; font-size:.9rem; }
.site-nav a:not(.nav-contact) { opacity:.82; }
.site-nav a:hover, .text-link:hover, .site-footer a:hover { opacity:.6; }
.nav-contact { border:1px solid var(--ink); padding:.55rem .85rem; }
.menu-button { display:none; }
.section-shell { max-width:1440px; margin:auto; padding-left:12.5vw; padding-right:12.5vw; }
.hero { min-height:calc(100svh - 82px); padding-top:12vh; padding-bottom:4rem; display:flex; flex-direction:column; justify-content:space-between; }
.eyebrow { margin:0; font-family:var(--mono); font-size:.68rem; line-height:1.35; letter-spacing:.07em; text-transform:uppercase; }
.hero-grid { display:grid; grid-template-columns:1.65fr .8fr; gap:4rem; align-items:end; margin:10vh 0; }
h1,h2,p { margin-top:0; }
h1,h2 { font-family:var(--serif); font-weight:400; letter-spacing:-.04em; line-height:.9; }
h1 { margin-bottom:0; font-size:clamp(4.5rem, 10.8vw, 10rem); }
h1 em { font-style:italic; }
.hero-copy { max-width:25rem; padding-bottom:.6rem; font-size:1.1rem; }
.hero-copy p + p { margin-top:1.1rem; }
.scroll-cue { align-self:flex-start; padding-bottom:.4rem; border-bottom:1px solid var(--ink); font-size:.82rem; }
.scroll-cue span { margin-left:1.8rem; }
.approach { padding-top:9rem; padding-bottom:9rem; border-top:1px solid var(--line); }
.section-intro { display:grid; grid-template-columns:.8fr 1.65fr; gap:4rem; margin-bottom:5rem; }
.large-copy { font-family:var(--serif); font-size:clamp(1.65rem,3vw,3rem); line-height:1.05; letter-spacing:-.025em; }
.steps { padding:0; margin:0; list-style:none; border-top:1px solid var(--line); }
.steps li { display:grid; grid-template-columns:.35fr 1fr 1.45fr; gap:1rem; align-items:baseline; padding:1.45rem 0 1.7rem; border-bottom:1px solid var(--line); }
.step-number { font-family:var(--mono); font-size:.68rem; }
.steps h2 { margin:0; font-size:clamp(2.5rem,4.4vw,4.4rem); }
.steps p { max-width:28rem; margin:0; font-size:.97rem; }
.practice { background:var(--ink); color:var(--paper); padding:9rem 0; }
.practice-grid { display:grid; grid-template-columns:.8fr 1.65fr; gap:4rem; }
.practice h2 { margin:.2rem 0 2.5rem; font-size:clamp(3rem,5.3vw,5.5rem); max-width:50rem; }
.practice .large-copy { max-width:48rem; }
.situations { grid-column:2; margin-top:3rem; padding-top:1.5rem; border-top:1px solid rgba(243,241,235,.42); display:grid; grid-template-columns:1fr 1.65fr; gap:1rem; font-size:.88rem; }
.situations p { margin:0; }
.situations ul { margin:0; padding:0; list-style:none; }
.situations li { padding:.45rem 0; border-bottom:1px solid rgba(243,241,235,.22); }
.about { padding-top:10rem; padding-bottom:10rem; display:grid; grid-template-columns:.8fr 1.65fr; gap:4rem; }
.about-mark { padding-top:.4rem; justify-self:end; display:flex; gap:.3rem; }
.about-mark span { width:1.5rem; height:1.5rem; border-radius:100%; border:1px solid var(--accent); }
.about-mark span:nth-child(2) { transform:translateY(.8rem); }.about-mark span:nth-child(3) { transform:translateY(1.6rem); }
.about h2 { font-size:clamp(3rem,5.8vw,6rem); max-width:50rem; margin:0 0 2.5rem; }.about-copy .eyebrow { margin-bottom:1.15rem; }
.about-copy > p:not(.eyebrow) { max-width:42rem; font-size:1.08rem; line-height:1.55; }
.text-link { display:inline-block; border-bottom:1px solid var(--ink); padding-bottom:.25rem; margin-top:1rem; font-size:.9rem; }.text-link span{margin-left:1.4rem}
.contact { border-top:1px solid var(--line); padding-top:7rem; padding-bottom:7rem; }
.contact-grid { display:grid; grid-template-columns:1.65fr .8fr; gap:4rem; align-items:end; margin-top:4rem; }
.contact h2 { font-size:clamp(3.25rem,6.3vw,6.7rem); margin:0; max-width:49rem; }
.contact-grid > div { max-width:22rem; font-size:1rem; }.button { display:inline-flex; justify-content:space-between; gap:3rem; margin-top:1rem; padding:.85rem 1rem; background:var(--ink); color:var(--paper); font-size:.85rem; }.contact-note { margin:1rem 0 0; font-size:.72rem; opacity:.68; }
.site-footer { max-width:1440px; margin:auto; padding:2rem 3.25rem; border-top:1px solid var(--line); display:flex; align-items:end; justify-content:space-between; font-size:.72rem; }.site-footer p { margin:0; }
@media (max-width:760px) { .about-page-intro h1,.work-intro h1,.work .hero h1{grid-column:auto!important}.site-header{padding:1.3rem 1.25rem}.section-shell{padding-left:1.25rem;padding-right:1.25rem}.menu-button{display:block;border:0;background:none;font:inherit;font-size:.85rem;padding:0}.site-nav{display:none;position:absolute;top:4.3rem;left:1.25rem;right:1.25rem;padding:1rem;background:var(--paper);border:1px solid var(--ink);flex-direction:column;align-items:stretch;gap:1rem}.site-nav.is-open{display:flex}.nav-contact{text-align:center}.hero{min-height:calc(100svh - 65px);padding-top:7vh}.hero-grid,.contact-grid{grid-template-columns:1fr;gap:2.5rem}.hero-grid{margin:8vh 0}.hero-copy{font-size:1rem}.approach,.practice,.about{padding-top:5rem;padding-bottom:5rem}.section-intro,.practice-grid,.about{grid-template-columns:1fr;gap:2rem}.section-intro{margin-bottom:3rem}.steps li{grid-template-columns:.4fr 1fr;gap:.5rem}.steps li p{grid-column:2;padding-top:.2rem}.situations{grid-column:auto;grid-template-columns:1fr;margin-top:1rem}.about-mark{margin-bottom:1rem}.contact{padding-top:5rem;padding-bottom:5rem}.contact-grid{margin-top:2.5rem}.site-footer{padding:1.4rem 1.25rem;align-items:start;gap:1.25rem;flex-wrap:wrap}.site-footer p{order:3;width:100%} }
@media (max-width:760px){.work .hero{padding-left:1.25rem;padding-right:1.25rem}}
@media (max-width:760px){.work .row{padding-left:1.25rem;padding-right:1.25rem}}
