
:root{--ink:#22302e;--base:#f3f5f4;--brick:#8e3b2c;--brick-d:#732f22;
--moss:#59705f;--copper:#b0722f;--line:#d8dad4;--white:#ffffff}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{font-family:'Source Sans 3',system-ui,sans-serif;color:var(--ink);
background:var(--base);font-size:17px;line-height:1.65}
h1,h2,h3{font-family:'Bitter',Georgia,serif;line-height:1.2;font-weight:700}
h1{font-size:clamp(1.7rem,5vw,2.6rem)}
h2{font-size:clamp(1.3rem,3.6vw,1.7rem);margin:2.2rem 0 .7rem}
h3{font-size:1.12rem;margin:1.4rem 0 .4rem}
p{margin:.7rem 0}
a{color:var(--brick)}
a:focus-visible,button:focus-visible{outline:3px solid var(--copper);outline-offset:2px}
.wrap{max-width:880px;margin:0 auto;padding:0 1.1rem}
/* top bar */
.bar{background:var(--ink);color:var(--white);position:sticky;top:0;z-index:50}
.bar .wrap{display:flex;align-items:center;justify-content:space-between;
padding:.55rem 1.1rem;gap:.6rem}
.bar a{color:var(--white);text-decoration:none}
.logo{font-family:'Bitter',serif;font-weight:700;font-size:1.02rem;line-height:1.15}
.logo span{color:var(--copper);display:block;font-size:.72rem;font-weight:400;
letter-spacing:.08em;text-transform:uppercase}
.call{background:var(--brick);padding:.5rem .85rem;border-radius:4px;
font-weight:700;white-space:nowrap;font-size:.95rem}
.call:hover{background:var(--brick-d)}
/* brick-course divider: the signature */
.course{height:14px;background:
repeating-linear-gradient(90deg,var(--brick) 0 46px,var(--line) 46px 50px) 0 0/100px 7px,
repeating-linear-gradient(90deg,var(--line) 0 4px,var(--brick) 4px 50px,var(--line) 50px 54px,var(--brick) 54px 100px) 0 7px/100px 7px;
background-repeat:repeat-x}
/* hero */
.hero{background:var(--ink);color:var(--white);padding:2.6rem 0 2.4rem}
.hero p{color:#c9d2ce;max-width:38rem}
.hero .cta{display:inline-block;background:var(--brick);color:var(--white);
padding:.8rem 1.3rem;border-radius:4px;font-weight:700;text-decoration:none;
margin-top:1rem}
.hero .cta:hover{background:var(--brick-d)}
.hero .sub{font-size:.9rem;color:#9fb0a9;margin-top:.8rem}
/* sections */
main{padding:1.4rem 0 2.5rem}
.card{background:var(--white);border:1px solid var(--line);border-radius:6px;
padding:1.1rem 1.2rem;margin:1rem 0}
.grid{display:grid;gap:.9rem;grid-template-columns:1fr}
@media(min-width:640px){.grid{grid-template-columns:1fr 1fr}}
.svc{background:var(--white);border:1px solid var(--line);border-left:4px solid var(--moss);
border-radius:6px;padding:.9rem 1rem;text-decoration:none;color:var(--ink);display:block}
.svc:hover{border-left-color:var(--brick)}
.svc b{font-family:'Bitter',serif}
.svc small{color:var(--moss);display:block;margin-top:.2rem}
ul{padding-left:1.2rem;margin:.6rem 0}
li{margin:.35rem 0}
.note{border-left:4px solid var(--copper);background:var(--white);
padding:.8rem 1rem;margin:1.2rem 0;font-size:.97rem}
/* faq */
details{background:var(--white);border:1px solid var(--line);border-radius:6px;
padding:.75rem 1rem;margin:.6rem 0}
summary{font-weight:700;cursor:pointer;font-family:'Bitter',serif}
/* call band */
.band{background:var(--moss);color:var(--white);text-align:center;padding:1.6rem 1.1rem}
.band a{background:var(--white);color:var(--ink);padding:.7rem 1.2rem;border-radius:4px;
font-weight:700;text-decoration:none;display:inline-block;margin-top:.7rem}
/* form */
form{display:grid;gap:.7rem;max-width:30rem}
label{font-weight:700;font-size:.92rem}
input,textarea,select{padding:.65rem;border:1px solid var(--line);border-radius:4px;
font:inherit;width:100%;background:var(--white)}
button{background:var(--brick);color:var(--white);border:0;border-radius:4px;
padding:.8rem 1.2rem;font:inherit;font-weight:700;cursor:pointer}
button:hover{background:var(--brick-d)}
/* footer */
footer{background:var(--ink);color:#c9d2ce;padding:1.8rem 0;font-size:.92rem}
footer a{color:#e6ebe8}
footer .cols{display:grid;gap:1.1rem;grid-template-columns:1fr}
@media(min-width:640px){footer .cols{grid-template-columns:1.2fr 1fr 1fr}}
.crumb{font-size:.85rem;color:var(--moss);margin:1rem 0 0}
.crumb a{color:var(--moss)}
