:root{--ink:#20272a;--teal:#00858f;--deep:#153b44;--gold:#c5a66b;--muted:#657174;--paper:#f5f8f8;--line:#dce5e6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:400 15px/1.8 Georgia,'Times New Roman',serif;background:#fff}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.skip-link{position:fixed;top:8px;left:8px;z-index:100;padding:7px 12px;color:#fff;background:#000;transform:translateY(-150%);transition:transform .2s}.skip-link:focus{transform:none}.site-header{position:absolute;top:0;right:0;left:0;z-index:20}.header-inner{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:92px;padding:0 6vw;background:rgba(255,255,255,.97);box-shadow:0 1px 8px rgba(0,0,0,.08)}.brand{width:170px}.brand img{width:100%}.menu-toggle{display:grid;width:42px;height:42px;place-items:center;border:1px solid #b7c7c9;background:#fff;color:var(--teal);cursor:pointer;font-size:25px;line-height:1}.primary-nav{position:absolute;top:100%;right:6vw;display:flex;gap:0;padding:7px;border:1px solid #d6e0e1;background:#fff;box-shadow:0 5px 16px rgba(0,0,0,.13);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);transition:opacity .2s,visibility .2s,transform .2s}.primary-nav.is-open{opacity:1!important;visibility:visible!important;pointer-events:auto;transform:translateY(0);transition:none}.nav-link{padding:13px 17px;color:#46595d;font:12px Arial,sans-serif;white-space:nowrap}.nav-link:hover,.nav-link.is-active{color:#fff;background:var(--teal)}.section{position:relative;overflow:hidden}.section-number{display:block;margin-bottom:18px;color:#8a9b9d;font:700 11px/1 Arial,sans-serif;letter-spacing:2px}.section h2{margin:0 0 26px;font:400 clamp(42px,5vw,72px)/1.08 Georgia,serif}.eyebrow{font:11px Arial,sans-serif;letter-spacing:2px;text-transform:uppercase}.button{display:inline-flex;align-items:center;gap:14px;min-height:44px;padding:9px 18px;border:1px solid;font:700 11px Arial,sans-serif;letter-spacing:1px;text-transform:uppercase;transition:background .2s,color .2s}.button span{font-size:20px;font-weight:400}.button-dark{color:#fff;border-color:var(--deep);background:var(--deep)}.button-dark:hover{color:#fff;border-color:var(--teal);background:var(--teal)}.button-light{color:#fff;border-color:#fff;background:transparent}.button-light:hover{color:var(--teal);background:#fff}.hero{min-height:660px;display:grid;place-items:center;padding:160px 10vw 90px;color:#fff;text-align:center;background-color:#0b6f78;background-image:linear-gradient(90deg,rgba(11,47,54,.58),rgba(8,108,117,.22)),url('../assets/services-bg.png');background-position:center,center;background-size:cover,cover;background-repeat:no-repeat,no-repeat}.hero-copy{max-width:780px}.hero h1{margin:18px 0 30px;font:400 clamp(50px,7vw,96px)/1.05 Georgia,serif}.hero p:not(.eyebrow){max-width:600px;margin:0 auto 30px;color:#e9f5f4;font-size:18px}.about{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(50px,9vw,140px);max-width:1120px;margin:auto;padding:125px 40px}.about-copy h3{margin:0 0 25px;color:var(--teal);font:600 18px/1.4 Georgia,serif}.about-copy p{color:#59676a}.about-panel{align-self:center;padding:38px 35px;background:var(--paper);border-top:4px solid var(--teal)}.about-panel img{width:50px;margin-bottom:22px}.about-panel ul{margin:0;padding-left:20px;color:#4f6165}.about-panel li{margin:11px 0}.services{padding:110px 7vw;background:#f1f7f7 url('../assets/services-bg.png') center/cover fixed no-repeat}.section-head{max-width:700px;margin:0 auto 60px;text-align:center}.section-head p{color:var(--muted);font-size:18px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;max-width:1180px;margin:auto}.service-card{min-height:310px;padding:32px 24px;background:rgba(255,255,255,.94);border-top:3px solid var(--teal);box-shadow:0 7px 20px rgba(18,58,65,.08)}.service-card img{width:50px;height:50px;object-fit:contain;margin-bottom:20px}.service-card h3{min-height:48px;margin:0 0 13px;color:var(--deep);font:600 17px/1.35 Georgia,serif}.service-card ul{margin:0;padding-left:18px;color:#5c6a6c;font-size:13px;line-height:1.6}.service-card li{margin:7px 0}.service-photos{display:grid;grid-template-columns:1fr 1.6fr;gap:20px;max-width:1180px;margin:55px auto 0}.service-photos img{width:100%;height:260px;object-fit:cover}.gallery{padding:110px 7vw}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1180px;margin:auto}.gallery-grid a{overflow:hidden;background:#eee}.gallery-grid img{width:100%;aspect-ratio:1.45;object-fit:cover;transition:transform .4s}.gallery-grid a:hover img{transform:scale(1.06)}.contact{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:115px max(40px,10vw);color:#fff;background:linear-gradient(90deg,rgba(12,47,54,.95),rgba(0,116,125,.68)),url('../assets/gallery-4.jpg') center/cover no-repeat}.contact-copy p{max-width:560px;color:#d9eff0;font-size:17px}.contact-art{width:50px;margin-top:35px;filter:brightness(0) invert(1)}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:17px;align-content:start}.contact-form label{font:12px Arial,sans-serif;color:#e1eeee}.contact-form label.full,.contact-form button,.form-status{grid-column:span 2}.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:6px;padding:10px 12px;border:1px solid rgba(255,255,255,.55);background:rgba(255,255,255,.12);color:#fff;outline:0}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#ddd}.contact-form input:focus,.contact-form textarea:focus{border-color:#fff}.form-status{min-height:24px;margin:0;color:#e1eeee;font:12px Arial,sans-serif}.site-footer{padding:55px max(28px,8vw) 25px;color:#bed1d3;background:#12353d}.footer-inner{display:grid;grid-template-columns:200px 1fr auto;gap:50px;align-items:center;max-width:1100px;margin:auto;padding-bottom:45px}.footer-inner>img{width:170px}.footer-inner p{margin:7px 0;color:#dceaea}.footer-inner a{color:#fff}.footer-mark{color:#57c5c4;font:700 20px/1.1 Arial,sans-serif;letter-spacing:2px;text-align:right}.footer-mark span{color:#fff;font-size:12px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;max-width:1100px;margin:auto;padding-top:18px;border-top:1px solid #42636a;color:#9bb2b5;font:11px Arial,sans-serif}.footer-bottom a:hover{color:#fff}.back-to-top{position:fixed;right:24px;bottom:24px;z-index:10;display:grid;width:40px;height:40px;place-items:center;color:#fff;background:var(--teal);opacity:0;visibility:hidden;transition:opacity .2s}.back-to-top.is-visible{opacity:1;visibility:visible}.reveal{opacity:1;transform:none}.js-motion .reveal{opacity:0;transform:translateY(18px);transition:opacity .6s,transform .6s}.js-motion .reveal.is-visible{opacity:1;transform:none}@media(max-width:900px){.header-inner{min-height:76px;padding:0 22px}.brand{width:155px}.primary-nav{top:100%;right:22px;left:22px;display:flex;flex-direction:column;gap:0;padding:6px}.nav-link{padding:14px 15px}.hero{min-height:650px;padding:155px 28px 90px}.hero h1{font-size:clamp(45px,12vw,68px)}.about{display:block;padding:85px 28px}.about-panel{margin-top:50px}.services{padding:85px 22px;background-attachment:scroll}.service-grid{grid-template-columns:1fr 1fr}.service-photos{grid-template-columns:1fr;margin-top:35px}.service-photos img{height:230px}.gallery{padding:85px 22px}.gallery-grid{grid-template-columns:1fr 1fr;gap:10px}.contact{display:block;padding:85px 28px}.contact-form{grid-template-columns:1fr;margin-top:55px}.contact-form label.full,.contact-form button,.form-status{grid-column:span 1}.footer-inner{display:block}.footer-inner>img{margin-bottom:25px}.footer-mark{margin-top:28px;text-align:left}.footer-bottom{flex-direction:column;gap:8px}.site-footer{padding:48px 28px 24px}}@media(max-width:520px){.service-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr}.hero h1{font-size:44px}.hero p:not(.eyebrow){font-size:16px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
