@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garant:ital,wght@0,300;0,400;0,600;1,300;1,400;1,600&family=Inter:wght@300;400;500;600&display=swap');

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',-apple-system,sans-serif;
  color:#111;background:#fff;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
:root{
  --teal:#2a9d8f;
  --teal-dk:#1b7a6e;
  --teal-lt:#eaf5f3;
  --cream:#ffffff;
  --dark:#2a9d8f;
  --mid:#555;
  --muted:#999;
  --border:rgba(0,0,0,.09);
  --nh:70px;
}
img{display:block;max-width:100%}

/* ── AWARD TOOLTIP ───────────────────── */
.award-wrap{position:relative;display:inline-block;cursor:default}
.award-wrap::after{
  content:attr(data-label);
  position:absolute;bottom:0;left:0;right:0;
  background:rgba(10,10,10,.82);color:#fff;
  font-size:.7rem;font-weight:500;letter-spacing:.02em;
  padding:8px 6px;text-align:center;line-height:1.35;
  opacity:0;transition:opacity .25s;pointer-events:none;
}
.award-wrap:hover::after{opacity:1}

/* ── NAV ─────────────────────────────── */
nav{
  position:fixed;inset:0 0 auto;z-index:900;
  height:var(--nh);display:flex;align-items:center;justify-content:space-between;
  padding:0 5%;
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(18px) saturate(180%);
  border-bottom:1px solid var(--border);
}
.nb{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}
.nb-logo{width:36px;height:36px}
.nb-name{display:block;font-size:.9rem;font-weight:600;color:#111;letter-spacing:-.015em;white-space:nowrap}
.nb-role{display:block;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.nr{display:flex;align-items:center;gap:1px}
.nl{
  display:inline-block;padding:6px 12px;
  font-size:.81rem;font-weight:500;color:var(--mid);
  text-decoration:none;transition:color .2s;position:relative;
  background:none;border:none;cursor:pointer;
  font-family:'Inter',sans-serif;white-space:nowrap;
}
.nl:hover,.nl.on{color:#111}
.nl.on::after{
  content:'';display:block;height:1.5px;background:var(--teal);
  margin-top:2px;border-radius:1px;
}
.ndd{position:relative}
.ndd:hover .ndm,.ndd:focus-within .ndm,.ndd.ndd-open .ndm{opacity:1;pointer-events:all;transform:translateY(0)}
.ndm{
  position:absolute;top:calc(100% + 6px);left:0;min-width:165px;
  background:#fff;border:1px solid var(--border);
  box-shadow:0 12px 40px rgba(0,0,0,.09);
  padding:5px;border-radius:1px;
  opacity:0;pointer-events:none;transform:translateY(-6px);transition:.2s;
}
.ndm a{
  display:block;padding:9px 14px;font-size:.81rem;
  color:var(--mid);text-decoration:none;transition:.15s;
}
.ndm a:hover{color:var(--teal);background:var(--teal-lt)}
.n-cta{
  margin-left:10px;padding:8px 20px;
  background:#111;color:#fff;
  font-size:.75rem;font-weight:500;letter-spacing:.06em;
  text-transform:uppercase;text-decoration:none;
  border:1px solid #111;transition:.25s;white-space:nowrap;
}
.n-cta:hover{background:var(--teal);border-color:var(--teal)}
.burger{
  display:none;background:none;border:none;cursor:pointer;
  padding:4px;flex-direction:column;gap:5px;align-items:flex-end;
}
.burger span{display:block;height:1.5px;background:#111;border-radius:1px;transition:.28s}
.burger span:nth-child(1){width:22px}
.burger span:nth-child(2){width:15px}
.burger span:nth-child(3){width:22px}

/* ── PAGE HERO ───────────────────────── */
.ph{
  padding-top:var(--nh);
  position:relative;overflow:hidden;
  height:42vh;min-height:300px;
  display:flex;align-items:flex-end;
  padding-left:6%;padding-right:6%;padding-bottom:52px;
}
.ph-bg{position:absolute;inset:0}
.ph-bg img{width:100%;height:100%;object-fit:cover}
.ph-bg::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(160deg,rgba(10,10,10,.7) 0%,rgba(10,10,10,.62) 100%);
}
.ph-inner{position:relative;z-index:2}
.eyebrow{
  display:block;font-size:.62rem;letter-spacing:.26em;
  text-transform:uppercase;color:var(--teal);font-weight:500;margin-bottom:13px;
}
.serif{font-family:'Cormorant Garant',Georgia,serif}
.ph-h1{
  font-family:'Cormorant Garant',Georgia,serif;
  font-size:clamp(2.2rem,5vw,3.7rem);
  font-weight:400;line-height:1.1;color:#fff;
}
.ph-h1 em{font-style:italic}

/* ── SECTION ─────────────────────────── */
.s{padding:88px 6%}
.s--cream{background:var(--cream)}
.s--dark{background:var(--dark);color:#fff}
.s--teal{background:var(--teal)}
.wrap{max-width:1100px;margin:0 auto}

/* ── TYPOGRAPHY ──────────────────────── */
.sh{
  font-family:'Cormorant Garant',Georgia,serif;
  font-size:clamp(1.85rem,3.2vw,2.65rem);
  font-weight:400;line-height:1.2;
}
.sh em{font-style:italic}
.body{font-size:.9rem;line-height:1.86;color:var(--mid)}
.body--w{color:rgba(255,255,255,.75)}

/* ── BUTTONS ─────────────────────────── */
.bt{
  display:inline-flex;align-items:center;gap:7px;
  font-size:.74rem;font-weight:500;letter-spacing:.09em;text-transform:uppercase;
  color:#111;text-decoration:none;border-bottom:1px solid #111;
  padding-bottom:2px;transition:.22s;
}
.bt:hover{color:var(--teal);border-color:var(--teal)}
.bt svg{width:13px;height:13px;transition:transform .22s;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.bt:hover svg{transform:translateX(4px)}
.bt--w{color:#fff;border-color:rgba(255,255,255,.5)}
.bt--w:hover{color:rgba(255,255,255,.7);border-color:rgba(255,255,255,.3)}

.bd{
  display:inline-flex;align-items:center;gap:8px;
  padding:12px 26px;background:#111;color:#fff;
  font-size:.74rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase;
  text-decoration:none;border:1px solid #111;transition:.25s;
  font-family:'Inter',sans-serif;cursor:pointer;
}
.bd:hover{background:var(--teal);border-color:var(--teal)}

.bg-{
  display:inline-flex;align-items:center;gap:8px;
  padding:12px 26px;background:transparent;color:#fff;
  font-size:.74rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase;
  text-decoration:none;border:1px solid rgba(255,255,255,.35);transition:.25s;
  font-family:'Inter',sans-serif;cursor:pointer;
}
.bg-:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.6)}

/* ── FORM ────────────────────────────── */
.form-g{display:flex;flex-direction:column;gap:5px}
.form-g label{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:#555}
.form-g input,.form-g textarea,.form-g select{
  padding:11px 14px;border:1px solid #d8d8d8;background:#fff;
  font-family:'Inter',sans-serif;font-size:.88rem;color:#111;
  outline:none;transition:border-color .2s;border-radius:0;-webkit-appearance:none;
}
.form-g input:focus,.form-g textarea:focus,.form-g select:focus{border-color:var(--teal)}
.form-g textarea{height:108px;resize:vertical}
.form-2{display:grid;grid-template-columns:1fr 1fr;gap:15px}

/* ── DIVIDER ─────────────────────────── */
hr.d{border:none;border-top:1px solid var(--border);margin:0}
hr.d--teal{border-top-color:var(--teal);opacity:.25}

/* ── GOOGLE REVIEWS ──────────────────── */
.gr-widget{margin-top:4px}
.gr-head{display:flex;justify-content:center;margin-bottom:28px}
.gr-badge{display:inline-flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--border);border-radius:14px;padding:14px 22px;text-decoration:none;color:inherit;box-shadow:0 2px 10px rgba(0,0,0,.06);transition:box-shadow .2s}
.gr-badge:hover{box-shadow:0 4px 18px rgba(0,0,0,.1)}
.gr-badge-inner{display:flex;flex-direction:column;gap:3px}
.gr-stars-row{display:flex;align-items:baseline;gap:8px}
.gr-score-big{font-size:1.6rem;font-weight:700;line-height:1;color:#111;font-family:'Cormorant Garant',serif}
.gr-stars-gold{color:#fbbc04;font-size:1rem;letter-spacing:2px}
.gr-count-txt{font-size:.76rem;color:#777;letter-spacing:.03em}
.gr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.gr-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:22px 20px;box-shadow:0 1px 6px rgba(0,0,0,.04)}
.gr-card-top{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.gr-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.88rem;font-weight:700;color:#fff;flex-shrink:0;font-family:sans-serif}
.gr-avatar-img{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0;display:block}
.gr-name{font-size:.85rem;font-weight:600;color:#111;line-height:1.3}
.gr-via{font-size:.7rem;color:#aaa;margin-top:1px}
.gr-card-stars{color:#fbbc04;font-size:.85rem;letter-spacing:2px;margin-bottom:10px}
.gr-card-text{font-size:.83rem;color:#555;line-height:1.65;margin:0}
.gr-footer{text-align:center;margin-top:26px}
.gr-cta{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;color:var(--teal);text-decoration:none;font-weight:500;letter-spacing:.03em;border-bottom:1px solid transparent;transition:border-color .2s}
.gr-cta:hover{border-color:var(--teal)}
@media(max-width:800px){.gr-grid{grid-template-columns:repeat(2,1fr)}.gr-score-big{font-size:1.35rem}}
@media(max-width:500px){.gr-grid{grid-template-columns:1fr}.gr-badge{padding:12px 16px;gap:10px}}

/* ── REVEAL ANIMATION ────────────────── */
.rv{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.rv.in{opacity:1;transform:translateY(0)}
.rv2{opacity:0;transform:translateY(22px);transition:opacity .7s .12s ease,transform .7s .12s ease}
.rv2.in{opacity:1;transform:translateY(0)}
.rv3{opacity:0;transform:translateY(22px);transition:opacity .7s .24s ease,transform .7s .24s ease}
.rv3.in{opacity:1;transform:translateY(0)}

/* ── FOOTER ──────────────────────────── */
footer{background:#fff;color:var(--mid);padding:62px 6% 26px;border-top:1px solid var(--border)}
.fg{
  max-width:1100px;margin:0 auto;
  display:grid;grid-template-columns:1.9fr 1fr 1fr;gap:58px;
  padding-bottom:46px;border-bottom:1px solid var(--border);
}
.f-name{
  font-family:'Cormorant Garant',serif;
  font-size:1.2rem;font-weight:400;color:#111;
  margin-bottom:4px;margin-top:14px;
}
.f-role{font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:var(--teal);margin-bottom:16px}
.f-desc{font-size:.82rem;line-height:1.76;color:var(--mid);max-width:280px}
.f-ht{font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;color:var(--teal);font-weight:600;margin-bottom:18px}
.f-links{list-style:none;display:flex;flex-direction:column;gap:8px}
.f-links a{font-size:.83rem;color:var(--mid);text-decoration:none;transition:.2s}
.f-links a:hover{color:var(--teal)}
.f-ci{display:flex;align-items:flex-start;gap:9px;margin-bottom:10px}
.f-ci svg{width:13px;height:13px;flex-shrink:0;margin-top:3px;stroke:var(--teal);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.f-ci span,.f-ci a{font-size:.82rem;color:var(--mid);text-decoration:none;line-height:1.5}
.f-ci a:hover{color:var(--teal)}
.fb{
  max-width:1100px;margin:0 auto;padding-top:20px;
  display:flex;justify-content:space-between;align-items:center;
  font-size:.72rem;color:var(--muted);flex-wrap:wrap;gap:8px;
}

/* FAQ */
.faq-nav .faq-menu{min-width:280px;max-height:70vh;overflow:auto}
.faq-menu a{white-space:normal;line-height:1.35}
.faq-hero .ph-bg img{object-position:center}
.faq-section{background:#fff}
.faq-page-start{padding-top:calc(var(--nh) + 58px)}
.faq-intro{max-width:680px;margin-bottom:44px}
.faq-intro .body{margin-top:12px}
.faq-category-block{padding:36px 0;border-top:1px solid var(--border)}
.faq-category-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}
.faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.faq-grid--list{grid-template-columns:repeat(3,minmax(0,1fr))}
.faq-card{background:#fff;border:1px solid var(--border);display:grid;grid-template-columns:190px 1fr;min-height:220px}
.faq-grid--list .faq-card{grid-template-columns:1fr;min-height:0}
.faq-card-img{display:block;overflow:hidden;background:var(--teal-lt)}
.faq-card-img img{width:100%;height:100%;min-height:220px;object-fit:cover;transition:transform .35s ease}
.faq-grid--list .faq-card-img img{height:190px;min-height:190px}
.faq-card:hover .faq-card-img img{transform:scale(1.035)}
.faq-card-body{padding:22px;display:flex;flex-direction:column;align-items:flex-start}
.faq-card-cat{font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:var(--teal);font-weight:600;margin-bottom:10px;line-height:1.45}
.faq-card h3{font-family:'Cormorant Garant',Georgia,serif;font-size:1.35rem;font-weight:400;line-height:1.2;margin-bottom:12px}
.faq-card p{font-size:.84rem;line-height:1.72;color:var(--mid);margin-bottom:18px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.faq-card .bt{margin-top:auto}
.faq-detail-section{background:var(--cream)}
.faq-detail-wrap{max-width:980px}
.faq-back{margin-bottom:24px}
.faq-detail{background:#fff;border:1px solid var(--border);display:grid;grid-template-columns:minmax(260px,360px) 1fr;align-items:stretch}
.faq-detail>img{width:100%;height:100%;min-height:360px;object-fit:cover}
.faq-detail-body{padding:42px}
.faq-detail-body h2{margin-bottom:20px}
.faq-detail-body p{font-size:.96rem;line-height:1.9;color:var(--mid);white-space:pre-wrap}

/* ── RESPONSIVE ──────────────────────── */
@media(max-width:900px){
  .fg{grid-template-columns:1fr 1fr}
  .faq-grid,.faq-grid--list{grid-template-columns:1fr}
  .faq-card{grid-template-columns:1fr}
  .faq-card-img img{height:240px;min-height:240px}
  .faq-category-head{align-items:flex-start;flex-direction:column}
  .faq-detail{grid-template-columns:1fr}
  .faq-detail>img{height:260px;min-height:260px}
}
@media(max-width:960px){
  :root{--nh:64px}
  .s{padding:60px 5%}
  .fg{grid-template-columns:1fr;gap:34px}
  .fb{flex-direction:column;text-align:center}
  .burger{display:flex}
  nav{backdrop-filter:none;-webkit-backdrop-filter:none;background:#fff}
  .nb{overflow:hidden;min-width:0;flex-shrink:1}
  .nb-role{display:none}
  .nb-name{font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .nr{
    display:none;flex-direction:column;align-items:stretch;
    position:fixed;top:var(--nh);left:0;right:0;bottom:0;
    background:#fff;padding:14px 5% 40px;
    box-sizing:border-box;gap:0;overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    z-index:9800;
  }
  .nr.open{display:flex}
  .nl{padding:12px 0;border-bottom:1px solid var(--border)}
  .ndm{position:static;box-shadow:none;border:none;opacity:0;pointer-events:none;transform:none;padding:0 0 0 10px;max-height:0;overflow:hidden;transition:max-height .3s ease,opacity .2s}
  .ndd.ndd-open .ndm{opacity:1;pointer-events:all;max-height:1000px}
  .faq-nav .faq-menu{min-width:0;max-height:0;overflow:hidden}
  .n-cta{margin:12px 0 4px;padding:13px 20px;display:block;text-align:center;color:#fff;background:#111;border:none;border-radius:4px;font-weight:600;font-size:inherit;letter-spacing:inherit}
  .form-2{grid-template-columns:1fr}
  .faq-card-body{padding:20px}
  .faq-page-start{padding-top:calc(var(--nh) + 36px)}
  .faq-detail>img{height:230px;min-height:230px}
  .faq-detail-body{padding:26px 20px}
}

/* ── FLOATING CONTACT BUTTON ──────────── */
.fcb{position:fixed;bottom:24px;right:24px;z-index:9900;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.fcb-btn{width:56px;height:56px;border-radius:50%;background:#111;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(0,0,0,.3);transition:transform .2s,background .2s}
.fcb-btn:hover{background:var(--teal);transform:scale(1.08)}
.fcb-btn svg{width:26px;height:26px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.fcb-menu{display:flex;flex-direction:column;gap:8px;align-items:flex-end;pointer-events:none;opacity:0;transform:translateY(10px);transition:opacity .2s,transform .2s}
.fcb-menu.fcb-open{pointer-events:all;opacity:1;transform:translateY(0)}
.fcb-item{display:flex;align-items:center;gap:10px;background:#fff;padding:10px 16px;border-radius:30px;box-shadow:0 2px 14px rgba(0,0,0,.15);text-decoration:none;color:#111;font-size:.88rem;font-weight:500;white-space:nowrap;border:1px solid rgba(0,0,0,.06)}
.fcb-item:hover{background:#f5f5f5}
.fcb-item svg{width:16px;height:16px;stroke:#111;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
