/* September 2026 refinement: clearer hierarchy, calmer layers and fluid spacing. */
:root{--gutter:max(5.5%,calc((100vw - 1240px)/2));--accent-text:#ff8998;--header-height:104px}
body{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
h1,h2,h3{text-wrap:balance}p{overflow-wrap:break-word}
.section{padding-block:clamp(64px,6.5vw,96px)}
h2{font-size:clamp(2rem,3.25vw,2.875rem);line-height:1.2;letter-spacing:-.025em}
.eyebrow{font-size:.875rem;letter-spacing:.11em;line-height:1.5;margin-bottom:20px}
.button{font-size:1rem;min-height:54px;justify-content:center;font-weight:600;border-radius:12px}
.text-link{font-size:.9375rem;min-height:44px;display:inline-flex;align-items:center}
.header{min-height:104px;padding-block:18px;border-bottom:1px solid #ffffff0e}
.brand{width:184px}
.header nav>a,.header nav .nav-contact{border:1px solid #ffffff0b;border-radius:9px;box-shadow:inset 0 1px #ffffff08,0 3px 0 #10111470,0 8px 20px #00000014}
.header nav>a:hover,.header nav>a:focus-visible{border:1px solid #ffffff24;box-shadow:0 5px 16px #00000030}
.header nav>a:focus-visible{outline:2px solid #ff8998;outline-offset:4px}
.hero-content{min-height:clamp(480px,58vh,600px);padding-block:76px}
.hero h1{font-size:clamp(3rem,5.3vw,4.75rem);letter-spacing:-.035em}
.hero h1 span{letter-spacing:-.02em;font-size:.52em;line-height:1.3;margin-top:12px}
.hero-copy{width:min(53%,580px)}
.hero-desc{max-width:500px;line-height:1.75;margin:26px 0 32px}
.hero-bottom{gap:30px;padding-block:27px 32px;font-size:.9375rem}
.hero-bottom strong{font-size:1.375rem;line-height:1.35;letter-spacing:-.01em;margin-bottom:7px}
.hero-bottom>span:last-child strong{font-size:1.125rem}
.intro{gap:clamp(36px,6vw,92px);grid-template-columns:1fr 1.18fr}
.intro-copy>p{line-height:1.8}.intro-copy>p:first-child{font-size:1.125rem}
.facts{gap:30px;padding-top:25px}.facts>div>span{font-size:.875rem}
.section-head{gap:40px;margin-bottom:34px}.section-head>p{line-height:1.7}
.service-grid{gap:22px}.service{padding:30px;overflow:hidden;background:linear-gradient(145deg,#2b2c2f,#202124);border:1px solid #ffffff13;border-top:2px solid #c81026a6;border-radius:18px}
.service-top{margin-bottom:24px;gap:12px;align-items:center;font-size:.875rem}
.service-top>span:first-child{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#c8102615;color:#ff8998;font-size:.875rem}
.service-tag{font-size:.8125rem;letter-spacing:.035em}
.service h3{min-height:0;font-size:1.625rem;line-height:1.25;margin-bottom:18px;text-align:left;text-wrap:initial}
.service>p{line-height:1.7;min-height:6.8em;margin-bottom:24px}
.service ul{font-size:.9375rem;line-height:1.65;margin-bottom:20px}
.service li{padding-block:11px;border-color:#ffffff10}
.service>a{font-size:.9375rem;font-weight:600;min-height:46px;width:fit-content;padding-right:8px;gap:12px}
.service>a::after{content:'↗';font-size:1.1rem;line-height:1;transition:transform .2s}
.service>a:hover::after{transform:translate(2px,-2px)}
.trial{background:radial-gradient(ellipse at 50% 36%,#c8102610,transparent 65%),linear-gradient(180deg,#1b1b1b,#18191c 55%,#1b1b1b);gap:32px}
.trial-heading{max-width:820px}.trial-heading h2 span{color:#fff}.trial-heading>p:last-child{max-width:560px}
.trial-form{max-width:820px;padding:34px;border:1px solid #ffffff20;border-top:3px solid #c81026;border-radius:18px;background:linear-gradient(150deg,#28292d,#202226);box-shadow:0 20px 50px #00000025}
.trial-options{gap:16px;margin-bottom:28px}.trial-options legend{font-size:1rem;line-height:1.6;margin-bottom:16px}
.trial-option{padding:20px 18px;border-color:#ffffff28;border-radius:12px;background:#ffffff02;gap:12px;transition:border-color .2s,background .2s,box-shadow .2s}
.trial-option:hover{background:#ffffff05;border-color:#ffffff52}
.trial-option:has(input:checked){border-color:#f27b8c;background:#c8102618;box-shadow:inset 0 0 0 1px #f27b8c}
.trial-option:focus-within{outline:2px solid #ff8998;outline-offset:4px}
.trial-option strong{font-size:1rem;line-height:1.5}.trial-option small{color:#c4c6ce;line-height:1.65}
.trial-option input{width:20px;height:20px;flex-basis:20px;margin-top:2px}
.trial-fields{gap:22px}.trial-fields label{font-size:1rem;line-height:1.5}
.trial-fields input,.trial-fields select{border-color:#70737c;border-radius:9px;min-height:3.375rem;height:3.375rem;padding:13px 14px;background:#191b20}
.trial-fields input:hover,.trial-fields select:not(:disabled):hover{border-color:#a9aab1}
.trial-fields select:disabled{color:#aeb0ba;border-color:#4b4e56;cursor:not-allowed;opacity:1}
.trial-submit{border-radius:10px;min-height:56px}.trial-note{margin-top:28px;padding-top:22px;border-color:#ffffff18}
.trial-privacy{line-height:1.65}.trial-status:not(:empty){padding:16px;border:1px solid #ff899845;border-radius:10px;background:#c810260c;color:#f4dfe4}
.spaces{gap:clamp(32px,5vw,80px)}
.floors article{grid-template-columns:44px 1fr auto;gap:22px;padding-block:25px;align-items:start}
.floor-number{font-size:1.625rem;line-height:1.3;font-variant-numeric:tabular-nums}
.floors h3{font-size:1.125rem;text-align:left;text-wrap:initial}.floors p{line-height:1.7}
.floor-label{display:block;font-size:.8125rem;letter-spacing:.04em;line-height:1.5;color:#bfc0c7}
.contact{align-items:start;gap:clamp(40px,7vw,100px)}.contact-details{align-self:start}
.contact-lead>p:not(.eyebrow){font-size:1rem;line-height:1.8}
.opening-hours{margin-top:34px;max-width:440px;padding:23px 25px;border:1px solid #ffffff14;border-radius:14px;background:#ffffff03}
.opening-hours h3{font-size:1.0625rem;line-height:1.4;margin:0 0 14px}
.opening-hours dl{margin:0}.opening-hours dl>div{display:flex;justify-content:space-between;gap:20px;padding-block:10px;border-bottom:1px solid #ffffff0d;font-size:.9375rem}
.opening-hours dl>div:last-child{border:0}.opening-hours dt{color:#c6c7cd}.opening-hours dd{margin:0;font-variant-numeric:tabular-nums;white-space:nowrap;color:#f2f2f4}
.contact-details span:first-child{font-size:.8125rem}.contact-details p{font-size:1rem}
.contact-details>a{margin-inline:0;padding:22px 0;border-radius:0}
.map-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;margin-block:22px}
.map-frame{border-radius:14px;overflow:hidden;border:1px solid #ffffff1f;background:#222428}
.map-frame iframe{display:block;width:100%;height:270px;border:0}
footer{padding-block:30px;font-size:.8125rem;row-gap:16px}
footer .footer-name{font-size:1.125rem;line-height:1.6}.footer-name span{font-size:.8125rem}
.social-links{display:flex;align-items:center}.social-icon{width:46px;height:46px;display:grid;place-items:center;border:1px solid #ffffff22;border-radius:13px;background:#ffffff03;transition:background .2s,border-color .2s,transform .2s}
.social-icon:hover{background:#c8102614;border-color:#ff8998;transform:translateY(-2px)}
@media(min-width:901px) and (max-width:1100px){.service{padding:24px}.service-top{align-items:flex-start}.service-tag{max-width:130px;text-align:right}.hero-copy{width:57%}.hero h1{font-size:3.75rem}}
@media(max-width:900px){
 .header{min-height:88px;gap:20px}.brand{width:160px}.menu-button{display:flex;align-items:center;justify-content:center;gap:12px;background:#2b2c31;color:#f3f3f5;border:1px solid #ffffff14;border-radius:9px;box-shadow:0 3px 0 #10111470;font-size:.9375rem;min-height:46px;padding:11px 15px;cursor:pointer}
 .menu-button::after{content:'';width:18px;height:8px;border-top:1px solid currentColor;border-bottom:1px solid currentColor}
 .header nav{display:none;position:absolute;top:100%;left:0;right:0;background:#1b1c20;padding:18px var(--gutter) 24px;flex-direction:column;align-items:stretch;gap:12px;border-top:1px solid #ffffff14;box-shadow:0 20px 30px #00000045}
 .header nav.open{display:flex}.header nav>a,.header nav .nav-contact{margin:0;min-height:50px;padding:13px 18px}
 .service-grid{grid-template-columns:1fr}.service{display:grid;grid-template-columns:1fr 1fr;column-gap:32px;padding:28px}.service-top,.service h3{grid-column:1}.service-top{margin-bottom:18px}.service h3{margin-bottom:18px}.service>p{grid-column:1;grid-row:3 / 5;min-height:0;margin:0}.service ul{grid-column:2;grid-row:1 / 4;margin:0 0 12px}.service>a{grid-column:2;grid-row:4;margin:0}
 .intro,.spaces,.contact{grid-template-columns:1fr;gap:32px}.intro-copy{max-width:680px}.section-head{display:block}.section-head>p{max-width:600px;margin-top:20px}.floors{min-width:0}.opening-hours{max-width:100%}
}
@media(max-width:760px){
 :root{--gutter:6%}.header{position:relative;padding-block:14px;background:#1b1c1f}.brand{width:152px}.brand-mark{max-height:51px}
 .hero{padding-top:0}.hero-content{min-height:0;padding:27px var(--gutter) 26px}.hero-copy{width:100%}.hero h1{font-size:clamp(2.5rem,10.5vw,3.75rem);line-height:1.1}.hero h1 span{font-size:.53em;margin-top:10px}
 .hero .eyebrow{font-size:.8125rem;letter-spacing:.08em;margin-bottom:18px}.hero-desc{font-size:1rem;line-height:1.7;margin:23px 0 26px}.hero .actions{gap:12px 18px}.hero .button{padding:15px 18px;font-size:.9375rem}.hero .text-link{font-size:.875rem}
 .hero-bottom{gap:14px;grid-template-columns:.95fr 1.15fr 1.2fr;padding-block:22px 28px;font-size:.875rem;line-height:1.6}.hero-bottom>span{padding-left:12px}.hero-bottom>span:first-child{padding-left:0}.hero-bottom strong{font-size:1.0625rem;display:block;margin:0 0 6px}.hero-bottom>span:last-child strong{font-size:1rem}
 .section{padding-block:58px}.facts{gap:24px}.facts strong{font-size:2rem}.facts>div>span{font-size:.875rem}
 .service-grid{gap:18px}.service{display:flex;padding:26px;border-radius:16px}.service-top{margin-bottom:24px}.service>p{margin-bottom:20px}.service ul{margin-bottom:18px}.service>a{margin-top:auto}
 .trial{gap:24px}.trial-heading{text-align:left}.trial-heading h2{font-size:clamp(1.75rem,7.5vw,2.5rem)}.trial-form{padding:24px 20px;border-radius:16px}.trial-options,.trial-fields{grid-template-columns:minmax(0,1fr)}.trial-option{padding:18px 16px}.trial-fields{gap:20px}.trial-note{margin-top:26px}
 .floors article{grid-template-columns:32px 1fr;column-gap:15px;row-gap:8px;padding-block:23px}.floor-label{grid-column:2;grid-row:2}.floor-number{grid-row:1 / 3}.floors h3{font-size:1.0625rem}.floors p{font-size:1rem}
 .contact{gap:36px}.contact-details strong{font-size:1.5rem}.opening-hours{padding:20px}.map-actions{gap:12px 18px}.map-actions .button{font-size:.9375rem}
 footer{padding-bottom:calc(30px + env(safe-area-inset-bottom));gap:18px}.back-to-top{width:44px;height:44px;right:calc(12px + env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom));border-radius:12px}
}
@media(max-width:380px){
 .hero-bottom{grid-template-columns:1fr 1fr;gap:16px}.hero-bottom>span{border-left:1px solid #ffffff20}.hero-bottom>span:last-child{grid-column:1 / -1;border:0;border-top:1px solid #ffffff16;padding:14px 0 0;display:flex;flex-wrap:wrap;gap:6px}.hero-bottom>span:last-child strong{margin:0;font-size:1rem}
 .hero .actions{display:grid;grid-template-columns:1fr;justify-items:start}.hero .button{width:100%}.trial-form{padding:22px 16px}.opening-hours{padding:18px 16px}.opening-hours dl>div{gap:12px;font-size:.875rem}
 footer .social-links{grid-column:1;grid-row:2;justify-self:start}footer p{grid-column:1 / -1;grid-row:3}
}
@media(prefers-reduced-motion:reduce){.service>a:hover::after,.social-icon:hover{transform:none}}

.contact-lead>.opening-hours{margin-top:32px;padding:23px 25px}
@media(max-width:760px){.contact-lead>.opening-hours{margin-top:28px;padding:20px}}
