:root{--navy:#233f5c;--dark:#152d44;--steel:#779caf;--pale:#e6eff3;--paper:#f8fafb;--ink:#203b54;--muted:#536a79;--line:#dce5eb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:white;font:16px/1.9 Tahoma,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #12aade;outline-offset:4px}p,h1,h2,h3{margin-top:0}p{color:var(--muted)}h1,h2,h3{line-height:1.5}h2{font-size:clamp(1.85rem,3.1vw,2.75rem);letter-spacing:-.04em;margin-bottom:22px}h3{font-size:1.2rem}button{cursor:pointer}svg{display:block;width:100%;height:100%}.wrap{width:min(1180px,calc(100% - 64px));margin-inline:auto}.skip{position:fixed;top:-100px;right:20px;z-index:100;background:white;padding:12px}.skip:focus{top:10px}.topline{background:var(--navy);color:white;font-size:.875rem;padding:5px 0}.topline .wrap{display:flex;justify-content:space-between;align-items:center}header{background:#fffffff7;position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.navrow{display:flex;align-items:center;justify-content:space-between;gap:32px;height:100px}.brand{width:143px;height:87px;flex-shrink:0;mix-blend-mode:multiply}nav{display:flex;gap:32px;font-weight:600;font-size:.94rem}nav a:hover{color:#137fa5}.btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:50px;padding:12px 25px;background:var(--navy);color:white;border:1px solid var(--navy);font-size:.95rem;font-weight:600;transition:background .18s,transform .18s}.btn:hover{background:#355977;transform:translateY(-2px)}.btn-light{background:white;color:var(--navy);border-color:white}.btn-light:hover{background:var(--pale)}.btn-outline{background:transparent;border-color:#ffffff80;color:white}.btn-outline:hover{background:#ffffff15}.menu-toggle{display:none}.hero{min-height:620px;position:relative;isolation:isolate;overflow:hidden;color:white;background:var(--navy)}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 52%;z-index:-3}.hero-shade{position:absolute;inset:0;background:linear-gradient(270deg,rgba(19,44,66,.95) 0%,rgba(19,44,66,.84) 32%,rgba(19,44,66,.22) 72%,rgba(19,44,66,.12));z-index:-2}.hero-inner{min-height:620px;display:flex;align-items:center;padding-block:80px}.hero-copy{max-width:625px}.eyebrow{display:block;font-size:.875rem;letter-spacing:.025em;color:#557e95;font-weight:bold;margin-bottom:17px}.eyebrow.light{color:#c1dae7}.hero h1{font-size:clamp(2.4rem,4.4vw,4rem);line-height:1.45;letter-spacing:-.04em;margin-bottom:22px}.hero p{font-size:1.12rem;max-width:540px;color:#e1eaf0}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.principles{background:var(--pale)}.principles .wrap{display:grid;grid-template-columns:repeat(4,1fr);padding-block:24px;text-align:center;font-size:.95rem}.principles span+span{border-right:1px solid #bed0da}.section{padding-block:90px}.about{display:grid;grid-template-columns:1fr 1.1fr;gap:100px}.lead{font-size:1.22rem;color:var(--ink);line-height:2}.textlink{display:inline-block;border-bottom:1px solid var(--steel);padding-bottom:3px;font-size:.94rem;font-weight:600;color:var(--navy)}.textlink:hover{color:#137fa5}.section-head{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:35px}.section-head h2{margin-bottom:0}.section-head>p{max-width:410px;margin-bottom:0}.services{background:var(--paper)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service-card{background:white;border:1px solid var(--line);overflow:hidden}.service-photo{aspect-ratio:1.85;overflow:hidden;background:var(--pale)}.service-photo svg{width:100%;height:100%}.card-body{padding:27px}.card-body h3{margin-block:9px 12px}.card-body p{min-height:115px;margin-bottom:22px}.small-label{font-size:.85rem;color:#617d90;display:block;margin-bottom:12px}.extra-services{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #ccdae2;margin-top:45px;padding-top:35px;gap:75px}.extra-services p{margin-bottom:0}.extra-services h3{margin-block:8px 14px}.finishing{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px}.finishing>div:first-child p{max-width:360px}.finishing .btn{margin-top:14px}.finish-list article{display:flex;gap:23px;padding-block:20px;border-bottom:1px solid var(--line)}.finish-list article:first-child{padding-top:0}.finish-list article>span{color:var(--steel);font-size:1.5rem;font-family:Arial,sans-serif}.finish-list h3{margin-bottom:8px}.finish-list article p{margin-bottom:0}.note{font-size:.875rem;margin-top:20px}.packages{background:var(--pale)}.package-tabs{display:flex;gap:8px;margin-bottom:30px}.package-tabs button{border:1px solid #bcced8;background:transparent;color:var(--navy);padding:12px 23px;font-size:.95rem}.package-tabs button span{margin-right:12px;font-size:.875rem;font-weight:normal}.package-tabs button.active{background:var(--navy);color:white;border-color:var(--navy)}.package-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.package{background:white;padding:25px 18px;border:1px solid #d0dde4;display:flex;flex-direction:column;text-align:center}.package h3{font-size:1.08rem;margin:0 0 15px}.package .price{font-size:2.65rem;line-height:1.3;font-family:Arial,sans-serif;font-weight:bold;color:var(--navy)}.package .unit{font-size:.875rem;color:#627988}.package .visits{border-top:1px solid var(--line);padding-top:17px;margin-top:18px;margin-bottom:20px;font-size:.9rem}.package .visits b{font-size:1.3rem}.package .btn{padding:8px;min-height:43px;font-size:.875rem;margin-top:auto;background:transparent;color:var(--navy);border-color:#bfced8}.package.featured{background:var(--navy);color:white;border-color:var(--navy);box-shadow:0 12px 30px #233f5c17}.package.featured .price,.package.featured .unit,.package.featured .visits{color:white}.package.featured .btn{background:white}.package.featured .visits{border-color:#ffffff40}.package-note{text-align:center;font-size:.92rem;margin:25px 0 0}.package-note a{text-decoration:underline}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.steps article{border-top:2px solid var(--steel);padding-top:22px}.steps span{font-family:Arial,sans-serif;font-size:1.6rem;color:#779caf;display:block;margin-bottom:15px}.steps h3{margin-bottom:8px}.contact{background:var(--navy);color:white}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact h2{font-size:clamp(2rem,3.5vw,3rem)}.contact p{color:#d1dfe7}.phones{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-block:28px;font-size:1.65rem;font-family:Arial,sans-serif;font-weight:bold;letter-spacing:.04em}.phones a{border-bottom:1px solid #7894aa;padding-bottom:4px}address{font-style:normal;margin-bottom:15px;color:#d1dfe7}.location{font-size:.95rem;border-bottom:1px solid #8bafc3;padding-bottom:4px}.socials{display:flex;flex-wrap:wrap;gap:18px;font-family:Arial,sans-serif;font-size:.9rem;margin-top:30px}.socials a:hover{text-decoration:underline}.enquiry{background:white;color:var(--ink);padding:35px}.enquiry h3{font-size:1.4rem;margin-bottom:10px}.enquiry p{color:var(--muted);font-size:.9rem}.enquiry label{display:block;margin-bottom:5px;font-size:.9rem;font-weight:bold}.enquiry input,.enquiry textarea,.enquiry select{display:block;width:100%;border:1px solid #cbd8e1;padding:11px 12px;background:var(--paper);color:var(--ink);margin-bottom:17px;border-radius:0;min-height:48px}.enquiry textarea{resize:vertical}.enquiry button{width:100%}.enquiry .form-note{font-size:.8rem;margin:14px 0 0}.faq{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.faq details{border-bottom:1px solid var(--line);padding-block:18px}.faq details:first-child{padding-top:0}.faq summary{font-weight:bold;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:24px}.faq summary:after{content:'+';color:var(--steel);font:1.6rem Arial,sans-serif}.faq details[open] summary:after{content:'−'}.faq details p{margin:15px 0 0}footer{background:var(--dark);color:#d2e0e9;padding:35px 0 75px}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-inner strong{font-family:Arial,sans-serif;letter-spacing:.16em;display:block;font-size:1.15rem;color:white}.footer-inner span{font-size:.85rem}.footer-inner p,.footer-inner>a{font-size:.85rem;margin:0;color:#c0d1de}.floating-contact{position:fixed;left:22px;bottom:22px;z-index:30;background:var(--navy);border:2px solid white;color:white;padding:10px 23px;border-radius:30px;font-size:.95rem;box-shadow:0 4px 18px #0003}.floating-contact:hover{background:#355977}
@media(min-width:1500px){.hero-inner,.hero{min-height:710px}}@media(max-width:1000px){.wrap{width:calc(100% - 40px)}nav{gap:18px}.navrow{gap:20px}.about,.finishing,.contact-grid,.faq{gap:45px}.card-body{padding:20px}.package-grid{gap:8px}.package{padding:22px 12px}.section-head{gap:35px}.section{padding-block:65px}.service-grid{gap:16px}.card-body p{min-height:145px}}@media(max-width:760px){html{scroll-padding-top:86px}.wrap{width:calc(100% - 36px)}.topline{font-size:.85rem}.navrow{height:83px;gap:15px}.brand{height:74px;width:112px}.navcall{margin-right:auto;min-height:42px;padding:8px 18px;font-size:.875rem}.menu-toggle{display:block;border:1px solid var(--line);background:white;color:var(--navy);width:43px;height:43px;order:3;font-size:1.5rem}nav{display:none;position:absolute;top:83px;left:0;right:0;background:white;box-shadow:0 10px 20px #233f5c10;padding:20px 25px;flex-direction:column;gap:0}nav.open{display:flex}nav a{padding:11px;border-bottom:1px solid var(--line)}.hero,.hero-inner{min-height:620px}.hero-inner{align-items:flex-end;padding-block:60px}.hero>img{object-position:30% center}.hero-shade{background:linear-gradient(0deg,rgba(19,44,66,.96),rgba(19,44,66,.7) 60%,rgba(19,44,66,.15))}.hero h1{font-size:2.45rem}.hero p{font-size:1rem}.eyebrow{font-size:.875rem}.actions{gap:10px}.actions .btn{padding:11px 17px;font-size:.875rem}.principles .wrap{grid-template-columns:1fr 1fr;row-gap:17px;font-size:.875rem;padding-block:21px}.principles span:nth-child(3){border-right:0}.section{padding-block:55px}.about,.finishing,.contact-grid,.faq{grid-template-columns:1fr;gap:24px}.about h2 br{display:none}.section-head{display:block;margin-bottom:27px}.section-head>p{margin-top:15px;max-width:none}.service-grid{grid-template-columns:1fr;gap:24px}.service-photo{aspect-ratio:2.15}.card-body{padding:25px}.card-body p{min-height:0}.extra-services{grid-template-columns:1fr;gap:28px}.finishing{gap:38px}.finishing>div:first-child p{max-width:none}.package-grid{grid-template-columns:repeat(2,1fr);gap:12px}.package:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;align-items:center;text-align:right;gap:0 15px;padding:24px}.package:last-child h3{grid-column:1;grid-row:1}.package:last-child .price-block{grid-column:2;grid-row:1/3;text-align:left}.package:last-child .visits{grid-column:1;grid-row:2;border:0;padding:0;margin:0}.package:last-child .btn{grid-column:1/-1;margin-top:18px}.package-tabs{gap:6px}.package-tabs button{flex:1;padding:10px 8px;font-size:.875rem}.package-tabs button span{display:block;margin:0;font-size:.875rem}.package .price{font-size:2.3rem}.steps{grid-template-columns:1fr;gap:22px}.steps article{display:grid;grid-template-columns:40px 1fr;gap:5px 15px}.steps span{grid-row:1/3;margin:0}.steps h3,.steps p{margin:0}.contact-grid{gap:35px}.enquiry{padding:25px}.phones{font-size:1.5rem}.faq{gap:15px}.footer-inner{flex-direction:column;align-items:flex-start;gap:20px}.floating-contact{left:15px;bottom:15px;padding:9px 21px}.hero-copy{max-width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.hero-socials{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:25px;font-size:.9rem;color:#e1eaf0}.hero-socials span{font-size:.875rem;color:#bed6e5}.hero-socials a{font-family:Arial,sans-serif;border-bottom:1px solid #a2c1d3;padding:4px 0}.hero-socials a:hover{color:white;border-color:white}.actions .btn span{margin-right:10px;font-family:Arial,sans-serif;letter-spacing:.025em}
