:root { --ink:#17212b; --muted:#66717b; --paper:#f5f3ef; --line:#c8c8c2; --accent:#ba6b45; --blue:#dfe9ee; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial, Helvetica, sans-serif; }
a { color:inherit; text-decoration:none; }
.topbar { min-height:82px; padding:22px clamp(22px,5vw,80px); border-bottom:1px solid var(--line); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:24px; }
.wordmark { font:600 12px/1 'Courier New', monospace; letter-spacing:.12em; }.wordmark span { color:var(--accent); margin:0 4px; }
.status,.eyebrow,.card-index,.art-note,.art-index { font:600 10px/1.3 'Courier New', monospace; letter-spacing:.08em; text-transform:uppercase; }.status { color:var(--accent); text-align:center; }.top-link { justify-self:end; font:600 11px 'Courier New', monospace; text-transform:uppercase; border-bottom:1px solid var(--ink); padding-bottom:6px; }.top-link span,.button span,.footer-cta span { color:var(--accent); }
.hero { min-height:calc(100vh - 82px); display:grid; grid-template-columns:1.02fr .98fr; border-bottom:1px solid var(--line); }.hero-copy { padding:clamp(68px,10vw,150px) clamp(24px,7vw,110px); display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }.eyebrow { color:var(--accent); margin:0 0 25px; }.hero h1,h2,h3 { font-family:Georgia, 'Times New Roman', serif; font-weight:400; letter-spacing:-.055em; }.hero h1 { max-width:680px; font-size:clamp(54px,7.4vw,112px); line-height:.88; margin:0 0 34px; }.hero h1 em,h2 em { color:var(--accent); }.hero-lead { max-width:440px; color:var(--muted); font-size:clamp(17px,1.5vw,21px); line-height:1.45; margin:0 0 40px; }.button { background:var(--ink); color:var(--paper); padding:16px 19px; font:600 11px 'Courier New', monospace; text-transform:uppercase; letter-spacing:.06em; }.button:hover { background:var(--accent); }
.hero-art { position:relative; overflow:hidden; background:var(--blue); min-height:520px; }.orb { position:absolute; border-radius:50%; }.orb-one { width:64%; aspect-ratio:1; right:-18%; top:10%; background:var(--accent); }.orb-two { width:35%; aspect-ratio:1; left:13%; bottom:17%; background:var(--ink); }.rule { position:absolute; background:var(--ink); transform:rotate(-35deg); }.rule-one { width:120%; height:1px; top:40%; left:-10%; }.rule-two { width:100%; height:1px; top:64%; left:6%; transform:rotate(52deg); }.art-note { position:absolute; left:8%; top:10%; color:var(--ink); }.art-index { position:absolute; right:8%; bottom:7%; color:var(--paper); }
.practice { padding:clamp(75px,10vw,145px) clamp(24px,7vw,110px); }.section-intro { display:grid; grid-template-columns:24% 1fr 25%; gap:28px; align-items:end; margin-bottom:70px; }.section-intro h2 { font-size:clamp(48px,6.2vw,88px); line-height:.9; margin:0; max-width:700px; }.provisional-note { color:var(--muted); font-size:13px; line-height:1.45; margin:0; }.practice-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }.practice-card { padding:28px 28px 35px 0; min-height:310px; border-right:1px solid var(--line); }.practice-card+.practice-card { padding-left:28px; }.practice-card:last-child { border-right:0; }.practice-card.featured { background:var(--ink); color:var(--paper); padding-right:28px; }.practice-card.featured .card-index { color:#edc2ad; }.icon { width:52px; height:52px; display:grid; place-items:center; border:1px solid currentColor; border-radius:50%; margin-bottom:34px; }.icon svg { width:28px; height:28px; fill:none; stroke:currentColor; stroke-width:1.3; stroke-linecap:round; stroke-linejoin:round; }.card-index { color:var(--accent); margin:0 0 25px; }.practice-card h3 { font-size:32px; line-height:1; margin:0 0 15px; }.practice-card>p:last-child { max-width:250px; color:var(--muted); font-size:14px; line-height:1.45; margin:0; }.featured>p:last-child { color:#cbd1d3; }
footer { padding:70px clamp(24px,7vw,110px) 30px; background:var(--ink); color:var(--paper); display:grid; grid-template-columns:1fr auto; gap:45px; align-items:end; }.footer-cta { border:1px solid #aab3b7; padding:16px 18px; font:600 11px 'Courier New', monospace; text-transform:uppercase; letter-spacing:.05em; }.footer-cta:hover { border-color:var(--accent); color:#edc2ad; }.footer-note { grid-column:1/-1; border-top:1px solid #47525a; padding-top:18px; color:#aab3b7; font-size:11px; line-height:1.4; margin:0; }
@media (max-width:850px) { .topbar { grid-template-columns:1fr auto; }.status { display:none; }.hero { grid-template-columns:1fr; }.hero-art { min-height:430px; }.section-intro { grid-template-columns:1fr; gap:22px; }.practice-grid { grid-template-columns:1fr; }.practice-card,.practice-card+.practice-card,.practice-card.featured { padding:28px 0; min-height:auto; border-right:0; border-bottom:1px solid var(--line); }.practice-card:last-child { border-bottom:0; }footer { grid-template-columns:1fr; gap:28px; }.footer-cta { justify-self:start; }.footer-note { grid-column:auto; } }
@media (max-width:520px) { .topbar { min-height:68px; padding:18px 20px; }.top-link { font-size:9px; }.hero-copy { padding:70px 20px 80px; }.hero h1 { font-size:clamp(51px,15vw,74px); }.hero-art { min-height:350px; }.practice { padding:76px 20px; }.section-intro h2 { font-size:54px; }footer { padding:65px 20px 25px; }footer h2 { font-size:52px; } }
