:root { color-scheme: light; --ink:#153e34; --forest:#073c32; --muted:#586d63; --paper:#f5f5ed; --line:#d8ded5; --accent:#c6e2bf; font-family:Arial,Helvetica,sans-serif; color:var(--ink); background:var(--paper); }
* { box-sizing:border-box; }
body { margin:0; }
a { color:inherit; text-underline-offset:.22em; }
a:focus-visible { outline:3px solid #c95834; outline-offset:5px; }
.skip { position:absolute; top:-100px; left:1rem; padding:1rem; background:white; z-index:10; }.skip:focus { top:1rem; }
.site-header { width:min(1240px,calc(100% - 3rem)); height:92px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.brand { display:flex; align-items:center; gap:.65rem; font-size:1.25rem; font-weight:750; letter-spacing:-.035em; text-decoration:none; white-space:nowrap; }
.brand > span { width:2.15rem; height:2.15rem; display:grid; place-items:center; border-radius:6px; background:var(--forest); color:white; font-family:Georgia,serif; font-size:1.45rem; font-weight:400; }
.site-header nav { display:flex; align-items:center; gap:2rem; font-size:.88rem; font-weight:600; }.site-header nav a { text-decoration:none; }.nav-contact { padding:.8rem 1.25rem; border:1px solid #94a59a; border-radius:7px; }
.availability { display:flex; align-items:center; gap:1rem; padding:1rem max(1.5rem,calc((100% - 1240px)/2)); background:#ece4d1; border-top:1px solid #d9cbaa; border-bottom:1px solid #d9cbaa; font-size:.82rem; line-height:1.5; }.availability p { margin:0; flex:1; }.availability a { font-weight:700; white-space:nowrap; }.status-dot { display:inline-block; flex:none; width:.55rem; height:.55rem; border-radius:50%; background:#885919; }
.hero { background:var(--forest); color:white; padding:5.5rem max(1.5rem,calc((100% - 1240px)/2)) 5.8rem; display:grid; grid-template-columns:1.35fr 1fr; align-items:center; gap:5rem; }.hero-copy { max-width:680px; }
.eyebrow { display:flex; align-items:center; gap:.6rem; font-size:.72rem; line-height:1.5; letter-spacing:.15em; font-weight:750; text-transform:uppercase; }.hero .eyebrow { color:#c0d8b5; }.eyebrow > span:not(.status-dot) { display:inline-block; width:1.3rem; height:1px; background:currentColor; }
h1,h2,h3,p { overflow-wrap:break-word; }
.hero h1 { font:400 clamp(2.7rem,4.7vw,4.4rem)/1.07 Georgia,'Times New Roman',serif; letter-spacing:-.045em; margin:1.3rem 0 1.6rem; }.lede { font-size:1.08rem; line-height:1.75; }.hero .lede { max-width:580px; color:#d0ded2; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:1.6rem; margin-top:2rem; }.button { display:inline-flex; align-items:center; justify-content:space-between; gap:1.3rem; padding:1rem 1.35rem; border-radius:7px; background:var(--forest); color:white; text-decoration:none; font-size:.9rem; font-weight:750; line-height:1.5; }.hero .button { color:var(--forest); background:var(--accent); }.button:hover { filter:brightness(1.12); }.text-link { font-size:.83rem; }.assurance { font-size:.74rem; line-height:1.6; color:#b9cebf; margin-top:1.8rem; }
.evidence-panel { padding:2rem; border:1px solid #709080; border-radius:15px; background:#124b3f; }.panel-heading { display:flex; justify-content:space-between; gap:1rem; font-size:.65rem; letter-spacing:.14em; color:#d3e6bf; border-bottom:1px solid #597868; padding-bottom:1.3rem; }.evidence-panel ol { list-style:none; padding:0; margin:0; }.evidence-panel li { display:flex; gap:1rem; padding:1.4rem 0; border-bottom:1px solid #597868; }.step-number { font-size:.75rem; padding-top:.2rem; color:#d3e6bf; }.evidence-panel h2 { font:400 1.35rem/1.3 Georgia,serif; margin:0 0 .5rem; }.evidence-panel li p { font-size:.8rem; line-height:1.65; color:#d0ded2; margin:0; }.panel-note { margin:1.25rem 0 0; font-size:.72rem; line-height:1.65; color:#c6d8cc; }
.services { width:min(1240px,calc(100% - 3rem)); margin:auto; padding:5.5rem 0; }.section-heading { max-width:660px; }.section-heading h2,.contact h2 { font:400 clamp(2.2rem,3.6vw,3.2rem)/1.12 Georgia,serif; letter-spacing:-.035em; margin:1rem 0; }.section-heading > p:last-child { color:var(--muted); line-height:1.7; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; margin-top:2.5rem; }.service-grid article { padding:2rem; border:1px solid var(--line); border-radius:12px; background:#fffdf7; }.card-number { font-size:.65rem; letter-spacing:.13em; color:#506b5e; font-weight:750; }.service-grid h3 { font:400 1.55rem/1.25 Georgia,serif; letter-spacing:-.02em; margin:1.8rem 0 1rem; }.service-grid p { color:var(--muted); font-size:.87rem; line-height:1.8; }.service-grid .card-outcome { border-top:1px solid var(--line); padding-top:1rem; color:var(--ink); }
.contact { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:5rem; padding:3.8rem max(1.5rem,calc((100% - 1240px)/2)); background:#dce8d8; border-top:1px solid #c8d6c4; border-bottom:1px solid #c8d6c4; }.contact > div > p:not(.eyebrow) { color:#455f50; max-width:560px; line-height:1.7; font-size:.92rem; }.contact-action .button { font-size:1rem; }.contact-action p { max-width:470px; font-size:.76rem; color:#455f50; line-height:1.8; margin-top:1.3rem; }
.site-footer { width:min(1240px,calc(100% - 3rem)); margin:auto; padding:2rem 0; display:flex; align-items:center; gap:2rem; justify-content:space-between; }.site-footer .brand { font-size:1.05rem; }.site-footer p { font-size:.72rem; color:var(--muted); line-height:1.6; }.site-footer > a:last-child { font-size:.75rem; white-space:nowrap; }
.status-main { width:min(760px,calc(100% - 3rem)); min-height:calc(100vh - 220px); margin:auto; padding:4rem 0; }.status-card { background:#fffdf7; border:1px solid var(--line); padding:clamp(1.5rem,5vw,3.5rem); border-radius:15px; }.status-card h1 { font:400 clamp(2.1rem,5vw,3rem)/1.14 Georgia,serif; letter-spacing:-.035em; }.status-card > p { line-height:1.8; color:var(--muted); }.status-list { margin:2rem 0; border-top:1px solid var(--line); }.status-list p { display:grid; grid-template-columns:1fr 2fr; gap:1rem; font-size:.87rem; line-height:1.7; padding:1.25rem 0; margin:0; border-bottom:1px solid var(--line); }.status-list span { color:var(--muted); }.status-card .button { margin-top:1rem; }
.privacy-notice { width:min(900px,calc(100% - 3rem)); margin:1rem auto 0; padding:1rem 1.25rem; background:#ece4d1; border:1px solid #d9cbaa; border-radius:8px; font-size:.82rem; line-height:1.7; }.privacy-main { width:min(820px,calc(100% - 3rem)); margin:3rem auto 5rem; color:#253c32; line-height:1.8; }.privacy-main h1 { font:400 3rem/1.15 Georgia,serif; }.privacy-main h2 { font-size:1.3rem; margin-top:2.5rem; line-height:1.5; }.privacy-main h3 { font-size:1.02rem; line-height:1.5; }.privacy-main p,.privacy-main li { font-size:.95rem; }.privacy-effective,.privacy-eyebrow { color:var(--muted); font-size:.8rem!important; }.privacy-main address { font-style:normal; }
@media (max-width:1000px) { .hero { gap:2.5rem; grid-template-columns:1.1fr 1fr; padding-top:4rem; padding-bottom:4rem; }.evidence-panel { padding:1.5rem; }.service-grid article { padding:1.5rem; }.contact { gap:3rem; } }
@media (max-width:760px) { .site-header { width:calc(100% - 2rem); height:80px; }.site-header nav { gap:1rem; font-size:.75rem; }.site-header nav > a:first-child { display:none; }.brand { font-size:1.1rem; }.nav-contact { padding:.6rem .85rem; }.availability { align-items:flex-start; padding:1rem; gap:.75rem; flex-wrap:wrap; }.availability .status-dot { margin-top:.4rem; }.availability p { flex-basis:calc(100% - 2rem); }.availability > a { margin-left:1.3rem; }.hero { grid-template-columns:1fr; gap:2.8rem; padding:3rem 1rem; }.hero h1 { font-size:clamp(2.65rem,9vw,4rem); }.hero .lede { font-size:1rem; }.hero-actions { gap:1.25rem; }.evidence-panel { max-width:600px; }.services { width:calc(100% - 2rem); padding:3.5rem 0; }.service-grid { grid-template-columns:1fr; }.service-grid h3 { margin-top:1.2rem; }.contact { grid-template-columns:1fr; gap:1.2rem; padding:3rem 1rem; }.site-footer { width:calc(100% - 2rem); align-items:flex-start; flex-direction:column; gap:.75rem; }.site-footer p { margin:.2rem 0; }.status-main { width:calc(100% - 2rem); padding:2rem 0; }.status-list p { grid-template-columns:1fr; gap:.3rem; }.privacy-main,.privacy-notice { width:calc(100% - 2rem); } }
