/* Four layout studies share the exact palette of concept 06 Midnight Blue. */
html[data-midnight]{--bg:#0b1425;--surface:#131f34;--ink:#eef3ff;--muted:#b5c4dd;--accent:#aac9ff;--accent-ink:#101e35;--soft:#0e1b30;--line:#334661;--radius:8px;--display:clamp(3.9rem,6.6vw,6.45rem)}
.design-bar{background:#0b1425;color:#eef3ff;border-color:#334661}.design-dot{background:#aac9ff}.design-intro small,.design-name{color:#b5c4dd}.style-options button{background:#131f34;color:#b5c4dd;border-color:#334661}.style-options button[aria-pressed=true],.style-options button[aria-pressed=true]:hover{background:#aac9ff;color:#101e35;border-color:#aac9ff}.style-options button:hover{background:#1c2c46;color:#eef3ff}.design-bar :focus-visible{outline-color:#aac9ff}.classic-options>.style-options{background:#0b1425;border-color:#334661;max-height:400px;overflow:auto}.classic-options>summary{color:#b5c4dd}.swatch.midnight{background:#aac9ff}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
[data-midnight] .header-phone,[data-midnight] .button{border-radius:6px}[data-midnight] .hero h1 em{font-weight:300}[data-midnight] .hero-image{border-radius:6px;min-height:535px}[data-midnight] .hero-image>img{filter:saturate(.55) brightness(.85)}[data-midnight] .hero-image figcaption{border-radius:5px;background:#0b1425eb;border-color:#7b9bd66b}[data-midnight] .image-label{background:#0b1425e8;color:var(--ink);border-color:#aac9ff40}[data-midnight] .hero-bottom>span{border-radius:5px}[data-midnight] .service,[data-midnight] .hygiene,[data-midnight] .portrait img,[data-midnight] .portrait-caption{border-radius:6px}

/* 08 Studio: portrait led, a personal introduction with a quiet split composition. */
[data-style=midnight-studio] .hero{grid-template-columns:.82fr 1.1fr;column-gap:80px;padding-top:42px}[data-style=midnight-studio] .hero-image{grid-row:1;grid-column:1;min-height:570px;border-radius:6px 6px 110px 6px}[data-style=midnight-studio] .hero-image>img{object-position:50% 24%;filter:saturate(.65) brightness(.9)}[data-style=midnight-studio] .hero-copy{grid-row:1;grid-column:2;padding-top:42px}[data-style=midnight-studio] .hero-person{display:none}[data-style=midnight-studio] .hero-image figcaption{left:18px;right:30px;bottom:30px}[data-style=midnight-studio] .hero-bottom{grid-template-columns:repeat(3,1fr);gap:0;padding-top:30px}[data-style=midnight-studio] .hero-bottom>span{border:0;border-bottom:1px solid var(--line);background:transparent;border-radius:0;padding:18px 0}[data-style=midnight-studio] .service{background:transparent;border-width:1px 0 0;padding-inline:10px}[data-style=midnight-studio] .service h3{font-size:1.9rem}[data-style=midnight-studio] .about{grid-template-columns:.9fr 1fr}

/* 09 Panorama: immersive original practice photo with a readable navy text panel. */
[data-style=midnight-panorama] .hero{display:grid;grid-template-columns:1fr;position:relative;padding:48px;margin-top:36px;isolation:isolate;min-height:650px;width:calc(100% - 80px);max-width:1360px;overflow:hidden;border-radius:10px}[data-style=midnight-panorama] .hero-image{position:absolute;inset:0;margin:0;border:0;border-radius:10px;z-index:-2;min-height:0}[data-style=midnight-panorama] .hero-image>img{object-position:65% 50%;filter:saturate(.55) brightness(.7)}[data-style=midnight-panorama] .hero::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0b1425f7 0%,#0b1425eb 30%,#0b14257a 63%,#0b14251f 100%);z-index:-1}[data-style=midnight-panorama] .hero-copy{max-width:670px;padding:25px 0 10px}[data-style=midnight-panorama] .hero h1{font-size:clamp(4rem,6.9vw,7rem)}[data-style=midnight-panorama] .hero-text{max-width:420px}[data-style=midnight-panorama] .hero-person{display:none}[data-style=midnight-panorama] .hero-image figcaption{display:none}[data-style=midnight-panorama] .image-label{top:25px;right:25px}[data-style=midnight-panorama] .hero-bottom{position:relative;max-width:900px;padding:25px 0 0;gap:30px;grid-template-columns:repeat(3,1fr);align-self:end}[data-style=midnight-panorama] .hero-bottom>span{padding:16px 0;background:transparent;border-width:1px 0 0;border-radius:0;font-size:.72rem}[data-style=midnight-panorama] .service{background:var(--surface);border-radius:14px}[data-style=midnight-panorama] .section-head h2{max-width:520px}[data-style=midnight-panorama] .contact-location{border-radius:25px 25px 0 0}

/* 10 Editorial: expressive serif headlines, generous space and a cropped landscape frame. */
[data-style=midnight-editorial] .hero{grid-template-columns:1.18fr 1fr;column-gap:70px;padding-top:62px;align-items:center}[data-style=midnight-editorial] .hero-copy{padding:18px 0 5px}[data-style=midnight-editorial] .hero h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(4.1rem,7vw,7.2rem);letter-spacing:-.07em;line-height:1.02}[data-style=midnight-editorial] .hero h1 em{font-style:italic;font-weight:400}[data-style=midnight-editorial] .hero-image{min-height:420px;align-self:center;border-radius:0;outline:1px solid var(--line);outline-offset:12px;margin:12px}[data-style=midnight-editorial] .hero-image>img{object-position:60% center}[data-style=midnight-editorial] .hero-image figcaption{bottom:0;left:0;right:0;border:0;border-radius:0;padding:22px;background:#0b1425e6;font-family:Georgia,serif;font-size:1.5rem}[data-style=midnight-editorial] .hero-person{display:none}[data-style=midnight-editorial] .image-label{top:16px;right:16px;border-radius:0}[data-style=midnight-editorial] .hero-bottom{padding-top:40px;gap:35px}[data-style=midnight-editorial] .hero-bottom>span{border:0;border-top:1px solid var(--line);background:none;border-radius:0;padding:18px 0}[data-style=midnight-editorial] h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(3rem,4.6vw,4.7rem)}[data-style=midnight-editorial] h2 em{font-style:italic;font-weight:400}[data-style=midnight-editorial] .service{border-width:0 0 1px;background:none;padding:25px 12px 32px;border-radius:0}[data-style=midnight-editorial] .service h3{font-family:Georgia,serif;font-size:2rem;font-weight:400}[data-style=midnight-editorial] .portrait img{border-radius:0}[data-style=midnight-editorial] .hygiene{background:transparent;border-inline:0;border-radius:0}[data-style=midnight-editorial] .prices{background:var(--bg)}

/* 11 Kompakt: lower hero, immediate overview and a practical card-based rhythm. */
[data-style=midnight-kompakt] .hero{grid-template-columns:1.08fr 1fr;column-gap:55px;padding-top:40px}[data-style=midnight-kompakt] .hero-copy{padding:15px 0 0}[data-style=midnight-kompakt] .hero h1{font-size:clamp(3.7rem,5.6vw,5.6rem);font-weight:600;letter-spacing:-.07em}[data-style=midnight-kompakt] .hero h1 em{font-weight:400}[data-style=midnight-kompakt] .hero-image{min-height:410px;border-radius:20px;align-self:stretch}[data-style=midnight-kompakt] .hero-image figcaption{border-radius:12px;padding:17px 20px;left:15px;right:15px;bottom:15px}[data-style=midnight-kompakt] .hero-text{max-width:440px;font-size:.97rem}[data-style=midnight-kompakt] .hero-person{display:none}[data-style=midnight-kompakt] .hero-bottom{padding-top:22px;gap:14px}[data-style=midnight-kompakt] .hero-bottom>span{border-radius:10px;padding:19px 22px}[data-style=midnight-kompakt] .section{padding-block:66px}[data-style=midnight-kompakt] .service-grid{grid-template-columns:1.3fr 1fr 1fr}[data-style=midnight-kompakt] .service{border-radius:15px;padding:27px}[data-style=midnight-kompakt] .service:first-child{border-color:var(--accent)}[data-style=midnight-kompakt] .service svg{margin-bottom:22px}[data-style=midnight-kompakt] .section-head{margin-bottom:32px}[data-style=midnight-kompakt] .contact-location .contact-layout{grid-template-columns:.82fr 1.3fr}

/* A single shared section contains contact details, arrival instructions and Google Maps. */
.contact-location{padding-block:85px;background:var(--soft);color:var(--ink);border-top:1px solid var(--line)}.contact-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:35px}.contact-heading .eyebrow{margin-bottom:18px}.contact-heading h2{font-size:clamp(2.8rem,4.5vw,4.4rem)}.contact-heading h2 em{color:var(--accent)}.contact-heading>p{max-width:340px;font-size:.94rem;color:var(--muted);margin:0}.contact-layout{display:grid;grid-template-columns:.85fr 1.3fr;gap:26px;align-items:stretch}.contact-details{border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:32px;min-width:0}.contact-details h3{font-size:1.25rem;font-weight:550;letter-spacing:-.04em;margin-bottom:15px}.contact-details address{font-style:normal;font-size:.92rem;line-height:1.8;color:var(--muted)}.contact-details .big-phone{font-size:clamp(1.65rem,2.65vw,2.4rem);letter-spacing:-.06em;gap:25px;margin:23px 0 12px;border-bottom-color:var(--line);white-space:nowrap}.contact-hours{font-size:.76rem;line-height:1.8;color:var(--muted);margin-bottom:25px}.arrival-details{display:grid;gap:17px;padding-top:23px;border-top:1px solid var(--line);margin:0}.arrival-details>div{display:grid;grid-template-columns:62px 1fr;gap:14px}.arrival-details dt{font-size:.63rem;letter-spacing:.08em;color:var(--accent);font-weight:550;padding-top:3px}.arrival-details dd{margin:0;font-size:.83rem;line-height:1.8;color:var(--muted)}.arrival-details strong{color:var(--ink);font-weight:550}.contact-location .map-card{display:flex;flex-direction:column;background:var(--bg);border-radius:10px;align-self:stretch;border:1px solid var(--line);min-width:0}.contact-location .map-visual{aspect-ratio:auto;min-height:430px;flex:1;background:var(--bg);position:relative}.map-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px 30px;background:radial-gradient(ellipse at center,var(--surface),var(--bg) 75%)}.map-placeholder>svg{width:42px;height:48px;fill:none;stroke:var(--accent);stroke-width:1.15;margin-bottom:24px}.map-placeholder h3{font-size:1.65rem;font-weight:450;letter-spacing:-.05em;margin-bottom:10px}.map-placeholder>p{font-size:.83rem;line-height:1.8;color:var(--muted);margin-bottom:25px}.map-placeholder .button{font-size:.79rem;min-height:54px;border-radius:6px}.map-placeholder .button[hidden]{display:none}.contact-location .interactive-map{position:absolute;inset:0;background:var(--bg)}.contact-location .interactive-map iframe{height:100%;width:100%;border:0;min-height:430px}.contact-location .is-interactive .map-placeholder{display:none}.contact-location .map-card>figcaption{display:flex;flex-direction:column;gap:14px;align-items:stretch;padding:20px 23px;border-top:1px solid var(--line);background:var(--surface)}.map-consent-note{font-size:.72rem;line-height:1.8;color:var(--muted);margin:0;max-width:none}.map-consent-note a{text-decoration:underline;text-underline-offset:3px}.map-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.map-actions>a{font-size:.78rem;color:var(--ink);text-decoration:underline;text-underline-offset:5px;min-height:36px;display:inline-flex;align-items:center}.map-actions button{border:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;font-size:.72rem;padding:10px 14px;min-height:44px;border-radius:5px}.map-actions button[hidden]{display:none}.contact-location .map-status{margin:0}.contact-layout>*{min-width:0}[data-style=midnight-editorial] .contact-details,[data-style=midnight-editorial] .contact-location .map-card{border-radius:0}

@media(max-width:1200px){.design-name{display:none}[data-style=midnight-studio] .hero{column-gap:55px}[data-style=midnight-studio] .hero-image{min-height:555px}[data-style=midnight-editorial] .hero{column-gap:45px}[data-style=midnight-editorial] .hero h1{font-size:clamp(4rem,6.9vw,6rem)}[data-style=midnight-panorama] .hero{padding:38px;min-height:620px}[data-style=midnight-kompakt] .hero{column-gap:40px}.contact-layout{gap:20px}.contact-details{padding:27px}.contact-details .big-phone{gap:16px}.contact-heading>p{max-width:310px}}
@media(max-width:950px){[data-style=midnight-studio] .hero{column-gap:38px}[data-style=midnight-studio] .hero-copy{padding-top:28px}[data-style=midnight-studio] .hero-image{min-height:535px}[data-style=midnight-editorial] .hero{column-gap:35px}[data-style=midnight-editorial] .hero h1{font-size:clamp(3.5rem,7.2vw,5rem)}[data-style=midnight-editorial] .hero-image{min-height:420px}[data-style=midnight-kompakt] .hero-image{min-height:430px}[data-style=midnight-panorama] .hero{width:calc(100% - 44px);padding:35px}[data-style=midnight-panorama] .hero::before{background:linear-gradient(90deg,#0b1425f5,#0b1425df 45%,#0b14256e)}[data-style=midnight-panorama] .hero h1{font-size:clamp(3.9rem,8vw,6rem)}.contact-layout,[data-style=midnight-kompakt] .contact-location .contact-layout{grid-template-columns:.9fr 1.1fr}.contact-details{padding:24px}.contact-details .big-phone{font-size:1.8rem;gap:16px}.arrival-details>div{grid-template-columns:1fr;gap:4px}.contact-heading>p{max-width:280px;font-size:.87rem}.contact-location .map-visual,.contact-location .interactive-map iframe{min-height:480px}}
@media(max-width:800px){[data-midnight] .hero h1{font-size:clamp(3rem,7vw,4.4rem)}[data-style=midnight-studio] .hero{column-gap:30px}[data-style=midnight-studio] .hero-image{min-height:515px}[data-style=midnight-studio] .hero-copy{padding-top:18px}[data-style=midnight-editorial] .hero h1{font-size:clamp(3.5rem,7.5vw,4.7rem)}[data-style=midnight-editorial] .hero{padding-top:40px}[data-style=midnight-editorial] .hero-image{margin:8px;outline-offset:8px;min-height:410px}[data-style=midnight-panorama] .hero{padding:30px;min-height:620px}[data-style=midnight-panorama] .hero-copy{max-width:530px}[data-style=midnight-panorama] .hero h1{font-size:4.4rem}[data-style=midnight-panorama] .hero-bottom{gap:18px}[data-style=midnight-panorama] .hero-bottom>span{font-size:.62rem}[data-style=midnight-kompakt] .hero{column-gap:30px}[data-style=midnight-kompakt] .hero h1{font-size:3.5rem}[data-style=midnight-kompakt] .hero-image{min-height:440px}.contact-layout,[data-style=midnight-kompakt] .contact-location .contact-layout{grid-template-columns:1fr}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:0 35px;padding:30px}.contact-details h3,.contact-details address,.contact-details .big-phone,.contact-details .contact-hours{grid-column:1}.contact-details .arrival-details{grid-column:2;grid-row:1/5;padding:0;border:0;align-self:start}.contact-details .big-phone{font-size:2rem}.contact-hours{margin-bottom:0}.contact-location .map-visual,.contact-location .interactive-map iframe{min-height:440px}.contact-heading h2{font-size:3rem}}
@media(max-width:600px){.design-bar>.style-options{gap:5px}.design-bar>.style-options button{padding:9px 4px;gap:4px}.design-bar>.style-options button .swatch{display:none}.design-bar>.style-options button b{font-size:10px}.design-bar>.style-options button span{font-size:0}.classic-options .style-options button span{font-size:10px}[data-style=midnight-studio] .hero,[data-style=midnight-editorial] .hero,[data-style=midnight-kompakt] .hero{display:flex;flex-direction:column;gap:0;padding-top:26px;width:calc(100% - 40px)}[data-style=midnight-studio] .hero-copy,[data-style=midnight-editorial] .hero-copy,[data-style=midnight-kompakt] .hero-copy{padding:8px 0 0}[data-midnight] .hero h1,[data-style=midnight-kompakt] .hero h1{font-size:clamp(3rem,14.2vw,4.5rem)}[data-style=midnight-editorial] .hero h1{font-size:clamp(3.3rem,15.7vw,4.7rem)}[data-midnight] .hero-image{min-height:330px;height:330px;width:100%}[data-style=midnight-studio] .hero-image{border-radius:6px 6px 65px 6px;min-height:390px;height:390px}[data-style=midnight-studio] .hero-image>img{object-position:50% 25%}[data-style=midnight-studio] .hero-image figcaption{left:14px;right:20px;bottom:20px}[data-style=midnight-editorial] .hero-image{margin:10px 0 0;width:calc(100% - 18px);min-height:300px;height:300px;outline-offset:8px}[data-style=midnight-editorial] .hero-image figcaption{font-size:1.2rem;padding:18px;left:0;right:0;bottom:0}[data-style=midnight-kompakt] .hero-image{min-height:270px;height:270px;border-radius:14px}[data-style=midnight-kompakt] .hero-image figcaption{padding:13px 16px}[data-midnight] .hero-bottom,[data-style=midnight-studio] .hero-bottom,[data-style=midnight-editorial] .hero-bottom,[data-style=midnight-kompakt] .hero-bottom{grid-template-columns:1fr;gap:0;padding-top:18px}[data-midnight] .hero-bottom>span,[data-style=midnight-studio] .hero-bottom>span,[data-style=midnight-editorial] .hero-bottom>span,[data-style=midnight-kompakt] .hero-bottom>span{border:0;border-bottom:1px solid var(--line);background:none;padding:15px 0;border-radius:0;font-size:.73rem}[data-style=midnight-panorama] .hero{display:flex;flex-direction:column;justify-content:center;margin-top:20px;padding:30px 24px;width:calc(100% - 28px);min-height:700px;border-radius:8px}[data-style=midnight-panorama] .hero-copy{padding-top:30px}[data-style=midnight-panorama] .hero-image{position:absolute;inset:0;width:100%;height:100%;min-height:0;border-radius:8px}[data-style=midnight-panorama] .hero-image>img{object-position:66% center}[data-style=midnight-panorama] .hero::before{background:linear-gradient(90deg,#0b1425f5,#0b1425d9 65%,#0b1425a8)}[data-style=midnight-panorama] .hero h1{font-size:clamp(2.8rem,13.5vw,4.1rem)}[data-style=midnight-panorama] .image-label{font-size:6px;top:18px;right:18px}[data-style=midnight-panorama] .hero-text{font-size:.94rem}[data-style=midnight-panorama] .hero-bottom{padding-top:12px;max-width:100%;width:100%;margin-top:auto}[data-style=midnight-panorama] .hero-bottom>span{border-bottom:1px solid var(--line);padding:12px 0;font-size:.72rem}[data-style=midnight-kompakt] .service-grid{grid-template-columns:minmax(0,1fr)}[data-style=midnight-studio] .service h3{font-size:1.8rem}[data-style=midnight-editorial] h2{font-size:clamp(2.7rem,12vw,3.3rem)}[data-style=midnight-editorial] .service h3{font-size:1.9rem}.contact-location{padding-block:55px}.contact-heading{display:block;margin-bottom:27px}.contact-heading h2,[data-style=midnight-editorial] .contact-heading h2{font-size:clamp(2.5rem,11.5vw,3.2rem)}.contact-heading>p{max-width:100%;margin-top:20px;font-size:.93rem}.contact-details{display:block;padding:27px 23px;border-radius:8px}.contact-details h3{font-size:1.25rem}.contact-details address{font-size:.94rem}.contact-details .big-phone{font-size:2rem;gap:23px;margin-top:23px}.contact-hours{font-size:.78rem;margin-bottom:25px}.contact-details .arrival-details{padding-top:23px;border-top:1px solid var(--line);gap:18px}.arrival-details>div{grid-template-columns:62px 1fr;gap:13px}.arrival-details dt{font-size:.62rem}.arrival-details dd{font-size:.85rem}.contact-location .map-card{border-radius:8px}.contact-location .map-visual,.contact-location .interactive-map iframe{min-height:370px}.map-placeholder{padding:28px 20px}.map-placeholder h3{font-size:1.5rem}.map-placeholder>p{font-size:.85rem}.map-placeholder .button{font-size:.8rem}.contact-location .map-card>figcaption{padding:20px}.map-consent-note{font-size:.76rem}.map-actions{gap:12px}.map-actions>a{font-size:.77rem}.map-actions button{font-size:.7rem}}
@media print{html[data-midnight]{--bg:#fff;--surface:#fff;--ink:#111;--muted:#333;--accent:#333;--accent-ink:#fff;--soft:#f7f7f7;--line:#ccc;color-scheme:light}.map-placeholder,.map-consent-note,.map-actions button{display:none!important}.contact-layout{grid-template-columns:1fr}.contact-location .map-card{border:0}.contact-location .map-visual{display:none}.contact-location .map-card>figcaption{border:0;background:#fff}.contact-details{background:#fff}.design-bar{display:none!important}[data-style=midnight-panorama] .hero{min-height:0;padding:25px 0;width:100%;background:#fff}[data-style=midnight-panorama] .hero::before,[data-style=midnight-panorama] .hero-image{display:none}[data-style=midnight-panorama] .hero h1{font-size:3.3rem}[data-style=midnight-panorama] .hero-copy{max-width:100%}}
