
:root{--paper:#f5f3ee;--ink:#111;--deep:#15212a;--accent:#9f5848;--line:rgba(20,28,34,.16);--muted:#667078;--max:1320px;--serif:Georgia,"Times New Roman",serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea{font:inherit}.wrap{width:min(var(--max),calc(100% - 72px));margin:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:18px;top:18px;z-index:200;background:#fff;padding:10px 14px}.nav{position:fixed;inset:0 0 auto;z-index:50;color:#fff;border-bottom:1px solid rgba(255,255,255,.15);transition:background .35s,color .35s,border .35s}.nav.scrolled,.practice-page .nav{background:rgba(245,243,238,.93);backdrop-filter:blur(16px);color:var(--ink);border-bottom:1px solid var(--line)}.nav-inner{height:88px;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:14px;font-weight:700;letter-spacing:.035em}.brand img{width:42px;height:42px}.brand-name{font-size:14px}.nav-links{display:flex;align-items:center;gap:34px;font-size:13px}.nav-links a{position:relative;opacity:.82}.nav-links a:after{content:"";position:absolute;left:0;bottom:-7px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .25s}.nav-links a:hover:after,.nav-links a:focus-visible:after{transform:scaleX(1);transform-origin:left}.menu-btn{display:none;border:0;background:none;color:inherit;font-size:26px;line-height:1}.hero{min-height:100svh;background:var(--deep);color:#fff;display:grid;align-items:end;overflow:hidden;position:relative}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 16% 22%,rgba(255,255,255,.08),transparent 28%),linear-gradient(120deg,rgba(255,255,255,.025),transparent 40%)}.hero-grid{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:end;padding:170px 0 84px}.kicker,.eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.23em;color:var(--accent)}.hero .kicker{color:rgba(255,255,255,.64);margin-bottom:25px}.hero h1{font:400 clamp(56px,7.7vw,118px)/.9 var(--serif);letter-spacing:-.055em;margin:0;max-width:960px}.hero .lede{font-size:18px;max-width:720px;color:rgba(255,255,255,.72);margin:34px 0 0}.hero-actions{display:flex;gap:28px;align-items:center;margin-top:38px}.text-link{display:inline-flex;align-items:center;gap:14px;font-size:13px;font-weight:700;padding-bottom:8px;border-bottom:1px solid currentColor}.text-link:after{content:"↗";transition:transform .22s}.text-link:hover:after{transform:translate(3px,-3px)}.hero-visual{align-self:stretch;min-height:520px;position:relative;display:grid;place-items:center}.hero-visual:before{content:"";position:absolute;inset:7% 0 0 6%;border:1px solid rgba(255,255,255,.16)}.hero-visual img{position:relative;width:100%;height:100%;object-fit:cover;filter:drop-shadow(0 30px 60px rgba(0,0,0,.16));animation:visualFloat 10s ease-in-out infinite alternate}.hero-index{position:absolute;right:0;bottom:0;font:400 15px var(--serif);color:rgba(255,255,255,.52);writing-mode:vertical-rl}.scroll-note{position:absolute;left:36px;bottom:45px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.44);writing-mode:vertical-rl}.section{padding:120px 0;border-bottom:1px solid var(--line)}.section-head{display:grid;grid-template-columns:.72fr 1.28fr;gap:80px;align-items:start;margin-bottom:64px}.section h2{font:400 clamp(42px,5vw,72px)/.98 var(--serif);letter-spacing:-.045em;margin:0}.section-copy{font-size:18px;color:var(--muted);max-width:760px;margin:0}.practice-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.practice-card{min-height:300px;padding:30px 30px 26px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;overflow:hidden;background:rgba(255,255,255,.12);transition:background .3s,transform .3s}.practice-card:before{content:"";position:absolute;inset:auto 0 0;height:0;background:var(--deep);transition:height .42s cubic-bezier(.2,.7,.2,1);z-index:-1}.practice-card:hover{color:#fff;transform:translateY(-3px)}.practice-card:hover:before{height:100%}.practice-card:hover p{color:rgba(255,255,255,.68)}.practice-card:hover .card-no{color:var(--accent)}.card-no{font-size:10px;letter-spacing:.18em;color:var(--accent);font-weight:700}.practice-card h3{font:400 30px/1.05 var(--serif);letter-spacing:-.025em;margin:64px 0 16px}.practice-card p{font-size:14px;color:var(--muted);margin:0;transition:color .3s}.card-arrow{position:absolute;right:28px;bottom:25px;font-size:20px}.dark-section{background:var(--deep);color:#fff}.dark-section .section-copy{color:rgba(255,255,255,.62)}.sector-list{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid rgba(255,255,255,.16)}.sector{font:400 clamp(28px,3.1vw,48px)/1.08 var(--serif);letter-spacing:-.03em;padding:28px 0;border-bottom:1px solid rgba(255,255,255,.16)}.sector:nth-child(even){padding-left:48px;border-left:1px solid rgba(255,255,255,.16)}.manifesto{display:grid;grid-template-columns:1.15fr .85fr;gap:100px;align-items:start}.manifesto-quote{font:400 clamp(38px,4.3vw,66px)/1.03 var(--serif);letter-spacing:-.04em;margin:0}.process{counter-reset:step}.process-item{display:grid;grid-template-columns:60px 1fr;padding:22px 0;border-top:1px solid var(--line)}.process-item:last-child{border-bottom:1px solid var(--line)}.process-item:before{counter-increment:step;content:"0" counter(step);font-size:10px;color:var(--accent);letter-spacing:.18em;font-weight:700;padding-top:4px}.process-item h3{font-size:15px;margin:0 0 7px}.process-item p{font-size:14px;color:var(--muted);margin:0}.band{padding:48px 0;background:var(--accent);color:#fff;overflow:hidden}.band-track{white-space:nowrap;font:400 clamp(28px,3vw,48px)/1 var(--serif);letter-spacing:-.02em;animation:marquee 25s linear infinite}.band-track span{display:inline-block;margin-right:70px}.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.address{font:400 30px/1.2 var(--serif);letter-spacing:-.02em;max-width:480px;margin-top:32px}.small-label{font-size:10px;text-transform:uppercase;letter-spacing:.2em;color:var(--accent);font-weight:700}.form{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form label{font-size:11px;color:var(--muted)}.field{display:grid;gap:5px}.field.full{grid-column:1/-1}.form input,.form textarea{border:0;border-bottom:1px solid rgba(20,28,34,.35);background:transparent;padding:12px 0;outline:0}.form input:focus,.form textarea:focus{border-color:var(--accent)}.form textarea{min-height:110px;resize:vertical}.form button{grid-column:1/-1;justify-self:start;border:1px solid var(--ink);background:transparent;color:var(--ink);padding:14px 20px;cursor:pointer;transition:.25s}.form button:hover{background:var(--ink);color:#fff}.form-note,.form-status{grid-column:1/-1;font-size:11px;color:var(--muted)}.form-status{color:var(--accent);min-height:18px}footer{padding:46px 0 56px}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end}.footer-copy{font-size:11px;color:var(--muted);max-width:650px;margin-top:20px}.footer-right{text-align:right;font-size:11px;color:var(--muted)}.footer-links{display:flex;gap:18px;justify-content:flex-end;margin-bottom:14px}.footer-links a{text-decoration:underline;text-underline-offset:4px}
/* practice detail */.practice-page{background:var(--paper)}.practice-hero{padding:190px 0 90px;border-bottom:1px solid var(--line);position:relative;overflow:hidden}.practice-hero:after{content:"";position:absolute;width:520px;height:520px;border:1px solid var(--line);border-radius:50%;right:-160px;top:70px}.practice-hero-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px}.back-link{font-size:12px;color:var(--muted);display:inline-flex;gap:10px;align-items:center}.back-link:before{content:"←"}.practice-hero h1{font:400 clamp(54px,7vw,100px)/.92 var(--serif);letter-spacing:-.055em;margin:26px 0 28px}.practice-hero .intro{font-size:20px;color:var(--muted);max-width:800px}.detail-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:90px}.detail-copy{font-size:20px;max-width:760px;margin:0}.capabilities{border-top:1px solid var(--line)}.capability{display:grid;grid-template-columns:48px 1fr;padding:20px 0;border-bottom:1px solid var(--line);font:400 23px/1.15 var(--serif)}.capability b{font:700 10px var(--sans);letter-spacing:.16em;color:var(--accent)}.engagement-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.18);border-left:1px solid rgba(255,255,255,.18)}.engagement{padding:28px;border-right:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18);min-height:220px}.engagement .num{font-size:10px;color:var(--accent);letter-spacing:.18em}.engagement h3{font:400 27px/1.08 var(--serif);margin:42px 0 0}.related{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.tag{border:1px solid var(--line);padding:10px 13px;font-size:12px}.detail-cta{display:flex;justify-content:space-between;gap:40px;align-items:end}.detail-cta h2{max-width:820px}
/* reveals */.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.js .reveal.in{opacity:1;transform:none}.js .reveal.delay-1{transition-delay:.08s}.js .reveal.delay-2{transition-delay:.16s}.js .reveal.delay-3{transition-delay:.24s}
/* identities */body.razor{--paper:#F2F0EA;--ink:#0D1720;--deep:#101E2A;--accent:#B65743;--line:rgba(16,30,42,.17);--muted:#69747c}body.razor .hero-visual img{clip-path:polygon(0 0,100% 0,100% 86%,86% 100%,0 100%)}body.razor .band{background:#A94C39}body.razor .practice-card:hover:before{background:#0D1A25}body.morisett{--paper:#F4F5EF;--ink:#13211D;--deep:#172A25;--accent:#78907C;--line:rgba(23,42,37,.16);--muted:#69756f}body.morisett .hero-visual:before{border-radius:52% 48% 44% 56%/46% 42% 58% 54%}body.morisett .hero-visual img{border-radius:48% 52% 42% 58%/51% 43% 57% 49%}body.morisett .band{background:#627867}body.kalista{--paper:#F5F2EA;--ink:#171B19;--deep:#1D2924;--accent:#B37A48;--line:rgba(29,41,36,.17);--muted:#6e756f}body.kalista .hero-visual:before{transform:rotate(2deg)}body.kalista .hero-visual img{clip-path:polygon(0 8%,90% 0,100% 92%,10% 100%)}body.kalista .band{background:#9C683C}
@keyframes visualFloat{from{transform:translateY(0) scale(1)}to{transform:translateY(-10px) scale(1.012)}}@keyframes marquee{to{transform:translateX(-50%)}}
@media(max-width:980px){.wrap{width:min(var(--max),calc(100% - 40px))}.nav-links{display:none}.menu-btn{display:block}.nav.open .nav-links{display:flex;position:absolute;left:0;right:0;top:88px;flex-direction:column;align-items:flex-start;gap:22px;padding:26px 20px;background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line)}.hero-grid,.section-head,.manifesto,.contact,.practice-hero-grid,.detail-grid{grid-template-columns:1fr}.hero-grid{padding-top:150px}.hero-visual{min-height:380px}.section{padding:85px 0}.practice-grid{grid-template-columns:1fr 1fr}.section-head,.manifesto,.contact,.detail-grid{gap:42px}.engagement-grid{grid-template-columns:1fr 1fr}.practice-hero{padding-top:150px}.footer-grid{grid-template-columns:1fr}.footer-right{text-align:left}.footer-links{justify-content:flex-start}.detail-cta{align-items:start;flex-direction:column}.scroll-note{display:none}}
@media(max-width:620px){.brand-name{font-size:12px;max-width:210px}.hero h1{font-size:52px}.hero .lede,.section-copy,.detail-copy,.practice-hero .intro{font-size:16px}.hero-grid{gap:45px;padding-bottom:55px}.hero-visual{min-height:290px}.section{padding:68px 0}.section h2{font-size:43px}.practice-grid,.sector-list,.form,.engagement-grid{grid-template-columns:1fr}.practice-card{min-height:245px}.practice-card h3{margin-top:45px}.sector:nth-child(even){padding-left:0;border-left:0}.manifesto-quote{font-size:38px}.contact{gap:45px}.practice-hero h1{font-size:52px}.capability{font-size:20px}.practice-hero:after{display:none}.band-track{font-size:28px}.nav-inner{height:76px}.nav.open .nav-links{top:76px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-visual img,.band-track{animation:none}.js .reveal{opacity:1!important;transform:none!important;transition:none!important}}

/* v4 production enhancements */
.hero-visual{isolation:isolate;overflow:hidden}.hero-visual:after{content:"";position:absolute;inset:11% 5% 4% 10%;background:url("hero-texture.webp") center/cover no-repeat;opacity:.42;mix-blend-mode:screen;z-index:-1;filter:saturate(.8) contrast(1.05)}
.form button:disabled{opacity:.45;cursor:wait}.legal-hero{padding:190px 0 72px;background:var(--deep);color:#fff}.legal-hero h1{font:400 clamp(52px,7vw,92px)/.95 var(--serif);letter-spacing:-.05em;margin:24px 0 16px}.legal-hero p{color:rgba(255,255,255,.6);font-size:13px}.legal-wrap{max-width:900px}.legal-wrap h2{font:400 34px/1.05 var(--serif);margin:54px 0 16px;letter-spacing:-.03em}.legal-wrap h2:first-child{margin-top:0}.legal-wrap p,.legal-wrap li{color:var(--muted);font-size:15px}.legal-wrap ul{padding-left:20px}.footer-links{flex-wrap:wrap}.site-badge{display:inline-flex;align-items:center;gap:8px;font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}
@media(max-width:620px){.legal-hero{padding-top:145px}.legal-hero h1{font-size:50px}}

.contact-email,.footer-email{display:inline-block;margin-top:10px;text-decoration:none;border-bottom:1px solid currentColor}.contact-email:hover,.footer-email:hover{opacity:.7}
