:root{--ink:#17241d;--green:#244d3a;--green2:#35684f;--sand:#f3eee5;--gold:#c68b45;--white:#fff;--muted:#66736c;--line:#dbe1dc;--shadow:0 18px 50px rgba(23,36,29,.12);--radius:1.1rem}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.65 system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:#fff}img{display:block;max-width:100%;height:auto}a{color:inherit}h1,h2,h3{font-family:Georgia,serif;line-height:1.12;margin:0 0 .65em}h1{font-size:clamp(2.5rem,7vw,5.5rem)}h2{font-size:clamp(2rem,4vw,3.4rem)}h3{font-size:1.45rem}p{margin:.25rem 0 1.2rem}.wrap{width:min(1180px,calc(100% - 2rem));margin:auto}.eyebrow{font-size:.78rem;letter-spacing:.15em;text-transform:uppercase;font-weight:800;color:var(--green2)}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:999;background:#fff;padding:.7rem}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.navrow{min-height:78px;display:flex;align-items:center;gap:2rem}.brand{text-decoration:none;font-weight:900;line-height:1}.brand span{display:block;color:var(--green);font-size:1.28rem}.brand small{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}nav{margin-left:auto}nav ul{display:flex;align-items:center;gap:1.15rem;list-style:none;margin:0;padding:0}nav a{text-decoration:none;font-weight:650;font-size:.93rem}nav a:hover,nav a[aria-current=page]{color:var(--green2)}.button,.nav-cta{display:inline-flex;justify-content:center;align-items:center;gap:.5rem;border:0;border-radius:999px;padding:.85rem 1.25rem;background:var(--green);color:#fff!important;text-decoration:none;font-weight:800;box-shadow:0 8px 24px rgba(36,77,58,.18)}.button:hover,.nav-cta:hover{background:var(--green2)}.button.secondary{background:#fff;color:var(--green)!important;border:1px solid var(--green)}.menu{display:none;margin-left:auto;border:1px solid var(--line);background:#fff;border-radius:.6rem;padding:.55rem .7rem;font:inherit;font-weight:800}.hero{min-height:75vh;display:grid;align-items:end;background:linear-gradient(90deg,rgba(15,27,20,.88),rgba(15,27,20,.35)),var(--hero) center/cover;color:#fff;padding:clamp(5rem,12vw,9rem) 0 4rem}.hero .eyebrow{color:#efc58f}.hero p{font-size:clamp(1.05rem,2vw,1.3rem);max-width:650px}.actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.5rem}.section{padding:clamp(4rem,8vw,7rem) 0}.section.sand{background:var(--sand)}.intro{max-width:760px;margin-bottom:2.3rem}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.grid.two{grid-template-columns:repeat(2,1fr)}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.card .body{padding:1.35rem}.card img,.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}.card a.more{font-weight:800;color:var(--green)}.benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.benefit{padding:1.2rem;border-left:4px solid var(--gold);background:#fff}.page-hero{padding:clamp(4rem,9vw,7rem) 0 3rem;background:var(--green);color:#fff}.page-hero p{max-width:720px;font-size:1.15rem}.split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,6vw,5rem);align-items:center}.split img{border-radius:var(--radius);box-shadow:var(--shadow);width:100%;aspect-ratio:4/3;object-fit:cover}.list{padding-left:1.2rem}.list li{margin:.45rem 0}.steps{counter-reset:s;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.step{padding:1.25rem;border-top:1px solid var(--line)}.step:before{counter-increment:s;content:"0" counter(s);display:block;color:var(--gold);font-weight:900;font-size:1.4rem}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.gallery figure{margin:0}.gallery figcaption{font-size:.88rem;color:var(--muted);padding:.5rem 0}.contact-band{background:var(--ink);color:#fff;padding:3rem 0}.contact-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:2rem}.contact-band h2{font-size:clamp(1.8rem,4vw,3rem)}.notice{padding:1rem 1.2rem;background:#fff4d8;border-left:4px solid #d08b23;border-radius:.4rem}.opening-hours{margin:1.4rem 0 2rem;padding:1.35rem 1.5rem;background:var(--sand);border-left:4px solid var(--gold);border-radius:.65rem}.opening-hours h3{margin-bottom:.6rem}.opening-hours dl{margin:0}.opening-hours dl div{display:flex;justify-content:space-between;gap:1.5rem;padding:.55rem 0;border-top:1px solid rgba(23,36,29,.14)}.opening-hours dt{font-weight:800}.opening-hours dd{margin:0;text-align:right}.opening-hours-note{margin:.8rem 0 0;color:var(--muted);font-size:.92rem}.faq details{border-top:1px solid var(--line);padding:1rem 0}.faq summary{font-weight:800;cursor:pointer}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:2rem}.form{display:grid;gap:1rem}.form label{font-weight:750}.required-note{margin:0;color:var(--muted);font-size:.9rem}.form label>span[aria-hidden=true]{color:#a64b2a}.form label .optional{color:var(--muted);font-weight:400}.form input,.form textarea,.form select{width:100%;padding:.85rem;border:1px solid #bbc5bf;border-radius:.5rem;font:inherit}.form textarea{min-height:150px}.file-upload{display:grid;gap:.45rem;padding:1rem 1.1rem;background:var(--sand);border:1px solid var(--line);border-radius:.65rem}.file-upload label{margin:0}.file-upload label span{font-weight:400;color:var(--muted)}.file-upload input[type=file]{padding:.7rem;background:#fff;border:1px dashed #9ca9a1;cursor:pointer}.file-upload small{color:var(--muted);line-height:1.45}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.privacy-confirmation{display:flex;align-items:flex-start;gap:.7rem;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:.65rem;background:#fff}.privacy-confirmation input{width:auto;margin:.35rem 0 0;flex:0 0 auto}.privacy-confirmation span{font-weight:400}.privacy-confirmation strong{color:#a64b2a}.form .button{justify-self:start}.site-footer{background:#101a14;color:#dce4df;padding:3rem 0 1.3rem}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem}.site-footer a{color:#fff}.legal{border-top:1px solid #34423a;margin-top:2rem;padding-top:1rem;font-size:.85rem;color:#aebbb4}.placeholder{outline:2px dashed #c98935;outline-offset:3px;background:#fff8e9;padding:.2rem .4rem}.error-page{min-height:75vh;display:grid;place-items:center;text-align:center}.error-page strong{font-size:clamp(5rem,20vw,11rem);color:var(--sand)}@media(max-width:950px){.menu{display:block}nav{position:absolute;left:0;right:0;top:78px;background:#fff;border-bottom:1px solid var(--line);display:none}nav.open{display:block}nav ul{display:block;padding:1rem}.nav-cta{margin-top:.6rem}.grid,.benefits{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.grid,.grid.two,.benefits,.split,.steps,.gallery,.contact-grid,.footer-grid{grid-template-columns:1fr}.hero{min-height:68vh}.contact-band .wrap{display:block}.contact-band .button{margin-top:1rem}.actions .button{width:100%}.brand small{display:none}}

.hero{background:linear-gradient(90deg,rgba(15,27,20,.88),rgba(15,27,20,.35)),url('/bilder/hero-terrassendach.jpg') center/cover!important}

.brand .brand-by{display:flex;align-items:center;gap:.35rem;margin-top:.22rem;color:var(--muted);font-size:.62rem;letter-spacing:.08em;text-transform:lowercase;white-space:nowrap}.brand .brand-by img{width:72px;height:22px;object-fit:contain;object-position:left center}.site-footer .brand .brand-by{color:#aebbb4}.site-footer .brand .brand-by img{filter:brightness(0) invert(1);opacity:.9}@media(max-width:680px){.brand small.brand-by{display:flex}.brand .brand-by img{width:62px;height:19px}}

/* Markenlogo bewusst groß genug für lesbaren Schriftzug */
.brand .brand-by{margin-top:.3rem;gap:.5rem;font-size:.72rem}.brand .brand-by img{width:150px;height:48px}.site-header .navrow{min-height:104px}@media(max-width:950px){nav{top:104px}}@media(max-width:680px){.brand .brand-by img{width:120px;height:38px}.site-header .navrow{min-height:92px}nav{top:92px}}

.gallery-large{grid-template-columns:repeat(4,1fr)}.gallery-large figure{background:#fff;border:1px solid var(--line);border-radius:.75rem;overflow:hidden}.gallery-large figcaption{padding:.65rem .8rem}.reference-sub{margin-top:4rem}@media(max-width:950px){.gallery-large{grid-template-columns:repeat(3,1fr)}}@media(max-width:680px){.gallery-large{grid-template-columns:repeat(2,1fr)}}

/* Farbwelt in Anlehnung an hauszuklein.de */
:root{--ink:#1c3665;--green:#1c3665;--green2:#274a86;--sand:#e9dcd0;--gold:#e09900;--muted:#667089;--line:#d9dce4;--shadow:0 18px 50px rgba(28,54,101,.14)}
.button,.nav-cta{background:var(--gold);color:#fff!important;box-shadow:0 8px 24px rgba(224,153,0,.24)}.button:hover,.nav-cta:hover{background:#ffb400}.button.secondary{background:#fff;color:var(--ink)!important;border-color:#fff}.eyebrow{color:var(--gold)}.hero .eyebrow,.page-hero .eyebrow{color:#ffbf36}.site-footer,.contact-band{background:#1c3665}.site-header{border-bottom-color:#d9dce4}.benefit{border-left-color:var(--gold)}
.page-hero{position:relative;isolation:isolate;min-height:clamp(330px,46vw,530px);display:grid;align-items:end;padding:clamp(5rem,12vw,9rem) 0 3.5rem;background:linear-gradient(90deg,rgba(16,34,70,.92),rgba(28,54,101,.48)),var(--page-hero) center/cover no-repeat;color:#fff}.page-hero:after{content:"";position:absolute;inset:auto 0 0;height:7px;background:var(--gold);z-index:-1}.page-hero .wrap{position:relative}.page-hero h1{max-width:900px;text-shadow:0 3px 18px rgba(0,0,0,.25)}.page-hero p{max-width:760px}.page-hero .button.secondary{border-color:#fff}.error-page{background:linear-gradient(rgba(255,255,255,.9),rgba(255,255,255,.9)),var(--page-hero) center/cover no-repeat}

/* Heller, freundlicher Startseiten-Hero */
.hero{background:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(249,244,237,.88) 38%,rgba(255,255,255,.25) 72%),url('/bilder/hero-terrassendach.jpg') center/cover!important;color:var(--ink)}.hero .eyebrow{color:var(--gold)}.hero h1{color:var(--ink);text-shadow:0 2px 18px rgba(255,255,255,.75)}.hero p{color:#263d67;text-shadow:0 1px 10px rgba(255,255,255,.7)}.hero .button.secondary{background:rgba(255,255,255,.88);color:var(--ink)!important;border-color:var(--ink)}@media(max-width:680px){.hero{background:linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(249,244,237,.9) 50%,rgba(255,255,255,.45) 100%),url('/bilder/hero-terrassendach.jpg') center/cover!important}}

/* Helle, freundliche Foto-Heros auf allen Unterseiten */
.page-hero{background:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(249,244,237,.88) 40%,rgba(255,255,255,.28) 76%),var(--page-hero) center/cover no-repeat;color:var(--ink)}.page-hero .eyebrow{color:var(--gold)}.page-hero h1{color:var(--ink);text-shadow:0 2px 18px rgba(255,255,255,.8)}.page-hero p{color:#263d67;text-shadow:0 1px 10px rgba(255,255,255,.75)}.page-hero .button.secondary{background:rgba(255,255,255,.9);color:var(--ink)!important;border-color:var(--ink)}@media(max-width:680px){.page-hero{background:linear-gradient(180deg,rgba(255,255,255,.97) 0%,rgba(249,244,237,.91) 52%,rgba(255,255,255,.5) 100%),var(--page-hero) center/cover no-repeat}}

/* Ratgeber: Foto klar erkennbar, ohne eingebrannten Text im Titelmotiv */
.page-hero[style*="ratgeber-hero"]{background:linear-gradient(90deg,rgba(16,34,70,.72) 0%,rgba(28,54,101,.46) 48%,rgba(28,54,101,.18) 100%),var(--page-hero) center/cover no-repeat;color:#fff}.page-hero[style*="ratgeber-hero"] h1,.page-hero[style*="ratgeber-hero"] p{color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.42)}.page-hero[style*="ratgeber-hero"] .eyebrow{color:#ffbf36}@media(max-width:680px){.page-hero[style*="ratgeber-hero"]{background:linear-gradient(180deg,rgba(16,34,70,.74),rgba(28,54,101,.42)),var(--page-hero) center/cover no-repeat}}

/* Ratgeber-Thumbnails vollständig im originalen 16:9-Format */
.guide-card>a{display:block;background:#1c3665}.guide-card img{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#1c3665}.guide-card .body{display:flex;flex-direction:column;align-items:flex-start}.guide-card .more{margin-top:auto}.guide-grid{align-items:stretch}.guide-card{display:flex;flex-direction:column}.guide-card .body{flex:1}

/* Markenkennung exakt so breit wie "Terrassendachzentrum" */
.brand{display:inline-flex;flex-direction:column;align-items:stretch;width:max-content}.brand>span{display:block;white-space:nowrap}.brand .brand-by{display:flex;width:100%;align-items:center;gap:.38rem;margin-top:.28rem;line-height:1}.brand .brand-by img{flex:1 1 auto;width:0;height:auto;max-height:none;object-fit:contain;object-position:left center}.site-header .navrow{min-height:132px}nav{top:132px}@media(max-width:950px){nav{top:132px}}@media(max-width:680px){.brand .brand-by img{width:0;height:auto}.site-header .navrow{min-height:124px}nav{top:124px}}

.brand .brand-by img{aspect-ratio:190/81}

/* Originales Logo-Verhältnis der Firmenwebsite: 300 × 67 */
.brand .brand-by img{aspect-ratio:300/67;width:0;height:auto;object-fit:contain}.site-header .brand>small:not(.brand-by){display:none}.site-header .navrow{min-height:108px}nav{top:108px}@media(max-width:950px){nav{top:108px}}@media(max-width:680px){.site-header .navrow{min-height:102px}nav{top:102px}}

/* Farbiges Original-Logo im Footer */
.site-footer .brand{display:inline-flex;background:#fff;padding:.7rem .9rem;border-radius:.65rem;box-shadow:0 8px 28px rgba(0,0,0,.16)}.site-footer .brand span{color:#1c3665}.site-footer .brand .brand-by{color:#667089}.site-footer .brand .brand-by img{filter:none;opacity:1}.footer-brand{margin-bottom:1.6rem}.footer-grid .brand{margin-bottom:.7rem}

/* Projektbezogene Referenzübersicht und Detailseiten */
.reference-filter{gap:.55rem}.reference-filter .button{font-size:.88rem;padding:.72rem 1rem}.reference-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.3rem}.reference-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.reference-card-image{display:block;overflow:hidden;background:#e5e7eb}.reference-card-image img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .35s ease}.reference-card:hover .reference-card-image img{transform:scale(1.035)}.reference-card>div{padding:1.15rem 1.25rem 1.3rem}.reference-card h3{font-size:1.3rem;margin:0 0 .7rem}.reference-card h3 a{text-decoration:none}.text-link{color:var(--green2);font-weight:800;text-underline-offset:.18em}.reference-detail-hero{min-height:clamp(390px,55vw,650px)}.reference-detail-hero .hero-back{display:inline-block;margin-top:1rem}.reference-detail-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,.7fr);gap:clamp(2rem,7vw,6rem);align-items:start}.reference-copy{max-width:760px}.reference-copy p{font-size:1.08rem}.reference-facts{padding:1.5rem;border-left:5px solid var(--gold);background:var(--sand)}.reference-facts strong{display:block;font:700 clamp(2.7rem,5vw,4.5rem)/1 Georgia,serif;color:var(--green)}.reference-facts span{display:block;margin-top:.5rem}.reference-detail-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.reference-gallery-item{display:block;border-radius:.8rem;overflow:hidden;background:#fff;box-shadow:0 7px 24px rgba(28,54,101,.1)}.reference-gallery-item img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .3s ease}.reference-gallery-item:hover img{transform:scale(1.025)}
@media(max-width:950px){.reference-card-grid,.reference-detail-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.reference-detail-layout{grid-template-columns:1fr}}
@media(max-width:680px){.reference-card-grid,.reference-detail-gallery{grid-template-columns:1fr}.reference-filter .button{width:100%}.reference-detail-hero{min-height:440px}.reference-card-image img,.reference-gallery-item img{aspect-ratio:16/11}}

/* Kennzeichnung der verlinkten hochauflösenden Referenzbilder */
.reference-gallery-item{position:relative}.reference-gallery-item span{position:absolute;right:.65rem;bottom:.65rem;padding:.38rem .65rem;border-radius:999px;background:rgba(28,54,101,.9);color:#fff;font-size:.78rem;font-weight:800}

/* Großbildansicht mit Navigation innerhalb einer Referenz */
body.lightbox-open{overflow:hidden}.reference-lightbox{width:100vw;max-width:none;height:100vh;max-height:none;margin:0;padding:clamp(1rem,3vw,2rem);border:0;background:rgba(10,20,39,.96);color:#fff}.reference-lightbox::backdrop{background:rgba(10,20,39,.9)}.reference-lightbox[open]{display:grid;grid-template-columns:minmax(72px,auto) minmax(0,1fr) minmax(72px,auto);align-items:center;gap:clamp(.5rem,2vw,1.5rem)}.reference-lightbox figure{display:grid;grid-template-rows:minmax(0,1fr) auto;align-items:center;justify-items:center;min-width:0;height:calc(100vh - clamp(2rem,6vw,4rem));margin:0}.reference-lightbox figure img{max-width:100%;max-height:calc(100vh - 7rem);width:auto;height:auto;object-fit:contain}.reference-lightbox figcaption{display:flex;justify-content:space-between;gap:2rem;width:100%;padding-top:.75rem;color:#fff;font-size:.9rem}.lightbox-count{white-space:nowrap;font-weight:800}.lightbox-close,.lightbox-nav{border:0;color:#fff;cursor:pointer}.lightbox-close{position:fixed;z-index:2;top:1rem;right:1rem;width:3rem;height:3rem;border-radius:50%;background:var(--gold);font-size:2rem;line-height:1}.lightbox-nav{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:3.4rem;padding:.8rem;border-radius:999px;background:rgba(255,255,255,.12);font:800 .92rem/1 system-ui,sans-serif}.lightbox-nav:hover,.lightbox-nav:focus-visible{background:var(--gold)}
@media(max-width:680px){.reference-lightbox{padding:.75rem}.reference-lightbox[open]{grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1fr) auto;gap:.75rem}.reference-lightbox figure{grid-column:1/-1;grid-row:1;height:calc(100vh - 6rem)}.reference-lightbox figure img{max-height:calc(100vh - 9rem)}.lightbox-prev{grid-column:1;grid-row:2}.lightbox-next{grid-column:2;grid-row:2}.reference-lightbox figcaption{gap:1rem;font-size:.78rem}.lightbox-close{top:.65rem;right:.65rem}}

/* Beratungsvideo-Slider auf der Startseite */
.video-slider-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem}.video-slider-heading .intro{margin-bottom:1.5rem}.slider-controls{display:flex;gap:.6rem;margin-bottom:1.7rem}.slider-arrow{display:grid;place-items:center;width:3.2rem;height:3.2rem;border:1px solid var(--ink);border-radius:50%;background:#fff;color:var(--ink);font-size:1.35rem;font-weight:900;cursor:pointer}.slider-arrow:hover,.slider-arrow:focus-visible{background:var(--gold);border-color:var(--gold);color:#fff}.video-slider{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,calc((100% - 2rem)/3));gap:1rem;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--gold) transparent;padding:.3rem .15rem 1.2rem}.video-slide{scroll-snap-align:start;min-width:0;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.video-slide a{position:relative;display:block;text-decoration:none}.video-slide img{width:100%;aspect-ratio:16/9;object-fit:contain;background:var(--ink)}.video-slide h3{min-height:4.1rem;margin:0;padding:1rem 1.15rem 1.2rem;font-size:1.3rem}.video-play{position:absolute;left:50%;top:calc((100% - 4.1rem)/2);display:grid;place-items:center;width:3.5rem;height:3.5rem;border-radius:50%;background:rgba(224,153,0,.94);color:#fff;transform:translate(-50%,-50%);box-shadow:0 8px 24px rgba(0,0,0,.25);transition:transform .2s ease}.video-slide a:hover .video-play{transform:translate(-50%,-50%) scale(1.08)}.video-slider-more{margin:1rem 0 0}
@media(max-width:950px){.video-slider{grid-auto-columns:minmax(270px,calc((100% - 1rem)/2))}}
@media(max-width:680px){.video-slider-heading{display:block}.slider-controls{justify-content:flex-end}.video-slider{grid-auto-columns:minmax(260px,88%)}.video-slide h3{min-height:auto}.video-play{top:calc((100% - 3.8rem)/2)}}

/* Breites Ausstellungsfoto auf der Startseite vollständig darstellen */
.split .exhibition-image{aspect-ratio:1600/769;object-fit:cover}

/* Aluminium-Referenz in der Leistungskarte fokussiert darstellen */
.card .aluminium-card-image{object-position:center center}

/* Holz-Referenz in der Leistungskarte ohne Verzerrung einpassen */
.card .timber-card-image{object-position:center center}

/* Beschattung der Ausstellungsreferenz im Galeriefeld vollständig fokussieren */
.gallery .exhibition-shade-reference{object-position:center top}

/* Auffällige Verweise auf die weiteren Unternehmenswebsites im Footer */
.footer-websites{margin-bottom:3rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.22)}.footer-websites h2{max-width:760px;font-size:clamp(1.8rem,3.5vw,2.8rem)}.footer-website-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin-top:1.7rem}.footer-website-grid article{padding:1.3rem;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius);background:rgba(255,255,255,.07)}.footer-website-button{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.95rem 1.15rem;border-radius:.75rem;background:var(--gold);color:#fff!important;text-decoration:none;font-weight:900;box-shadow:0 10px 28px rgba(0,0,0,.2);transition:transform .2s ease,background .2s ease}.footer-website-button:hover,.footer-website-button:focus-visible{background:#ffb400;transform:translateY(-2px)}.footer-website-grid p{margin:1rem 0 0;color:#dce4ed}.footer-websites .eyebrow{color:#ffbf36}
@media(max-width:680px){.footer-website-grid{grid-template-columns:1fr}.footer-website-button{font-size:.92rem}}




[hidden]{display:none!important}.consent-open{scroll-padding-bottom:2rem}.consent-banner{position:fixed;z-index:1000;left:1rem;right:1rem;bottom:1rem;max-height:calc(100vh - 2rem);overflow:auto;background:#fff;color:var(--ink);border:2px solid var(--green);border-radius:var(--radius);box-shadow:0 24px 70px rgba(0,0,0,.28)}.consent-banner-inner{width:min(1120px,100%);margin:auto;padding:clamp(1.25rem,3vw,2rem)}.consent-banner h2,.consent-settings h2{font-size:clamp(1.75rem,4vw,2.6rem)}.consent-banner p{max-width:900px}.consent-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1.25rem 0}.consent-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.8rem 1rem;border:2px solid var(--green);border-radius:.65rem;background:var(--green);color:#fff;font:inherit;font-weight:800;cursor:pointer;text-align:center}.consent-button:hover{background:var(--green2);border-color:var(--green2)}.consent-button:focus-visible,.consent-close:focus-visible,.consent-settings a:focus-visible,.consent-banner a:focus-visible,.consent-switch input:focus-visible+span,summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.consent-legal{margin:.6rem 0 0;font-size:.92rem}.consent-legal a{text-underline-offset:.2em}.consent-settings{position:fixed;z-index:1100;inset:0;overflow:auto;padding:clamp(.5rem,3vw,2rem);background:rgba(16,26,20,.72)}.consent-settings-panel{position:relative;width:min(900px,100%);margin:auto;padding:clamp(1.25rem,4vw,2.5rem);background:#fff;color:var(--ink);border-radius:var(--radius);box-shadow:0 24px 70px rgba(0,0,0,.32)}.consent-close{position:absolute;right:1rem;top:1rem;width:44px;height:44px;border:2px solid var(--green);border-radius:50%;background:#fff;color:var(--green);font-size:1.8rem;line-height:1;cursor:pointer}.consent-category{margin:1rem 0;border:1px solid var(--line);border-radius:.75rem;background:#fff}.consent-category-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem}.consent-category-head h3{margin:0 0 .25rem}.consent-category-head p{margin:0;color:var(--muted)}.consent-switch{display:flex;align-items:center;gap:.55rem;white-space:nowrap;font-weight:800}.consent-switch input{width:1.25rem;height:1.25rem;margin:0;accent-color:var(--green)}.consent-category details{padding:0 1rem 1rem}.consent-category summary{cursor:pointer;font-weight:800;color:var(--green);padding:.5rem 0}.consent-service{margin:.75rem 0 0}.consent-service div{display:grid;grid-template-columns:minmax(120px,.32fr) 1fr;gap:1rem;padding:.55rem 0;border-top:1px solid var(--line)}.consent-service dt{font-weight:800}.consent-service dd{margin:0;overflow-wrap:anywhere}.consent-category-inactive{background:#f6f7f6}.consent-settings-actions{margin-top:1.5rem}.consent-media-frame{width:100%;aspect-ratio:16/9;border:0}.consent-media-placeholder{padding:1rem;background:var(--sand);border-left:4px solid var(--gold)}.legal [data-consent-settings]{font-weight:700}@media(max-width:720px){.consent-actions{grid-template-columns:1fr}.consent-settings{padding:0}.consent-settings-panel{min-height:100%;border-radius:0}.consent-category-head{display:grid}.consent-switch{white-space:normal}.consent-service div{grid-template-columns:1fr;gap:.15rem}.consent-banner{left:.5rem;right:.5rem;bottom:.5rem;max-height:calc(100vh - 1rem)}}
.privacy-table-wrap{overflow-x:auto;margin:1rem 0 1.5rem}.privacy-table{width:100%;min-width:760px;border-collapse:collapse}.privacy-table th,.privacy-table td{padding:.75rem;text-align:left;vertical-align:top;border:1px solid var(--line)}.privacy-table th{background:var(--sand);font-weight:800}.privacy-table code{white-space:nowrap}
