@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/font-0.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/font-1.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/font-2.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/font-3.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Serif Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/font-4.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Serif Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/font-5.ttf) format('truetype');
}
:root{--ink:#18352e;--green:#284740;--cream:#f8f5ed;--sand:#e7e8df;--line:#d4d9cf;--muted:#577067}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font:16px/1.65 'DM Sans',Arial,sans-serif}a{color:inherit}img{display:block;width:100%;object-fit:cover}.wrap{max-width:1180px;margin:auto;padding-left:32px;padding-right:32px}.topline{background:var(--green);color:#fff;display:flex;justify-content:space-between;padding:6px max(32px,calc((100vw - 1116px)/2));font-size:.82rem}.topline a{text-decoration:none}.header{height:93px;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:0 max(32px,calc((100vw - 1116px)/2));background:var(--cream);position:relative;z-index:4}.brand{text-decoration:none;display:flex;align-items:center;gap:12px;line-height:1.1;font-size:1.06rem;letter-spacing:-.025em}.brand strong,.brand small{display:block}.brand small{font-weight:400;font-size:.76rem;letter-spacing:.05em;margin-top:6px}.brand-symbol{display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--green);border-radius:50%;font-size:1.4rem}nav{display:flex;align-items:center;gap:27px}nav a{text-decoration:none;font-size:.88rem;font-weight:600;white-space:nowrap}nav a:hover,nav a.active{color:#a47f49}.menu{display:none}.hero{display:grid;grid-template-columns:49% 51%;min-height:610px;background:#e8e9df}.hero-copy{padding:95px 8% 90px max(32px,calc((100vw - 1116px)/2));align-self:center}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-weight:700;font-size:.72rem;color:#9a7747}.hero h1,.page-intro h1{font:normal clamp(3.3rem,6vw,6.4rem)/1.02 'DM Serif Display',Georgia,serif;letter-spacing:-.045em;margin:23px 0}.hero h1 em{font-weight:normal;color:#9b7447}.hero-copy p{font-size:1.08rem;margin-bottom:34px}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px}.button{border:0;background:var(--green);color:white;text-decoration:none;padding:15px 22px;display:inline-flex;justify-content:space-between;gap:30px;align-items:center;cursor:pointer;font:600 .91rem 'DM Sans',sans-serif;transition:background .2s}.button:hover{background:#41685d}.text-link{font-weight:700;text-underline-offset:5px}.hero-image{position:relative;overflow:hidden}.hero-image img{height:100%;min-height:500px}.image-note{position:absolute;bottom:22px;right:25px;color:#fff;background:rgba(24,53,46,.8);padding:8px 15px;font:italic 1.25rem 'DM Serif Display',serif}.info-band{background:var(--green);color:#fff;padding:65px 0}.band-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.info-band h2,.section h2,.team-section h2,.contact-cta h2{font:normal clamp(2.2rem,3.6vw,3.7rem)/1.12 'DM Serif Display',serif;margin:15px 0 20px}.info-band p{max-width:370px;color:#d8e3dc}.hours>div{border-bottom:1px solid #789087;display:flex;justify-content:space-between;gap:20px;padding:9px 0}.hours b{font-weight:600}.hours small{display:block;margin-top:12px;color:#d5dfd8}.section{padding-top:105px;padding-bottom:105px}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:45px}.three article{border-top:1px solid var(--green);padding-top:24px}.three h3,.team-grid h3{font:normal 1.75rem 'DM Serif Display',serif;margin:15px 0}.three p{color:#486157}.number{font-size:.8rem;color:#9a7747}.team-section{background:#e7e9e2;padding:100px 0}.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:35px}.team-grid article{border-top:1px solid #9baea1;padding-top:20px}.team-grid li{margin-bottom:7px}.team-grid ul{padding-left:20px}.contact-cta{display:flex;align-items:end;justify-content:space-between;gap:30px;padding-top:90px;padding-bottom:100px}.page-intro{background:#e7e9e2;padding:80px 0 65px}.page-intro h1{font-size:clamp(3rem,5vw,5rem);margin:16px 0}.page-intro p{font-size:1.1rem}.prose{padding-top:65px;padding-bottom:100px}.prose.narrow{max-width:900px}.prose h1,.prose h2,.prose h3{font:normal 1.75rem 'DM Serif Display',serif;margin:32px 0 12px}.prose h1:first-child{font-size:2.2rem}.prose p,.prose li{margin:0 0 15px}.prose ul{padding-left:22px}.legal{max-width:1000px}.legal p,.legal li{overflow-wrap:anywhere}.jobs{max-width:970px}.jobs h1:first-child,.jobs h1:nth-child(2){display:none}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;padding-top:65px;padding-bottom:100px}.gallery figure{margin:0;aspect-ratio:1.12;overflow:hidden;background:#ddd}.gallery img{height:100%;transition:transform .4s}.gallery img:hover{transform:scale(1.04)}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-top:80px;padding-bottom:105px}.contact-layout h2{font:normal 2rem 'DM Serif Display',serif;margin:0 0 20px}.contact-large{font:normal 1.8rem 'DM Serif Display',serif}.contact-layout form{background:white;padding:35px}.contact-layout label{display:block;font-weight:600;margin:16px 0}.contact-layout input,.contact-layout textarea{display:block;width:100%;border:1px solid #abb8ad;padding:12px;font:inherit;margin-top:5px;background:#fafbf8}.small{font-size:.85rem;color:#59675e}footer{background:#18352e;color:#eaf0e9;padding:70px max(32px,calc((100vw - 1116px)/2)) 20px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.foot-brand{font:normal 1.65rem 'DM Serif Display',serif}footer p{color:#d3dfd7}footer a{text-decoration:none}footer a:hover{text-decoration:underline}.copyright{border-top:1px solid #49645a;margin-top:60px;padding-top:16px;font-size:.8rem;color:#aec0b4}@media(max-width:900px){.header{height:76px}.menu{display:block;border:0;background:none;font-size:1.6rem;color:var(--ink);cursor:pointer}nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--cream);padding:20px 32px 30px;box-shadow:0 10px 20px #172d221a;flex-direction:column;align-items:start;gap:15px}nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-copy{padding:70px 32px}.hero-image{height:440px}.band-grid,.team-grid,.contact-layout{gap:35px}}@media(max-width:650px){.topline{padding:5px 18px;font-size:.7rem}.header{padding:0 18px}.wrap{padding-left:20px;padding-right:20px}.hero-copy{padding:55px 20px}.hero h1{font-size:3.8rem}.hero-image{height:320px}.hero-image img{min-height:0}.band-grid,.team-grid,.contact-layout,.footer-grid{grid-template-columns:1fr}.info-band,.team-section{padding:65px 0}.section{padding-top:70px;padding-bottom:70px}.three,.gallery{grid-template-columns:1fr}.three{gap:15px}.contact-cta{padding-top:65px;padding-bottom:70px;display:block}.contact-cta .button{margin-top:16px}.page-intro{padding:65px 0 50px}.contact-layout{padding-top:50px;padding-bottom:70px}.contact-layout form{padding:22px}.gallery{gap:15px;padding-top:45px}.gallery figure{aspect-ratio:1.4}.hours>div{display:block}.hours span{display:block}footer{padding:60px 20px 20px}}
/* Terminplanung und Bildkarten */
.booking-section{background:#f2f0e9;padding:90px 0}.booking-grid{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(440px,1.25fr);gap:65px;align-items:start}.booking-copy{position:sticky;top:35px}.booking-copy h2{font:normal clamp(2.2rem,3.8vw,3.7rem)/1.1 'DM Serif Display',serif;margin:18px 0 25px}.booking-copy p{max-width:400px;color:#486157}.calendar-box{background:white;padding:12px 12px 8px;min-width:0;box-shadow:0 12px 35px #18352e16}.calendar-box iframe{display:block;width:100%;height:680px;border:0;background:#fff}.calendar-box p{margin:8px 15px 10px;font-size:.85rem;color:#577067}.calendar-box a{text-underline-offset:3px}.service-image{height:225px;aspect-ratio:1.55;object-fit:cover;margin-bottom:24px}.three article{border-top:0;padding-top:0}.three .number{display:block;border-top:1px solid var(--green);padding-top:18px}@media(max-width:900px){.booking-grid{grid-template-columns:1fr;gap:25px}.booking-copy{position:static}.booking-section{padding:65px 0}}@media(max-width:650px){.calendar-box{padding:4px}.calendar-box iframe{height:700px}.booking-section{padding:55px 0}.service-image{height:240px}}
/* Bildwechsel wie auf der bisherigen Startseite */
.hero-image{min-height:610px;background:#e7e9e2}.hero-slide{position:absolute;inset:0;width:100%;height:100%;min-height:0!important;object-fit:cover;opacity:0;animation:hero-fade 36s infinite}.hero-slide:nth-child(1){animation-delay:0s}.hero-slide:nth-child(2){animation-delay:6s}.hero-slide:nth-child(3){animation-delay:12s}.hero-slide:nth-child(4){animation-delay:18s}.hero-slide:nth-child(5){animation-delay:24s}.hero-slide:nth-child(6){animation-delay:30s}@keyframes hero-fade{0%,14%{opacity:1}17%,97%{opacity:0}100%{opacity:1}}.three article{border-top:1px solid var(--green);padding-top:20px}.three .number{display:none}@media(max-width:900px){.hero-image{min-height:440px}}@media(max-width:650px){.hero-image{min-height:320px}}@media(prefers-reduced-motion:reduce){.hero-slide{animation:none;opacity:0}.hero-slide:first-child{opacity:1}}
/* Team und Anfahrt */
.team-visual{height:295px;background:#f6f7f2;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:28px}.team-visual img{width:100%;height:100%;object-fit:cover}.team-visual.portrait img{object-position:center 22%}.team-visual.logo{background:#fff}.team-visual.logo img{width:205px;height:205px;object-fit:contain}.phone-note{display:block;font-size:.93rem;line-height:1.55;margin:24px 0 10px}.booking-copy .phone-note{border-top:1px solid #abb9ad;padding-top:20px}.phone-note a{font-weight:700;display:inline-block;margin-top:10px}footer b{font-weight:600;font-size:.86rem}.map-section{padding-top:85px;padding-bottom:100px}.map-heading{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:28px}.map-heading h2{font:normal clamp(2.2rem,3.6vw,3.7rem)/1.1 'DM Serif Display',serif;margin:12px 0 8px}.map-heading p{margin:0}.map-section iframe{width:100%;height:420px;border:1px solid var(--line);background:#e8ece7;display:block}.map-credit{font-size:.78rem;color:var(--muted);margin-top:8px}@media(max-width:650px){.team-visual{height:280px}.map-section{padding-top:60px;padding-bottom:70px}.map-heading{display:block}.map-heading .button{margin-top:20px}.map-section iframe{height:330px}}
/* Jobbörse */
.jobs-page{background:#eff5f8;color:#19344b}.jobs-page .topline,.jobs-page footer{background:#112e48}.jobs-page .header{background:#f6fafc}.jobs-page .brand-symbol{border-color:#224d6b}.jobs-page nav a:hover,.jobs-page nav a.active{color:#327fa4}.jobs-page .eyebrow{color:#9dc7e2}.jobs-hero{background:#173e60;color:#fff;overflow:hidden}.jobs-hero-grid{display:grid;grid-template-columns:1fr 46%;align-items:center;gap:7%;min-height:510px}.jobs-hero-grid>div{padding:65px 0}.jobs-hero h1{font:normal clamp(3.1rem,5.4vw,5.8rem)/1.02 'DM Serif Display',serif;letter-spacing:-.04em;margin:22px 0 24px}.jobs-hero p{font-size:1.08rem;color:#d4e4ee}.jobs-hero img{height:510px;object-fit:cover;object-position:center 42%;align-self:stretch}.jobs-jump{display:inline-block;color:#fff;text-underline-offset:6px;font-weight:700;margin-top:26px}.job-list{max-width:1040px;padding-top:85px;padding-bottom:100px}.job-list-heading{margin-bottom:36px}.job-list-heading .eyebrow{color:#37799c}.job-list-heading h2{font:normal clamp(2.2rem,3.8vw,3.7rem)/1.12 'DM Serif Display',serif;margin:12px 0}.job-card{background:#fff;border-left:5px solid #2d7598;padding:40px 48px;margin-bottom:22px;box-shadow:0 8px 30px #153d5d0b}.job-card h2{font:normal clamp(1.75rem,2.4vw,2.35rem)/1.2 'DM Serif Display',serif;margin:0 0 20px;color:#184766}.job-card p{margin:12px 0;max-width:780px}.job-card ul{padding-left:24px;margin:12px 0}.job-card li{padding-left:4px;margin:7px 0}.jobs-page footer a:hover{color:#b8dbec}@media(max-width:800px){.jobs-hero-grid{grid-template-columns:1fr 40%;gap:25px}.jobs-hero-grid>div{padding:65px 0}.jobs-hero img{height:470px}.job-card{padding:32px}}@media(max-width:650px){.jobs-hero-grid{display:flex;flex-direction:column;align-items:stretch;gap:0}.jobs-hero-grid>div{padding:58px 0 35px}.jobs-hero img{height:310px;width:100%;object-position:center 35%}.job-list{padding-top:65px;padding-bottom:70px}.job-card{padding:28px 23px;margin-bottom:16px}}
/* Buchung und Anfahrt auf der Startseite */
@media(min-width:901px){.home-page .booking-grid{grid-template-columns:minmax(0,2fr) minmax(320px,1fr);gap:55px}.home-page .calendar-box iframe{height:720px}}.booking-directions{margin-top:30px}.booking-directions span{display:block;font-size:.86rem;font-weight:700;letter-spacing:.04em;margin-bottom:10px;color:#486157}.booking-directions .button{min-width:160px}.home-page .booking-copy .phone-note{margin-top:30px}
/* Einheitliche Farbwelt der Jobbörse auf allen Seiten */
:root{--ink:#19344b;--green:#173e60;--cream:#f6fafc;--sand:#e7f0f5;--line:#cadbe5;--muted:#536f83}body{background:#f6fafc;color:var(--ink)}.topline,footer,.info-band{background:#112e48}.header{background:#f6fafc}.brand-symbol{border-color:#224d6b}.eyebrow,.number{color:#37799c}nav a:hover,nav a.active{color:#327fa4}.button{background:#20577b}.button:hover{background:#32799e}.hero{background:#e7f0f5}.hero h1 em{color:#32799e}.hero-image{background:#e7f0f5}.image-note{background:#173e60d9}.info-band p,.hours small{color:#d4e4ee}.hours>div{border-bottom-color:#63849c}.booking-section{background:#eaf2f7}.booking-copy p,.three p{color:#49677d}.booking-directions span{color:#49677d}.booking-copy .phone-note{border-color:#abc2d1}.team-section,.page-intro{background:#e7f0f5}.team-grid article{border-color:#9db6c7}.three article{border-color:#4c7c9b}.team-visual{background:#eaf2f7}.contact-layout form{background:#fff}.contact-layout input,.contact-layout textarea{background:#f8fbfd;border-color:#abc2d1}.small,.map-credit{color:#536f83}.map-section iframe{background:#e7f0f5}.copyright{border-color:#41617b;color:#bfd1dc}footer p{color:#d4e4ee}
@media(min-width:901px){.home-page .booking-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:55px}}
/* Teamkarten mit vollständigem Porträt und freigestelltem Emblem */
.team-section{padding:95px 0 105px}.team-grid{gap:25px;align-items:stretch}.team-grid article{background:#fff;border:1px solid #cbdde8;border-radius:10px;box-shadow:0 14px 36px #173e6012;padding:0 0 30px;overflow:hidden}.team-visual{height:400px;margin:0 0 25px;background:#dcebf4}.team-visual.portrait{background:linear-gradient(135deg,#dcebf4,#bcd8e9)}.team-visual.portrait img{height:100%;width:auto;max-width:100%;object-fit:contain;object-position:center}.team-visual.logo{background:linear-gradient(135deg,#dcebf4,#bcd8e9)}.team-visual.logo img{width:245px;height:245px;border-radius:50%;object-fit:cover;box-shadow:0 15px 30px #173e6033}.team-grid article>h3,.team-grid article>p,.team-grid article>ul,.team-grid article>.team-extra-link{margin-left:32px;margin-right:32px}.team-grid article>h3{margin-top:12px}.team-grid article>ul{padding-left:21px}.team-extra-link{display:inline-block;font-weight:700;text-underline-offset:4px;margin-top:8px}.assistants-card{display:flex;align-items:center;justify-content:space-between;gap:25px;background:#173e60;color:#fff;padding:26px 33px;margin-top:24px;border-radius:10px}.assistants-card .eyebrow{color:#9dc7e2}.assistants-card h3{font:normal 1.8rem 'DM Serif Display',serif;margin:5px 0 0}.assistants-card p{margin:0;font-weight:600}@media(max-width:900px){.team-grid{gap:20px}.team-visual{height:350px}}@media(max-width:650px){.team-section{padding:70px 0}.team-visual{height:370px}.team-grid article>h3,.team-grid article>p,.team-grid article>ul,.team-grid article>.team-extra-link{margin-left:23px;margin-right:23px}.assistants-card{display:block;padding:25px}.assistants-card p{margin-top:14px}}
/* Tierarzthelferinnen in der Karte von Dr. Harms */
.harms-assistants{border-top:1px solid #cbdde8;margin:30px 32px 0;padding-top:25px}.harms-assistants .eyebrow{color:#37799c}.harms-assistants h3{font:normal 1.65rem 'DM Serif Display',serif;margin:9px 0}.harms-assistants p{margin:0;font-weight:600;line-height:1.7}@media(max-width:650px){.harms-assistants{margin-left:23px;margin-right:23px}}
.harms-assistants ul{list-style:none;padding:0;margin:13px 0 0}.harms-assistants li{margin:7px 0;font-weight:600}
/* Neues Praxislogo */
.brand-logo{width:54px;height:54px;object-fit:cover;border-radius:50%;flex:none;background:#fff}.footer-logo{width:82px;height:82px;object-fit:cover;border-radius:50%;background:#fff;margin-bottom:15px}.team-visual.logo img{background:#fff}
/* Logo und neues Praxisfoto */
.header{height:108px}.brand{font-size:1.22rem;gap:15px}.brand small{font-size:.82rem}.brand-logo{width:78px;height:78px}.team-visual.portrait img{width:100%;height:100%;max-width:none;object-fit:contain;object-position:center}@media(max-width:900px){.header{height:86px}.brand-logo{width:62px;height:62px}.brand{font-size:1.08rem}nav{top:86px}}@media(max-width:650px){.header{height:82px}.brand-logo{width:58px;height:58px}.brand{font-size:1rem;gap:10px}.brand small{font-size:.72rem}nav{top:82px}}
/* Sprechstundenzeiten direkt im Terminbereich */
.booking-hours{border-top:1px solid #abc2d1;margin-top:26px;padding-top:10px}.booking-hours>div{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #d1e0e9;padding:8px 0;font-size:.92rem}.booking-hours b{font-weight:600}.booking-hours small{display:block;margin-top:10px;color:#536f83}.booking-directions{margin-top:30px}@media(max-width:650px){.booking-hours>div{display:block}.booking-hours span{display:block}}
/* Dunkelblauer Terminbereich wie der frühere Sprechstundenblock */
.booking-section{background:#112e48;color:#fff}.booking-section .eyebrow{color:#9dc7e2}.booking-section .booking-copy p,.booking-section .booking-directions span,.booking-section .booking-hours small{color:#d4e4ee}.booking-section .booking-hours{border-top-color:#63849c}.booking-section .booking-hours>div{border-bottom-color:#41617b}.booking-section .booking-copy .phone-note{border-top-color:#63849c}.booking-section .booking-copy a:not(.button){color:#fff}.booking-section .button{background:#32799e}.booking-section .button:hover{background:#4c92b4}.booking-section .calendar-box{color:#19344b}.booking-section .calendar-box p{color:#536f83}
.booking-section .phone-note a{display:inline;margin:0;white-space:nowrap}
/* Externe Dienste werden erst nach bewusster Freigabe geladen. */
[hidden]{display:none!important}.embed-shell{position:relative}.embed-consent{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;background:#f0f6fa;border:1px solid #cbdde8;padding:32px;color:#19344b}.embed-consent h3{font:normal 1.7rem 'DM Serif Display',serif;margin:0 0 10px}.embed-consent p{line-height:1.6;margin:0 0 22px;max-width:550px}.embed-consent a{text-underline-offset:3px}.calendar-embed .embed-consent{min-height:380px}.map-embed .embed-consent{min-height:350px}.map-section .map-embed iframe{width:100%;height:420px;border:1px solid var(--line)}.embed-hide{display:block;background:transparent;border:0;text-decoration:underline;color:inherit;cursor:pointer;font:600 .85rem 'DM Sans',Arial,sans-serif;margin:10px 2px;text-underline-offset:3px}.calendar-box .embed-consent p{font-size:.95rem;color:#49677d}.calendar-box .embed-consent .button{color:white}.map-embed .embed-consent .button{color:white}@media(max-width:650px){.embed-consent{padding:24px}.calendar-embed .embed-consent,.map-embed .embed-consent{min-height:320px}.map-section .map-embed iframe{height:330px}}

/* Abschluss: lokale Anfahrt, Einwilligung, Navigation und kleine Bildschirme */
.skip-link{position:absolute;left:12px;top:-100px;z-index:20;background:#fff;color:#112e48;padding:12px 18px;border:2px solid #20577b}.skip-link:focus{top:12px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
:focus-visible{outline:3px solid #e1a648;outline-offset:4px}main:focus{outline:0}
html{scroll-padding-top:20px}body{overflow-wrap:break-word}.header>*,.booking-grid>*,.contact-layout>*,.footer-grid>*,.team-grid>*{min-width:0}
.booking-widget{min-width:0}.calendar-fallback{padding:16px 10px 8px;font-size:.86rem}.calendar-box .consent-duration{font-size:.8rem;margin:15px 0 0}.calendar-box .embed-consent{min-height:380px}.embed-consent .button{max-width:100%;white-space:normal;text-align:left;line-height:1.5}.calendar-box .embed-hide{min-height:44px;color:#19344b;text-align:left}
.local-map{margin:0;border:1px solid var(--line);background:#eaf2f7}.local-map picture,.local-map img{display:block;width:100%;height:auto}.local-map figcaption{padding:12px 16px;background:#f6fafc;line-height:1.6;margin:0}.map-heading .button{flex-shrink:0;gap:15px}
.slideshow-toggle{position:absolute;left:18px;top:18px;z-index:2;border:1px solid #fff8;background:#112e48e8;color:#fff;border-radius:4px;padding:10px 14px;min-height:44px;font:600 .8rem 'DM Sans',sans-serif;cursor:pointer}.hero-image.is-paused .hero-slide{animation-play-state:paused}
.privacy-date{color:var(--muted);font-size:.9rem}.privacy-details{border-top:1px solid var(--line);margin-top:40px;padding-top:24px}.privacy-details summary{cursor:pointer;font-weight:700;min-height:44px}.privacy-details[open] summary{margin-bottom:24px}
footer a{overflow-wrap:anywhere}.contact-layout input,.contact-layout textarea{min-width:0}.contact-layout textarea{resize:vertical}.contact-layout .form-status{margin-top:18px}.menu{min-width:44px;min-height:44px}
@media(max-width:1050px){.contact-layout{gap:35px}.map-heading{align-items:flex-start;flex-direction:column;gap:18px}}
@media(max-width:900px){nav a{padding:8px 0;width:100%;min-height:44px}.brand{min-width:0}.header{gap:12px}}
@media(max-width:650px){.topline{gap:8px;flex-wrap:wrap}.topline span,.topline a{line-height:1.5}.brand span{font-size:.94rem}.brand small{font-size:.7rem}.brand-logo{height:52px;width:52px}.header{padding:0 14px}.hero-actions .button{gap:20px}.hero h1{font-size:clamp(3rem,15vw,3.8rem)}.page-intro h1{font-size:clamp(2.2rem,10vw,3rem);overflow-wrap:anywhere}.team-grid h3{font-size:1.6rem}.team-visual{height:auto;min-height:270px;aspect-ratio:1/1}.team-visual img{max-height:370px}.booking-section .wrap{padding-left:16px;padding-right:16px}.embed-consent{padding:20px}.calendar-box iframe{height:760px}.map-heading .button{width:100%;justify-content:center;flex-shrink:1}.contact-large{font-size:1.65rem}.contact-layout form{padding:20px}.contact-layout .button{width:100%;justify-content:center}.jobs-hero h1{font-size:clamp(2.8rem,14vw,4rem)}.footer-grid{gap:25px}}
@media(max-width:900px){html:not(.js) .header{height:auto;padding-top:12px;flex-wrap:wrap}html:not(.js) nav{display:flex;position:static;box-shadow:none;width:100%;padding:16px 4px;gap:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}.gallery img:hover{transform:none}}
