*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:#F4EDDF;
  color:#0A3B42;
  font-family:'Hanken Grotesk',sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration:none}
::selection{background:#F2B233;color:#0A3B42}
button{font-family:inherit}

/* ---------- shared ---------- */
.section-inner{max-width:1160px;margin:0 auto;padding:clamp(60px,7vw,96px) 28px}
.eyebrow-label{font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#0C6C77}
.eyebrow-label.eyebrow-light{color:#7FB0AE}
.section-title{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:clamp(30px,4vw,48px);letter-spacing:-.025em;margin:12px 0 0;color:#0A3B42}
.section-title.section-title-light{color:#FFFDF8}
.section-sub{font-size:18px;color:#43585B;margin:14px 0 0}
.dot{display:inline-block;border-radius:999px}
.dot-white{width:8px;height:8px;background:#fff}
.dot-green{width:7px;height:7px;background:#1FA855}

.btn{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:800;border-radius:999px}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:50;background:rgba(244,237,223,.86);backdrop-filter:blur(12px);border-bottom:1px solid rgba(10,59,66,.12)}
.nav-inner{max-width:1160px;margin:0 auto;padding:12px 28px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.brand{display:flex;align-items:center}
.brand-logo{height:56px;width:auto;display:block}
.nav-links{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.nav-links a{font-size:14.5px;font-weight:600;color:#3C5457}
.nav-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.lang-switch{display:flex;gap:4px;background:#EBE1CC;border-radius:999px;padding:4px}
.lang-btn{border:none;cursor:pointer;font-weight:700;font-size:13px;padding:6px 12px;border-radius:999px;background:transparent;color:#5B6F72}
.lang-btn.active{background:#0A3B42;color:#FFFDF8}
.btn-wa{padding:11px 20px;background:#1FA855;color:#fff;font-weight:700;font-size:14.5px;gap:8px}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden}
.hero-glow{position:absolute;top:-90px;right:-60px;width:340px;height:340px;border-radius:999px;background:radial-gradient(circle at 50% 50%, #F7C64E 0%, #F2B233 60%, rgba(242,178,51,0) 70%);opacity:.5;pointer-events:none}
.hero-inner{max-width:1160px;margin:0 auto;padding:clamp(48px,7vw,96px) 28px clamp(56px,7vw,90px);display:flex;gap:44px;align-items:center;flex-wrap:wrap;position:relative}
.hero-copy{flex:1 1 400px;max-width:600px}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#0C6C77;background:#EAF1F0;border:1px solid rgba(12,108,119,.2);padding:8px 15px;border-radius:999px}
.hero-title{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:clamp(42px,6.4vw,80px);line-height:.98;letter-spacing:-.03em;margin:22px 0 0;color:#0A3B42}
.hero-title .accent{color:#0C6C77}
.hero-sub{font-size:clamp(17px,1.4vw,19px);line-height:1.6;color:#43585B;margin:22px 0 0;max-width:520px}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.btn-call{padding:16px 30px;background:#F2B233;color:#0A3B42;font-size:16.5px;box-shadow:0 10px 24px -10px rgba(242,178,51,.9)}
.btn-wa-solid{padding:16px 28px;background:#1FA855;color:#fff;font-size:16.5px}
.hero-chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
.chip{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#3C5457;background:#FFFDF8;border:1px solid rgba(10,59,66,.12);padding:9px 15px;border-radius:999px}
.chip .dot{width:6px;height:6px;background:#0C6C77}
.hero-media{flex:1 1 340px;min-width:280px;display:flex;align-items:center;justify-content:center;position:relative}
.hero-media-glow{position:absolute;bottom:2%;left:50%;transform:translateX(-50%);width:min(96%,460px);aspect-ratio:1/1;border-radius:999px;background:radial-gradient(circle at 50% 55%, #E7EFEE 0%, #E7EFEE 50%, rgba(231,239,238,0) 72%)}
.hero-img{position:relative;z-index:1;width:auto;max-width:100%;height:auto;max-height:500px;display:block;filter:drop-shadow(0 26px 34px rgba(10,59,66,.24))}

/* ---------- trust ---------- */
.trust{background:#0A3B42;color:#EAF2F0}
.trust-inner{max-width:1160px;margin:0 auto;padding:clamp(52px,6vw,80px) 28px}
.trust-heading{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:clamp(28px,3.4vw,42px);letter-spacing:-.02em;margin:0;color:#FFFDF8;max-width:640px}
.trust-grid{display:flex;gap:22px;flex-wrap:wrap;margin-top:36px}
.trust-item{flex:1 1 220px;min-width:200px;border-top:2px solid #F2B233;padding-top:18px}
.trust-item h3{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:19px;margin:0;color:#FFFDF8}
.trust-item p{font-size:15px;line-height:1.6;color:#AFC6C4;margin:9px 0 0}

/* ---------- services ---------- */
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.section-head-text{max-width:560px}
.section-head-center{text-align:center;max-width:620px;margin:0 auto}
.services-grid{display:flex;gap:22px;flex-wrap:wrap;margin-top:40px}
.service-card{flex:1 1 300px;min-width:260px;background:#FFFDF8;border:1px solid rgba(10,59,66,.1);border-radius:22px;padding:30px 28px 32px}
.service-icon{width:44px;height:44px;border-radius:12px;background:#EAF1F0;border:1px solid rgba(12,108,119,.22);display:flex;align-items:center;justify-content:center}
.service-icon span{font-family:'Instrument Serif',serif;font-size:22px;color:#0C6C77}
.service-card h3{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:22px;letter-spacing:-.01em;margin:20px 0 0;color:#0A3B42}
.service-card p{font-size:15.5px;line-height:1.6;color:#43585B;margin:11px 0 0}

/* ---------- pricing ---------- */
.pricing-section{background:#EEE5D3;border-top:1px solid rgba(10,59,66,.1);border-bottom:1px solid rgba(10,59,66,.1)}
.pricing-section .section-sub{font-size:17.5px}
.pricing-card{margin-top:44px;background:#FFFDF8;border:1px solid rgba(10,59,66,.12);border-radius:24px;overflow:hidden;box-shadow:0 30px 60px -40px rgba(10,59,66,.5)}
.pricing-scroll{overflow-x:auto}
.pricing-table{width:100%;border-collapse:collapse;min-width:640px}
.pricing-table thead tr{background:#0A3B42;color:#EAF2F0}
.pricing-table th{text-align:center;font-size:13px;font-weight:700;padding:18px 12px;color:#FFFDF8}
.pricing-table th.col-size{text-align:left;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;padding:18px 24px;color:#AFC6C4}
.pricing-table th.col-last{padding:18px 24px 18px 12px}
.pricing-table td{padding:20px 12px}
.pricing-table td.size-cell{padding:20px 24px}
.size-row-main{display:flex;align-items:center;gap:14px}
.size-badge{width:42px;height:42px;flex:none;border-radius:11px;background:#0C6C77;color:#FFFDF8;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:17px;display:flex;align-items:center;justify-content:center}
.size-meta{display:flex;flex-direction:column;gap:5px}
.size-dim{font-size:13px;color:#5B6F72;font-family:ui-monospace,Menlo,monospace}
.size-bar{height:6px;border-radius:999px;background:#F2B233}
.price-day{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:19px;color:#0A3B42;text-align:center;display:block}
.price-cell{text-align:center;font-size:17px;font-weight:600;color:#3C5457}
.pricing-foot{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:18px 24px;background:#FBF4E4;border-top:1px solid rgba(10,59,66,.1)}
.pricing-note{display:inline-flex;align-items:center;gap:10px;font-size:14.5px;font-weight:600;color:#7A5A16}
.asterisk{width:22px;height:22px;flex:none;border-radius:999px;background:#F2B233;color:#0A3B42;font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center}
.btn-dark{padding:12px 22px;background:#0A3B42;color:#FFFDF8;font-size:14.5px}

/* ---------- how / who ---------- */
.how-grid{display:flex;gap:22px;flex-wrap:wrap;margin-top:40px}
.how-step{flex:1 1 280px;min-width:250px}
.how-step .num{font-family:'Instrument Serif',serif;font-size:56px;color:#0C6C77;line-height:1;display:block}
.how-step h3{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:22px;margin:8px 0 0;color:#0A3B42}
.how-step p{font-size:15.5px;line-height:1.6;color:#43585B;margin:10px 0 0;max-width:320px}
.who{margin-top:52px}
.who-heading{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:20px;color:#0A3B42;margin:0 0 16px}
.who-tags{display:flex;gap:10px;flex-wrap:wrap}
.who-tag{font-size:14.5px;font-weight:600;color:#0A3B42;background:#EAF1F0;border:1px solid rgba(12,108,119,.22);padding:10px 17px;border-radius:999px}

/* ---------- find us ---------- */
.find-section{background:#0A3B42;color:#EAF2F0}
.find-inner{max-width:1160px;margin:0 auto;padding:clamp(60px,7vw,96px) 28px;display:flex;gap:48px;flex-wrap:wrap;align-items:center}
.find-copy{flex:1 1 380px;min-width:300px}
.find-addr{font-size:18px;line-height:1.5;color:#CBDEDC;margin:0}
.hours-box{margin:26px 0 0;padding:18px 0;border-top:1px solid rgba(255,253,248,.16);border-bottom:1px solid rgba(255,253,248,.16)}
.hours-label{font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#7FB0AE}
.hours-table{margin-top:10px;display:flex;flex-direction:column;gap:6px}
.hours-row{display:flex;justify-content:space-between;gap:16px;font-size:15px}
.hours-row .day{color:#CBDEDC;font-weight:500}
.hours-row .time{color:#FFFDF8;font-weight:700}
.hours-row.closed .time{color:#8FB4B2;font-weight:600}
.find-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}
.find-phone{font-size:14px;color:#8FB4B2;margin-top:16px}
.find-map{flex:1 1 340px;min-width:300px;align-self:stretch;display:flex}
.map-frame{flex:1;min-height:340px;border-radius:24px;border:1px solid rgba(255,253,248,.18);width:100%}

/* ---------- footer ---------- */
.footer{background:#F4EDDF;border-top:1px solid rgba(10,59,66,.12)}
.footer-inner{max-width:1160px;margin:0 auto;padding:40px 28px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center}
.footer-brand{display:flex;flex-direction:column;line-height:1}
.footer-logo{height:76px;width:auto;align-self:flex-start;display:block}
.footer-tagline{font-size:14px;color:#5B6F72;margin-top:12px}
.footer-rights{font-size:13px;color:#5B6F72}
