:root{color-scheme:light;--forest:#183b30;--ink:#182c25;--cream:#f8f6ef;--lime:#dfedac}
*{box-sizing:border-box}
body{margin:0;background:var(--cream);color:var(--ink);font:1rem/1.6 system-ui,sans-serif}
a{color:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #9e671e;outline-offset:4px}
header,footer{padding:1.1rem max(5vw,1rem);display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.brand{font-weight:900;letter-spacing:.06em;text-decoration:none}
nav{display:flex;gap:1.25rem}
nav a{font-weight:650;text-decoration:none}
.wrap{width:min(90%,1100px);margin:auto}
.hero{background:var(--forest);color:#fff;padding:clamp(4rem,10vw,8rem) 0}
.location{color:var(--lime);font-size:.85rem;font-weight:750;letter-spacing:.15em}
h1,h2,h3{line-height:1.08;margin:0 0 .7em}
h1{font-size:clamp(3rem,8vw,7rem);letter-spacing:-.065em;margin-bottom:.28em}
h2{font-size:clamp(2.25rem,5vw,4rem);letter-spacing:-.05em}
h3{font-size:1.4rem;letter-spacing:-.025em}
.hero p{max-width:31rem}
.button{display:inline-flex;align-items:center;justify-content:center;gap:1rem;background:var(--lime);color:var(--ink);border:0;border-radius:.4rem;padding:.8rem 1.25rem;font:inherit;font-weight:800;cursor:pointer;text-decoration:none}
.button:hover{background:#ccdf91}
.section,.quote-section{padding:clamp(3rem,7vw,6rem) 0}
.cards,.quote-grid,.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
article,form{background:white;border:1px solid #d7dfd5;border-radius:.7rem;padding:clamp(1.2rem,3vw,2rem)}
article p{margin-bottom:.7rem}
article a{font-weight:750;text-underline-offset:.2em}
.quote-section{background:#e8eee4}
.quote-grid{grid-template-columns:1fr 2fr;gap:clamp(1rem,5vw,4rem)}
label{display:block;font-weight:650}
input,select,textarea{width:100%;min-height:2.8rem;border:1px solid #879d8d;border-radius:.3rem;background:white;color:inherit;padding:.55rem;font:inherit;margin-top:.25rem}
textarea{resize:vertical}
form>label{margin-top:1rem}
.hint{font-size:.9rem;margin:.35rem 0 1rem}
footer{background:var(--forest);color:white}
@media(max-width:650px){.cards,.quote-grid,.fields{grid-template-columns:1fr}}
