:root{--ink:#293f56;--muted:#566779;--paper:#f7f9fc;--line:#d7e0ea;--accent:#c4d4e5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.7 "Segoe UI",Arial,sans-serif}a{color:inherit;text-underline-offset:5px}a:hover{color:#38658e}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:inherit;font-weight:600;line-height:1.18}h1{font-size:clamp(3rem,6vw,6.5rem);letter-spacing:-.045em;margin-bottom:24px}h2{font-size:clamp(2.1rem,3.6vw,3.6rem);letter-spacing:-.035em;margin-bottom:30px}h3{font-size:1.65rem}header{display:flex;align-items:center;gap:34px;padding:24px 5%;border-bottom:1px solid var(--line);background:var(--paper)}.brand{text-decoration:none;line-height:1.2;min-width:210px}.brand b{font-family:inherit;font-size:1.75rem;font-weight:400}.brand span{display:block;font-size:.7rem;letter-spacing:.17em;margin-top:6px}.brand .brand-dot{display:inline;font-size:inherit;color:#7e9cb9}nav{display:flex;gap:25px;margin-left:auto}nav a,.nav-phone{text-decoration:none;font-size:.88rem}.nav-phone{border:1px solid var(--line);padding:10px 16px;border-radius:24px;white-space:nowrap}.hero{display:grid;grid-template-columns:1.05fr 1fr;max-width:1500px;margin:auto}.hero-copy{padding:76px 8% 46px 10%}.eyebrow{font-size:.75rem;letter-spacing:.15em;font-weight:600;margin-bottom:25px}em{font-style:normal;font-weight:600;color:#577d9f}.hero-sub{font-size:1.4rem;line-height:1.4;max-width:480px}.intro{color:var(--muted)}.portrait{position:relative;min-height:700px;background:#dce2e8}.portrait img{height:100%;position:absolute;object-position:50% 24%}.portrait-note{border-radius:14px;position:absolute;bottom:25px;left:25px;background:#f7f9fcec;padding:17px 24px;font-family:inherit;font-size:1.2rem}.actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin:30px 0}.button{display:inline-flex;gap:30px;align-items:center;background:var(--ink);color:white;text-decoration:none;padding:16px 23px;border-radius:12px;font-size:.95rem}.button:hover{background:#3d6081;color:white}.text-link{font-size:.95rem}.qualification{border-top:1px solid var(--line);padding-top:22px;font-size:.88rem;margin-top:38px}.qualification span{color:var(--muted);font-size:.85rem}.facts{padding:27px 7%;display:grid;grid-template-columns:repeat(3,1fr);background:#e9eff6;gap:30px}.facts b,.facts span{display:block}.facts b{font-family:inherit;font-size:1.4rem;font-weight:400}.facts span{font-size:.88rem;color:var(--muted)}.section{padding:90px 7%;max-width:1500px;margin:auto}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:42px}.service{padding:30px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 5px 20px rgba(41,63,86,.04);text-decoration:none;display:flex;flex-direction:column}.service p{color:var(--muted)}.num{font-size:.8rem;color:#65809c;margin-bottom:30px}.more{margin-top:auto;font-size:.85rem}.service:hover{background:#edf3f9}.about-strip{background:var(--ink);color:#fff;padding:75px 7%;display:grid;grid-template-columns:1fr 1fr;gap:60px}.about-strip .eyebrow{color:#c5d6e8}.about-strip p{max-width:610px}.visit-summary{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.visit-summary img{height:490px}.pricing{background:#eef2f7;max-width:none}.pricing>p{max-width:720px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;margin:32px 0}td,th{padding:21px 10px;border-bottom:1px solid #cfdae6}thead th{font-size:.8rem;font-weight:400}tbody th{font-weight:400}td:last-child{white-space:nowrap;font-weight:600}.price-notes{display:grid;grid-template-columns:1fr 1fr;gap:40px;font-size:.9rem;max-width:1100px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:25px}figure{margin:0}.gallery img{aspect-ratio:4/3}figcaption{font-size:.85rem;color:var(--muted);padding:12px 0}.faq{padding-top:20px;max-width:1050px}details{border-bottom:1px solid var(--line);padding:22px 0}summary{cursor:pointer;font-size:1.1rem}details p{padding:18px 0 0;margin:0}.contact{padding:80px 7%;background:#e4ebf3;display:grid;grid-template-columns:1fr 1fr;gap:60px}.contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:25px 0}.contact-links a:first-child{font-size:1.6rem;text-decoration:none}.contact img{aspect-ratio:4/3;margin-top:30px}address{font-style:normal;margin:25px 0}footer{padding:40px 7%;display:flex;justify-content:space-between;gap:40px;font-size:.8rem}footer b{display:block;max-width:660px}footer p{margin:10px 0}.article{max-width:900px;margin:auto;padding:60px 30px 80px}.article h1{font-size:clamp(2.8rem,5vw,4.8rem)}.article h2{font-size:2rem;margin-top:45px}.lead{font-size:1.25rem;line-height:1.65}.back{display:block;margin-bottom:38px;font-size:.9rem}.article-cta{border-radius:20px;background:#e8eef6;margin-top:55px;padding:30px}.article-cta h2{margin-top:0}.article-cta>a:last-child{display:block;margin-top:18px}.skip{position:absolute;top:-100px}.skip:focus{top:0;background:white;padding:10px;z-index:9}a:focus-visible,summary:focus-visible{outline:3px solid #477ba9;outline-offset:5px}@media(max-width:1050px){header{flex-wrap:wrap;gap:16px}nav{order:3;width:100%;margin:0;flex-wrap:wrap;gap:14px 23px}.nav-phone{margin-left:auto}.hero-copy{padding:45px 7%}.portrait{min-height:650px}.services{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){body{font-size:16px}header{padding:18px 6%}.brand{min-width:160px}.brand b{font-size:1.4rem}.nav-phone{padding:7px 9px;font-size:.8rem}nav a{font-size:.85rem}.hero{grid-template-columns:1fr}.hero-copy{padding:38px 7%}.hero h1{font-size:clamp(2.6rem,10.5vw,4.1rem)}.portrait{min-height:0;height:500px}.portrait img{object-position:50% 18%}.facts{grid-template-columns:1fr;gap:20px;padding:28px 7%}.section{padding:55px 7%}.services,.gallery,.about-strip,.visit-summary,.contact,.price-notes{grid-template-columns:1fr}.services{gap:18px}.service{padding:25px}.about-strip,.contact{padding:55px 7%;gap:25px}.visit-summary{gap:30px}.visit-summary img{height:330px}.price-notes{gap:10px}td,th{padding:16px 8px;font-size:.9rem}table{min-width:470px}.gallery{gap:25px}footer{flex-direction:column;gap:15px}.article{padding:38px 7%}.article h1{font-size:2.8rem}.contact-links a{overflow-wrap:anywhere}h2{font-size:2.35rem}.actions{gap:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Five compact service cards, centered at every viewport width. */
.services{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;margin-top:34px}
.service{flex:0 0 calc((100% - 72px)/5);min-width:0;padding:22px 18px;border-radius:20px;min-height:260px}
.service h3{font-size:1.2rem;line-height:1.35;overflow-wrap:normal;margin-bottom:14px}
.service p{font-size:.9rem;line-height:1.55;margin-bottom:20px}
.service .num{margin-bottom:18px;font-size:.85rem}
.service .more{font-size:.875rem;line-height:1.45}
@media(max-width:1150px){.service{flex-basis:calc((100% - 36px)/3)}}
@media(max-width:760px){.services{gap:16px}.service{flex-basis:calc((100% - 16px)/2);padding:22px 18px;min-height:240px}}
@media(max-width:440px){.service{flex-basis:100%;min-height:0}.service h3{font-size:1.3rem}.service .num{margin-bottom:12px}}
