:root { --ink:#0f1c2e; --blue:#2868f0; --sky:#dce9ff; --paper:#f7f9fc; --white:#fff; --soft:#647188; --line:#dce3ed; --max:1200px; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { min-width:320px; margin:0; background:var(--paper); color:var(--ink); font:16px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; -webkit-font-smoothing:antialiased; } a { color:inherit; } h1,h2,h3,p { margin-top:0; } h1,h2 { letter-spacing:-.065em; line-height:.98; font-weight:680; } h1 em,h2 em { color:var(--blue); font-family:Georgia,"Times New Roman",serif; font-weight:400; letter-spacing:-.08em; }
.site-header,.site-footer,main { width:min(calc(100% - 64px),var(--max)); margin-inline:auto; }.site-header { height:94px; display:flex; align-items:center; border-bottom:1px solid var(--line); }.brand { display:inline-flex; align-items:center; gap:11px; color:var(--ink); font-size:15px; font-weight:750; letter-spacing:-.04em; text-decoration:none; }.brand-accent { color:var(--blue); }.brand b { font-weight:750; }.brand-mark { width:32px; height:32px; display:grid; grid-template-columns:repeat(3,1fr); gap:3px; padding:7px; border-radius:9px; background:var(--ink); transform:rotate(-8deg); }.brand-mark i { border-radius:2px; background:var(--white); }.brand-mark i:nth-child(2) { background:var(--blue); }.brand-mark i:nth-child(3) { background:var(--sky); }
.main-nav { display:flex; gap:30px; margin:auto; }.main-nav a { padding:7px 0; color:var(--soft); font-size:14px; text-decoration:none; }.main-nav a:hover,.main-nav a.active { color:var(--ink); }.main-nav a.active { font-weight:700; }.nav-cta { display:inline-flex; gap:8px; align-items:center; color:var(--ink); font-size:14px; font-weight:700; text-decoration:none; }.nav-cta span,.text-link span { color:var(--blue); font-size:17px; }
.hero { display:grid; grid-template-columns:1fr .93fr; gap:76px; align-items:center; min-height:650px; padding:86px 0 92px; }.kicker,.section-label { margin-bottom:27px; color:var(--soft); font-size:11px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }.kicker { display:flex; gap:10px; align-items:center; }.kicker span { width:30px; height:2px; background:var(--blue); }.hero h1,.page-hero h1 { max-width:700px; margin-bottom:30px; font-size:clamp(3.7rem,7vw,6.7rem); }.hero-intro,.page-lede { max-width:530px; margin-bottom:34px; color:#4d5c72; font-size:19px; line-height:1.65; }.hero-actions { display:flex; align-items:center; gap:24px; }.button { min-height:50px; display:inline-flex; align-items:center; justify-content:center; gap:18px; padding:0 20px; border:1px solid transparent; border-radius:7px; font:700 14px inherit; text-decoration:none; transition:transform .18s ease,background .18s ease; }.button:hover:not(:disabled) { transform:translateY(-2px); }.button-dark { background:var(--ink); color:var(--white); }.button-dark:hover:not(:disabled) { background:var(--blue); }.button-light { background:var(--white); color:var(--ink); }.button:disabled { cursor:not-allowed; opacity:.55; }.text-link { display:inline-flex; align-items:center; gap:8px; font-size:14px; font-weight:700; text-decoration:none; }
.hero-art { position:relative; min-height:475px; padding:32px 28px; border-radius:18px; background:#e4edff; overflow:hidden; }.hero-art::after { position:absolute; top:-80px; right:-120px; width:300px; height:300px; border:1px solid rgba(40,104,240,.18); border-radius:50%; content:""; }.art-grid { position:relative; z-index:1; display:grid; grid-template-columns:1.15fr .85fr 1fr; grid-template-rows:145px 147px 86px; gap:10px; margin-top:42px; }.block { position:relative; min-width:0; overflow:hidden; border-radius:9px; }.block-a { padding:15px; background:var(--ink); color:var(--white); }.block-a::after { position:absolute; right:-31px; bottom:-31px; width:100px; height:100px; border:16px solid var(--blue); border-radius:50%; content:""; }.block-a span { color:var(--sky); font-size:12px; font-weight:800; letter-spacing:.12em; }.block-b { background:var(--blue); }.block-b::before { position:absolute; top:24px; left:24px; width:42px; height:42px; border:3px solid var(--white); border-radius:50%; content:""; }.block-b::after { position:absolute; left:45px; bottom:-18px; width:3px; height:76px; background:var(--white); transform:rotate(45deg); content:""; }.block-c { display:flex; align-items:center; justify-content:center; gap:7px; background:var(--white); }.block-c i { width:12px; height:12px; border-radius:50%; background:var(--blue); }.block-c i:nth-child(2) { background:var(--ink); }.block-c i:nth-child(3) { background:var(--sky); }.block-d { grid-column:span 2; background:#b8cef9; }.block-d::after { position:absolute; inset:22px; border:1px solid rgba(16,29,49,.38); border-radius:50%; content:""; }.block-e { display:grid; place-items:center; background:var(--ink); color:var(--white); font-size:36px; font-weight:750; letter-spacing:-.12em; }.block-e span { transform:rotate(-8deg); }.block-e::before { position:absolute; left:16px; right:16px; bottom:18px; height:3px; background:var(--blue); content:""; }.block-f { grid-column:span 3; background:linear-gradient(90deg,var(--blue) 0 32%,var(--white) 32% 62%,var(--ink) 62%); }.top-caption,.bottom-caption { position:relative; z-index:2; color:var(--soft); font-size:10px; font-weight:800; letter-spacing:.13em; }.top-caption { display:flex; gap:7px; align-items:center; }.caption-dot { width:7px; height:7px; border-radius:50%; background:var(--blue); }.bottom-caption { position:absolute; right:28px; bottom:25px; }.bottom-caption span { color:var(--blue); }
.statement { display:grid; grid-template-columns:.62fr 1.38fr; gap:40px; padding:105px 0; border-top:1px solid var(--line); }.statement h2 { max-width:780px; margin-bottom:30px; font-size:clamp(2.8rem,5vw,5.2rem); }.statement div > p { max-width:460px; margin:0; color:#4d5c72; font-size:18px; line-height:1.7; }.principles,.practice-grid { display:grid; grid-template-columns:.78fr 1.22fr; gap:100px; padding:116px 0; border-top:1px solid var(--line); }.section-intro h2 { font-size:clamp(3rem,4.6vw,5rem); }.principle-list { border-top:1px solid var(--ink); }.principle { display:grid; grid-template-columns:62px 1fr; gap:21px; padding:30px 0; border-bottom:1px solid var(--line); }.principle-number { color:var(--blue); font-size:12px; font-weight:800; letter-spacing:.1em; }.principle h3,.practice-cards h3 { margin-bottom:8px; font-size:20px; letter-spacing:-.04em; }.principle p,.practice-cards p { max-width:500px; margin:0; color:#59677b; }
.closing-card { display:grid; grid-template-columns:.42fr 1fr auto; gap:40px; align-items:center; margin-bottom:105px; padding:45px 50px; border-radius:15px; background:var(--blue); color:var(--white); }.closing-card .section-label { color:var(--sky); }.closing-card h2 { margin:0; font-size:clamp(2.4rem,4.2vw,4.3rem); }.closing-card h2 em { color:var(--white); }.closing-mark { font-size:clamp(4rem,9vw,8.5rem); font-weight:800; letter-spacing:-.15em; line-height:.7; color:var(--sky); }.closing-mark span { color:var(--white); }.site-footer { display:flex; align-items:center; gap:35px; min-height:100px; border-top:1px solid var(--line); }.footer-brand .brand-mark { width:26px; height:26px; padding:6px; border-radius:7px; }.site-footer nav { display:flex; gap:22px; }.site-footer nav a,.site-footer small { color:var(--soft); font-size:13px; text-decoration:none; }.site-footer small { margin-left:auto; }
.page-hero { padding:106px 0 105px; border-bottom:1px solid var(--line); }.page-hero-about { background:radial-gradient(circle at 85% 38%,#dce9ff 0 12%,transparent 12.3%); }.page-lede { margin-bottom:0; }.about-story { display:grid; grid-template-columns:.7fr 1.3fr; gap:72px; padding:112px 0; }.about-story h2 { max-width:720px; margin-bottom:31px; font-size:clamp(2.8rem,5.3vw,5.4rem); }.about-story div > p { max-width:570px; color:#526177; font-size:18px; line-height:1.7; }.about-story div > p:last-child { margin-bottom:0; }.practice-cards { display:grid; gap:14px; }.practice-cards article { min-height:156px; padding:28px; border:1px solid var(--line); border-radius:12px; background:var(--white); }.icon-tile { display:grid; width:32px; height:32px; place-items:center; margin-bottom:24px; border-radius:7px; background:var(--sky); color:var(--blue); font-weight:800; }.practice-cards h3 { margin-bottom:7px; }
.contact-hero { padding-bottom:88px; }.contact-panel { display:grid; grid-template-columns:.86fr 1.14fr; gap:80px; padding:84px 0 112px; }.contact-aside { padding:18px 0; }.contact-aside h2 { margin-bottom:27px; font-size:clamp(2.8rem,4.6vw,4.8rem); }.contact-aside > p:not(.section-label) { max-width:405px; color:#526177; font-size:17px; line-height:1.7; }.response-note { display:flex; gap:13px; align-items:center; margin-top:47px; padding-top:23px; border-top:1px solid var(--line); }.response-note > span { width:9px; height:9px; border-radius:50%; background:var(--blue); }.response-note strong,.response-note small { display:block; }.response-note strong { font-size:13px; }.response-note small { color:var(--soft); font-size:13px; }.contact-form { display:grid; gap:21px; padding:36px; border:1px solid var(--line); border-radius:15px; background:var(--white); }.contact-form label { display:grid; gap:8px; color:#344259; font-size:13px; font-weight:750; }.contact-form input,.contact-form select,.contact-form textarea { width:100%; padding:13px 14px; border:1px solid #d5ddea; border-radius:7px; outline:none; background:#fbfcfe; color:var(--ink); font:16px inherit; }.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(40,104,240,.12); }.contact-form textarea { resize:vertical; }.contact-form .button { justify-self:start; margin-top:3px; }.form-note { margin:0; color:var(--soft); font-size:12px; line-height:1.5; }
.website-field { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }.form-status { min-height:24px; margin:0; font-size:14px; }.form-status.success { color:#14733b; }.form-status.error { color:#a32727; }
@media (max-width:850px) { .site-header,.site-footer,main { width:min(calc(100% - 40px),var(--max)); }.hero { grid-template-columns:1fr; gap:40px; padding-top:75px; }.hero-art { max-width:620px; width:100%; }.statement,.principles,.practice-grid,.about-story,.contact-panel { grid-template-columns:1fr; gap:44px; }.statement { padding:85px 0; }.principles,.practice-grid { padding:90px 0; }.closing-card { grid-template-columns:.3fr 1fr; gap:25px; }.closing-card .button { grid-column:2; justify-self:start; }.contact-panel { padding-top:62px; }.main-nav { margin-left:auto; margin-right:35px; } }
@media (max-width:560px) { .site-header { height:78px; }.site-header .nav-cta { display:none; }.main-nav { gap:16px; margin-left:auto; margin-right:0; }.main-nav a { font-size:12px; }.brand { gap:8px; font-size:13px; }.brand-mark { width:27px; height:27px; padding:6px; border-radius:7px; }.hero { min-height:auto; padding:65px 0 72px; }.hero h1,.page-hero h1 { font-size:clamp(3.15rem,14vw,4.5rem); }.hero-intro,.page-lede { font-size:17px; }.hero-actions { align-items:flex-start; flex-direction:column; gap:19px; }.hero-art { min-height:385px; padding:22px 18px; }.art-grid { grid-template-rows:118px 120px 68px; margin-top:36px; }.bottom-caption { right:18px; bottom:16px; font-size:8px; }.statement,.principles,.practice-grid,.about-story { padding:75px 0; }.statement h2,.about-story h2 { font-size:clamp(2.7rem,12vw,4.2rem); }.closing-card { grid-template-columns:1fr; margin-bottom:76px; padding:31px; }.closing-mark { font-size:5.5rem; }.closing-card .button { grid-column:1; }.site-footer { flex-wrap:wrap; gap:15px 25px; padding:22px 0; }.site-footer small { flex-basis:100%; margin-left:0; }.contact-panel { padding:47px 0 75px; }.contact-form { padding:22px; }.page-hero { padding:70px 0; }.contact-aside { padding:0; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; } }
