:root{--navy:#1B365D;--navy-deep:#0F2240;--navy-light:#2A4A7F;--silver:#9EAAB8;--silver-light:#C8D0D8;--cream:#F7F5F2;--warm-white:#FDFCFA;--sage:#7A9E7E;--sage-light:#E8F0E9;--accent:#C4956A;--text:#2C2C2C;--text-light:#5A5A5A;--text-muted:#8A8A8A;--border:#E8E4DF;--shadow-sm:0 1px 3px rgba(27,54,93,0.06);--shadow-md:0 4px 20px rgba(27,54,93,0.08);--shadow-lg:0 12px 40px rgba(27,54,93,0.12);--radius:12px;--radius-lg:20px;--transition:0.3s cubic-bezier(0.4, 0, 0.2, 1);--font-display:'DM Serif Display', Georgia, serif;--font-body:'Outfit', system-ui, sans-serif}*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px;font-size:16px}body{font-family:var(--font-body);color:var(--text);background:var(--warm-white);line-height:1.7;font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:var(--navy);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--navy-light)}a:focus-visible{outline:3px solid var(--navy);outline-offset:2px;border-radius:4px}h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;line-height:1.25;color:var(--navy-deep)}h1{font-size:clamp(2.2rem, 5vw, 3.5rem)}h2{font-size:clamp(1.8rem, 3.5vw, 2.6rem)}h3{font-size:clamp(1.3rem, 2.5vw, 1.8rem)}p{margin-bottom:1rem}.container{max-width:1200px;margin:0 auto;padding:0 clamp(1.25rem, 4vw, 3rem)}.section{padding:clamp(4rem, 8vw, 7rem) 0}.section--alt{background:var(--cream)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fade-in{opacity:0;transform:translateY(24px);transition:opacity 0.7s ease,transform 0.7s ease}.fade-in.visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;scroll-behavior:auto!important}.fade-in{opacity:1;transform:none}}.skip-link{position:absolute;top:-40px;left:0;background:var(--navy);color:#fff;padding:8px 16px;z-index:10000;transition:top 0.3s;font-size:.9rem;font-weight:600}.skip-link:focus{top:0;color:#fff;outline:3px solid var(--accent)}.header{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgb(253 252 250 / .92);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid #fff0;transition:border-color var(--transition),box-shadow var(--transition)}.header.scrolled{border-bottom-color:var(--border);box-shadow:var(--shadow-sm)}.header__inner{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto;padding:.75rem clamp(1.25rem, 4vw, 3rem)}.header__logo{display:flex;align-items:center;gap:.75rem}.header__logo img{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid var(--silver-light)}.header__logo-text{font-family:var(--font-display);font-size:1.15rem;color:var(--navy-deep);line-height:1.2}.header__logo-text small{font-family:var(--font-body);font-size:.7rem;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-weight:500;display:block}.nav{display:flex;align-items:center;gap:0}.nav__link{font-size:.82rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--text-light);padding:.5rem 1rem;border-radius:8px;transition:color var(--transition),background var(--transition)}.nav__link:hover,.nav__link:focus-visible{color:var(--navy);background:rgb(27 54 93 / .05)}.nav__cta{font-size:.82rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#fff;background:var(--navy);padding:.6rem 1.4rem;border-radius:50px;transition:background var(--transition),transform var(--transition);margin-left:.5rem;display:inline-flex;align-items:center;gap:.4rem}.nav__cta:hover{background:var(--navy-light);color:#fff;transform:translateY(-1px)}.nav__cta:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;background:none;border:none;z-index:1001}.hamburger span{display:block;width:24px;height:2px;background:var(--navy-deep);border-radius:2px;transition:var(--transition)}.hamburger.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.hamburger:focus-visible{outline:3px solid var(--navy);outline-offset:2px;border-radius:4px}@media (max-width:768px){.hamburger{display:flex}.nav{position:fixed;top:0;right:-100%;width:80%;max-width:360px;height:100vh;background:var(--warm-white);flex-direction:column;padding:6rem 2rem 2rem;gap:.25rem;box-shadow:-8px 0 40px rgb(0 0 0 / .1);transition:right 0.4s cubic-bezier(.4,0,.2,1);align-items:flex-start}.nav.open{right:0}.nav__link{font-size:1rem;padding:.75rem 1rem;width:100%}.nav__cta{margin-left:0;margin-top:1rem;text-align:center;width:100%;display:block}}.hero{min-height:100vh;display:flex;align-items:center;background:linear-gradient(165deg,var(--navy-deep) 0%,var(--navy) 40%,var(--navy-light) 100%);position:relative;overflow:hidden}.hero .container{max-width:1400px}.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 20% 80%,rgb(122 158 126 / .15) 0%,transparent 60%),radial-gradient(ellipse at 80% 20%,rgb(196 149 106 / .1) 0%,transparent 50%)}.hero::after{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}.hero__inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr 2fr;gap:clamp(1.5rem, 3vw, 2.5rem);align-items:stretch;padding-top:5rem;padding-bottom:3rem}.hero__content{color:#fff;align-self:center}.hero__badge{display:inline-flex;align-items:center;gap:.5rem;background:rgb(255 255 255 / .1);border:1px solid rgb(255 255 255 / .15);padding:.4rem 1rem;border-radius:50px;font-size:.78rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--silver-light);margin-bottom:1.5rem;backdrop-filter:blur(8px)}.hero__badge::before{display:none}.hero h1{color:#fff;margin-bottom:1rem;font-size:clamp(2.6rem, 6vw, 4.2rem);white-space:nowrap}.hero h1 em{font-style:italic;color:var(--silver-light)}.hero__subtitle{font-size:clamp(1.6rem, 3.5vw, 2.2rem);color:rgb(255 255 255 / .75);margin-bottom:.5rem;font-weight:300;white-space:nowrap}.hero__services{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.5rem 0 2rem}.hero__services span{background:rgb(255 255 255 / .08);border:1px solid rgb(255 255 255 / .12);padding:.4rem 1rem;border-radius:50px;font-size:.85rem;color:rgb(255 255 255 / .85);font-weight:400}.hero__address{color:rgb(255 255 255 / .6);font-size:.92rem;max-width:440px}.hero__actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem}.hero__visual{display:flex;align-items:stretch;justify-content:center;height:100%}.hero__img{border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 20px 60px rgb(0 0 0 / .3);border:1px solid rgb(255 255 255 / .08);width:100%;height:100%}.hero__img img{width:100%;height:100%;min-height:500px;display:block;object-fit:cover;border-radius:var(--radius-lg)}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 2rem;border-radius:50px;font-family:var(--font-body);font-size:.9rem;font-weight:600;letter-spacing:.02em;border:none;cursor:pointer;transition:all var(--transition);text-decoration:none}.btn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.btn--primary{background:#fff;color:var(--navy-deep)}.btn--primary:hover{background:var(--cream);color:var(--navy-deep);transform:translateY(-2px);box-shadow:0 8px 24px rgb(0 0 0 / .2)}.btn--outline{background:#fff0;color:#fff;border:1.5px solid rgb(255 255 255 / .3)}.btn--outline:hover{background:rgb(255 255 255 / .1);color:#fff;border-color:rgb(255 255 255 / .5)}.btn--navy{background:var(--navy);color:#fff}.btn--navy:hover{background:var(--navy-light);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-lg)}@media (max-width:900px){.hero__inner{grid-template-columns:1fr;text-align:center}.hero h1,.hero__subtitle{white-space:normal}.hero__services{justify-content:center}.hero__actions{justify-content:center}.hero__visual{max-width:600px;margin:0 auto}.hero__img img{min-height:400px}.hero__address{margin:0 auto}}@media (max-width:500px){.hero__visual{display:none}}.announcement-section{padding:0;background:linear-gradient(135deg,#EEF2F7 0%,#E8EDF4 50%,#E3EAF3 100%)}.announcement-section .container{padding-top:clamp(2rem, 4vw, 3rem);padding-bottom:clamp(2rem, 4vw, 3rem)}.announcement{position:relative;text-align:center;background:rgb(255 255 255 / .45);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgb(255 255 255 / .7);border-radius:var(--radius-lg);padding:clamp(2rem, 5vw, 3rem) clamp(2rem, 5vw, 4rem);box-shadow:0 8px 32px rgb(31 38 56 / .08),0 1px 0 rgb(255 255 255 / .9) inset;transition:all 0.5s ease;overflow:hidden}.announcement::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--navy),var(--sage),var(--navy));opacity:.4}.announcement.dismissed{opacity:0;transform:translateY(-20px) scale(.98);max-height:0;padding:0;margin:0;border:0;overflow:hidden;pointer-events:none}.announcement__badge{display:inline-block;background:var(--navy);color:#fff;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;padding:.3rem 1rem;border-radius:50px;margin-bottom:1rem}.announcement__title{font-family:var(--font-display);font-size:clamp(1.5rem, 3.5vw, 2.2rem);color:var(--navy-deep);line-height:1.35;font-weight:400;margin:0 auto 0;max-width:750px}.announcement__dates{list-style:none;padding:0;margin:1rem auto 0;max-width:600px}.announcement__dates li{padding:.4rem 0;font-size:1rem;color:var(--text);line-height:1.5}.announcement__dates strong{color:var(--navy-deep);margin-right:.5rem}.announcement__dates span{color:var(--text-light)}.announcement__vertretung-label{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin:1.25rem auto .25rem;max-width:600px}.announcement__vertretung{list-style:none;padding:0;margin:1rem auto 0;max-width:600px}.announcement__vertretung li{padding:.5rem 0;font-size:.95rem;color:var(--text);line-height:1.5;border-bottom:1px solid rgb(0 0 0 / .06)}.announcement__vertretung li:last-child{border-bottom:none}.announcement__vertretung strong{color:var(--navy-deep)}.announcement__vertretung a{color:var(--navy);font-weight:600;transition:color var(--transition)}.announcement__vertretung a:hover{color:var(--navy-light)}.announcement__dismiss{position:absolute;top:1rem;right:1rem;width:32px;height:32px;border-radius:50%;background:rgb(255 255 255 / .5);border:1px solid rgb(0 0 0 / .06);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition)}.announcement__dismiss svg{stroke:var(--text-muted);width:16px;height:16px}.announcement__dismiss:hover{background:rgb(255 255 255 / .8)}.announcement__dismiss:focus-visible{outline:3px solid var(--navy);outline-offset:2px}@media (max-width:768px){.announcement{padding:2rem 1.5rem;padding-top:2.5rem}}.section-header{text-align:center;max-width:640px;margin:0 auto 3rem}.section-header__label{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--sage);margin-bottom:.75rem}.section-header p{color:var(--text-light);margin-top:1rem;font-size:1.05rem}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.service-card{background:#fff;border-radius:var(--radius-lg);padding:2rem;border:1px solid var(--border);transition:all var(--transition);position:relative;overflow:hidden}.service-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--navy),var(--sage));opacity:0;transition:opacity var(--transition)}.service-card:hover{box-shadow:var(--shadow-lg);border-color:#fff0;transform:translateY(-4px)}.service-card:hover::before{opacity:1}.service-card__icon{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,var(--navy) 0%,var(--navy-light) 100%);display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;font-size:1.4rem;color:#fff}.service-card h3{font-size:1.15rem;margin-bottom:.75rem}.service-card p{font-size:.92rem;color:var(--text-light);margin:0;line-height:1.6}.hours-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}.hours-card{background:#fff;border-radius:var(--radius-lg);padding:2.5rem;border:1px solid var(--border);box-shadow:var(--shadow-sm)}.hours-col h3{margin-bottom:1rem}.hours-table{width:100%;border-collapse:collapse}.hours-table tr{border-bottom:1px solid var(--border)}.hours-table tr:last-child{border-bottom:none}.hours-table td{padding:.85rem 0;font-size:.95rem}.hours-table td:first-child{font-weight:600;color:var(--navy-deep);width:40%}.hours-table td:last-child{color:var(--text-light);text-align:right}.hours-table .closed{color:var(--text-muted);font-style:italic}.hours-info h3{margin-bottom:1rem}.hours-info p{color:var(--text-light);font-size:.95rem}.hours-info__note{margin-top:1.5rem}.hours-info__note p{margin:0;font-size:1.05rem;color:var(--text-light)}.phone-big{display:flex;align-items:center;gap:.75rem;font-size:1.5rem;font-family:var(--font-display);color:var(--navy);margin:1.5rem 0}.phone-big svg{flex-shrink:0}@media (max-width:768px){.hours-wrapper{grid-template-columns:1fr;gap:2rem}}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.gallery-item{border-radius:var(--radius);overflow:hidden;position:relative;aspect-ratio:4/3}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s ease}.gallery-item:hover img{transform:scale(1.05)}.gallery-item__label{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgb(15 34 64 / .8));color:#fff;padding:2rem 1.25rem 1rem;font-size:.85rem;font-weight:500}@media (max-width:768px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.gallery-grid{grid-template-columns:1fr}}.about-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(2rem, 5vw, 4rem);align-items:center}.about-image{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);position:relative}.about-image img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:top}.about-image__badge{position:absolute;bottom:1.5rem;left:1.5rem;background:var(--navy);color:#fff;padding:.6rem 1.2rem;border-radius:50px;font-size:.8rem;font-weight:500;letter-spacing:.04em}.about-content h2{margin-bottom:1.5rem}.about-content p{color:var(--text-light);font-size:.95rem}.about-quals{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.5rem 0}.about-quals span{background:var(--cream);border:1px solid var(--border);padding:.35rem .85rem;border-radius:50px;font-size:.8rem;font-weight:500;color:var(--text-light)}.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin-top:3rem}.team-card{background:#fff;border-radius:var(--radius-lg);padding:2rem;text-align:center;border:1px solid var(--border);transition:all var(--transition)}.team-card:hover{box-shadow:var(--shadow-md);border-color:#fff0}.team-card__avatar{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--navy) 0%,var(--sage) 100%);display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;color:#fff;font-family:var(--font-display);font-size:1.3rem}.team-card h4{font-size:1.05rem;margin-bottom:.25rem}.team-card p{font-size:.85rem;color:var(--text-muted);margin:0}@media (max-width:768px){.about-grid{grid-template-columns:1fr}.about-image{max-width:400px;margin:0 auto}}.insurance-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.insurance-card{background:#fff;border-radius:var(--radius-lg);padding:2rem;text-align:center;border:1px solid var(--border)}.insurance-card__icon{width:48px;height:48px;border-radius:50%;background:var(--cream);margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;font-size:1.3rem}.insurance-card h4{font-size:1rem;margin-bottom:.5rem}.insurance-card p{font-size:.85rem;color:var(--text-muted);margin:0}@media (max-width:600px){.insurance-cards{grid-template-columns:1fr}}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:stretch}.contact-info-card{background:var(--navy-deep);color:#fff;border-radius:var(--radius-lg);padding:clamp(2rem, 4vw, 3rem);position:relative;overflow:hidden}.contact-info-card::before{content:'';position:absolute;top:-50%;right:-30%;width:300px;height:300px;border-radius:50%;background:rgb(122 158 126 / .08)}.contact-info-card h3{color:#fff;margin-bottom:2rem;position:relative;font-size:clamp(1.5rem, 3vw, 2rem)}.contact-item{display:flex;gap:1rem;margin-bottom:1.5rem;position:relative}.contact-item__icon{width:44px;height:44px;border-radius:12px;background:rgb(255 255 255 / .08);display:flex;align-items:center;justify-content:center;flex-shrink:0}.contact-item__icon svg{width:20px;height:20px;stroke:var(--silver-light)}.contact-item__text{font-size:.95rem;color:rgb(255 255 255 / .85);line-height:1.5}.contact-item__text strong{color:#fff;display:block;margin-bottom:.15rem}.contact-item__text a{color:rgb(255 255 255 / .85)}.contact-item__text a:hover{color:#fff}.contact-map{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);display:flex;flex-direction:column;height:100%}.contact-map iframe{width:100%;flex:1;border:0}.map-consent{display:flex;align-items:center;justify-content:center;width:100%;flex:1;background:var(--cream)}.map-consent__inner{text-align:center;padding:2rem;max-width:360px}.map-consent__inner svg{stroke:var(--navy);width:40px;height:40px;margin-bottom:1rem;opacity:.5}.map-consent__inner p{font-size:.9rem;color:var(--text-light);margin-bottom:1.25rem;line-height:1.5}.map-consent.hidden{display:none}@media (max-width:768px){.contact-grid{grid-template-columns:1fr}}.footer{background:var(--navy-deep);color:rgb(255 255 255 / .7);padding:clamp(3rem, 6vw, 5rem) 0 0}.footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem}.footer__brand h3{color:#fff;font-size:1.3rem;margin-bottom:.75rem;font-family:var(--font-display)}.footer__brand p{font-size:.9rem;line-height:1.6;max-width:320px}.footer h4{color:#fff;font-family:var(--font-body);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1.25rem}.footer__links{list-style:none}.footer__links li{margin-bottom:.6rem}.footer__links a{color:rgb(255 255 255 / .6);font-size:.9rem;transition:color var(--transition)}.footer__links a:hover{color:#fff}.footer__bottom{border-top:1px solid rgb(255 255 255 / .08);margin-top:3rem;padding:1.5rem 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;font-size:.82rem;color:rgb(255 255 255 / .4)}.footer__bottom a{color:rgb(255 255 255 / .5)}.footer__bottom a:hover{color:#fff}@media (max-width:768px){.footer__grid{grid-template-columns:1fr;gap:2rem}.footer__bottom{flex-direction:column;text-align:center}}.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:9999;background:var(--navy-deep);color:rgb(255 255 255 / .85);padding:1.25rem clamp(1.25rem, 4vw, 3rem);display:none;align-items:center;gap:1.5rem;box-shadow:0 -4px 30px rgb(0 0 0 / .2);font-size:.88rem}.cookie-banner.show{display:flex}.cookie-banner p{flex:1;margin:0;line-height:1.5}.cookie-banner a{color:var(--silver-light);text-decoration:underline}.cookie-banner__actions{display:flex;gap:.75rem;flex-shrink:0}.cookie-btn{padding:.6rem 1.4rem;border-radius:50px;border:none;font-family:var(--font-body);font-size:.82rem;font-weight:600;cursor:pointer;transition:all var(--transition)}.cookie-btn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.cookie-btn--accept{background:#fff;color:var(--navy-deep)}.cookie-btn--accept:hover{background:var(--cream)}.cookie-btn--decline{background:rgb(255 255 255 / .1);color:#fff;border:1px solid rgb(255 255 255 / .2)}.cookie-btn--decline:hover{background:rgb(255 255 255 / .15)}@media (max-width:600px){.cookie-banner{flex-direction:column;align-items:stretch}.cookie-banner__actions{justify-content:center}}.legal-content{max-width:800px;margin:0 auto}.legal-content h2{font-size:1.6rem;margin-bottom:1rem;margin-top:2.5rem}.legal-content h2:first-child{margin-top:0}.legal-content h3{font-size:1.2rem;margin-bottom:.75rem;margin-top:2rem}.legal-content p,.legal-content li{font-size:.92rem;color:var(--text-light);line-height:1.8}.legal-content ul{margin-left:1.5rem;margin-bottom:1rem}.back-to-top{position:fixed;bottom:2rem;right:2rem;z-index:900;width:44px;height:44px;border-radius:50%;border:none;background:var(--navy);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;transition:all var(--transition)}.back-to-top.visible{opacity:1;pointer-events:auto}.back-to-top:hover{background:var(--navy-light);transform:translateY(-2px)}.back-to-top:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.page-legal{padding-top:120px;padding-bottom:4rem}.page-legal .container{max-width:800px}.page-legal h1{margin-bottom:2rem}.page-legal h2{margin-top:2.5rem;margin-bottom:.75rem;font-size:1.4rem}.page-legal h3{margin-top:2rem;margin-bottom:.5rem;font-size:1.15rem}.page-legal p{color:var(--text-light);font-size:.95rem;line-height:1.8}.page-legal a{text-decoration:underline}.page-404{min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;padding-top:80px}.page-404 h1{font-size:6rem;color:var(--navy);margin-bottom:1rem}.page-404 p{color:var(--text-light);font-size:1.1rem;margin-bottom:2rem}@media (forced-colors:active){.btn,.nav__cta,.cookie-btn{border:2px solid currentColor}.service-card,.team-card,.hours-card{border:2px solid currentColor}}@media print{.header,.cookie-banner,.back-to-top,.hamburger{display:none!important}.hero{min-height:auto;padding:2rem 0}body{color:#000;background:#fff}.section{padding:1.5rem 0}a[href]::after{content:" (" attr(href) ")";font-size:.8em}}