/* Gary's Hilltop — practical, quiet, and easy to read.
   The original supplied design system is preserved in reference/. */
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--black:#101417;--panel:#191f23;--panel-light:#20292e;--white:#f0f3f3;--muted:#b0bdc2;--cyan:#8cdae2;--cyan-ink:#112c31;--font-body:'Inter',Arial,sans-serif;--font-display:'Barlow Condensed','Arial Narrow',Arial,sans-serif;--content-max:1200px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height,6rem) + 1rem)}
body{margin:0;background:var(--black);color:var(--white);font:1rem/1.65 var(--font-body);-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}button,summary{cursor:pointer}
button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
button{color:inherit}a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
svg{width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
h1,h2,h3,p,figure{margin:0}
h1,h2{font-family:var(--font-display);font-weight:600;letter-spacing:-.015em;line-height:1.02}
h1{font-size:clamp(4rem,7.6vw,7rem)}h2{font-size:clamp(2.5rem,4.6vw,4rem)}
h3{font-size:1.25rem;line-height:1.3;font-weight:600}p{color:var(--muted)}address{font-style:normal}
[hidden]{display:none!important}:focus-visible{outline:3px solid var(--cyan);outline-offset:5px}
::selection{color:var(--black);background:var(--cyan)}
.section-inner{width:min(calc(100% - 4rem),var(--content-max));margin-inline:auto}
.section{padding-block:clamp(4rem,7vw,6.5rem)}
.section-heading{display:flex;justify-content:space-between;gap:3rem;align-items:end;margin-bottom:2.25rem}
.section-heading>p{max-width:27rem}.muted{color:var(--muted)}
.sr-only,.icon-library{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.skip-link{position:fixed;top:-6rem;left:1rem;padding:.7rem 1rem;background:var(--cyan);color:var(--black);z-index:200}.skip-link:focus{top:.75rem}
.btn{min-height:3.25rem;padding:.85rem 1.35rem;display:inline-flex;align-items:center;justify-content:center;gap:.65rem;border:0;border-radius:.7rem;font-size:.9375rem;font-weight:600;line-height:1.4;text-align:center;transition:background .2s,box-shadow .2s,translate .2s}
.btn-primary{color:var(--cyan-ink);background:var(--cyan)}
.btn-primary:hover{background:#b3edf1;box-shadow:0 5px 20px #06121633;translate:0 -2px}
.btn-secondary{background:#ffffff0d;color:var(--white)}.btn-secondary:hover{background:#ffffff17;translate:0 -2px}
.text-link{display:inline-flex;gap:.55rem;align-items:center;color:var(--cyan);font-weight:500;font-size:.9375rem}
.text-link:hover{text-decoration:underline;text-underline-offset:.3em}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:.9rem}
.field label{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem;font-size:.9375rem;font-weight:500}
.field label span{color:var(--muted);font-size:.8125rem;font-weight:400}
.field input,.field select,.field textarea,#request-summary{width:100%;min-width:0;border:1px solid #4d5b62;border-radius:.5rem;background:#121a1e;color:var(--white);padding:.8rem .9rem;font-size:1rem}
.field textarea,#request-summary{resize:vertical;min-height:7rem}
.field input::placeholder,.field textarea::placeholder{color:#99a9b1;opacity:1}
.field input:focus,.field select:focus,.field textarea:focus,#request-summary:focus{outline:2px solid var(--cyan);outline-offset:2px}
.field-help{margin-top:.4rem;font-size:.8125rem}
@media(max-width:760px){.section-inner{width:calc(100% - 2.5rem)}.section-heading{display:block}.section-heading>p{margin-top:1rem}h1{font-size:clamp(3.65rem,12.5vw,5.75rem)}}
