:root{--ink:#18323b;--blue:#1c7488;--cream:#f8f5ef;--peach:#f3e5d4;--line:#dce2df;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px}.site-header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,6vw,100px);position:relative;z-index:5}.logo{font-weight:700;font-size:25px;letter-spacing:-1.8px;color:var(--ink);text-decoration:none}.logo span:first-child{font-weight:400}.logo-dot{color:var(--blue)}.main-nav{display:flex;align-items:center;gap:30px}.main-nav a{color:var(--ink);text-decoration:none;font-size:14px;font-weight:600}.nav-button,.button{display:inline-flex;gap:14px;align-items:center;border-radius:99px;padding:13px 19px!important}.nav-button{background:var(--ink);color:white!important}.hero{min-height:600px;padding:58px clamp(24px,8vw,132px) 92px;display:grid;grid-template-columns:1.03fr .97fr;align-items:center;gap:55px;overflow:hidden}.eyebrow{color:var(--blue);font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;margin:0 0 20px}.eyebrow span{display:inline-block;width:22px;height:1px;background:currentColor;vertical-align:middle;margin:0 8px 3px 0}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:600;letter-spacing:-2.5px;line-height:.98}h1{font-size:clamp(55px,6.2vw,90px);margin-bottom:27px}h2{font-size:clamp(40px,4vw,62px);margin-bottom:26px}em{color:var(--blue);font-style:italic}.hero-text{font-size:17px;line-height:1.6;max-width:430px;color:#5a686a}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:34px}.button{border:0;text-decoration:none;font:600 14px var(--sans);cursor:pointer;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--blue);color:#fff}.button-dark{background:var(--ink);color:#fff}.text-link{font-size:13px;font-weight:700;color:var(--ink);text-decoration:none}.text-link span{color:var(--blue);margin-left:6px}.trust-row{display:flex;align-items:center;gap:13px;margin-top:65px}.faces{display:flex}.faces span{width:29px;height:29px;border:2px solid var(--cream);border-radius:50%;margin-left:-7px;background:#e39c6b;color:white;display:grid;place-items:center;font-size:10px;font-weight:700}.faces span:nth-child(2){background:#6e9c8d}.faces span:nth-child(3){background:#c48185}.faces span:nth-child(4){background:#8495bb}.trust-row p{font-size:11px;line-height:1.4;color:#647173;margin:0}.trust-row strong{color:var(--ink)}.hero-photo-wrap{height:460px;position:relative}.hero-photo{width:91%;height:100%;object-fit:cover;display:block;position:relative;z-index:1;border-radius:2px}.sun-shape{width:280px;height:280px;border-radius:50%;background:var(--peach);position:absolute;right:-35px;top:-40px}.photo-note{position:absolute;z-index:2;background:#fff;bottom:25px;left:-42px;padding:16px 20px;display:flex;align-items:center;gap:12px;box-shadow:0 12px 30px #253b3920}.sparkle{color:var(--blue);font-size:25px}.photo-note p{font-size:12px;line-height:1.4;margin:0}.section{padding:102px clamp(24px,8vw,132px)}.services{background:white}.section-heading{display:flex;align-items:end;justify-content:space-between}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-top:45px}.service-card{padding:28px 25px;background:#f4f7f5;min-height:230px;display:flex;flex-direction:column;justify-content:space-between}.service-card.featured{background:var(--blue);color:#fff}.service-number{font:italic 28px var(--serif);color:#8ea4a3}.featured .service-number{color:#b6d9d4}.service-card h3{font:600 24px var(--serif);margin:20px 0 10px}.service-card p{font-size:14px;line-height:1.55;color:#607073;margin-bottom:20px}.featured p{color:#d3e6e3}.service-card a{font-size:13px;font-weight:700;color:var(--blue);text-decoration:none}.featured a{color:#fff}.service-card a span{margin-left:8px}.about{display:grid;grid-template-columns:.92fr 1fr;gap:clamp(45px,9vw,145px);align-items:center}.about-image{height:500px;position:relative}.about-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.75)}.years-badge{position:absolute;right:-38px;bottom:36px;background:var(--peach);width:145px;height:145px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.years-badge strong{font:50px var(--serif)}.years-badge span{font-size:10px;line-height:1.25;text-transform:uppercase;letter-spacing:1px}.about-copy>p:not(.eyebrow){max-width:460px;color:#5d6b6e;line-height:1.65}.about ul{list-style:none;padding:0;margin:27px 0}.about li{margin:11px 0;font-size:14px;font-weight:500}.about li span{color:var(--blue);font-weight:bold;margin-right:10px}.reviews{background:#eaf1ef;text-align:center}.centered{margin-bottom:19px}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;text-align:left;margin-top:49px}.review-grid figure{background:#fff;margin:0;padding:31px 28px;min-height:260px;display:flex;flex-direction:column}.review-grid .review-accent{background:var(--ink);color:#fff}.stars{letter-spacing:3px;color:#e7ad4d;font-size:14px}.review-grid blockquote{font:20px/1.45 var(--serif);margin:25px 0 auto}.review-grid figcaption{display:flex;flex-direction:column;font-size:12px;gap:3px}.review-grid figcaption span{color:#718080}.review-accent figcaption span{color:#b7c8c6}.contact{background:var(--ink);color:#fff;padding:100px clamp(24px,8vw,132px);display:grid;grid-template-columns:1fr .85fr;gap:100px}.contact .eyebrow{color:#91c8c0}.contact h2{color:#fff}.contact h2 em{color:#91c8c0}.contact-copy>p:not(.eyebrow){color:#c4d1d0;line-height:1.65;max-width:420px}.contact-details{display:flex;flex-direction:column;gap:6px;margin-top:31px}.contact-details a{color:#fff;font-size:14px;text-decoration:none}.quote-form{background:#fff;color:var(--ink);padding:30px;display:grid;gap:14px}.quote-form label{font-size:11px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;display:grid;gap:6px}.quote-form input,.quote-form select,.quote-form textarea{font:14px var(--sans);border:1px solid var(--line);padding:11px;background:#fff;color:var(--ink);resize:vertical}.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{outline:2px solid #9dc9c3;border-color:transparent}.quote-form .button{justify-content:center;margin-top:5px}.form-message{font-size:13px;margin:0;color:var(--blue);min-height:15px;text-align:center}footer{padding:28px clamp(24px,8vw,132px);display:flex;align-items:center;justify-content:space-between;background:#122930;color:#a0b2b3}footer .logo{color:#fff;font-size:19px}footer p,footer a{font-size:11px;margin:0}footer div{display:flex;gap:17px}footer div a{color:#c3d0d1;text-decoration:none}.menu-toggle{display:none}
@media(max-width:760px){.site-header{height:70px;padding:0 24px}.menu-toggle{display:grid;gap:5px;border:0;background:transparent;padding:8px}.menu-toggle span{display:block;width:22px;height:2px;background:var(--ink)}.main-nav{position:absolute;top:70px;left:0;right:0;padding:23px 24px;background:var(--cream);display:none;flex-direction:column;align-items:flex-start;gap:20px;border-bottom:1px solid var(--line)}.main-nav.open{display:flex}.hero{grid-template-columns:1fr;padding:55px 24px 72px;gap:45px}.hero-photo-wrap{height:350px;width:95%;margin-left:auto}.hero-photo{width:100%}.photo-note{left:-15px}.trust-row{margin-top:43px}.section{padding:73px 24px}.service-grid,.review-grid,.contact,.about{grid-template-columns:1fr}.service-card{min-height:200px}.about{gap:55px}.about-image{height:380px;width:90%}.years-badge{right:-38px;bottom:-30px;width:120px;height:120px}.years-badge strong{font-size:41px}.contact{padding:70px 24px;gap:38px}.section-heading{display:block}.review-grid figure{min-height:220px}footer{padding:25px 24px;align-items:flex-start;gap:18px;flex-direction:column}footer div{gap:16px}}

.logo{display:inline-flex;align-items:center}.logo img{display:block;width:151px;height:auto}footer .logo img{width:126px;filter:brightness(0) invert(1)}
.honeypot{position:absolute;overflow:hidden;clip:rect(0 0 0 0);height:1px;width:1px;margin:-1px;padding:0;border:0}
