/* Athens Websites — design tokens are the source of truth */
:root{
  --navy-900:#14213a; --navy-700:#1f3358; --navy-100:#e6ebf5;
  --clay-600:#b4492b; --clay-700:#963a20; --clay-100:#f8e6df;
  --cream-50:#fbf7f0; --cream-100:#f3ecdf; --ink:#1d2433; --muted:#566074; --white:#fff;
  --font-head:"Fraunces",Georgia,serif; --font-body:"Inter",system-ui,sans-serif;
  --space-1:.5rem; --space-2:1rem; --space-3:1.5rem; --space-4:2.5rem; --space-5:4.5rem;
  --radius:14px; --shadow:0 10px 30px rgba(20,33,58,.12); --max:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font-body);color:var(--ink);background:var(--cream-50);line-height:1.65;font-size:1.0625rem}
img{max-width:100%;display:block}
a{color:var(--clay-700)}
h1,h2,h3{font-family:var(--font-head);color:var(--navy-900);line-height:1.15;margin:0 0 var(--space-2)}
h1{font-size:clamp(2.2rem,5.5vw,3.6rem)} h2{font-size:clamp(1.7rem,3.6vw,2.4rem)} h3{font-size:1.3rem}
p{margin:0 0 var(--space-2)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--space-3)}
.skip{position:absolute;left:-999px;top:0;background:var(--navy-900);color:var(--white);padding:.7rem 1rem;z-index:100}
.skip:focus{left:var(--space-2);top:var(--space-1)}
:focus-visible{outline:3px solid var(--clay-600);outline-offset:3px}
header.site{background:var(--navy-900);position:sticky;top:0;z-index:50}
.bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:68px}
.logo{font-family:var(--font-head);font-weight:700;font-size:1.35rem;color:var(--white);text-decoration:none}
.logo span{color:#f0a58c}
nav ul{display:flex;gap:var(--space-3);list-style:none;margin:0;padding:0;align-items:center}
nav a{color:var(--navy-100);text-decoration:none;font-weight:500}
nav a:hover,nav a[aria-current="page"]{color:var(--white);text-decoration:underline;text-underline-offset:6px}
.menu-btn{display:none;background:none;border:1px solid var(--navy-100);color:var(--white);border-radius:8px;padding:.5rem .8rem;font:inherit;cursor:pointer}
.btn{display:inline-block;background:var(--clay-600);color:var(--white);text-decoration:none;font-weight:700;padding:.9rem 1.5rem;border-radius:999px;border:2px solid var(--clay-600);transition:background .15s}
.btn:hover{background:var(--clay-700);border-color:var(--clay-700)}
.btn.alt{background:transparent;color:var(--white);border-color:var(--white)}
.btn.alt:hover{background:var(--white);color:var(--navy-900)}
.btn.dark{background:transparent;color:var(--navy-900);border-color:var(--navy-900)}
.btn.dark:hover{background:var(--navy-900);color:var(--white)}
.btn-row{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-3)}
.hero{background:linear-gradient(135deg,var(--navy-900),var(--navy-700));color:var(--navy-100);padding:var(--space-5) 0}
.hero h1{color:var(--white)} .hero p.lead{font-size:1.25rem;max-width:42rem}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;font-weight:700;color:#f0a58c;margin-bottom:var(--space-1)}
section.block{padding:var(--space-5) 0}
section.alt{background:var(--cream-100)}
.grid{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.card{background:var(--white);border-radius:var(--radius);padding:var(--space-3);box-shadow:var(--shadow);border-top:5px solid var(--clay-600)}
.card p{color:var(--muted);margin:0}
.split{display:grid;gap:var(--space-4);grid-template-columns:1fr 1fr;align-items:center}
.ph{aspect-ratio:4/3;border-radius:var(--radius);background:repeating-linear-gradient(45deg,var(--navy-100),var(--navy-100) 14px,#d9e0ee 14px,#d9e0ee 28px);display:grid;place-items:center;text-align:center;color:var(--navy-700);font-weight:600;padding:var(--space-2)}
.clients{list-style:none;margin:var(--space-3) 0 0;padding:0;display:grid;gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.clients li:nth-last-child(3){opacity:.6}
.clients li:nth-last-child(2){opacity:.35}
.clients li:nth-last-child(1){opacity:.12}
.clients li{background:var(--white);border-left:5px solid var(--clay-600);border-radius:10px;padding:.9rem 1.1rem;font-weight:600;color:var(--navy-900);box-shadow:0 4px 14px rgba(20,33,58,.08)}
.more{margin-top:var(--space-2);text-align:center;font-family:var(--font-head);font-size:1.3rem;color:var(--navy-700)}
.center{text-align:center}
.center .sub{max-width:40rem;margin-left:auto;margin-right:auto}
.nb{white-space:nowrap}
#reviews{overflow-x:clip}
.recs{width:100vw;margin-left:calc(50% - 50vw);--li-shadow:none;--li-shadow-active:0 12px 32px rgba(20,33,58,.16)}
.recs{--li-card:var(--white);--li-text:var(--ink);--li-muted:var(--muted);--li-accent:var(--clay-700);--li-font:var(--font-body);--li-arrow:rgba(20,33,58,.85);--li-dot:#c8d0e0;--li-dot-active:var(--clay-600);--li-radius:var(--radius);--li-top:5px solid var(--clay-600);--li-shadow:0 1px 4px rgba(20,33,58,.14);margin-top:var(--space-3)}
.who{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2)}
.who h2{margin:0}
.who .eyebrow{margin-bottom:.3rem}
.headshot{flex:0 0 auto;width:132px;height:132px;border-radius:50%;object-fit:cover;border:5px solid var(--white);box-shadow:0 0 0 3px var(--clay-600),var(--shadow)}
@media (max-width:520px){.headshot{width:96px;height:96px}.who{gap:var(--space-2)}}
.photo{width:100%;height:auto;border-radius:var(--radius);box-shadow:var(--shadow)}
.cta{background:var(--clay-600);color:var(--white);text-align:center;padding:var(--space-5) 0}
.cta h2{color:var(--white)} .cta .btn{background:var(--white);color:var(--clay-700);border-color:var(--white)}
.cta .btn.alt{background:transparent;color:var(--white)}
.towns{display:flex;flex-wrap:wrap;gap:.6rem;list-style:none;padding:0;margin:var(--space-2) 0 0}
.towns li{background:var(--white);border:1px solid var(--navy-100);padding:.4rem .9rem;border-radius:999px;font-weight:500}
ul.check{padding-left:1.2rem} ul.check li{margin-bottom:.4rem}
form{display:grid;gap:var(--space-2);max-width:560px}
label{font-weight:600;display:grid;gap:.3rem}
input,textarea,select{font:inherit;padding:.8rem;border:1px solid #b9c2d3;border-radius:10px;background:var(--white)}
.hp{position:absolute;left:-9999px}
footer.site{background:var(--navy-900);color:var(--navy-100);padding:var(--space-4) 0;font-size:.95rem}
footer.site a{color:var(--white)}
.foot{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
@media (max-width:820px){
  .split{grid-template-columns:1fr}
  .menu-btn{display:block}
  nav{display:none;width:100%}
  nav.open{display:block}
  .bar{flex-wrap:wrap;padding-top:.6rem;padding-bottom:.6rem}
  nav ul{flex-direction:column;align-items:flex-start;padding:var(--space-2) 0}
}
