html{scroll-behavior:smooth;scroll-padding-top:85px}
body{line-height:1.6}
button{font:inherit;cursor:pointer}
img{max-width:100%}
.portfolio-banner{position:sticky;top:0;z-index:60;background:#153d34;color:#f8f7f0;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px max(22px,calc((100vw - 1160px)/2));font-size:11px;line-height:1.6}
.portfolio-banner>span{font-size:9px;letter-spacing:.09em;text-align:center;color:#d8e8dc}
.portfolio-back,.portfolio-contact{font-weight:650;text-underline-offset:4px}
.portfolio-back:hover,.portfolio-contact:hover{text-decoration:underline}
.portfolio-contact{color:#e2efb0}
.portfolio-note{margin:0;padding:10px 22px;background:#edf4eb;color:#3a5549;text-align:center;font:11px/1.7 system-ui,sans-serif}
header{position:relative;top:auto}
.nav{gap:20px;flex-wrap:wrap}
.navlinks{gap:18px;flex-wrap:wrap}
.navlinks>button{font-size:14px}
.navlinks .btn-primary{color:#fff}
.brand img{width:42px;height:42px;object-fit:cover;border-radius:9px}
.brand strong{font-size:16px}
.social-mark{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;background:#111827;color:white;border-radius:50%;font:bold 18px Arial,sans-serif}
.btn{justify-content:center;line-height:1.5;border:0;font-size:14px}
.btn-primary{background:#087b6c;color:white}
.btn-outline{border:2px solid #111827}
.topbar{background:#087b6c}
a:focus-visible,button:focus-visible{outline:3px solid #f9b630;outline-offset:4px}
.hero{max-width:none;padding:0}
.hero .hero-img{height:clamp(460px,65vh,700px);object-position:50% 57%}
.hero-overlay{background:linear-gradient(90deg,rgba(10,18,28,.82),rgba(10,18,28,.56) 56%,rgba(10,18,28,.19))}
.hero-inner{width:100%;padding:45px 24px}
.hero h1{max-width:760px;font-size:clamp(38px,4.5vw,58px);letter-spacing:-.035em;line-height:1.12}
.hero p{max-width:650px;font-size:17px;line-height:1.7}
.hero .btn-outline{color:white;border-color:white}
.hero .btn-outline:hover{background:white;color:#111827}
.cta-wrap{flex-wrap:wrap}
.card{display:flex;flex-direction:column}
.card-body{flex:1;display:flex;flex-direction:column;align-items:flex-start}
.card-body>.btn{margin-top:auto}
.gallery{grid-auto-rows:340px}
.gallery img{display:block}
.fade-in{opacity:1;transform:none;animation:none}
dialog{width:min(570px,calc(100% - 36px));padding:34px;border:1px solid #d9e8e3;border-radius:20px;color:#111827;box-shadow:0 30px 100px #09251d40}
dialog::backdrop{background:#09251dc4;backdrop-filter:blur(4px)}
.dialog-eyebrow{font:700 10px/1.5 system-ui,sans-serif;color:#087b6c;letter-spacing:.12em;margin:0}
dialog h2{font-size:27px;line-height:1.3;letter-spacing:-.025em;margin:14px 0 18px}
dialog p:not(.dialog-eyebrow){font-size:14px;color:#445a55}
.dialog-close{position:absolute;right:12px;top:9px;border:0;background:transparent;color:#087b6c;font-size:29px;line-height:1;width:36px;height:36px}
.dialog-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.dialog-actions .btn{font-size:12px}
@media(max-width:700px){.portfolio-banner{gap:6px 14px;flex-wrap:wrap;padding:11px 20px}.portfolio-banner>span{order:3;flex-basis:100%;text-align:left;font-size:8px}.portfolio-back,.portfolio-contact{font-size:10px}.portfolio-note{font-size:10px;text-align:left;padding:10px 20px}.topbar{font-size:11px;line-height:1.8;padding:9px 16px}.nav{display:block;padding:15px 20px}.brand{justify-content:center;margin-bottom:15px}.navlinks{justify-content:center;gap:11px 15px}.navlinks>a{font-size:12px}.navlinks>button{font-size:12px;padding:9px 16px}.hero .hero-img{height:570px;object-position:65% 50%}.hero-inner{padding:32px 22px}.hero h1{font-size:38px;line-height:1.15}.hero p{font-size:14px}.hero .btn{font-size:12px;padding:11px 16px}section{padding:36px 20px}.section-title{font-size:27px;line-height:1.3}.card img{height:240px}.card-body{padding:20px}.card h3{font-size:20px}.card p{font-size:13px;line-height:1.8}.card .btn{font-size:12px}.specials{align-items:stretch;flex-direction:column}.pill{font-size:12px;text-align:center}.gallery{grid-auto-rows:290px;gap:18px}.loc-card{padding:20px}.loc-card p,.loc-card li{font-size:13px}.loc-card .btn{font-size:12px}#contact>p{font-size:14px}.foot{padding:28px 20px}.copyright{font-size:11px}.dialog-actions{flex-direction:column;align-items:stretch}dialog{padding:30px 25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.fade-in{animation:none}}
