@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&family=Jost:wght@300;400;500&display=swap');

:root{
  --color-bg: #f3f2f2;
  --color-surface: #eae9e9;
  --color-text: #00167a;
  --color-accent: #b68235;
  --color-divider: color-mix(in srgb, #201f1d 16%, transparent);
  --color-neutral-700: #605d5d; --color-neutral-900: #00167a;
  --color-accent-100: #fff3e4; --color-accent-800: #5a3b0a; --color-accent-700: #7d5411;
  --color-accent-2-100: #fff3e4; --color-accent-2-800: #573d14;
  --font-heading: "Jost", "Poppins", sans-serif;
  --font-heading-weight: 300;
  --font-body: "Poppins", sans-serif;
  --space-1: 4.6px; --space-2: 9.2px; --space-3: 13.8px; --space-4: 18.4px; --space-6: 27.6px; --space-8: 36.8px;
  --radius-sm: 2px; --radius-md: 4px; --radius-lg: 7px;
  --shadow-md: 0 3px 10px color-mix(in srgb, #2d2b2b 16%, transparent);
  --insync-navy: #00167a;
}
*, *::before, *::after { box-sizing: border-box; }
body { margin:0; background:var(--color-bg); color:var(--color-text); font-family:var(--font-body); font-size:15px; line-height:1.55; }
h1,h2,h3,h4,h5,h6{ font-family:var(--font-heading); font-weight:var(--font-heading-weight); line-height:1.12; letter-spacing:-0.015em; margin:0 0 var(--space-2); }
p{ margin:0 0 var(--space-3); }
a{ color:var(--color-accent-700); text-decoration:none; text-underline-offset:3px; }
a:hover{ color:var(--insync-navy); text-decoration:underline; }
img{ display:block; max-width:100%; }
:focus{ outline:none; }
:focus-visible{ outline:2px solid var(--color-accent); outline-offset:2px; }
::selection{ background:color-mix(in srgb, var(--color-accent) 30%, transparent); }
button{ font:inherit; }

.plate{ filter:sepia(0.22) saturate(0.82) contrast(1.05); box-sizing:border-box; border:6px solid var(--color-surface); outline:1px solid var(--color-divider); }
.hr{ height:1px; border:0; margin:var(--space-4) 0; background:var(--color-divider); }
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:6px; cursor:pointer; text-decoration:none;
  font-family:var(--font-heading); font-weight:var(--font-heading-weight); font-size:14px; line-height:1.2; color:var(--color-text);
  background:transparent; border:1px solid transparent; padding:var(--space-2) calc(var(--space-3) * 1.2); border-radius:var(--radius-md); white-space:nowrap; }
.btn-primary{ color:var(--color-accent); border-color:var(--color-accent); }
.btn-primary:hover{ background:color-mix(in srgb, var(--color-accent) 12%, transparent); text-decoration:none; }
.btn-secondary{ border-color:var(--color-divider); }
.btn-secondary:hover{ background:color-mix(in srgb, var(--color-text) 7%, transparent); text-decoration:none; }
.card{ display:flex; flex-direction:column; gap:var(--space-2); padding:var(--space-3); border-radius:var(--radius-md); background:transparent; border:1px solid var(--color-divider); }
.card-kicker{ font-size:10px; letter-spacing:0.1em; text-transform:uppercase; color:var(--color-accent); }
.card-title{ font-family:var(--font-body); font-weight:500; font-size:17px; line-height:1.2; }
.card-body{ margin:0; font-size:13px; opacity:0.8; flex:1; }
.tag{ display:inline-flex; align-items:center; font-size:11px; letter-spacing:0.02em; padding:3px 10px; border-radius:calc(var(--radius-md) * 0.75); }
.tag-accent{ background:var(--color-accent-100); color:var(--color-accent-800); }
.tag-accent-2{ background:var(--color-accent-2-100); color:var(--color-accent-2-800); }
.tag-btn{ border:none; cursor:pointer; }
.nav{ display:flex; align-items:center; gap:var(--space-4); padding:var(--space-3) var(--space-4); border-bottom:1px solid var(--color-divider); position:sticky; top:0; z-index:50; backdrop-filter:blur(6px); background:color-mix(in oklch, var(--color-bg) 88%, transparent); }
.nav-brand{ display:flex; align-items:center; gap:var(--space-2); margin-right:auto; }
.nav a{ color:inherit; }
.check-item{ display:flex; align-items:baseline; gap:var(--space-2); }
.check-mark{ color:var(--color-accent-700); font-size:16px; }

@keyframes logo-intro{ 0%{filter:blur(8px); opacity:0.5;} 100%{filter:blur(0px); opacity:1;} }
@keyframes logo-drift{ 0%,100%{transform:translate(0,0) rotate(0deg);} 25%{transform:translate(6px,-8px) rotate(1deg);} 50%{transform:translate(-4px,4px) rotate(-1deg);} 75%{transform:translate(-8px,-4px) rotate(0.5deg);} }
.hero-mark{ animation: logo-intro 3.2s ease-out 1 both, logo-drift 14s ease-in-out 3.2s infinite; }
.lang-btn{ font-family:var(--font-body); font-size:14px; letter-spacing:0.04em; border:1px solid var(--color-divider); background:transparent; padding:8px 14px; min-height:40px; border-radius:var(--radius-md); cursor:pointer; color:var(--insync-navy); display:flex; align-items:center; gap:6px; }
.lang-btn:hover{ border-color:var(--color-accent); }
.skip-link{ position:absolute; left:8px; top:-60px; background:var(--insync-navy); color:#fff; padding:10px 16px; border-radius:var(--radius-md); font-family:var(--font-body); font-size:15px; z-index:100; transition:top .2s ease; }
.skip-link:focus{ top:8px; }
.cookie-banner{ position:fixed; left:16px; right:16px; bottom:16px; z-index:80; max-width:640px; margin:0 auto; background:var(--color-bg); border:1px solid var(--color-divider); border-radius:var(--radius-md); box-shadow:var(--shadow-md); padding:var(--space-4); display:flex; flex-wrap:wrap; gap:var(--space-3); align-items:center; justify-content:space-between; }
@media (max-width: 700px){ .hero-flex{ flex-direction:column-reverse; } }
@media (max-width: 820px){ .steps-grid{ grid-template-columns:repeat(2, 1fr) !important; } .for-grid-3{ grid-template-columns:repeat(2,1fr) !important; } }
@media (max-width: 560px){ .check-grid-2{ grid-template-columns:1fr !important; } .for-grid-3{ grid-template-columns:1fr !important; } }
@media (prefers-reduced-motion: reduce){ .hero-mark{ animation:none; } }

.container{ max-width:1100px; margin:0 auto; padding:0 clamp(24px, 6vw, 44px); }
.section{ padding-top:var(--space-8); padding-bottom:var(--space-8); scroll-margin-top:90px; }
.hero-section{ position:relative; padding-top:var(--space-8); padding-bottom:var(--space-8); overflow-x:hidden; scroll-margin-top:90px; }
.hero-flex{ display:flex; flex-wrap:wrap; gap:var(--space-8); align-items:center; position:relative; }
.hero-text{ flex:1 1 380px; min-width:0; }
.hero-logo{ flex:0 1 220px; display:flex; justify-content:center; align-self:flex-start; margin-top:-8px; }
.hero-title{ font-weight:400; font-size:clamp(34px, 6vw, 56px); line-height:1.1; margin:0 0 var(--space-4); }
.hero-p{ font-size:17px; line-height:1.7; max-width:60ch; }
.hero-note{ font-size:14px; margin-top:var(--space-4); color:var(--color-neutral-700); }
.grid-3{ display:grid; grid-template-columns:repeat(auto-fit, minmax(220px,1fr)); gap:var(--space-6); }
.for-grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-2) var(--space-6); }
.check-grid-2{ display:grid; grid-template-columns:repeat(2,1fr); gap:var(--space-3) var(--space-6); }
.steps-grid{ display:grid; grid-template-columns:repeat(5, 1fr); gap:var(--space-6); }
.step-num{ font-family:var(--font-heading); font-variant-numeric:tabular-nums; font-size:36px; color:var(--color-accent-700); margin:0 0 var(--space-2); }
.step-text{ font-size:15px; line-height:1.6; }
.about-flex{ display:flex; flex-wrap:wrap; gap:var(--space-8); align-items:start; }
.about-photo{ flex:0 0 190px; width:190px; }
.about-text{ flex:1 1 380px; min-width:0; }
.expertise-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(260px,1fr)); gap:var(--space-6); margin-top:var(--space-6); }
.check-col{ display:flex; flex-direction:column; gap:var(--space-2); }
.contact-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(280px,1fr)); gap:var(--space-8); align-items:start; }
.contact-links{ display:flex; flex-direction:column; align-items:flex-start; gap:var(--space-3); margin-top:var(--space-4); font-size:16px; }
.policy-box{ border:1px solid var(--color-divider); border-radius:var(--radius-md); padding:var(--space-6); }
.wide-p{ font-size:15px; line-height:1.7; max-width:70ch; }
footer.site-footer{ border-top:1px solid var(--color-divider); padding:var(--space-6); text-align:center; }
