@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap');

:root { --paper:#f5f4f0; --ink:#161616; --muted:#686761; --line:#dfddd5; --card:#fff; --accent:#101010; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Manrope,Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible { outline:2px solid var(--ink); outline-offset:3px; }
.skip { position:absolute; left:-9999px; top:auto; }
.skip:focus { left:1rem; top:1rem; z-index:20; padding:.8rem 1rem; background:#fff; }
.shell { width:min(1180px, calc(100% - 40px)); margin:0 auto; }
.site-header { padding:20px 0; border-bottom:1px solid var(--line); }
.nav { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { font-family:'Space Grotesk',Arial,sans-serif; font-size:21px; font-weight:700; letter-spacing:-1.4px; }
.nav-links { display:flex; gap:22px; font-size:13px; }
.nav-links a { color:#504f4a; }
.nav-links a[aria-current='page'], .nav-links a:hover { color:var(--ink); }
.nav-cta, .button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0 19px; border:1px solid var(--ink); border-radius:999px; font-size:13px; font-weight:700; transition:background .2s,color .2s,transform .2s; }
.nav-cta, .button--dark { background:var(--ink); color:#fff; }
.nav-cta:hover, .button--dark:hover { background:#343434; transform:translateY(-1px); }
.button--light { background:transparent; }
.button--light:hover { background:#fff; }
main { min-height:calc(100vh - 324px); }
.hero { padding:94px 0 78px; border-bottom:1px solid var(--line); }
.eyebrow { margin:0 0 20px; color:var(--muted); font-size:10px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
h1,h2,h3 { font-family:'Space Grotesk',Arial,sans-serif; }
h1 { max-width:900px; margin:0; font-size:clamp(42px,7vw,92px); line-height:.98; letter-spacing:-.075em; }
.intro { max-width:670px; margin:30px 0 0; color:#55534e; font-size:18px; line-height:1.65; }
.actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.section { padding:76px 0; border-bottom:1px solid var(--line); }
.section-label { margin:0 0 15px; color:var(--muted); font-size:10px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.section-title { max-width:720px; margin:0; font-size:clamp(28px,4vw,52px); line-height:1.04; letter-spacing:-.055em; }
.section-copy { max-width:710px; margin:20px 0 0; color:#5c5a54; line-height:1.7; }
.grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; margin-top:38px; }
.case { overflow:hidden; background:var(--card); border:1px solid var(--line); }
.case img { display:block; width:100%; height:360px; object-fit:cover; background:#e7e5df; }
.case-body { padding:23px; }
.case-type { margin:0; color:var(--muted); font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.case h2 { margin:10px 0; font-size:28px; letter-spacing:-.045em; }
.case p:not(.case-type) { margin:0; color:#5b5954; line-height:1.6; font-size:14px; }
.case-link { display:inline-block; margin-top:18px; padding-bottom:3px; border-bottom:1px solid var(--ink); font-size:13px; font-weight:700; }
.steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin-top:34px; }
.step { padding-top:17px; border-top:1px solid var(--ink); }
.step b { display:block; margin-bottom:8px; font-family:'Space Grotesk',Arial,sans-serif; font-size:21px; letter-spacing:-.04em; }
.step p { margin:0; color:#625f59; font-size:14px; line-height:1.55; }
.service-list { margin:36px 0 0; border-top:1px solid var(--line); }
.service { display:grid; grid-template-columns:70px minmax(0,1fr) 170px; gap:22px; padding:28px 0; border-bottom:1px solid var(--line); }
.service-number { color:#898780; font-size:11px; letter-spacing:.12em; }
.service h2 { margin:0; font-size:27px; letter-spacing:-.045em; }
.service p { max-width:620px; margin:11px 0 0; color:#5d5a55; font-size:14px; line-height:1.62; }
.price { font-family:'Space Grotesk',Arial,sans-serif; font-size:20px; font-weight:700; letter-spacing:-.04em; }
.time { display:block; margin-top:5px; color:#77746d; font-size:12px; }
.values { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:36px; }
.value { padding:25px; background:#fff; border:1px solid var(--line); }
.value h2 { margin:0 0 10px; font-size:25px; letter-spacing:-.04em; }
.value p { margin:0; color:#5b5953; font-size:14px; line-height:1.6; }
.note { max-width:840px; padding:28px; margin-top:35px; border:1px solid var(--line); background:#fff; }
.note h2 { margin:0 0 9px; font-size:27px; letter-spacing:-.045em; }
.note p { max-width:660px; margin:0; color:#5d5a55; line-height:1.6; }
.contact-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(250px,.7fr); gap:70px; align-items:start; margin-top:44px; }
.form { display:grid; gap:19px; }
label { display:grid; gap:8px; color:#57554f; font-size:12px; font-weight:700; }
input,textarea { width:100%; padding:13px 14px; border:1px solid #cfcac1; border-radius:0; background:#fff; color:var(--ink); font:16px Manrope,Arial,sans-serif; }
textarea { min-height:152px; resize:vertical; }
.form small { color:#77736d; font-size:12px; line-height:1.5; }
.contact-direct { padding:25px; background:#171717; color:#fff; }
.contact-direct h2 { margin:0 0 20px; font-size:25px; letter-spacing:-.04em; }
.contact-direct a { display:block; margin:11px 0; color:#fff; text-decoration:underline; text-decoration-color:#777; text-underline-offset:4px; font-size:14px; overflow-wrap:anywhere; }
.contact-direct p { margin:25px 0 0; color:#b4b1aa; font-size:13px; line-height:1.6; }
.site-footer { padding:42px 0; background:#171717; color:#fff; }
.footer-grid { display:flex; justify-content:space-between; gap:40px; }
.footer-grid p { max-width:340px; margin:12px 0 0; color:#b4b1aa; font-size:13px; line-height:1.6; }
.footer-links { display:flex; flex-wrap:wrap; align-content:flex-start; gap:13px 18px; font-size:13px; }
.footer-links a { color:#ddd; }
.footer-bottom { display:flex; justify-content:space-between; gap:15px; margin-top:34px; padding-top:16px; border-top:1px solid #3b3b3b; color:#8e8d89; font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
@media (max-width:760px) { .shell { width:min(100% - 32px,1180px); } .site-header { padding:15px 0; } .nav { align-items:flex-start; flex-wrap:wrap; } .nav-links { order:3; width:100%; overflow-x:auto; gap:17px; padding-top:3px; } .nav-cta { min-height:38px; padding:0 14px; } .hero { padding:64px 0 58px; } .intro { font-size:16px; } .section { padding:56px 0; } .grid, .values, .steps { grid-template-columns:1fr; gap:14px; } .case img { height:auto; aspect-ratio:4/3; } .service { grid-template-columns:44px 1fr; gap:11px; } .service .price-wrap { grid-column:2; } .contact-layout { grid-template-columns:1fr; gap:24px; } .footer-grid, .footer-bottom { display:block; } .footer-links { margin-top:26px; } .footer-bottom span { display:block; margin-top:10px; } }
