:root{--ink:#153d4d;--navy:#0a3549;--teal:#167d87;--mint:#eaf5f1;--paper:#fbfaf6;--line:#d7e4df}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.75 Arial,Helvetica,sans-serif}a{color:inherit}img{max-width:100%;height:auto}button,input,textarea{font:inherit}.wrap{width:min(1180px,90%);margin:auto}.topline{background:var(--navy);color:white;font-size:12px;letter-spacing:.09em}.topline .wrap{display:flex;justify-content:space-between;padding:9px 0}.topline a{text-decoration:none}header{background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:5}header .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:110px}.logo{width:148px;height:95px;object-fit:contain}nav{display:flex;align-items:center;gap:32px}nav a{font-size:14px;text-decoration:none}nav a[aria-current=page]{color:var(--teal);text-decoration:underline;text-underline-offset:9px}.button,button[type=submit]{display:inline-flex;align-items:center;justify-content:center;background:var(--teal);color:white!important;border:0;border-radius:5px;padding:13px 24px;text-decoration:none;font-weight:700;font-size:14px;cursor:pointer}.button::after{content:'↗';margin-left:18px}nav .button{padding:10px 18px}.menu-toggle{display:none}.hero{background:var(--mint);padding:66px 0 74px;position:relative;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.04fr 1fr;gap:76px;align-items:center}.eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);font-weight:700;margin:0 0 18px}.hero h1,.hero h2{font-family:Georgia,serif;font-size:clamp(42px,5.2vw,73px);line-height:1.07;letter-spacing:-.045em;font-weight:400;margin:0 0 23px}.hero .subtitle{font-size:21px;line-height:1.45;font-weight:400;margin-bottom:22px}.hero p{font-size:16px;line-height:1.8}.hero-photo{height:490px;border-radius:140px 8px 8px 8px;object-fit:cover;width:100%;box-shadow:20px 20px 0 #d7eae3}.hero-media{position:relative}.hero-note{position:absolute;right:-18px;bottom:26px;background:white;padding:20px 28px;box-shadow:0 10px 35px #163d4b16;border-left:4px solid var(--teal);font-size:14px}.hero-note strong{display:block;font-size:25px;font-family:Georgia,serif}.content{padding:60px 0}.intro{max-width:820px;margin:0 auto 50px;font-size:18px}.chapter{padding:50px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:290px minmax(0,1fr);gap:60px}.chapter h2,.chapter h3{font:400 34px/1.2 Georgia,serif;margin:0;letter-spacing:-.025em}.chapter h3{font-size:30px}.chapter-title{position:relative}.chapter-title:before{content:'';display:block;width:45px;height:3px;background:var(--teal);margin-bottom:23px}.chapter-body{min-width:0}.chapter-body>div{margin:0 0 23px}.chapter-body p:first-child{margin-top:0}.chapter-body img{max-height:420px;width:auto;display:block;margin:25px auto;object-fit:contain;border-radius:9px}.chapter-body ol{padding-left:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:16px}.chapter-body ol li{background:white;padding:24px;border:1px solid var(--line);border-radius:8px}.chapter-body ol li p{font-size:15px;line-height:1.75}.chapter-body ol strong{display:block;margin-bottom:10px}.chapter-body ul{padding-left:22px}.chapter-body li{margin-bottom:12px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;padding:30px 0 65px}.service-card{background:white;border:1px solid var(--line);border-radius:10px;padding:30px}.service-card img{height:155px;width:100%;object-fit:contain;margin:0 0 25px}.service-card figure{margin:0}.service-card h3{font-size:17px;letter-spacing:.01em;line-height:1.4}.service-card p{font-size:15px}.support{background:var(--navy);color:white;padding:40px;border-radius:12px;display:flex;gap:28px;align-items:center;justify-content:space-between}.support h3{font:400 25px/1.2 Georgia,serif}.support p{margin:0}.support .button{background:#d5ece3;color:var(--navy)!important}.support img{display:none}details{background:white;border:1px solid var(--line);padding:22px 25px;border-radius:7px;margin:12px 0}summary{cursor:pointer;font-weight:700;line-height:1.5}details p{font-size:16px;margin-top:22px!important}iframe{border:0;width:100%;min-height:360px;border-radius:10px}footer{background:#edf1ea;padding:55px 0 15px}footer .footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1.5fr;gap:35px}footer p,footer li{font-size:14px}footer ul{list-style:none;padding:0}footer li{margin-bottom:9px}footer a{text-decoration:none}footer .logo{height:100px;width:150px}footer .copyright{border-top:1px solid #cedbd2;padding-top:20px;margin-top:38px}footer .copyright h2{font-size:12px;font-weight:400}footer .social{font-size:12px;display:flex;gap:12px}.floating{position:fixed;bottom:23px;right:24px;z-index:20;background:var(--teal);color:white;padding:13px 22px;border-radius:30px;text-decoration:none;font-size:14px;box-shadow:0 7px 20px #123d4b35}form{background:white;padding:32px;border:1px solid var(--line);border-radius:10px}label{display:block;font-size:14px;font-weight:700;margin:16px 0 6px}input,textarea{border:1px solid #b6cdc5;padding:12px;width:100%;border-radius:4px;background:var(--paper)}form button{margin-top:20px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #d08a31;outline-offset:4px}@media(max-width:900px){.hero-grid{gap:35px}.hero-photo{height:410px}.chapter{grid-template-columns:230px 1fr;gap:30px}.service-grid{gap:14px}.service-card{padding:22px}footer .footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:680px){body{font-size:16px}.wrap{width:89%}.topline{font-size:10px}.topline .wrap{gap:15px}header .wrap{min-height:88px}.logo{height:75px;width:118px}.menu-toggle{display:block;border:1px solid var(--line);background:white;padding:9px 13px;border-radius:4px}nav{display:none;position:absolute;top:100%;left:0;width:100%;background:white;padding:20px 6%;box-shadow:0 15px 20px #123d4b12;align-items:stretch}nav.open{display:flex;flex-direction:column;gap:20px}.hero{padding:40px 0 50px}.hero-grid{grid-template-columns:1fr;gap:30px}.hero h1,.hero h2{font-size:48px}.hero .subtitle{font-size:19px}.hero-photo{height:330px;border-radius:80px 6px 6px 6px;box-shadow:10px 10px 0 #d7eae3}.hero-note{right:-6px;bottom:15px;padding:13px 19px}.hero-note strong{font-size:22px}.chapter{display:block;padding:35px 0}.chapter-title{margin-bottom:25px}.chapter h2,.chapter h3{font-size:30px}.chapter-body ol{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr;padding-bottom:35px}.service-card{padding:27px}.support{display:block;padding:28px}.support .button{margin-top:20px}footer .footer-grid{grid-template-columns:1fr 1fr;gap:25px}footer .footer-grid>div:last-child{grid-column:1/-1}.floating{font-size:13px;right:14px;bottom:14px;padding:10px 18px}.content{padding:38px 0}form{padding:22px}iframe{min-height:300px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.hero .subtitle h2{font-family:inherit;font-size:inherit;line-height:inherit;letter-spacing:inherit;margin:0}.hero-note{display:none}

.chapter:has(.chapter-title:empty){display:block;max-width:850px;margin:auto;border-top:0;padding-top:0}.chapter:has(.chapter-title:empty) .chapter-title{display:none}.chapter:has(.chapter-body:empty){display:block;padding:20px 0}.chapter:has(.chapter-body:empty) .chapter-title:before{display:none}.chapter:has(.chapter-body:empty) h3{font-size:23px}.hero .button{margin-top:12px}.chapter-body>a:empty{display:none}

/* Compact home services and contact */
.home-services{border-top:1px solid var(--line);padding:32px 0}.service-links{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.service-links>div{border-left:3px solid var(--teal);padding:5px 20px}.service-links h3{font:400 21px/1.45 Georgia,serif;margin:0}.service-links a{text-decoration:none}.service-links a:hover{text-decoration:underline}.quote-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.quote-item{background:white;border:1px solid var(--line);border-radius:8px;padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:22px}.quote-item h2,.quote-item h3{font:400 22px/1.35 Georgia,serif;margin:0}.quote-item h3{font-size:19px}.quote-item a:not(.button){text-decoration:none}.quote-item .button{flex-shrink:0;padding:11px 17px}.contact-strip{display:grid;grid-template-columns:210px 1fr auto;align-items:center;gap:28px;background:var(--mint);border-radius:10px;overflow:hidden;margin:0 0 24px;padding:22px}.contact-photo img{display:block;width:210px;height:160px;object-fit:cover;border-radius:6px}.contact-facts{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact-facts h3{font:700 12px/1.5 Arial,sans-serif;letter-spacing:.06em;margin:0 0 8px}.contact-facts p{font-size:17px;margin:0}.contact-facts a{text-decoration:none}.home-map iframe{height:320px;min-height:320px}.form-hint{font-size:13px;line-height:1.6;color:#48646e;margin:14px 0 0!important}@media(max-width:900px){.contact-strip{grid-template-columns:160px 1fr;gap:22px}.contact-photo img{width:160px;height:145px}.contact-strip>.button{grid-column:2;justify-self:start}.contact-photo{grid-row:1/3}.quote-item{display:block}.quote-item .button{margin-top:15px}}@media(max-width:680px){.service-links,.quote-row{grid-template-columns:1fr;gap:16px}.service-links{margin-bottom:20px}.service-links h3{font-size:20px}.quote-item{display:flex;padding:20px}.quote-item .button{margin-top:0}.quote-item h3{font-size:18px}.contact-strip{grid-template-columns:1fr;padding:22px;gap:20px}.contact-photo{grid-row:auto}.contact-photo img{width:100%;height:170px}.contact-strip>.button{grid-column:auto;justify-self:start}.contact-facts{gap:18px}.contact-facts p{font-size:15px}.home-map iframe{height:280px;min-height:280px}}

/* Semantic content additions */
.chapter-body>h3{font:400 23px/1.35 Georgia,serif;margin:28px 0 16px}.chapter-body>.button{margin-top:8px}.chapter-body>details:first-child{margin-top:0}.chapter-body>p{margin:0 0 20px}.chapter-body>ol{margin:20px 0}.chapter-body details p{margin-bottom:0}.chapter{scroll-margin-top:24px} .intro strong{color:var(--navy)}

/* WhatsApp contact waves */
.floating{isolation:isolate;right:28px;bottom:28px;transition:background-color .2s ease,transform .2s ease}
.floating::before,.floating::after{content:"";position:absolute;inset:-1px;z-index:-1;border:2px solid rgba(22,125,135,.55);border-radius:inherit;pointer-events:none;opacity:0;animation:wa-contact-wave 3s ease-out infinite;transform-origin:center}
.floating::after{animation-delay:1.5s}
.floating:hover{background:#106570;transform:translateY(-2px)}
@keyframes wa-contact-wave{0%{transform:scale(1,1);opacity:.55}75%,100%{transform:scale(1.3,1.75);opacity:0}}
@media(max-width:680px){.floating{right:24px;bottom:24px}}
@media(prefers-reduced-motion:reduce){.floating{transition:none}.floating::before,.floating::after{animation:none;display:none}.floating:hover{transform:none}}

.hero-photo.equipment-photo{object-fit:contain;background:white;padding:24px}.equipment-figure{margin:26px 0 28px;padding:24px;background:white;border:1px solid var(--line);border-radius:10px;text-align:center}.chapter-body .equipment-figure img{display:block;width:100%;max-width:360px;height:auto;max-height:390px;object-fit:contain;margin:0 auto 18px}.equipment-figure figcaption{font-size:13px;line-height:1.6;color:#48646e}.chapter-body .comparison-figure img{max-width:300px;max-height:300px}.comparison-figure{max-width:440px}@media(max-width:680px){.hero-photo.equipment-photo{height:330px;padding:18px}.equipment-figure{padding:18px}.chapter-body .equipment-figure img{max-height:300px;width:auto;max-width:100%}}
