@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Baskerville:wght@400;700&display=swap');
:root{--ink:#17304b;--ink2:#405568;--brand:#0a91af;--brand2:#55b8c9;--sky:#eaf7fa;--mist:#f6f9fb;--line:#dce7ec;--white:#fff;--radius:26px;--shadow:0 18px 55px rgba(18,57,77,.10);--max:1240px;--soft-shadow:0 14px 40px rgba(18,57,77,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;background:#fff;line-height:1.65}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.container{width:min(var(--max),calc(100% - 42px));margin:auto}.eyebrow{font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:var(--brand)}h1,h2,h3{font-family:'Libre Baskerville',Georgia,serif;line-height:1.08;margin:0 0 18px}h1{font-size:clamp(2.75rem,6vw,5.8rem);letter-spacing:-.055em}h2{font-size:clamp(2rem,4vw,3.6rem);letter-spacing:-.04em}h3{font-size:1.35rem}p{margin:0 0 1.1rem;color:var(--ink2)}.lead{font-size:clamp(1.05rem,1.7vw,1.28rem);max-width:700px}.btn{display:inline-flex;gap:10px;align-items:center;justify-content:center;padding:14px 22px;border-radius:999px;font-weight:700;border:1px solid transparent;transition:.25s transform,.25s background,.25s color,.25s box-shadow}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--brand);color:#fff;box-shadow:0 12px 28px rgba(10,145,175,.25)}.btn-primary:hover{background:#087c97}.btn-outline{border-color:#acd8e2;background:#fff;color:var(--ink)}.btn-ghost{background:#edf8fa;color:var(--brand)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.section{padding:92px 0}.section-sm{padding:65px 0}.soft{background:var(--mist)}.sky{background:var(--sky)}
.site-header{min-height:82px;display:flex;align-items:center;background:rgba(255,255,255,.97);border-bottom:1px solid rgba(220,231,236,.62);position:sticky;top:0;z-index:50;box-shadow:0 5px 22px rgba(20,54,72,.035)}.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:28px}.site-header .container{width:100%;max-width:none;padding:0 clamp(20px,4vw,56px)}.brand{display:flex;align-items:center;gap:12px;min-width:0;flex-shrink:1}.brand img{width:43px;height:43px;object-fit:contain;flex-shrink:0}.brand span{min-width:0}.brand strong{font-family:'Libre Baskerville';font-size:clamp(.8rem,2.4vw,1.05rem);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand small{display:flex;flex-wrap:wrap;row-gap:2px;color:var(--brand);font-size:clamp(.58rem,1.4vw,.7rem);letter-spacing:.08em;text-transform:uppercase;line-height:1.4}.brand small .qual-pair{white-space:nowrap}.brand small .qual-pair:not(:first-child){margin-left:8px}.brand small .qual-pair:not(:first-child):before{content:'· '}.brand-flags{display:flex;gap:5px;margin-top:3px}.brand-flags .flag{font-size:.78rem;line-height:1;cursor:default}.nav{display:flex;align-items:center;gap:23px;font-size:.88rem;font-weight:600;flex-shrink:0}.nav a{padding:8px 0;position:relative;white-space:nowrap}.nav a:not(.nav-cta).active:after,.nav a:not(.nav-cta):hover:after{content:'';position:absolute;left:0;right:0;bottom:1px;height:2px;background:var(--brand)}.nav-cta{margin-left:10px}.nav a.nav-cta{padding:14px 26px}.menu-toggle{display:none;background:#fff;border:1px solid var(--line);width:46px;height:46px;border-radius:14px;font-size:1.3rem}
.hero{min-height:635px;position:relative;display:flex;align-items:stretch;overflow:hidden;background:#fff;isolation:isolate}.hero:before{content:'';position:absolute;inset:0;z-index:0;background:radial-gradient(circle at 28% 48%,rgba(219,245,249,.44),transparent 37%),linear-gradient(90deg,#fff 0%,#fff 43%,rgba(255,255,255,.94) 49%,rgba(255,255,255,0) 64%);pointer-events:none}.hero-copy{position:relative;z-index:3;width:min(57%,860px);padding:82px 54px 82px max(44px,calc((100vw - var(--max))/2));display:flex;flex-direction:column;justify-content:center;background:transparent}.hero-copy h1{max-width:650px;font-size:clamp(3.25rem,5.2vw,5.35rem);line-height:.98;letter-spacing:-.062em;text-wrap:balance}.hero-copy .lead{max-width:570px;line-height:1.55}.hero-copy .actions{margin-top:31px}.hero-media{position:absolute;z-index:1;inset:0 0 0 auto;width:64%;min-height:0;overflow:hidden}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center center;transform:scale(1.015)}.hero-media:before{content:'';position:absolute;z-index:2;inset:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.98) 7%,rgba(255,255,255,.88) 14%,rgba(255,255,255,.56) 22%,rgba(255,255,255,.20) 31%,rgba(255,255,255,0) 43%),linear-gradient(0deg,rgba(255,255,255,.10),transparent 22%);pointer-events:none}.hero .eyebrow{margin-bottom:9px}.hero .btn-primary{box-shadow:0 12px 30px rgba(10,145,175,.20)}.hero-compact{min-height:159px}.hero-copy2{padding-top:20px;padding-bottom:20px}.hero-copy2 h1{font-size:clamp(.81rem,1.3vw,1.34rem);letter-spacing:-.02em;margin-bottom:6px}.hero-copy2 .lead{max-width:570px;font-size:.82rem;line-height:1.4;margin-bottom:0}.hero-copy2 .actions{margin-top:12px}
.trustbar{position:relative;z-index:5;border-top:1px solid rgba(220,231,236,.7);border-bottom:1px solid rgba(220,231,236,.72);background:rgba(255,255,255,.98);box-shadow:0 -10px 32px rgba(18,57,77,.025)}.trustgrid{display:grid;grid-template-columns:repeat(3,1fr)}.trustitem{padding:22px 24px;display:flex;gap:14px;align-items:center}.trustitem+ .trustitem{border-left:1px solid var(--line)}.icon{width:46px;height:46px;display:grid;place-items:center;border:1px solid #aedbe5;color:var(--brand);border-radius:50%;font-size:1.25rem;flex:0 0 auto}.trustitem strong{display:block}.trustitem span{display:block;font-size:.88rem;color:#6a7d8b}
.split{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;align-items:center}.photo-card{border-radius:22px;overflow:hidden;box-shadow:var(--soft-shadow);position:relative}.photo-card img{width:100%;height:585px;object-fit:cover}.quote-mark{font-family:'Libre Baskerville';font-size:1.45rem;font-style:italic;color:#4d6a7c;border-left:3px solid var(--brand);padding-left:22px;margin:34px 0}.mini-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:40px}.stat{padding:22px 14px;border:1px solid var(--line);border-radius:18px;text-align:center;background:#fff}.stat b{display:block;color:var(--brand);font-size:1.45rem}.stat span{font-size:.8rem;color:#6d7e8b}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:38px}.service-card{border:1px solid rgba(220,231,236,.92);border-radius:18px;overflow:hidden;background:#fff;transition:.25s transform,.25s box-shadow,.25s border-color}.service-card:hover{transform:translateY(-5px);box-shadow:var(--soft-shadow);border-color:#c6e2e8}.service-card img{width:100%;height:225px;object-fit:cover}.service-body{padding:22px}.service-body p{font-size:.94rem}.text-link{color:var(--brand);font-weight:700}.kicker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:40px}.kicker{padding:26px;border-radius:20px;background:#fff;border:1px solid var(--line)}.kicker .num{font-size:.8rem;color:var(--brand);font-weight:700;margin-bottom:14px}.kicker p{font-size:.9rem;margin:0}
.banner{min-height:400px;border-radius:30px;overflow:hidden;position:relative;display:flex;align-items:flex-end;background:#123}.banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.58}.banner:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,45,63,.8),rgba(14,45,63,.15))}.banner-content{position:relative;z-index:2;color:white;padding:58px;max-width:650px}.banner-content p{color:#e9f5f7}.banner-content h2{color:#fff}
.locations{display:grid;grid-template-columns:repeat(5,1fr);gap:15px;margin-top:36px}.location{border:1px solid var(--line);border-radius:18px;background:white;padding:22px}.location h3{font-family:'DM Sans';font-size:1rem;margin-bottom:8px}.location p{font-size:.88rem;margin-bottom:10px}.location small{color:#758691}.location a{color:var(--brand);font-size:.85rem;font-weight:700}.loc-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;color:#fff;font-size:.62rem;font-weight:800;line-height:1;vertical-align:middle;margin:0 2px}.loc-icon-metro{background:#e2231a}.loc-icon-parking{background:#0060a9}.testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}.testimonial{padding:30px;border:1px solid var(--line);border-radius:22px;background:#fff}.stars{color:#df9e26;letter-spacing:.15em;margin-bottom:12px}.testimonial p{font-family:'Libre Baskerville';font-style:italic;color:#324a5c}.testimonial b{font-size:.88rem}
.page-hero{padding:82px 0 72px;background:radial-gradient(circle at 78% 25%,rgba(219,245,249,.42),transparent 28%),linear-gradient(180deg,#f8fcfd,#fff)}.page-hero .container{display:grid;grid-template-columns:1.05fr .95fr;gap:55px;align-items:start}.page-hero img{border-radius:24px;width:100%;height:485px;object-fit:cover;box-shadow:var(--soft-shadow);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 12%,#000 100%);mask-image:linear-gradient(90deg,transparent 0,#000 12%,#000 100%)}.page-hero h1{font-size:clamp(2.7rem,5vw,5rem)}.breadcrumb{font-size:.82rem;color:#76909e;margin-bottom:24px}.breadcrumb a{color:var(--brand)}.feature-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:28px 0}.feature{padding:17px 18px;border:1px solid var(--line);border-radius:15px;background:#fff;font-size:.92rem}.feature:before{content:'✓';color:var(--brand);font-weight:800;margin-right:8px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:38px}.step{padding:30px;border:1px solid var(--line);border-radius:22px;background:white}.step .stepnum{width:44px;height:44px;border-radius:50%;background:var(--sky);color:var(--brand);display:grid;place-items:center;font-weight:800;margin-bottom:22px}.benefits{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:36px}.benefit{display:flex;gap:18px;padding:24px;border-radius:18px;border:1px solid var(--line);background:#fff}.benefit strong{display:block}.benefit p{margin:4px 0 0;font-size:.92rem}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:38px}.gallery-grid .photo-card img{height:260px}.faq{max-width:900px;margin:40px auto 0}.faq-item{border-bottom:1px solid var(--line)}.faq-q{width:100%;background:none;border:0;padding:22px 0;display:flex;justify-content:space-between;align-items:center;text-align:left;font-weight:700;color:var(--ink);cursor:pointer}.faq-a{display:none;padding:0 0 22px}.faq-item.open .faq-a{display:block}.faq-item.open .faq-q span{transform:rotate(45deg)}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:40px}.contact-panel{padding:34px;border-radius:24px;background:var(--ink);color:white}.contact-panel p,.contact-panel a{color:#d7e7ee}.contact-row{padding:18px 0;border-bottom:1px solid rgba(255,255,255,.15)}.contact-row:last-child{border:0}.location-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.location.big{padding:28px}.form{padding:32px;border:1px solid var(--line);border-radius:24px;background:white}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:.8rem;font-weight:700}.field input,.field textarea{border:1px solid var(--line);border-radius:12px;padding:13px 14px}.field textarea{min-height:130px;resize:vertical}.notice{font-size:.78rem;color:#7d8b95}
.footer{background:#10283e;color:#fff;padding:65px 0 22px}.footer-grid{display:grid;grid-template-columns:1.2fr .6fr .8fr 1.1fr;gap:40px}.footer p,.footer a{color:#c9d7e0}.footer h3{font-family:'DM Sans';font-size:.9rem;text-transform:uppercase;letter-spacing:.12em}.footer-links{display:grid;gap:9px}.footer-address{display:block;margin:0 0 14px;font-style:normal}.footer-address strong{display:block;color:#fff;font-size:.88rem;margin-bottom:2px}.footer-address a{font-size:.86rem;line-height:1.4}.footer-addresses .footer-address:last-child{margin-bottom:0}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:45px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:.8rem;color:#aebfca}.floating-book{position:fixed;right:22px;bottom:22px;z-index:70;background:var(--brand);color:#fff;border-radius:999px;padding:13px 18px;font-weight:700;box-shadow:0 14px 34px rgba(10,145,175,.35)}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}.reveal-left{opacity:0;transform:translateX(-26px);transition:opacity .75s ease,transform .75s ease}.reveal-left.visible{opacity:1;transform:none}
@media(max-width:1100px){.nav{gap:15px}.nav a{font-size:.82rem}.locations{grid-template-columns:repeat(3,1fr)}.kicker-grid{grid-template-columns:repeat(2,1fr)}.cards{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:repeat(2,1fr)}.hero-copy{width:61%}.hero-media{width:61%}}
@media(max-width:900px){.site-header{min-height:76px}.menu-toggle{display:block}.nav{display:none;position:absolute;left:20px;right:20px;top:74px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.nav.open{display:flex}.nav-cta{margin-left:0}.hero{min-height:0;display:grid;grid-template-columns:1fr}.hero:before{display:none}.hero-copy{width:auto;padding:66px 28px 52px;background:linear-gradient(180deg,#fff,#f8fcfd)}.hero-media{position:relative;inset:auto;width:100%;height:520px}.hero-media:before{background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.42) 9%,rgba(255,255,255,0) 24%)}.split,.page-hero .container,.contact-grid{grid-template-columns:1fr}.photo-card img{height:520px}.cards{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr}.locations{grid-template-columns:1fr 1fr}.testimonials{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr;gap:34px}.mini-stats{grid-template-columns:1fr 1fr}.page-hero img{-webkit-mask-image:none;mask-image:none}.hero-compact .hero-media{height:auto;min-height:0}.hero-compact .hero-media img{height:auto;object-fit:contain;transform:none}.hero-compact .hero-media:before{content:none}}
@media(max-width:620px){.container{width:min(100% - 28px,var(--max))}.hero-copy{padding:58px 18px 44px}.hero-copy h1{font-size:clamp(2.9rem,14vw,4.25rem)}.hero-media{height:420px}.hero-media:after{right:6%;bottom:5%;font-size:1rem}.trustgrid{grid-template-columns:1fr}.trustitem+.trustitem{border-left:0;border-top:1px solid var(--line)}.section{padding:70px 0}.section-sm{padding:52px 0}.cards,.locations,.location-grid,.benefits,.feature-list,.form-grid,.gallery-grid{grid-template-columns:1fr}.kicker-grid{grid-template-columns:1fr}.mini-stats{grid-template-columns:1fr 1fr}.page-hero{padding:55px 0}.page-hero img{height:370px}.banner-content{padding:36px 24px}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.floating-book{right:14px;bottom:14px;padding:11px 15px;font-size:.86rem}.hero-compact .hero-media{height:auto;min-height:0}.hero-copy2 h1{font-size:clamp(.73rem,3.5vw,1.06rem)}}

.site-header{min-height:94px}.brand{gap:14px}.brand img{width:64px;height:64px}.brand-flags{gap:7px;margin-top:4px}.brand-flags .flag{font-size:1rem}
@media(max-width:900px){.site-header{min-height:88px}.brand img{width:58px;height:58px}.brand-flags .flag{font-size:.95rem}.nav{top:86px}}
