
:root {
  --reed: #4F6F52;
  --forest: #203528;
  --copper: #B87333;
  --white: #fff;
  --warm: #F7F4EF;
  --pale: #E6EDE3;
  --charcoal: #1F2421;
  --slate: #5F6B63;
  --line: rgba(31,36,33,.13);
  --shadow: 0 24px 60px rgba(32,53,40,.10);
  --radius: 24px;
  --max: 1160px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--charcoal); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; background: #fff; line-height: 1.55; font-size: 16px; }
a { color: inherit; }
p { margin: 0 0 1rem; color: var(--slate); }
h1,h2,h3 { color: var(--forest); line-height: 1.03; margin: 0 0 1rem; letter-spacing: -0.04em; }
h1 { font-size: clamp(3.4rem, 7vw, 6.4rem); max-width: 760px; }
h2 { font-size: clamp(2.2rem, 4vw, 4rem); }
h3 { font-size: 1.25rem; letter-spacing: -0.02em; }
.container { max-width: var(--max); margin: 0 auto; padding: 0 28px; }
.skip-link { position:absolute; left:-999px; top:1rem; background:var(--forest); color:#fff; padding:.75rem 1rem; z-index:100; }
.skip-link:focus { left:1rem; }
.site-header { position: sticky; top: 0; z-index: 30; background: rgba(255,255,255,.94); backdrop-filter: blur(14px); border-bottom: 1px solid var(--line); }
.header-inner { display:flex; align-items:center; justify-content:space-between; min-height: 92px; gap: 28px; }
.logo-img { width: 170px; height: auto; display:block; }
.logo-link { display:inline-flex; text-decoration:none; }
.site-nav { display:flex; align-items:center; gap: 26px; font-weight: 700; color: rgba(31,36,33,.72); }
.site-nav a { text-decoration:none; border-bottom: 2px solid transparent; padding: .35rem 0; }
.site-nav a:hover, .site-nav a[aria-current="page"] { color: var(--forest); border-bottom-color: var(--copper); }
.nav-toggle { display:none; border:1px solid var(--line); border-radius:999px; background:#fff; padding:.65rem 1rem; font-weight:700; color:var(--forest); }
.btn { display:inline-flex; align-items:center; justify-content:center; border-radius: 999px; padding: .9rem 1.3rem; min-height: 48px; font-weight: 800; text-decoration: none; border: 1px solid transparent; transition: transform .15s ease, box-shadow .15s ease, background .15s ease; cursor: pointer; font-family: inherit; font-size: 1rem; }
.btn:hover { transform: translateY(-1px); }
.btn-primary { background: var(--forest); color: #fff !important; box-shadow: 0 12px 26px rgba(32,53,40,.18); border-color: var(--forest); }
.btn-secondary { background: #fff; color: var(--forest); border-color: var(--line); }
.btn-small { padding: .65rem 1rem !important; min-height: 40px; font-size: .9rem; border-bottom: none !important; }
.hero { padding: 98px 0 92px; background: linear-gradient(90deg, rgba(255,255,255,.96), rgba(255,255,255,.78)), linear-gradient(rgba(32,53,40,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(32,53,40,.06) 1px, transparent 1px); background-size: auto, 40px 40px, 40px 40px; }
.hero-grid { display:grid; grid-template-columns: 1.12fr .88fr; gap: 56px; align-items:center; }
.kicker { display:flex; align-items:center; gap: .75rem; text-transform: uppercase; color: var(--forest); font-weight: 900; letter-spacing: .13em; font-size: .78rem; margin-bottom: 1.2rem; }
.kicker:before { content:""; width: 36px; height: 2px; background: var(--copper); display:inline-block; }
.lead { font-size: clamp(1.14rem, 2vw, 1.38rem); max-width: 700px; color: var(--slate); }
.hero-actions { display:flex; gap: 14px; flex-wrap:wrap; margin: 30px 0; }
.trust-row { display:flex; flex-wrap:wrap; gap: 12px; }
.trust-pill { border: 1px solid var(--line); background:#fff; border-radius:999px; padding:.58rem .9rem; color:var(--forest); font-weight:800; font-size:.9rem; }
.trust-pill:before { content:""; display:inline-block; width:7px; height:7px; background:var(--copper); border-radius:50%; margin-right:.5rem; vertical-align:1px; }
.intel-card { background: rgba(255,255,255,.88); border: 1px solid var(--line); border-radius: 28px; box-shadow: var(--shadow); padding: 26px; }
.intel-card-content { border-radius: 20px; background: linear-gradient(140deg,#fff,var(--warm)); padding: 28px; }
.intel-card-header { display:flex; justify-content:space-between; gap: 18px; align-items:flex-start; }
.card-label { text-transform:uppercase; font-weight:900; letter-spacing:.12em; color: var(--copper); font-size:.8rem; }
.status-dot { width: 22px; height: 22px; border-radius:50%; background:var(--copper); box-shadow: inset 0 0 0 7px rgba(255,255,255,.72); flex:0 0 auto; }
.signal-lines { display:grid; gap:11px; margin: 24px 0; }
.signal-line { height: 12px; border-radius:999px; background: var(--pale); overflow:hidden; }
.signal-line span { display:block; height:100%; border-radius:999px; background: linear-gradient(90deg,var(--reed),var(--copper)); }
.intel-grid-mini { display:grid; grid-template-columns:1fr 1fr; gap: 12px; }
.mini-stat { padding: 16px; border:1px solid var(--line); border-radius:12px; background: rgba(255,255,255,.78); }
.mini-stat strong { display:block; color:var(--forest); font-size:1.4rem; margin-bottom:.25rem; }
.mini-stat span { color:var(--slate); font-size:.9rem; }
.section { padding: 88px 0; }
.section-sm { padding: 60px 0; }
.section-muted { background: var(--warm); }
.section-heading { display:grid; grid-template-columns:1.1fr .9fr; gap: 44px; align-items:end; margin-bottom: 42px; }
.card-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.service-card, .process-card, .info-card { background:#fff; border:1px solid var(--line); border-radius:20px; padding:28px; box-shadow: 0 10px 30px rgba(32,53,40,.04); }
.service-card.featured { border-color: rgba(184,115,51,.45); background: linear-gradient(180deg,#fff,var(--warm)); }
.card-icon { width:42px; height:42px; border-radius:14px; background:var(--pale); display:flex; align-items:center; justify-content:center; margin-bottom: 24px; color:var(--forest); border:1px solid rgba(79,111,82,.16); }
.card-icon svg { width:23px; height:23px; stroke: currentColor; }
.price-line { color: var(--forest); font-weight: 900; margin-top: 1rem; }
.price-line span { color: var(--copper); }
.feature-band { display:grid; grid-template-columns:.85fr 1.15fr; gap: 46px; background:var(--forest); color:#fff; border-radius:28px; padding:44px; }
.feature-band h2, .feature-band p, .feature-band .kicker { color:#fff; }
.feature-band .kicker:before { background:var(--copper); }
.check-list { list-style:none; padding:0; margin:0; display:grid; gap:14px; }
.check-list li { position:relative; padding-left:32px; color:rgba(255,255,255,.88); }
.check-list li:before { content:""; position:absolute; left:0; top:.45rem; width:15px; height:15px; background:var(--copper); border-radius:50%; box-shadow: inset 0 0 0 5px rgba(255,255,255,.55); }
.process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.step-number { display:inline-flex; width:38px; height:38px; border-radius:999px; align-items:center; justify-content:center; background:var(--forest); color:#fff; font-weight:900; margin-bottom:18px; }
.cta-panel { display:flex; justify-content:space-between; align-items:center; gap:28px; background:var(--warm); border:1px solid var(--line); border-radius:28px; padding:42px; }
.cta-panel h2 { font-size: clamp(1.8rem, 3vw, 3rem); max-width:820px; }
.page-hero { padding: 76px 0 54px; background: linear-gradient(135deg,#fff,var(--warm)); border-bottom:1px solid var(--line); }
.page-hero h1 { font-size: clamp(3rem, 6vw, 5rem); }
.content-grid { display:grid; grid-template-columns: .75fr 1.25fr; gap:48px; align-items:start; }
.sidebar-box { position: sticky; top: 120px; border:1px solid var(--line); border-radius:20px; padding:24px; background:#fff; }
.sidebar-box a { display:block; text-decoration:none; color:var(--forest); font-weight:800; margin:.45rem 0; }
.long-copy { max-width: 860px; }
.long-copy h2 { font-size:2.2rem; margin-top:2.4rem; }
.long-copy h3 { margin-top:1.6rem; }
.long-copy ul { color: var(--slate); }
.notice { border-left:4px solid var(--copper); background:var(--warm); padding:18px 20px; border-radius:12px; margin:22px 0; color: var(--slate); }
.service-detail { border-top:1px solid var(--line); padding:34px 0; }
.service-detail:first-child { border-top:0; padding-top:0; }
.service-detail .meta { font-weight:900; color:var(--copper); text-transform:uppercase; letter-spacing:.08em; font-size:.78rem; margin-bottom:.5rem; }
.form-card { background:#fff; border:1px solid var(--line); border-radius:28px; padding:38px; box-shadow:var(--shadow); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-field { display:grid; gap:8px; margin-bottom:16px; }
label { font-weight:900; color:var(--forest); }
input, select, textarea { width:100%; border:1px solid var(--line); border-radius:14px; padding: 14px 16px; font:inherit; color:var(--charcoal); background:#fff; }
textarea { min-height:140px; resize:vertical; }
input:focus, select:focus, textarea:focus { outline: 3px solid rgba(184,115,51,.25); border-color: var(--copper); }
.full { grid-column:1/-1; }
.small-print { color:var(--slate); font-size:.88rem; }
.inline-link { color:var(--forest); font-weight:900; text-decoration: underline; text-decoration-color: var(--copper); text-underline-offset: 3px; }
.site-footer { background:var(--forest); color:#fff; padding:54px 0 26px; }
.footer-grid { display:grid; grid-template-columns:1.2fr .7fr 1.1fr; gap:38px; }
.footer-logo { width:170px; background:#fff; border-radius:12px; padding:8px; margin-bottom:18px; }
.footer-heading { color:#fff; font-weight:900; margin-bottom:12px; }
.footer-links { display:grid; gap:8px; }
.footer-links a, .site-footer a { color:rgba(255,255,255,.88); text-decoration:none; }
.footer-links a:hover, .site-footer a:hover { color:#fff; text-decoration:underline; text-decoration-color:var(--copper); }
.site-footer p { color:rgba(255,255,255,.76); }
.footer-bottom { border-top:1px solid rgba(255,255,255,.16); margin-top:36px; padding-top:20px; color:rgba(255,255,255,.65); font-size:.9rem; display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; }
@media (max-width: 920px) { .hero-grid, .section-heading, .feature-band, .content-grid { grid-template-columns:1fr; } .card-grid { grid-template-columns:1fr 1fr; } .process-grid { grid-template-columns:1fr 1fr; } .footer-grid { grid-template-columns:1fr; } .sidebar-box { position:static; } }
@media (max-width: 720px) { .header-inner { min-height:74px; } .logo-img { width:135px; } .nav-toggle { display:inline-flex; } .site-nav { position:absolute; left:20px; right:20px; top:74px; background:#fff; border:1px solid var(--line); border-radius:18px; padding:18px; flex-direction:column; align-items:stretch; gap:12px; box-shadow:var(--shadow); display:none; } .site-nav.is-open { display:flex; } .hero { padding:64px 0; } h1 { font-size: clamp(3rem, 15vw, 4.4rem); } .card-grid, .process-grid, .form-grid { grid-template-columns:1fr; } .full { grid-column:auto; } .cta-panel { flex-direction:column; align-items:flex-start; } .intel-grid-mini { grid-template-columns:1fr; } }
