:root{--ink:#111;--paper:#fff;--soft:#f4f4f1;--line:#d8d8d3;--muted:#686863;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.6}.shell{width:min(1120px,calc(100% - 48px));margin:auto}.contact-bar{background:var(--ink);color:#fff;font-size:.76rem;letter-spacing:.03em}.contact-bar .shell{min-height:38px;display:flex;align-items:center;gap:25px;justify-content:flex-end}.contact-bar a,footer a{color:inherit;text-decoration:none}.contact-bar a:hover,footer a:hover{text-decoration:underline}.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.header-inner{height:95px;display:flex;align-items:center}.brand{background:var(--ink);color:#fff;text-decoration:none;min-width:236px;height:95px;padding:17px 22px;display:flex;flex-direction:column;justify-content:center;line-height:1}.brand-name{font-family:var(--serif);font-size:1.65rem;letter-spacing:-.03em}.brand>span+span,footer p{font-size:.59rem;letter-spacing:.19em;margin:9px 0 0}.ca-mark{margin-left:27px;display:grid;grid-template-columns:6px 6px 6px auto;grid-template-rows:15px 9px;gap:2px;align-items:end;font-family:Arial,sans-serif;font-weight:bold;line-height:1}.ca-mark i{height:23px;grid-row:1/3}.ca-mark i:nth-child(1){background:#ee821e}.ca-mark i:nth-child(2){background:#1776bd}.ca-mark i:nth-child(3){background:#249650}.ca-mark b{font-size:1.1rem}.ca-mark small{grid-column:4;font-size:.38rem;letter-spacing:.15em}nav{margin-left:auto;display:flex;gap:29px}nav a{font-size:.82rem;color:var(--ink);text-decoration:none;position:relative;padding:10px 0}nav a:after{content:"";position:absolute;bottom:5px;left:0;width:0;height:1px;background:var(--ink);transition:width .25s}nav a:hover:after{width:100%}.menu-button{display:none;background:transparent;border:0;padding:8px}.menu-button span:not(.sr-only){width:25px;height:1px;background:var(--ink);display:block;margin:5px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.hero{min-height:610px;background:var(--soft);display:flex;align-items:center;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:66vw;height:66vw;border:1px solid #dadad5;border-radius:50%;right:-18vw;top:-16vw}.hero-content{position:relative;z-index:1;max-width:850px}.eyebrow{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.2em;margin:0 0 22px;color:var(--muted)}h1,h2{font-family:var(--serif);font-weight:500;line-height:1.15;letter-spacing:-.035em;margin:0}h1{font-size:clamp(2.75rem,6vw,5.55rem);text-transform:uppercase}.button{display:inline-flex;align-items:center;gap:28px;background:var(--ink);border:1px solid var(--ink);color:#fff;padding:14px 19px;margin-top:38px;font:500 .78rem var(--sans);text-decoration:none;letter-spacing:.05em;cursor:pointer;transition:background .2s,color .2s}.button span{font-size:1.2rem;line-height:.7}.button:hover{background:transparent;color:var(--ink)}.section{padding:130px 0}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:11vw}.two-column h2,.section-intro h2{font-size:clamp(2.35rem,4.1vw,4rem)}.body-copy{max-width:470px}.body-copy p:first-child{margin-top:0}.principles{list-style:none;padding:0;margin:25px 0 0;border-top:1px solid var(--line)}.principles li{padding:12px 0;border-bottom:1px solid var(--line);font-weight:500}.principles li:before{content:"—";margin-right:11px}.services{background:var(--ink);color:#fff}.narrow{max-width:890px}.section-intro{text-align:center;max-width:650px;margin:0 auto 57px}.section-intro .eyebrow{color:#c8c8c2}.section-intro p:last-child{color:#d2d2cb;margin:19px 0 0}.accordion{border-top:1px solid #565650}.accordion details{border-bottom:1px solid #565650}.accordion summary{list-style:none;cursor:pointer;padding:20px 48px 20px 0;position:relative;font-size:1.02rem;transition:opacity .2s}.accordion summary::-webkit-details-marker{display:none}.accordion summary:after{content:"+";position:absolute;right:2px;font-size:1.45rem;font-weight:300;top:15px}.accordion details[open] summary:after{content:"−"}.accordion summary span{font-size:.69rem;color:#aaa;margin-right:20px;letter-spacing:.09em}.accordion p{color:#d2d2cb;margin:0;padding:0 40px 20px 52px;font-size:.9rem}.connect{background:var(--soft)}.contact-note{max-width:370px;margin-top:22px}form{max-width:480px}form label{display:block;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:19px}input,textarea{display:block;width:100%;background:transparent;border:0;border-bottom:1px solid #9a9a94;border-radius:0;padding:9px 0;font:1rem var(--sans);outline:none;transition:border-color .2s}textarea{resize:vertical;min-height:98px}input:focus,textarea:focus{border-color:var(--ink)}form .button{margin-top:4px}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#form-status{min-height:25px;margin:15px 0 0;font-size:.9rem;opacity:0;transform:translateY(-4px);transition:opacity .25s,transform .25s}#form-status.success,#form-status.error{opacity:1;transform:translateY(0)}#form-status.success{color:#176a36}#form-status.error{color:#a31f1f}button:disabled{cursor:wait;opacity:.65}footer{background:var(--ink);color:#fff;padding:55px 0}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:38px;font-size:.84rem}.footer-grid>div:nth-child(2){display:flex;flex-direction:column;gap:5px}.footer-grid address{font-style:normal}.reveal{opacity:0;transform:translateY(19px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:720px){.shell{width:min(100% - 34px,1120px)}.contact-bar .shell{justify-content:center;gap:10px;min-height:unset;padding:8px 0;flex-wrap:wrap;font-size:.68rem}.header-inner{height:73px}.brand{height:73px;min-width:185px;padding:13px 16px}.brand-name{font-size:1.35rem}.ca-mark{margin-left:12px;transform:scale(.78);transform-origin:left}.menu-button{display:block;margin-left:auto}nav{display:none;position:absolute;top:73px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:9px 17px 18px;box-shadow:0 12px 15px #00000012}nav.open{display:flex;flex-direction:column;gap:0}nav a{padding:10px 0}.hero{min-height:530px}.hero:after{width:120vw;height:120vw;right:-55vw;top:-10vw}.section{padding:78px 0}.two-column{grid-template-columns:1fr;gap:40px}.accordion summary{font-size:.92rem;padding-right:35px}.accordion summary span{display:block;margin:0 0 4px}.accordion p{padding-left:0;padding-right:10px}.footer-grid{grid-template-columns:1fr;gap:28px}.section-intro{margin-bottom:38px}}
