@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#f5f6f9;--paper:#fff;--ink:#152139;--muted:#606b7b;--line:#d7dce5;--accent:#763d50;--radius:2px}*{box-sizing:border-box}body{margin:0;overflow-x:clip;background:var(--bg);color:var(--ink);font:15px/1.65 Manrope,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,input,textarea,summary,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #9a6276;outline-offset:4px}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}[hidden]{display:none!important}.shell{max-width:1280px;margin:auto;padding:0 48px 20px}.header{height:105px;display:flex;align-items:center;justify-content:space-between;gap:25px;background:var(--ink);color:white;padding:0 48px;margin:0 -48px;position:relative;z-index:2}.header:before,.hero:before{content:'';position:absolute;left:50%;transform:translateX(-50%);width:100%;height:100%;background:var(--ink);z-index:-1;top:0}.brand{display:flex;gap:22px;align-items:center;flex-shrink:0}.brand-mark{font:44px/.85 Georgia,serif;letter-spacing:-5px}.brand-mark span{display:block;font:8px/1.8 Manrope,sans-serif;letter-spacing:4px;text-align:right;margin-top:8px}.brand-caption{border-left:1px solid #ffffff40;padding-left:20px;font-size:10px;line-height:1.5;color:#c5ccda}.desktop-nav{display:flex;gap:25px;font-size:11px;color:#d4dbe6}.desktop-nav a{padding:15px 0}.desktop-nav a:hover{color:white}.header-cta{background:transparent;border:1px solid #8590a366;color:white;font-size:10px;min-height:40px;padding:9px 14px;white-space:nowrap}.menu-button{height:40px;width:40px;background:transparent;border:1px solid #8590a366;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;flex-shrink:0}.menu-button span{display:block;width:17px;height:1px;background:#d9dfeb}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:10px;font-weight:600;display:block}h1,h2,h3,p{margin-top:0}.hero{position:relative;isolation:isolate;overflow:hidden;background:#152139;color:white;margin:0 -48px;padding:70px 48px 38px;min-height:570px;display:flex;align-items:center;border-top:1px solid #ffffff20}.hero-copy{width:100%;position:relative;z-index:1}.hero .eyebrow{color:#c4cfdf;margin-bottom:40px;font-size:9px;letter-spacing:2px}h1{font-size:clamp(38px,5.2vw,68px);line-height:1.13;letter-spacing:-2.5px;font-weight:400;margin-bottom:35px}.hero h1{max-width:820px;font-weight:400;letter-spacing:-2.8px;font-size:clamp(44px,5.8vw,77px);line-height:1.09}.hero h1 span{color:#ccd5e4}.hero-bottom{display:flex;align-items:center;gap:45px}.hero p{color:#d2d9e5;max-width:400px;font-size:12px;line-height:1.8;margin-bottom:0}.hero-caption{position:absolute;right:48px;bottom:24px;color:#abb9ce;font-size:8px;text-transform:uppercase;letter-spacing:1.5px}.hero-art{position:absolute;right:-12%;top:-22%;width:70%;height:140%;opacity:.8;transform:rotate(-24deg);pointer-events:none;mask-image:linear-gradient(90deg,transparent,#000 25%);z-index:0}.hero-art i{position:absolute;width:90%;height:130%;border-radius:50%;background:linear-gradient(100deg,#101b30 10%,#2e4569 47%,#18283f 64%,#0f1b31 87%);box-shadow:inset 3px 0 5px #9db5dc66,-6px 0 20px #0b1120;top:-15%;left:0}.hero-art i:nth-child(2){left:24%}.hero-art i:nth-child(3){left:48%}.hero-art i:nth-child(4){left:72%}.btn{display:inline-flex;align-items:center;justify-content:center;gap:27px;min-height:48px;border-radius:2px;padding:13px 23px;background:var(--accent);color:white;font-weight:600;font-size:11px;line-height:1.5;transition:background .15s,transform .15s}.btn:hover{background:#633246}.btn.primary{background:var(--accent);color:white}.btn.outline{background:transparent;border:1px solid var(--line);color:var(--ink)}.btn.outline:hover{background:#e8ecf3}.btn.arrow:after{content:'↗';font-size:20px;font-weight:400}.intro{display:grid;grid-template-columns:1fr 2.1fr 1.4fr;gap:35px;border-bottom:1px solid var(--line);padding:65px 0 55px;align-items:start}.intro .eyebrow{font-size:8px;line-height:1.9;color:var(--muted);padding-top:8px}.intro h2{font-size:32px;line-height:1.28;letter-spacing:-1px;font-weight:400;margin-bottom:0}.intro h2 span{color:var(--muted)}.intro p{font-size:12px;color:var(--muted);margin-bottom:0;padding-top:5px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin:52px 0 25px;gap:25px}.section-heading .eyebrow{color:var(--muted);font-size:9px;letter-spacing:1.8px}.section-heading h2{font-size:35px;letter-spacing:-1.2px;line-height:1.23;font-weight:400;margin:15px 0 0}.text-link{font-size:11px;font-weight:600;white-space:nowrap;background:transparent;padding:0}.text-link:hover{color:var(--accent)}.areas{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.area{padding:28px 26px;text-align:left;display:flex;flex-direction:column;min-height:215px;border-right:1px solid var(--line);transition:background .2s}.area:first-child{padding-left:0}.area:last-child{border-right:0}.area:hover{background:#e9edf4}.area .number{font-size:10px;color:var(--muted);display:flex;align-items:center;justify-content:space-between;margin-bottom:35px;width:100%}.area .number span{color:var(--accent);font-size:20px}.area h3{font-size:21px;font-weight:500;letter-spacing:-.7px;line-height:1.35;margin-bottom:14px}.area p{font-size:11px;color:var(--muted);margin-bottom:0;line-height:1.8;max-width:275px}.featured{display:flex;align-items:end;justify-content:space-between;border-bottom:1px solid var(--line);padding:52px 0;gap:35px}.featured .eyebrow{color:var(--muted);font-size:9px}.featured h2{font-size:38px;letter-spacing:-1.5px;font-weight:400;line-height:1.2;margin:18px 0}.featured p{font-size:12px;color:var(--muted);max-width:400px;margin:0}.invitation{margin-top:50px;background:var(--ink);color:white;padding:36px;display:flex;gap:25px;align-items:center;justify-content:space-between}.invitation h3{font-weight:400;font-size:27px;letter-spacing:-.8px;margin-bottom:8px;line-height:1.25}.invitation p{font-size:12px;color:#c6cedc;margin:0}.footer{margin-top:45px;padding-top:23px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:9px;color:var(--muted);gap:15px}.page-title{padding:60px 0 35px}.page-title .eyebrow{color:var(--muted);margin-bottom:22px;font-size:9px}.page-title h1{font-size:52px;max-width:850px;margin-bottom:22px;line-height:1.15}.page-title p{color:var(--muted);max-width:620px;font-size:13px;margin-bottom:0}.page-content{max-width:800px}.search{display:flex;align-items:center;gap:15px;border-bottom:1px solid var(--ink);padding:13px 0;margin-bottom:22px;max-width:600px}.search input{width:100%;border:0;outline:0;background:transparent;color:var(--ink);font-size:13px;min-width:0}.service-list{border-top:1px solid var(--line)}.service{border-bottom:1px solid var(--line)}.service summary{list-style:none;cursor:pointer;display:flex;align-items:center;padding:25px 0;gap:25px;font-weight:500;font-size:20px;line-height:1.4}.service summary::-webkit-details-marker{display:none}.service summary .index{font-size:10px;color:var(--muted);font-weight:400}.service summary:after{content:'+';font-size:25px;font-weight:400;margin-left:auto;color:var(--accent)}.service[open] summary:after{content:'−'}.service-content{padding:0 30px 25px 40px}.service-content p{font-size:13px;max-width:650px;color:var(--muted)}.service-content .btn{min-height:43px}.empty{padding:30px;color:var(--muted);text-align:center}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}.content-card{border-top:1px solid var(--ink);padding:27px 0}.content-card h2{font-size:30px;line-height:1.3;font-weight:400;letter-spacing:-1px;margin:22px 0}.content-card p{font-size:13px;color:var(--muted);max-width:470px}.content-card .eyebrow{color:var(--muted);font-size:9px}.case-type{font-size:9px;text-transform:uppercase;letter-spacing:1.4px;color:var(--muted)}.notice{font-size:10px;color:var(--muted);line-height:1.7;margin-top:18px;max-width:720px}.team{margin-top:24px;display:grid;grid-template-columns:repeat(2,1fr);column-gap:35px}.person{padding:22px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:48px 1fr;gap:18px}.initials{width:48px;height:48px;background:#e3e8f0;display:grid;place-items:center;font:18px Georgia,serif}.person h3{font-size:16px;font-weight:500;margin-bottom:5px}.person p{font-size:11px;color:var(--muted);margin:0}.process{counter-reset:steps;padding:0;list-style:none}.process li{display:flex;gap:18px;padding:17px 0;border-bottom:1px solid var(--line);font-size:13px}.process li:before{counter-increment:steps;content:'0' counter(steps);color:var(--muted);font-size:10px;padding-top:3px}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:start}.contact-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:22px 0;gap:15px}.contact-row small{display:block;color:var(--muted);font-size:10px;margin-bottom:8px}.contact-row strong{font-size:22px;font-weight:400;letter-spacing:-.5px}.contact-row span span{font-size:12px;color:var(--muted)}.contact-row .arrow-circle{border-bottom:1px solid var(--line);width:30px;height:35px;display:grid;place-items:center;color:var(--accent);font-size:22px}.contact-note{background:var(--ink);color:white;padding:35px;margin-top:15px}.contact-note .eyebrow{font-size:9px;color:#c6cedc}.contact-note h2{font-size:30px;font-weight:400;letter-spacing:-1px;line-height:1.25;margin:25px 0}.contact-note p{font-size:12px;color:#c6cedc}.contact-note .text-link{display:block;margin-top:25px;color:#d6ddea}.contact-note .btn{margin-top:12px}dialog{border:0;border-radius:3px;background:var(--paper);padding:30px;max-width:580px;width:calc(100% - 30px);color:var(--ink);max-height:90dvh;overflow:auto}dialog::backdrop{background:#0c1628b3;backdrop-filter:blur(4px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.close{font-size:28px;background:transparent;width:35px;height:35px;line-height:1}.dialog-top .eyebrow{font-size:8px;color:var(--muted)}dialog h2{font-size:34px;font-weight:400;letter-spacing:-1.2px;line-height:1.2;margin-bottom:20px}dialog p{font-size:12px;color:var(--muted)}.dialog-actions{display:grid;gap:12px;margin-top:25px}.menu-links{display:grid;gap:5px}.menu-links a{font-size:26px;padding:13px 0;border-bottom:1px solid var(--line)}#request-form{margin-top:25px}#request-form label{display:block;font-size:10px;font-weight:600;margin-bottom:18px}#request-form input,#request-form textarea{display:block;width:100%;border:0;border-bottom:1px solid #a5adbc;border-radius:0;background:#fafbfd;color:var(--ink);padding:12px 8px;font-size:12px;margin-top:7px;resize:vertical}#request-form input:focus,#request-form textarea:focus{outline:0;border-bottom:2px solid var(--accent)}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}#request-form .btn{width:100%;margin-top:5px}#request-preview{font:12px/1.8 Manrope,sans-serif;white-space:pre-wrap;overflow-wrap:anywhere;background:#f1f3f7;padding:18px;margin-top:20px}.copy-message{font-size:11px;background:transparent;text-decoration:underline;padding:9px}.copy-message:hover{color:var(--accent)}#toast{display:none}
@media(max-width:1000px){.desktop-nav{gap:16px;font-size:10px}.header-cta{display:none}.brand-caption{font-size:9px}.hero h1{font-size:64px}.intro{grid-template-columns:1fr 2fr}.intro p{grid-column:2}.hero-art{right:-27%;width:90%}}
@media(max-width:650px){.shell{padding:0 23px 110px}.header{height:88px;margin:0 -23px;padding:0 23px;gap:15px}.header:before,.hero:before{display:none}.brand{gap:19px}.brand-caption{padding-left:15px;font-size:8px}.brand-mark{font-size:36px}.brand-mark span{font-size:7px;letter-spacing:3px}.desktop-nav,.header-cta{display:none}.menu-button{width:35px;height:35px;border:0}.hero{margin:0 -23px;padding:43px 23px 40px;min-height:520px;align-items:start}.hero .eyebrow{font-size:7px;letter-spacing:1.1px;max-width:245px;margin-bottom:52px;line-height:1.8}.hero h1{font-size:clamp(37px,10.1vw,52px);letter-spacing:-1.8px;line-height:1.16;margin-bottom:30px}.hero-bottom{display:block}.hero p{font-size:11px;max-width:240px;line-height:1.8}.hero .btn{margin-top:27px}.hero-art{width:110%;right:-47%;top:-14%;opacity:.46;mask-image:linear-gradient(90deg,transparent,#000 45%)}.hero-caption{display:none}.btn{font-size:10px;min-height:45px;padding:12px 18px;gap:23px}.intro{padding:38px 0;display:block}.intro .eyebrow{font-size:7px;letter-spacing:1.3px;margin-bottom:22px;padding:0}.intro h2{font-size:28px;letter-spacing:-1px;line-height:1.3;margin-bottom:20px}.intro p{font-size:11px;line-height:1.9;max-width:320px;padding:0}.section-heading{margin:35px 0 24px;align-items:start;flex-direction:column;gap:18px}.section-heading .eyebrow{font-size:8px}.section-heading h2{font-size:28px;letter-spacing:-1px;line-height:1.3;margin-top:18px}.text-link{font-size:10px}.areas{grid-template-columns:1fr;border-top:0;border-bottom:0}.area{padding:23px 0;min-height:0;border-right:0;border-top:1px solid var(--line)}.area:last-child{border-bottom:1px solid var(--line)}.area .number{margin-bottom:17px;font-size:9px}.area h3{font-size:22px;line-height:1.3;margin-bottom:12px}.area p{font-size:11px;max-width:280px}.featured{padding:36px 0;display:block}.featured .eyebrow{font-size:8px}.featured h2{font-size:29px;letter-spacing:-1px}.featured p{font-size:11px;max-width:300px;margin-bottom:25px}.invitation{display:block;padding:28px 23px;margin:36px -23px 0}.invitation .btn{margin-top:24px}.invitation h3{font-size:28px;letter-spacing:-1px}.invitation p{font-size:11px}.footer{margin-top:30px;font-size:8px;align-items:start}.footer a{max-width:130px;text-align:right}.page-title{padding:38px 0 28px}.page-title .eyebrow{font-size:7px;letter-spacing:1.5px;margin-bottom:23px}.page-title h1{font-size:35px;letter-spacing:-1.4px;line-height:1.2;margin-bottom:20px}.page-title p{font-size:11px;line-height:1.9}.cards{grid-template-columns:1fr;gap:15px}.content-card{padding:23px 0}.content-card h2{font-size:28px;margin:20px 0}.content-card p{font-size:12px}.case-type{font-size:8px;letter-spacing:1.1px}.team{grid-template-columns:1fr;margin-top:15px}.person{padding:21px 0;gap:15px}.person h3{font-size:15px}.person p{font-size:10px}.initials{width:43px;height:48px}.service summary{padding:23px 0;font-size:16px;gap:17px}.service summary .index{font-size:8px}.service-content{padding:0 0 24px 30px}.service-content p{font-size:11px;line-height:1.9}.search input{font-size:12px}.contact-layout{grid-template-columns:1fr;gap:25px}.contact-row{padding:20px 0}.contact-row strong{font-size:20px}.contact-row small{font-size:9px}.contact-note{margin:0 -23px;padding:29px 23px}.contact-note h2{font-size:31px}.contact-note p{font-size:11px}.contact-note .text-link{font-size:10px}.form-pair{grid-template-columns:1fr;gap:0}dialog{padding:22px;max-height:90dvh}dialog h2{font-size:29px}.dialog-top{margin-bottom:20px}.dialog-top .eyebrow{font-size:7px}.dialog-actions{gap:10px}#request-form label{font-size:10px}#request-form input,#request-form textarea{font-size:12px}#request-preview{font-size:11px;padding:15px}.notice{font-size:9px}.menu-links a{font-size:24px}.close{width:30px;height:30px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Persistent Mini App navigation: shared by narrow and wide screens. */
.shell{padding-bottom:145px}
.bottom-nav{position:fixed;bottom:max(16px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:min(520px,calc(100% - 32px));padding:8px;gap:2px;background:#fffffff2;color:var(--ink);backdrop-filter:blur(18px);border:1px solid #dce1e9;box-shadow:0 8px 32px #15213924;border-radius:25px;z-index:10}
.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:55px;padding:9px 2px;font-size:9px;line-height:1.4;color:#626c7b;border-radius:18px;position:relative;text-align:center}
.nav-item:hover{background:#edf0f5}
.nav-item.active{background:var(--ink);color:#fff}
.nav-item.active:before{display:none}
.nav-item svg{width:22px;height:22px;flex-shrink:0}
@media(max-width:400px){.nav-item{font-size:8px;gap:4px;padding:8px 1px;min-height:51px}.nav-item svg{width:20px;height:20px}.bottom-nav{padding:7px}}
