:root{--ink:#12161c;--paper:#f7f9fb;--tint:#e9eff5;--blue:#0060ad;--blue-d:#004a87;--mute:#4b5663;--line:#cdd6df}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{font-family:'Newsreader',Georgia,serif;color:var(--ink);background:var(--paper);font-size:1.12rem;line-height:1.7}
h1,h2,h3,h4,.btn,.nav-link,.kicker,.stripe b,.tag,.inv-head,.role,.brand-name,.topbar{font-family:'Barlow Condensed',system-ui,sans-serif}
h1,h2,h3{font-weight:700;line-height:1.02;letter-spacing:-.005em}
h1{font-size:clamp(3rem,7.4vw,5.9rem)}
h2{font-size:clamp(2.2rem,4.6vw,3.4rem);margin-bottom:.4rem}
h3{font-size:1.7rem}
a{color:var(--blue)}
.topbar{background:var(--ink);color:#dfe6ee;font-size:.98rem;letter-spacing:.03em;padding:.4rem 0}
.topbar a{color:#fff;text-decoration:none}.topbar a:hover{text-decoration:underline}
.mainnav{background:#fff;border-bottom:1px solid var(--line);padding:.55rem 0}
.navbar-brand{display:flex;align-items:center;gap:.7rem;margin:0}
.navbar-brand img{height:46px;width:auto}
.brand-name{font-weight:700;font-size:1.35rem;color:var(--ink);line-height:1;letter-spacing:.01em}
.nav-link{font-weight:600;font-size:1.15rem;color:var(--ink)!important;padding:.5rem .8rem!important}
.nav-link:hover{color:var(--blue)!important}
.btn{font-weight:700;font-size:1.1rem;letter-spacing:.03em;border-radius:2px;padding:.55rem 1.2rem}
.btn-lg{font-size:1.3rem;padding:.7rem 1.5rem}
.btn-wf{background:var(--blue);color:#fff;border:2px solid var(--blue)}
.btn-wf:hover{background:var(--blue-d);border-color:var(--blue-d);color:#fff}
.btn-ghost{border:2px solid var(--ink);color:var(--ink);background:transparent}
.btn-ghost:hover{background:var(--ink);color:#fff}
.hero{padding:4.5rem 0 5rem;background:linear-gradient(180deg,#fff 0,var(--tint) 100%);overflow:hidden}
.kicker{font-size:1.15rem;color:var(--blue);font-weight:600;letter-spacing:.02em;margin-bottom:1rem}
.hero h1{max-width:14ch}
.lead-serif{font-size:1.35rem;max-width:34rem;margin-top:1.4rem;color:#2a323c}
.portraits{position:relative;display:flex;gap:1rem;justify-content:center;padding-bottom:2rem}
.arch{margin:0;width:48%;position:relative}
.arch img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%;border-radius:999px 999px 6px 6px;box-shadow:12px 12px 0 var(--blue)}
.arch.a2{margin-top:3rem}
.arch.a2 img{box-shadow:12px 12px 0 var(--ink)}
.arch figcaption{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:1.05rem;margin-top:1rem;text-align:center;line-height:1.1}
.stamp{position:absolute;left:50%;top:70%;transform:translate(-50%,-50%) rotate(-12deg);border:4px solid var(--blue);color:var(--blue);border-radius:6px;padding:.2rem .9rem;font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;text-align:center;line-height:.95;font-size:1.9rem;background:rgba(255,255,255,.88);outline:2px solid var(--blue);outline-offset:3px;letter-spacing:.06em;pointer-events:none}
.stamp span{display:block}
.stripe{background:var(--blue);color:#fff;padding:1.6rem 0}
.stripe b{display:block;font-size:1.9rem;font-weight:700;line-height:1.1}
.stripe span{font-size:1rem;opacity:.92}
.sec{padding:5.5rem 0}
.sec-ink{background:var(--ink);color:#d7dee6}
.sec-tint{background:var(--tint)}
.big{font-size:1.4rem;line-height:1.45;color:#2a323c}
.prose p{max-width:44rem}
.invoice{border-top:3px solid #fff}
.inv-head,.inv-row{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.8fr) 9rem;gap:1.5rem;align-items:start}
.inv-head{padding:.7rem 0;font-weight:600;font-size:1rem;letter-spacing:.06em;color:#9fb0c2;border-bottom:1px solid #3a4452}
.inv-row{padding:1.5rem 0;border-bottom:1px solid #3a4452}
.inv-row h3{color:#fff;margin:0}
.inv-row p{margin:0;color:#c3ced9}
.tag{justify-self:end;border:2px solid #7cb6ee;color:#7cb6ee;padding:.1rem .7rem;border-radius:3px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transform:rotate(-4deg);font-size:1.05rem;white-space:nowrap}
.tools h4{font-size:1.4rem;color:#fff}
.tools p{color:#c3ced9;font-size:1.02rem}
.band{background:var(--blue);color:#fff;padding:4rem 0;text-align:center}
.band blockquote{margin:0 auto;max-width:48rem;font-size:clamp(1.8rem,3.8vw,2.8rem);line-height:1.2;font-style:italic}
.role{font-size:1.2rem;color:var(--blue);font-weight:600;margin:-.2rem 0 1rem}
.facts{padding-left:1.1rem;color:var(--mute);font-size:1.02rem}
.facts li{margin-bottom:.35rem}
.news{background:#fff;border-top:4px solid var(--blue);padding:1.6rem;height:100%}
.news h3{font-size:1.5rem;margin-bottom:.8rem}
.news p{margin:0;color:var(--mute);font-size:1.02rem}
.office{background:#fff;border:1px solid var(--line);padding:1.5rem}
.office address{margin-bottom:1rem}
.office iframe{width:100%;height:280px;border:0;display:block}
.small-note{color:var(--mute);font-size:1rem}
.foot{background:var(--ink);color:#c3ced9;padding:3.5rem 0 1.5rem}
.foot h4{color:#fff;font-size:1.3rem}
.foot a{color:#9fd0ff}
.chip{display:inline-block;background:#fff;padding:.8rem 1.1rem;border-radius:6px}
.chip img{height:60px;width:auto;display:block}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:2.5rem;padding-top:1.2rem;border-top:1px solid #3a4452;font-size:.95rem}
.powered{text-decoration:none;font-family:'Barlow Condensed',sans-serif;letter-spacing:.06em;font-size:1.05rem}
@media(max-width:991px){.hero{padding:3rem 0 4rem}.portraits{max-width:460px;margin:0 auto}.brand-name{font-size:1.1rem}.navbar-nav{padding:.8rem 0}}
@media(max-width:767px){.inv-row{grid-template-columns:1fr;gap:.6rem}.tag{justify-self:start}.sec{padding:4rem 0}.stamp{font-size:1.5rem}.navbar-brand img{height:38px}}
@media(max-width:400px){.brand-name{font-size:.95rem}}
