/* Shared visual refinement for the price list and customer policies. */
:root{--green:#193c34;--green2:#193c34;--gold:#8a6a3b;--gold2:#d4bd91;--light:#d4bd91;--cream:#f4f6f3;--ink:#233a32;--muted:#59645f;--line:#d9dfda;--shadow:none}
html{scroll-behavior:smooth}
body{background:#fff;font-family:Arial,Helvetica,sans-serif;font-size:1rem;line-height:1.65}
button,input,select,textarea{font-family:inherit}
h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.025em;line-height:1.15;text-wrap:balance}
h1{font-size:clamp(2.25rem,3.6vw,3.4rem)}
:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
header,.price-header{height:auto;min-height:108px;padding:.65rem clamp(1.25rem,5.5vw,6rem)}
header img,.brand img{width:158px;height:91px;object-fit:contain}
.home,.back-home{min-height:44px;font-size:.9375rem;line-height:1.5;border-radius:2px;padding:.75rem 1rem}
.back-home:hover{transform:none}
.price-hero{min-height:330px;background:var(--cream)}
.price-hero>img{inset:0 0 0 auto;width:42%;object-position:78% center;animation:none;transform:none}
.hero-shade{display:none}
.hero-copy{width:58%;margin:0;padding:3rem clamp(1.25rem,5.5vw,6rem);color:var(--green)}
.hero-copy h1{font-size:clamp(2.25rem,3.6vw,3.4rem);font-weight:400;line-height:1.15;margin-bottom:1.25rem}
.hero-copy h1 span{color:var(--green)}
.eyebrow,.eyebrow.dark{color:var(--gold);font-size:.875rem;letter-spacing:.1em;font-weight:600}
.hero-copy>p:not(.eyebrow){font-size:1rem;color:var(--muted);line-height:1.7}
.hero-copy>a,.price-cta a{border-radius:2px;box-shadow:none;background:var(--green);color:#fff;font-size:.9375rem;padding:.8rem 1.25rem;min-height:48px}
.hero-copy>a:hover,.price-cta a:hover{transform:none;box-shadow:none}
.rate-finder{padding:3.5rem clamp(1.25rem,5.5vw,6rem)}
.finder-heading h2,.price-notes h2,.price-cta h2{font-size:clamp(2rem,3vw,2.6rem);line-height:1.15;font-weight:400}
.search-box{font-size:.9375rem;font-weight:600}
.search-box input{border-radius:2px;box-shadow:none;font-size:1rem;padding:.85rem 1rem}
.category-tabs{gap:.75rem;margin:1.75rem 0}
.category-tabs button{border-radius:2px;font-family:inherit;font-size:.9375rem;min-height:44px}
.category-tabs button.active,.category-tabs button:hover{animation:none;transform:none}
.price-category,.price-category:hover{border-radius:2px;box-shadow:none;transform:none}
.category-cover{height:115px}
.category-cover:after{background:rgba(16,42,33,.65)}
.category-cover img,.price-category:hover .category-cover img{transform:none;transition:none}
.category-cover h3{font-size:1.4rem;font-weight:400}
.rate-row{animation:none;transition:background-color .15s;font-size:1rem}
.rate-row:hover{padding-left:6px;background:var(--cream)}
.rate-head{font-size:.875rem;letter-spacing:0;line-height:1.4;text-transform:none}
.price small{font-size:.8125rem}
.price,.rate-row:hover .price{transform:none;transition:none}
.price-notes{padding:3rem clamp(1.25rem,5.5vw,6rem)}
.price-notes .eyebrow{color:var(--gold2)}
.note-grid article,.note-grid article:hover{border-radius:2px;background:none;transform:none}
.note-grid article:after{display:none}
.note-grid h3{font-family:inherit;font-size:1.1rem;font-weight:600}
.price-cta{border-radius:0;box-shadow:none;margin:3rem clamp(1.25rem,5.5vw,6rem);padding:2.5rem;background:var(--cream);border-left:3px solid var(--gold)}
.no-results{border-radius:2px}
.reveal,.reveal.visible{opacity:1;transform:none;transition:none}
.price-category.filter-enter{animation:none}
.terms-hero{padding:3rem clamp(1.25rem,5.5vw,6rem);gap:3rem}
.terms-hero h1 span{color:#fff}
.kicker{font-size:.875rem;font-weight:600;letter-spacing:.1em}
.terms-hero aside{border-radius:2px;background:transparent;padding:1.5rem}
.intro{border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;padding:2rem 0}
.intro,.terms-list{margin:3rem auto}
.intro h2{font-size:2rem}
.terms-list{gap:0}
.terms-list details,.terms-list details[open]{border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none}
.terms-list summary{padding:1.2rem 0;font-size:1rem;line-height:1.5;font-weight:600}
.terms-list details>div{padding:0 0 1rem;border-top:0;font-size:1rem}
.policy-details{border-radius:2px}
footer{font-size:.875rem;padding-inline:clamp(1.25rem,5.5vw,6rem)}
@media(max-width:760px){header,.price-header{min-height:88px}.brand img,header img{width:128px;height:72px}.price-hero{min-height:0}.price-hero>img{display:none}.hero-copy{width:100%;padding:2.5rem 1.25rem}.hero-copy h1{font-size:2.5rem}.rate-finder{padding-top:2.5rem}.terms-hero{grid-template-columns:1fr;gap:1.5rem;padding-block:2.5rem}.terms-hero h1{font-size:2.5rem}.price-cta{padding:1.5rem}.rate-row{font-size:1rem}.rate-head{font-size:.875rem}.back-home,.home{font-size:.875rem}.intro,.terms-list{margin:2rem auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Policy pages use a contained reading surface with distinct clause cards. */
.terms-hero{background:#193c34;padding-block:3.75rem}
.terms-hero h1{font-size:clamp(2.5rem,4.1vw,4rem);line-height:1.12}
.terms-hero aside{border-radius:8px;background:#ffffff08}
.intro,.terms-list{width:min(1050px,calc(100% - 48px))}
.intro{margin-block:3rem 2rem;padding:2rem;border:1px solid #e1e5df;border-radius:8px;background:#f8f6f1}
.terms-list{gap:.75rem;margin-top:0}
.terms-list details,.terms-list details[open]{border:1px solid #dde3dd;border-radius:8px;background:white}
.terms-list details[open]{border-color:#9cae9e}
.terms-list summary{padding:1.25rem 1.5rem;gap:1rem}
.terms-list details>div{padding:0 1.5rem 1.25rem}
.terms-list details>div>p{max-width:78ch}
.policy-details{border-radius:6px}
@media(max-width:760px){.intro,.terms-list{width:calc(100% - 32px)}.intro{padding:1.4rem}.terms-list summary{padding:1.1rem;font-size:1rem}.terms-list details>div{padding:0 1.1rem 1.1rem}.terms-hero{padding-block:2.5rem}}
