:root { --ink:#18312d; --ink-soft:#49605b; --paper:#fbfaf7; --sand:#f1ede5; --sage:#dce5df; --accent:#9c614e; --white:#fff; --border:rgba(24,49,45,.15); --shadow:0 22px 60px rgba(30,48,43,.10); --serif:Georgia,"Times New Roman",serif; --sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); font-size:1rem; line-height:1.7; }
a { color:inherit; } address { font-style:normal; }
.container { width:min(1160px,calc(100% - 40px)); margin-inline:auto; }
.narrow { max-width:820px; }
.section { padding:clamp(80px,10vw,140px) 0; }
.section-tint { background:var(--sand); }
.skip-link { position:fixed; top:12px; left:12px; z-index:100; padding:10px 16px; background:var(--ink); color:white; transform:translateY(-150%); }
.skip-link:focus { transform:translateY(0); }
:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
.site-header { position:sticky; top:0; z-index:50; border-bottom:1px solid var(--border); background:rgba(251,250,247,.94); backdrop-filter:blur(12px); }
.header-inner { min-height:84px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.brand { display:flex; align-items:center; gap:14px; text-decoration:none; line-height:1.25; }
.brand-mark { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:var(--ink); color:var(--paper); font-family:var(--serif); font-size:.9rem; }
.brand strong,.brand small { display:block; }
.brand strong { font-family:var(--serif); font-size:1.08rem; font-weight:500; }
.brand small { color:var(--ink-soft); font-size:.72rem; letter-spacing:.02em; }
nav { display:flex; align-items:center; gap:28px; }
nav a { text-decoration:none; font-size:.88rem; font-weight:600; }
nav a:not(.nav-cta):hover { color:var(--accent); }
.nav-cta { padding:10px 18px; border:1px solid var(--ink); border-radius:999px; }
.hero { min-height:calc(100svh - 85px); display:grid; align-items:center; padding:90px 0; background:radial-gradient(circle at 77% 36%,rgba(220,229,223,.9) 0 17%,transparent 17.2%),linear-gradient(120deg,var(--paper),#f6f2eb); }
.hero-grid { display:grid; grid-template-columns:1.55fr .65fr; gap:clamp(50px,8vw,120px); align-items:end; }
.eyebrow,.section-kicker { margin:0 0 18px; color:var(--accent); font-size:.75rem; font-weight:750; letter-spacing:.15em; text-transform:uppercase; }
h1,h2,h3,p { text-wrap:pretty; }
h1 { max-width:900px; margin:0; font-family:var(--serif); font-size:clamp(3.2rem,7vw,6.8rem); font-weight:400; letter-spacing:-.055em; line-height:.95; }
h1 em { color:var(--accent); font-weight:400; }
.lead { max-width:680px; margin:32px 0 0; color:var(--ink-soft); font-size:clamp(1.08rem,2vw,1.3rem); }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:30px; margin-top:40px; }
.button { display:inline-flex; min-height:50px; align-items:center; justify-content:center; padding:12px 24px; border:1px solid var(--ink); border-radius:999px; background:var(--ink); color:white; font-weight:700; text-decoration:none; transition:transform .2s ease,background .2s ease; }
.button:hover { transform:translateY(-2px); background:#24443f; }
.text-link { font-weight:700; text-underline-offset:5px; }
.hero-card { padding:30px; border:1px solid var(--border); background:rgba(255,255,255,.67); box-shadow:var(--shadow); }
.card-label { margin:0 0 28px; color:var(--accent); font-size:.72rem; font-weight:750; letter-spacing:.13em; text-transform:uppercase; }
.hero-card address { margin-bottom:20px; font-family:var(--serif); font-size:1.35rem; line-height:1.4; }
.hero-card>a { font-size:.86rem; overflow-wrap:anywhere; }
.card-note { margin:32px 0 0; padding-top:18px; border-top:1px solid var(--border); color:var(--ink-soft); font-size:.78rem; }
h2 { margin:0; font-family:var(--serif); font-size:clamp(2.4rem,5vw,4.6rem); font-weight:400; letter-spacing:-.045em; line-height:1.05; }
.intro p:last-child { margin:32px 0 0; color:var(--ink-soft); font-size:1.15rem; }
.section-heading { display:grid; grid-template-columns:1.2fr .65fr; gap:60px; align-items:end; margin-bottom:60px; }
.section-heading>p { margin:0; color:var(--ink-soft); }
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.service-card { min-height:510px; display:flex; flex-direction:column; padding:34px; border:1px solid var(--border); background:var(--paper); }
.card-number { color:var(--accent); font-family:var(--serif); font-size:.9rem; }
.service-card h3,.evaluation h3,.steps h3 { margin:44px 0 16px; font-family:var(--serif); font-size:1.8rem; font-weight:400; line-height:1.15; }
.service-card p { margin:0; color:var(--ink-soft); }
.service-card ul { margin:auto 0 0; padding:28px 0 0; border-top:1px solid var(--border); list-style:none; }
.service-card li { padding:7px 0; font-size:.9rem; }
.service-card li::before { content:"—"; margin-right:10px; color:var(--accent); }
.evaluation { display:grid; grid-template-columns:.8fr 1.2fr; gap:50px; margin-top:18px; padding:38px; background:var(--ink); color:var(--white); }
.evaluation .section-kicker { color:#dfaa97; }
.evaluation h3 { margin:0; }
.evaluation>p { margin:0; color:#ced8d5; }
.method-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(60px,10vw,140px); }
.method-intro>p:last-child { margin-top:28px; color:var(--ink-soft); }
.steps { margin:0; padding:0; list-style:none; }
.steps li { display:grid; grid-template-columns:58px 1fr; gap:22px; padding:30px 0; border-bottom:1px solid var(--border); }
.steps li:first-child { padding-top:0; }
.steps span { width:48px; height:48px; display:grid; place-items:center; border:1px solid var(--border); border-radius:50%; color:var(--accent); font-family:var(--serif); }
.steps h3 { margin:0 0 8px; }
.steps p { margin:0; color:var(--ink-soft); }
.profile { background:var(--sage); }
.profile-grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:clamp(60px,10vw,150px); }
.qualification { margin:28px 0 0; color:var(--ink-soft); }
.profile-copy { font-size:1.05rem; }
.profile-copy p { margin:0 0 22px; }
.profile-current { padding:22px 0 0; border-top:1px solid rgba(24,49,45,.2); font-weight:700; }
.contact { background:var(--ink); color:white; }
.contact .section-kicker { color:#dfaa97; }
.contact-grid { display:grid; grid-template-columns:1.1fr .7fr; gap:clamp(60px,9vw,130px); }
.contact-grid>div:first-child>p:last-child { max-width:650px; color:#c9d5d2; }
.contact-details { display:flex; flex-direction:column; gap:30px; }
.contact-details>div { padding-bottom:24px; border-bottom:1px solid rgba(255,255,255,.2); }
.contact-details span { display:block; margin-bottom:8px; color:#aebfba; font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.contact-details a { overflow-wrap:anywhere; }
.button-light { align-self:flex-start; border-color:white; background:white; color:var(--ink); }
.button-light:hover { background:var(--sage); }
.site-footer { padding:38px 0; background:#102521; color:#aebfba; font-size:.75rem; }
.footer-grid { display:grid; grid-template-columns:.8fr 1.5fr auto; gap:50px; align-items:start; }
.footer-grid p { margin:0; }
.footer-grid strong { color:white; }
@media (max-width:860px) { nav a:not(.nav-cta){display:none}.hero{min-height:auto}.hero-grid,.section-heading,.method-grid,.profile-grid,.contact-grid{grid-template-columns:1fr}.hero-card{max-width:430px}.cards{grid-template-columns:1fr}.service-card{min-height:auto}.service-card ul{margin-top:30px}.evaluation{grid-template-columns:1fr;gap:20px}.footer-grid{grid-template-columns:1fr;gap:22px} }
@media (max-width:540px) { .container{width:min(100% - 28px,1160px)}.header-inner{min-height:72px}.brand small{display:none}.nav-cta{padding:8px 13px}.hero{padding:70px 0}h1{font-size:clamp(2.8rem,15vw,4.4rem)}.section{padding:76px 0}.service-card,.evaluation{padding:26px} }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important} }
