/* Original shared design: quiet editorial layout, locally available type only. */
:root{color-scheme:light;--brand:#164e46;--text:#182f2b;--link:#185f54;--button:#164e46;--button-text:#fff;--paper:#faf9f5;--surface:#f0f2ec;--line:#d7ded5;--muted:#4e625a;--radius:1.15rem}
*{box-sizing:border-box}
html{scroll-padding-top:2rem}
body{margin:0;background:var(--paper);color:var(--text);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:1rem;line-height:1.65;overflow-wrap:anywhere}
a{color:var(--link);text-underline-offset:.22em;text-decoration-thickness:.08em}
a:hover{text-decoration-thickness:.15em}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid #a34715;outline-offset:5px}
[hidden]{display:none!important}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{line-height:1.15;letter-spacing:-.035em;text-wrap:balance}
h1{font-size:clamp(2.6rem,5.5vw,5.3rem);font-weight:650;max-width:16ch}
h2{font-size:clamp(1.8rem,3vw,2.65rem);font-weight:620;margin-bottom:1.3rem}
h3{font-size:1.25rem;font-weight:650}
p+p{margin-top:1rem}
ul{padding-left:1.4rem}
.shell{width:min(100% - 3rem,76rem);margin-inline:auto}
.reading-width{max-width:52rem}
.skip-link{position:fixed;top:1rem;left:1rem;transform:translateY(-200%);z-index:100;background:white;padding:.7rem 1rem;border:2px solid var(--brand)}
.skip-link:focus{transform:none}
.site-header{background:var(--paper);border-bottom:1px solid var(--line);position:relative;z-index:10}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:6.5rem;padding-block:1rem}
.brand{display:flex;gap:.7rem;align-items:center;color:var(--text);font-weight:750;line-height:1.2;letter-spacing:-.025em;text-decoration:none;font-size:1.12rem;max-width:19rem;flex-shrink:0}
.brand-mark{display:grid;place-items:center;background:var(--brand);color:#fff;border-radius:50% 50% 12% 50%;width:2.6rem;height:2.6rem;flex:none;font-family:Georgia,serif;font-size:1.5rem}
.brand:has(.brand-logo){max-width:min(var(--logo-width),calc(100% - 7rem));flex-shrink:1}
.brand-logo{width:var(--logo-width);height:auto}
.nav-list{display:flex;gap:.5rem 1.3rem;align-items:center;flex-wrap:wrap;justify-content:flex-end;list-style:none;margin:0;padding:0}
.nav-list a{font-size:.92rem;font-weight:600;text-decoration:none;display:inline-block;padding-block:.5rem}
.nav-list a[aria-current=page],.site-footer a[aria-current=page]{text-decoration:underline;text-decoration-thickness:2px}
.nav-item{position:relative;display:flex;align-items:center;flex-wrap:wrap;gap:.25rem}
.submenu-toggle{border:1px solid var(--line);border-radius:.4rem;background:transparent;color:var(--text);min-width:2rem;min-height:2rem;line-height:1}
.submenu-toggle{display:none}
.nav-enhanced .submenu-toggle{display:inline-block}
.submenu-toggle[aria-expanded=true]{background:var(--surface)}
.submenu{list-style:none;margin:.5rem 0;padding:.6rem;border:1px solid var(--line);background:var(--paper);border-radius:.65rem;width:100%}
.submenu a{display:block;padding:.6rem .75rem}
.submenu a:hover{background:var(--surface);border-radius:.3rem}
.nav-enhanced .submenu{position:absolute;top:100%;right:0;min-width:15rem;max-width:22rem;box-shadow:0 16px 40px #182f2b12}
.nav-enhanced .submenu-toggle[aria-expanded=false]+.submenu{display:none}
.menu-toggle{border:1px solid var(--line);border-radius:.6rem;background:transparent;min-height:2.75rem;padding:.5rem .85rem;color:var(--text);flex:none}
.button,.nav-list a.button{display:inline-flex;align-items:center;justify-content:center;gap:1.5rem;min-height:3.2rem;padding:.85rem 1.4rem;background:var(--button);color:var(--button-text);border:1px solid transparent;border-radius:.55rem;text-decoration:none;font-size:1rem;font-weight:650;line-height:1.35;text-align:center;transition:transform .15s ease}
.button:hover{transform:translateY(-2px);text-decoration:underline}
.nav-list a.button-small{min-height:2.7rem;padding:.65rem 1rem;font-size:.9rem}
.disclosure{font-size:.79rem;background:#e9eee7;border-bottom:1px solid var(--line)}
.disclosure .shell{display:flex;gap:1rem;padding-block:.7rem;align-items:baseline}
.disclosure strong{white-space:nowrap;font-weight:700}
.hero{padding:clamp(3.3rem,7vw,6.5rem) 0;background:linear-gradient(120deg,#f0f2ec,var(--paper) 75%);border-bottom:1px solid var(--line)}
.hero-grid{display:grid;gap:3rem;align-items:center}
.hero-with-image .hero-grid{grid-template-columns:1.1fr 1fr}
.hero-copy{min-width:0}
.eyebrow{text-transform:uppercase;font-size:.75rem;letter-spacing:.15em;font-weight:750;color:var(--link);margin-bottom:1.6rem}
.intro{font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.5;max-width:44ch;margin-top:1.6rem}
.leader{max-width:58ch;margin-top:1.3rem;color:var(--muted)}
.leader:empty{display:none}
.hero .button{margin-top:2rem}
.hero-image{position:relative}
.hero-image img{width:100%;aspect-ratio:6/5;object-fit:cover;border-radius:var(--radius) var(--radius) 4rem var(--radius);background:var(--surface)}
figcaption{font-size:.75rem;color:var(--muted);margin-top:.6rem}
.content-section{padding:clamp(2.8rem,6vw,5rem) 0;border-bottom:1px solid var(--line)}
.content-section p{max-width:70ch}
.content-section h2+p{margin-top:.5rem}
.card-grid,.usp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1rem;list-style:none;padding:0;margin:1.8rem 0 0}
.collection-links{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;list-style:none;padding:0;margin:1.8rem 0 0}
.collection-links a{display:inline-block;padding-block:.5rem;font-weight:650}
@media(min-width:701px){.grid-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.grid-columns-2,.grid-columns-3{grid-template-columns:minmax(0,1fr)}}
.link-card{position:relative;background:white;border:1px solid var(--line);border-radius:var(--radius);min-width:0;overflow:hidden}
.card-link{display:block;height:100%;padding:1.8rem 3rem 1.8rem 1.8rem;text-decoration:none;color:var(--text)}
.card-link:hover h3{text-decoration:underline}
.card-link .section-image{margin-bottom:1.3rem}
.card-link .section-image img{aspect-ratio:3/2;object-fit:cover}
.link-card:focus-within{outline:3px solid #a34715;outline-offset:3px}
.link-card p{font-size:.95rem;color:var(--muted);margin-top:.8rem}
.card-arrow{position:absolute;right:1.3rem;top:1.6rem;color:var(--link);font-size:1.5rem}
.usp-grid{counter-reset:usp}
.usp-grid li{counter-increment:usp;border-top:2px solid var(--brand);padding:1.3rem .5rem 0 0}
.usp-grid li:before{content:counter(usp,decimal-leading-zero);display:block;font-size:.85rem;letter-spacing:.08em;color:var(--link);margin-bottom:1rem;font-weight:700}
.usp-grid h3{margin-bottom:.8rem}
.faq-list{border-top:1px solid var(--line);margin-top:1.8rem}
.faq-list details{border-bottom:1px solid var(--line);padding:1.3rem 0}
.faq-list summary{font-weight:650;font-size:1.08rem;cursor:pointer;padding-right:1rem}
.faq-list details>div{padding-top:1rem;color:var(--muted)}
.section-offer,.section-cta{background:var(--surface)}
.section-offer .button,.section-cta .button{margin-top:1.4rem}
.section-image img{border-radius:var(--radius);width:100%}
.table-scroll{max-width:100%;overflow-x:auto;margin-top:1.5rem;border:1px solid var(--line);border-radius:.6rem}
.table-scroll table{width:100%;min-width:36rem;border-collapse:collapse;text-align:left}
.table-scroll th,.table-scroll td{padding:1rem 1.25rem;border-bottom:1px solid var(--line);vertical-align:top}
.table-scroll thead{background:var(--brand);color:#fff}
.table-scroll tbody th{width:28%;background:var(--surface);font-weight:650}
.table-scroll tbody tr:last-child>*{border-bottom:0}
.contact-band{background:var(--brand);color:white;padding:3.5rem 0}
.contact-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem}
.contact-inner h2{max-width:22ch;margin:0}
.button-light{background:var(--paper);color:var(--brand);flex:none}
.site-footer{padding:3.5rem 0;background:#edf0e9;font-size:.9rem}
.footer-grid{display:flex;flex-wrap:wrap;gap:2.5rem 4rem;justify-content:space-between}
.footer-identity{max-width:25rem;flex:2 1 18rem;color:var(--muted)}
.footer-brand{font-size:1.35rem;font-weight:750;color:var(--text);margin-bottom:1rem;letter-spacing:-.03em}
.footer-column{flex:1 1 10rem;max-width:22rem}
.footer-column h2{font-size:.9rem;letter-spacing:0;margin:0 0 1rem;font-weight:750}
.footer-column ul{list-style:none;padding:0;margin:0;display:grid;gap:.65rem}
.footer-column a{text-decoration:none}
.footer-column a:hover{text-decoration:underline}
.notice{padding:1.8rem;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:.5rem}
.notice h2{font-size:1.5rem}
.notice .button{margin-top:1.3rem}
.parent-navigation{padding-block:1rem;font-size:.95rem}
.page-layout{display:grid;gap:2rem;align-items:start}
.page-content{min-width:0}
.page-content .shell{width:100%}
.page-sidebar{min-width:0;padding-block:2.8rem}
.sidebar-offer{padding:1.4rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.sidebar-offer figure{margin-bottom:1rem}
.sidebar-offer .button{margin-top:1.3rem;max-width:100%}
.footer-identity address{font-style:normal;margin-block:1rem}
@media(min-width:1101px){.page-layout{grid-template-columns:minmax(0,1fr) minmax(15rem,19rem)}}
@media(min-width:1101px){.sidebar-offer.is-sticky{position:sticky;top:1.5rem}.page-sidebar{align-self:stretch}}
@media(max-width:900px){.brand:has(.brand-logo){max-width:min(var(--mobile-logo-width),calc(100% - 7rem))}.brand-logo{width:var(--mobile-logo-width)}}
@media(max-width:480px){.card-link{padding:1.5rem 2.8rem 1.5rem 1.5rem}}
form{display:grid;gap:1.2rem;max-width:45rem}
form label{display:block;font-weight:650}
form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),form select,form textarea{width:100%;min-height:3rem;padding:.75rem;border:1px solid #7d8f83;border-radius:.4rem;background:white;color:var(--text)}
form textarea{min-height:10rem;resize:vertical}
form input[type=checkbox],form input[type=radio]{width:1.2rem;height:1.2rem;accent-color:var(--brand);vertical-align:middle}
form button[type=submit]{justify-self:start;background:var(--button);color:var(--button-text);border:0;padding:.9rem 1.4rem;border-radius:.5rem;font-weight:650;min-height:3rem}
form [aria-invalid=true]{border-color:#9e2e19!important}
form [role=alert]{color:#8f2817}
form button:disabled{cursor:wait;opacity:.65}
@media(min-width:901px){.menu-toggle{display:none!important}}
@media(max-width:1100px){.header-inner{gap:1rem}.brand{max-width:14rem}.nav-list{gap:.5rem .85rem}}
@media(max-width:900px){.shell{width:calc(100% - 2.5rem)}.header-inner{flex-wrap:wrap;min-height:5.2rem}.brand{max-width:calc(100% - 7rem)}#site-navigation{width:100%}.nav-list{display:grid;align-items:start;justify-content:stretch;gap:.4rem;padding-bottom:.7rem}.nav-item>a{flex:1}.nav-list a{padding:.65rem}.nav-item>.button{flex:initial}.nav-enhanced #site-navigation:not(.is-open){display:none}.nav-enhanced .submenu{position:static;box-shadow:none;max-width:none;margin:.25rem 0 .5rem .6rem;min-width:0;width:calc(100% - .6rem)}.nav-list .button{width:100%}.disclosure .shell{display:block}.disclosure strong{display:block;margin-bottom:.2rem}.hero-with-image .hero-grid{grid-template-columns:1fr;gap:2rem}.hero-image{max-width:40rem}.hero-image img{aspect-ratio:3/2}.contact-inner{align-items:flex-start;flex-direction:column}}
@media(max-width:480px){.shell{width:calc(100% - 2rem)}h1{font-size:2.55rem}.hero{padding-block:3rem}.button{max-width:100%;gap:1rem}.hero .button{width:100%}.contact-band{padding:2.8rem 0}.notice{padding:1.2rem}.footer-grid{gap:2rem}.brand{font-size:1rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.menu-toggle,.submenu-toggle,.contact-band{display:none!important}.nav-enhanced #site-navigation,.nav-enhanced .submenu-toggle[aria-expanded=false]+.submenu{display:block}.hero,.content-section,.site-footer{padding-block:1.5rem}.hero-grid{display:block!important}.hero-image{max-width:25rem}.button{border:1px solid currentColor}.site-header{position:static}}
