@font-face{
  font-family:'AgencyFB';
  src:url('./assets/fonts/agencyfb.ttf') format('truetype'),
      url('../fonts/agencyfb.ttf') format('truetype'),
      url('./assets/fonts/AGENCYB.TTF') format('truetype');
  font-weight:normal;
  font-style:normal;
  font-display:swap;
}

@font-face{
  font-family:'AgencyB';
  src:url('./assets/fonts/AGENCYB.TTF') format('truetype');
  font-weight:normal;
  font-style:normal;
  font-display:swap;
}

:root{
  --bg:#f7f7f5;
  --surface:#ffffff;
  --surface-soft:#f1f1ee;
  --text:#111111;
  --muted:#686868;
  --line:#e5e5df;
  --line-strong:#d4d4cd;
  --shadow:0 20px 50px rgba(17,17,17,.08);
  --font-body:'AgencyB', Arial, sans-serif;
  --font-display:'AgencyB', Arial, sans-serif;
  --radius-xl:28px;
  --radius-lg:22px;
  --radius-md:16px;
}


*{box-sizing:border-box}
html, body, body *, button, input, textarea, select, a, p, span, strong, small, h1, h2, h3, h4, h5, h6{font-family:'AgencyB', Arial, sans-serif !important;}
html{scroll-behavior:smooth}
html,body{
  max-width:100%;
  overflow-x:hidden;
  touch-action:manipulation;
}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--text);
  background:
    radial-gradient(circle at top, rgba(0,0,0,.04), transparent 30%),
    linear-gradient(180deg,#fcfcfb 0%,#f4f4f1 100%);
}
a,
a:visited,
a:hover,
a:active{
  color:inherit;
  text-decoration:none;
  -webkit-tap-highlight-color:transparent;
}
a[x-apple-data-detectors],
a[x-apple-data-detectors]:visited,
a[x-apple-data-detectors]:hover,
a[x-apple-data-detectors]:active,
[x-apple-data-detectors],
[x-apple-data-detectors] *{
  color:inherit !important;
  text-decoration:none !important;
  font:inherit !important;
}
a,
button,
.action-card,
.mini-card,
.ghost-btn,
.solid-btn,
.copy-btn{
  -webkit-tap-highlight-color:transparent;
}
a *{
  color:inherit;
}
a,
button,
input,
textarea,
select{
  touch-action:manipulation;
}
button,a,input,textarea{font:inherit}
input,textarea,select{
  font-size:16px;
}
button{border:0;background:none;padding:0;cursor:pointer}

.page-shell{padding:28px 16px 56px}
.page{width:min(760px,100%);margin:0 auto;display:grid;gap:18px}
body.is-loading .hero{
  opacity:0;
  transform:translateY(28px) scale(.98);
}
body.is-loading .brand-mark{
  opacity:0;
  transform:translateY(34px) scale(.64);
  filter:blur(14px);
}
body.is-loading .brand-mark::before{
  animation:spinRingIntro 1.35s cubic-bezier(.19,1,.22,1) forwards;
}
body.is-loading .logo{
  animation:none;
  transform:scale(.7);
  filter:contrast(1.08) saturate(.85) brightness(.96) blur(10px);
}
body.is-loading .hero-copy h1,
body.is-loading .hero-copy p,
body.is-loading .share-btn{
  opacity:0;
  transform:translateY(18px);
}
body.is-loading .action-card,
body.is-loading .location-split,
body.is-loading .review-card,
body.is-loading .info-grid .mini-card,
body.is-loading .footer{
  opacity:0;
  transform:translateY(22px) scale(.985);
}
body.hero-ready .hero{
  animation:heroIntro .9s cubic-bezier(.22,.61,.36,1) forwards;
}
body.hero-ready .brand-mark{
  animation:logoWrapIn 1.2s cubic-bezier(.19,1,.22,1) .04s forwards;
}
body.hero-ready .logo{
  animation:logoArrive 1.2s cubic-bezier(.19,1,.22,1) .04s forwards, logoPulse 3.8s ease-in-out 1.28s infinite;
}
body.hero-ready .hero-copy h1{
  animation:textRise .7s ease .35s forwards;
}
body.hero-ready .hero-copy p{
  animation:textRise .7s ease .5s forwards;
}
body.hero-ready .share-btn{
  animation:textRise .7s ease .6s forwards;
}
body.hero-ready .action-card,
body.hero-ready .location-split,
body.hero-ready .review-card,
body.hero-ready .footer{
  opacity:0;
  transform:translateY(22px) scale(.985);
  animation:cardListIn .72s cubic-bezier(.22,.61,.36,1) both;
}
.page > .actions-grid .action-card.primary{animation-delay:.72s}
.page > .actions-grid .action-card[href^="tel:"]{animation-delay:.84s}
.page > .actions-grid #saveContactBtn{animation-delay:.96s}
.page > .actions-grid .location-split{animation-delay:1.08s}
body.hero-ready .review-card{animation-delay:1.18s}
body.hero-ready .footer{animation-delay:1.82s}
.info-grid .mini-card{
  opacity:0;
  transform:translateY(22px) scale(.985);
}
.info-grid .mini-card.is-visible{
  animation:cardListIn .72s cubic-bezier(.22,.61,.36,1) both;
}
.card{
  background:rgba(255,255,255,.9);
  border:1px solid var(--line);
  border-radius:var(--radius-xl);
  box-shadow:var(--shadow);
  backdrop-filter:blur(12px);
}
.hero{
  position:relative;
  padding:28px;
  overflow:hidden;
  display:grid;
  gap:22px;
}
.hero::before{
  content:"";
  position:absolute;
  inset:auto -60px -120px auto;
  width:220px;
  height:220px;
  background:radial-gradient(circle,rgba(0,0,0,.08),transparent 65%);
  pointer-events:none;
}
.share-btn{position:absolute;right:18px;top:18px}
.share-btn{
  width:44px;
  min-width:44px;
  min-height:44px;
  padding:0;
  border-radius:14px;
}
.ghost-btn,
.solid-btn,
.copy-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:46px;padding:0 18px;border-radius:999px;border:1px solid var(--line-strong);
  transition:.2s ease transform,.2s ease background,.2s ease border-color,.2s ease box-shadow;
}
.ghost-btn{background:#fff}
.solid-btn{background:#111;color:#fff;border-color:#111}
.copy-btn{background:var(--surface-soft);min-height:38px;padding:0 14px;font-size:13px}
.copy-btn,
.copy-btn:visited,
.copy-btn:hover,
.copy-btn:active,
.close-btn,
.close-btn:visited,
.close-btn:hover,
.close-btn:active{
  color:#111 !important;
  -webkit-text-fill-color:#111 !important;
}
.share-btn,
.ghost-btn,
.action-card,
.mini-card{
  color:var(--text) !important;
  -webkit-text-fill-color:var(--text) !important;
}
.share-btn span,
.share-btn *,
.action-card strong,
.action-card *,
.mini-card strong,
.mini-card *{
  color:var(--text) !important;
  -webkit-text-fill-color:var(--text) !important;
  text-decoration:none !important;
}
.share-btn span{
  font-weight:700;
}
.action-card.primary,
.action-card.primary strong{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
.action-card.primary *{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
.ghost-btn:hover,.solid-btn:hover,.copy-btn:hover,.action-card:hover,.mini-card:hover,.social-item:hover,.choice-card:hover{transform:translateY(-4px)}

.brand-mark{
  position:relative;
  display:flex;
  justify-content:center;
  align-items:center;
  width:max-content;
  margin:0 auto;
  padding:8px;
  isolation:isolate;
}
.brand-mark::before,
.brand-mark::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
  pointer-events:none;
}
.brand-mark::before{
  inset:2px;
  background:conic-gradient(from 0deg, rgba(214,214,214,.12), rgba(126,126,126,.92), rgba(214,214,214,.18), rgba(126,126,126,.92), rgba(214,214,214,.12));
  animation:spinRing 8s linear infinite;
  box-shadow:none;
}
.brand-mark::after{
  inset:4px;
  background:#0c0c0c;
  z-index:-1;
}
.logo{
  position:relative;
  z-index:1;
  width:164px;height:164px;object-fit:cover;border-radius:50%;
  border:1px solid rgba(255,255,255,.22);
  background:#050505;
  box-shadow:
    0 0 0 2px rgba(255,255,255,.06),
    0 18px 40px rgba(0,0,0,.4);
  filter:contrast(1.08) saturate(.85) brightness(1.02);
  animation:logoPulse 3.8s ease-in-out infinite;
}
.hero-copy{text-align:center;display:grid;gap:4px}
.eyebrow,.section-kicker,.modal-kicker{
  font-family:var(--font-display);
  font-size:15px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)
}
.hero-copy h1,.section-head h2,.modal h3{
  margin:0;
  font-family:var(--font-display);
  line-height:1.02;
  letter-spacing:.04em;
}
.hero-copy h1{
  font-size:clamp(32px,6.6vw,54px);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  flex-wrap:wrap;
}
.hero-copy h1 span{
  display:block;
}
.verified-badge{
  width:clamp(24px,4.8vw,34px);
  height:clamp(24px,4.8vw,34px);
  object-fit:contain;
  display:block;
  flex:0 0 auto;
  transform:translateY(-1px);
}
.section-head h2,.modal h3{
  font-size:clamp(32px,6.2vw,52px);
}
.modal h3{
  font-size:clamp(38px,6.8vw,56px);
  letter-spacing:.05em;
}
.hero-copy p{
  margin:0;
  font-family:var(--font-display);
  color:var(--muted);
  line-height:1.1;
  font-size:clamp(14px,2vw,19px);
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.section-text,.modal-text,.wifi-note{margin:0;color:var(--muted);line-height:1.6}
.hero-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.hero-pills span,.review-inline-stats span{
  padding:10px 14px;border-radius:999px;background:var(--surface-soft);border:1px solid var(--line);font-size:13px;color:#222
}

.actions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.actions-grid .action-card.primary{
  grid-column:1 / -1;
}
.location-split{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  grid-column:1 / -1;
}
.location-split .action-card{
  min-width:0;
  padding:18px;
}
.location-split .action-card span{
  font-size:13px;
  line-height:1.35;
}
.action-card{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px;
  display:flex;align-items:flex-start;gap:14px;box-shadow:var(--shadow);position:relative;overflow:hidden;
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease, background .3s ease;
}
.action-card::before,
.mini-card::before,
.choice-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at top left, rgba(255,255,255,.18), transparent 34%);
  opacity:0;
  transition:opacity .35s ease;
  pointer-events:none;
}
.action-card::after,
.mini-card::after,
.choice-card::after{
  content:"";
  position:absolute;
  inset:-120% auto -120% -35%;
  width:44%;
  transform:rotate(18deg) translateX(-180%);
  background:linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.22), rgba(255,255,255,.04), rgba(255,255,255,0));
  opacity:0;
  pointer-events:none;
  transition:transform .85s cubic-bezier(.22,.61,.36,1), opacity .35s ease;
}
.action-card:hover,
.mini-card:hover,
.choice-card:hover{
  box-shadow:0 24px 45px rgba(17,17,17,.14);
  border-color:#d6d6cf;
}
.action-card:hover::before,
.mini-card:hover::before,
.choice-card:hover::before{
  opacity:1;
}
.action-card:hover::after,
.mini-card:hover::after,
.choice-card:hover::after{
  opacity:1;
  transform:rotate(18deg) translateX(620%);
}
.action-card > div:last-child{
  flex:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  gap:6px;
}
.action-card.primary{background:#111;color:#fff;border-color:#111}
.action-card strong,.mini-card strong,.social-item span,.choice-card strong{
  display:block;
  font-family:var(--font-display);
  font-size:28px;
  font-weight:700;
  letter-spacing:.03em;
  line-height:1;
}
.action-card span,.mini-card small,.social-item small,.choice-card span{display:block;margin-top:0;color:var(--muted);line-height:1.5}
.action-card.primary span{color:rgba(255,255,255,.74)}
.action-icon,.mini-icon{
  width:50px;height:50px;border-radius:15px;display:grid;place-items:center;flex:0 0 auto;
  background:var(--surface-soft);border:1px solid var(--line)
}
.action-card.primary .action-icon{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.15)}
.action-icon svg,.mini-icon svg,.share-btn svg{width:22px;height:22px;fill:currentColor}
.share-btn-icon{
  width:18px;
  height:18px;
  object-fit:contain;
  display:block;
}
.action-icon img,.mini-icon img{
  width:22px;
  height:22px;
  object-fit:contain;
  display:block;
}

.section-card{padding:24px}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.review-card{
  position:relative;
  isolation:isolate;
}
.review-card::before{
  content:"";
  position:absolute;
  inset:0;
  padding:2.5px;
  border-radius:inherit;
  background:linear-gradient(135deg,#4285f4 0%,#4285f4 22%,#34a853 44%,#fbbc05 68%,#ea4335 84%,#ea4335 100%);
  background-size:220% 220%;
  animation:googleBorderFlow 5.5s linear infinite;
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
  opacity:.9;
}
.review-card .section-head{
  flex-direction:column;
  align-items:center;
  text-align:center;
  margin-bottom:0;
  gap:20px;
}
.review-card .section-head > div{
  display:grid;
  gap:10px;
  justify-items:center;
}
.review-card-copy{
  width:100%;
  justify-items:center;
}
.review-card-logo{
  display:block;
  width:min(100%,240px);
  height:auto;
  margin:0 auto 6px;
}
.review-card .section-head h2{
  font-size:28px;
  line-height:1;
  max-width:none;
  white-space:nowrap;
  margin:0 auto;
}
.review-card .section-text{
  max-width:34ch;
  font-size:16px;
  line-height:1.5;
  color:#66645d;
  margin:0 auto;
}
.review-card .solid-btn{
  min-width:196px;
  min-height:56px;
  padding:0 28px;
  border-radius:999px;
  font-size:18px;
  font-weight:700;
  box-shadow:0 14px 28px rgba(17,17,17,.14);
}
.review-inline-stats{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.info-grid{display:grid;grid-template-columns:1fr;gap:14px}
.mini-card{padding:22px;display:grid;gap:14px;text-align:left;position:relative;overflow:hidden;transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease, background .3s ease}
.info-grid .mini-card small{
  font-size:14px;
  line-height:1.4;
}
.info-grid .mini-card{
  display:flex;
  align-items:center;
  gap:14px;
}
.info-grid .mini-card .mini-icon{
  flex:0 0 auto;
}
.info-grid .mini-card[href*="tiktok.com"] .mini-icon svg{
  width:24px;
  height:24px;
}
.info-grid .mini-card .mini-copy{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:0;
}
.social-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.social-item{
  padding:18px 20px;
  border-radius:18px;
  border:1px solid var(--line);
  background:#fff;
  display:flex;
  align-items:center;
  gap:14px;
}
.social-icon{
  width:50px;
  height:50px;
  border-radius:15px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  background:var(--surface-soft);
  border:1px solid var(--line);
}
.social-icon svg{
  width:22px;
  height:22px;
  fill:currentColor;
}
.social-copy{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:0;
}
.social-item span{
  font-size:20px;
  line-height:1;
  letter-spacing:.03em;
}
.social-item small{
  font-size:14px;
  line-height:1.4;
}

.footer{
  text-align:center;
  color:var(--muted);
  font-size:13px;
  padding-top:6px;
  display:grid;
  justify-items:center;
  gap:10px;
}
.footer-mark{
  width:min(220px,70vw);
  height:auto;
  display:block;
  filter:brightness(0);
  margin-top:-16px;
}

.modal-backdrop{
  position:fixed;inset:0;background:rgba(17,17,17,.55);display:grid;place-items:center;padding:18px;z-index:20
}
.modal{
  width:min(560px,100%);background:#fff;border-radius:26px;border:1px solid var(--line);padding:24px;box-shadow:0 24px 80px rgba(0,0,0,.18);position:relative
}
.large-modal{width:min(620px,100%)}
.close-btn{
  position:absolute;
  right:14px;
  top:14px;
  width:40px;
  height:40px;
  border-radius:50%;
  background:var(--surface-soft);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  font-size:24px;
  line-height:1;
  text-align:center;
  text-indent:0;
}
.close-btn::before{
  content:"×";
  display:block;
  transform:translateY(-1px);
}
.modal .modal-kicker{
  display:block;
  margin-bottom:10px;
}
.modal h3{
  margin-bottom:12px;
}
.modal .modal-text{
  margin-bottom:8px;
}
.review-entry-modal{
  background:
    radial-gradient(circle at top left, rgba(66,133,244,.08), transparent 34%),
    radial-gradient(circle at top right, rgba(251,188,5,.08), transparent 32%),
    linear-gradient(180deg,#fff 0%,#fbfaf8 100%);
}
.review-entry-branding{
  display:flex;
  justify-content:center;
  margin:2px 0 10px;
}
.review-entry-logo{
  display:block;
  width:min(100%,210px);
  height:auto;
}
.review-entry-modal .modal-kicker{
  letter-spacing:.08em;
  color:#767676;
}
.review-entry-modal h3{
  font-size:clamp(40px,7vw,58px);
  line-height:.96;
  margin-bottom:14px;
}
.review-entry-modal .modal-text{
  max-width:18ch;
  margin:0 auto 10px;
  font-size:clamp(17px,3vw,21px);
  color:#636363;
  text-align:center;
}
.large-modal .modal-kicker{
  display:block;
  margin-bottom:10px;
}
.large-modal h3{
  margin-bottom:12px;
}
.large-modal .modal-text{
  margin-bottom:8px;
}
.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px}
.choice-card{
  min-height:96px;
  padding:18px 22px;
  border-radius:24px;
  border:1px solid var(--line);
  background:#fff;
  text-align:left;
  position:relative;
  overflow:hidden;
  color:var(--text) !important;
  -webkit-text-fill-color:var(--text) !important;
  -webkit-appearance:none;
  appearance:none;
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease, background .3s ease
}
.choice-card.positive{
  border-color:#9fd4ac;
  background:
    radial-gradient(circle at top left, rgba(142, 222, 160, .24), transparent 42%),
    linear-gradient(180deg,#fafffb 0%,#e7f7eb 100%);
  box-shadow:0 18px 36px rgba(33,119,72,.12);
}
.choice-card.negative{
  border-color:#e6b2b2;
  background:
    radial-gradient(circle at top left, rgba(255, 173, 173, .22), transparent 42%),
    linear-gradient(180deg,#fffdfd 0%,#fceaea 100%);
  box-shadow:0 18px 36px rgba(170,62,62,.1);
}
.choice-card,
.choice-card:visited,
.choice-card:hover,
.choice-card:active,
.choice-card strong{
  color:var(--text) !important;
  -webkit-text-fill-color:var(--text) !important;
  text-decoration:none !important;
}
.choice-card strong{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.choice-card.positive strong{
  color:#176838 !important;
  -webkit-text-fill-color:#176838 !important;
}
.choice-card.negative strong{
  color:#a12f2f !important;
  -webkit-text-fill-color:#a12f2f !important;
}
.choice-card.positive:hover{
  border-color:#7fbe90;
  box-shadow:0 24px 44px rgba(33,119,72,.18);
}
.choice-card.negative:hover{
  border-color:#d69494;
  box-shadow:0 24px 44px rgba(170,62,62,.16);
}
.choice-emoji{
  display:inline;
  margin-left:8px;
  font-size:28px;
  line-height:1;
  vertical-align:-2px;
}
.feedback-form{display:grid;gap:18px;margin-top:18px}
.field-group{display:grid;gap:10px}
.field-group span{font-family:var(--font-display);font-size:18px;font-weight:700;letter-spacing:.03em}
.google-review-modal{
  background:#202124;
  border-color:#3c4043;
  box-shadow:0 26px 60px rgba(0,0,0,.42);
}
.google-review-modal .close-btn{
  filter:invert(1);
}
.google-review-modal .modal-kicker,
.google-review-modal .modal-text,
.google-review-modal .field-group span{
  color:#bdc1c6;
}
.google-review-modal h3{
  color:#f1f3f4;
}
.google-branding{
  display:grid;
  justify-items:center;
  gap:10px;
  padding:4px 0 8px;
}
.google-branding-logo{
  display:block;
  width:min(100%,280px);
  height:auto;
}
.google-branding p{
  margin:0;
  font-size:14px;
  color:#9aa0a6;
  text-align:center;
}
textarea{
  width:100%;resize:vertical;min-height:130px;padding:16px;border-radius:18px;border:1px solid var(--line-strong);background:#fff;color:var(--text)
}
.google-review-modal textarea{
  border-color:#9aa0a6;
  background:#202124;
  color:#e8eaed;
}
.google-review-modal textarea::placeholder{
  color:#bdc1c6;
}
.google-review-modal .field-group + .field-group{
  margin-top:-16px;
}
.star-rating{display:flex;gap:8px;flex-wrap:wrap}
.star{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  padding:0;
  border-radius:14px;
  border:1px solid var(--line);
  background:var(--surface-soft);
  font-size:28px;
  line-height:1;
  color:#bbb;
  text-align:center;
}
.star.active{background:#111;color:#fff;border-color:#111}
.google-review-modal .star-rating{
  width:100%;
  justify-content:center;
  gap:14px;
  margin:4px auto 8px;
}
.google-review-modal .star{
  width:38px;
  height:38px;
  border:0;
  border-radius:0;
  background:transparent;
  color:transparent;
  font-size:42px;
  line-height:1;
  -webkit-text-stroke:1.6px #9aa0a6;
  text-shadow:none;
}
.google-review-modal .star.active{
  background:transparent;
  color:#fbbc04;
  border-color:transparent;
  -webkit-text-stroke:0 #fbbc04;
}
.google-review-modal .ghost-btn{
  background:#303134;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  border-color:#5f6368;
}
.google-review-modal .solid-btn{
  background:#8ab4f8;
  color:#202124;
  border-color:#8ab4f8;
}
.modal-actions{display:flex;justify-content:flex-end;gap:10px}
.detail-list{display:grid;gap:12px;margin-top:16px}
.detail-item{padding:16px;border-radius:18px;background:var(--surface-soft);border:1px solid var(--line);display:grid;gap:8px}
.detail-item span{font-size:13px;color:var(--muted)}
.detail-item strong{font-family:var(--font-display);font-size:18px;line-height:1.3;word-break:break-word}
.wifi-wrap{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:16px;align-items:stretch;margin-top:16px}
.detail-list.compact{
  grid-template-columns:1fr;
}
.qr-card{
  padding:14px;
  border-radius:22px;
  background:#111;
  border:1px solid #111;
  box-shadow:0 14px 30px rgba(0,0,0,.16);
  display:grid;
  place-items:center;
  min-height:322px;
  align-self:stretch;
}
#wifiModal .detail-list.compact .detail-item{
  align-content:start;
}
#qrCanvas{
  box-sizing:border-box;
  width:100%;
  max-width:180px;
  background:#fff;
  border-radius:18px;
  padding:12px;
}
#qrCanvas img,#qrCanvas canvas{display:block;max-width:100%;height:auto}
.toast{
  position:fixed;
  left:50%;
  top:50%;
  bottom:auto;
  transform:translate(-50%,-46%);
  min-width:280px;
  max-width:min(92vw,420px);
  background:linear-gradient(180deg,#161616,#0f0f0f);
  color:#fff;
  padding:16px 20px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 18px 38px rgba(0,0,0,.22);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:.2s ease;
  z-index:30;
  font-weight:600;
  letter-spacing:.01em;
  text-align:center;
  font-family:'Inter', Arial, sans-serif !important;
}
.toast.show{opacity:1;visibility:visible;transform:translate(-50%,-50%)}
.toast[data-variant="success"]{
  background:linear-gradient(180deg,#141414,#0c0c0c);
  border-color:rgba(255,255,255,.12);
}
[hidden]{display:none !important}

@keyframes spinRing{
  to{transform:rotate(360deg)}
}

@keyframes spinRingIntro{
  0%{transform:rotate(-420deg) scale(.42);opacity:0}
  46%{transform:rotate(-32deg) scale(1.14);opacity:1}
  72%{transform:rotate(14deg) scale(.96);opacity:1}
  100%{transform:rotate(0) scale(1);opacity:1}
}

@keyframes heroIntro{
  from{opacity:0;transform:translateY(28px) scale(.98)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

@keyframes logoWrapIn{
  0%{opacity:0;transform:translateY(34px) scale(.64);filter:blur(14px)}
  54%{opacity:1;transform:translateY(-10px) scale(1.08);filter:blur(0)}
  76%{opacity:1;transform:translateY(2px) scale(.985);filter:blur(0)}
  100%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
}

@keyframes logoArrive{
  0%{
    transform:scale(.7);
    filter:contrast(1.08) saturate(.85) brightness(.96) blur(10px);
    box-shadow:
      0 0 0 0 rgba(255,255,255,0),
      0 26px 54px rgba(0,0,0,.16);
  }
  56%{
    transform:scale(1.1);
    filter:contrast(1.12) saturate(.9) brightness(1.05) blur(0);
    box-shadow:
      0 0 0 10px rgba(255,255,255,.08),
      0 28px 60px rgba(0,0,0,.28);
  }
  78%{
    transform:scale(.985);
    filter:contrast(1.08) saturate(.85) brightness(1.01) blur(0);
  }
  100%{
    transform:scale(1);
    filter:contrast(1.08) saturate(.85) brightness(1.02) blur(0);
    box-shadow:
      0 0 0 2px rgba(255,255,255,.06),
      0 18px 40px rgba(0,0,0,.4);
  }
}

@keyframes textRise{
  from{opacity:0;transform:translateY(18px)}
  to{opacity:1;transform:translateY(0)}
}

@keyframes cardListIn{
  0%{
    opacity:0;
    transform:translateY(22px) scale(.985);
  }
  60%{
    opacity:1;
    transform:translateY(-3px) scale(1.006);
  }
  100%{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}


@keyframes logoPulse{
  0%,100%{
    transform:scale(1);
    box-shadow:
      0 0 0 2px rgba(255,255,255,.06),
      0 18px 40px rgba(0,0,0,.4);
  }
  50%{
    transform:scale(1.03);
    box-shadow:
      0 0 0 4px rgba(255,255,255,.1),
      0 24px 48px rgba(0,0,0,.46);
  }
}

@keyframes googleBorderFlow{
  0%{background-position:0% 50%}
  50%{background-position:100% 50%}
  100%{background-position:0% 50%}
}

@media (max-width: 720px){
  .hero,.section-card,.modal{padding:20px}
  .actions-grid,.info-grid,.social-list,.choice-grid,.wifi-wrap{grid-template-columns:1fr}
  .actions-grid .action-card.primary{
    grid-column:auto;
  }
  .action-card{padding:18px}
  .section-head,.modal-actions{flex-direction:column;align-items:stretch}
  .share-btn{position:static;justify-self:end}
  .hero{padding-top:20px}
  #qrCanvas{
    max-width:210px;
    padding:14px;
  }
}

@media (min-width: 721px){
  #wifiModal .wifi-wrap{
    grid-template-columns:minmax(0,220px) minmax(0,1fr);
    align-items:stretch;
  }
  #wifiModal .detail-list.compact{
    height:322px;
    margin-top:0;
    gap:10px;
    grid-template-rows:repeat(2,minmax(0,1fr));
  }
  #wifiModal .detail-list.compact .detail-item{
    min-height:0;
    height:auto;
    align-content:center;
  }
}


.action-card.is-disabled,
.mini-card.is-disabled,
.action-card:disabled,
.mini-card:disabled{
  opacity:.42;
  filter:grayscale(1);
  cursor:not-allowed;
  pointer-events:none;
  transform:none !important;
  box-shadow:none;
}

.action-card.is-disabled::before,
.action-card.is-disabled::after,
.mini-card.is-disabled::before,
.mini-card.is-disabled::after{
  display:none;
}


/* Inter for descriptions */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap');

p, .description, .btn-text, small {
    font-family: 'Inter', sans-serif !important;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'AgencyB', sans-serif !important;
}


/* === Şato Bungalov font düzeni === */
@font-face {
    font-family: 'AgencyFB';
    src: url('../fonts/agencyfb.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

/* Başlıklar ve ana vurgu metinleri AGENCYFB */
h1, h2, h3, h4, h5, h6,
.logo-text, .brand, .brand-name, .title, .main-title, .hero-title,
.header-title, .section-title, .card-title,
[class*="title"], [class*="heading"] {
    font-family: 'AgencyFB', 'AgencyB', Arial, sans-serif !important;
}

/* Hero açıklama/vurgu cümlesi de AGENCYFB */
.hero p:first-of-type,
.hero-subtitle,
.subtitle,
.tagline {
    font-family: 'AgencyFB', 'AgencyB', Arial, sans-serif !important;
}

/* Butonların alt açıklamaları ve okunacak metinler Inter */
p:not(.hero-subtitle):not(.subtitle):not(.tagline),
small, span.description, .description, .desc, .detail, .text, .info,
.card p, .button-description, .btn-description, .btn-desc,
.action-description, .action-desc,
.service-description, .service-desc,
.review-text, .review-description,
textarea, input, label {
    font-family: 'Inter', Arial, sans-serif !important;
}

/* İstenen buton başlıkları AGENCYFB kalsın */
a, button, .btn, .button, .action-button,
.call-button, .contact-button {
    font-family: 'AgencyFB', 'AgencyB', Arial, sans-serif !important;
}

/* Değerlendir butonu Inter */
.review-button, .google-review-button, .degerlendir, .evaluate-button,
a[href*="writereview"], a[href*="forms.gle"],
button[aria-label*="Değerlendir"], a[aria-label*="Değerlendir"] {
    font-family: 'Inter', Arial, sans-serif !important;
}

/* Kişisel deneyim alanı Inter */
textarea::placeholder,
input::placeholder {
    font-family: 'Inter', Arial, sans-serif !important;
}

.agencyfb-force { font-family: 'AgencyFB', 'AgencyB', Arial, sans-serif !important; }
.inter-force { font-family: 'Inter', Arial, sans-serif !important; }


/* === ZORUNLU INTER AÇIKLAMA METİNLERİ === */
.inter-desc,
.inter-desc *,
.card .inter-desc,
.action-card .inter-desc,
.contact-card .inter-desc,
.service-card .inter-desc,
button .inter-desc,
a .inter-desc {
    font-family: 'Inter', Arial, sans-serif !important;
    font-weight: 500 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
}

/* Buton/kart içindeki başlığın hemen altındaki açıklama satırları */
.card p,
.action-card p,
.contact-card p,
.service-card p,
.btn p,
.button p,
a p,
button p,
.card small,
.action-card small,
.contact-card small,
.service-card small,
.btn small,
.button small,
a small,
button small,
.card span:not([class*="title"]):not([class*="heading"]),
.action-card span:not([class*="title"]):not([class*="heading"]),
.contact-card span:not([class*="title"]):not([class*="heading"]),
.service-card span:not([class*="title"]):not([class*="heading"]) {
    font-family: 'Inter', Arial, sans-serif !important;
}

/* Başlıklar AGENCYFB kalacak */
.card h1, .card h2, .card h3,
.action-card h1, .action-card h2, .action-card h3,
.contact-card h1, .contact-card h2, .contact-card h3,
.service-card h1, .service-card h2, .service-card h3,
.card-title, .action-title, .contact-title, .service-title {
    font-family: 'AgencyFB', 'AgencyB', Arial, sans-serif !important;
}


/* APPLE KONUM AÇ açıklama ortalama fix */
.apple-card .inter-desc,
.apple-card p,
.apple-card small,
.apple-card span {
    text-align: center !important;
    display: block !important;
    margin: 0 auto !important;
}

/* Genel kart içi açıklamaları ortala */
.card .inter-desc {
    text-align: center !important;
}

/* ŞATO BUNGALOV logo yazısı */
.logo-text,
.brand-name,
.header-logo,
.site-title {
    font-family: 'AgencyFB', 'AgencyB', Arial, sans-serif !important;
}

.hero.card .hero-copy h1,
.hero.card .hero-copy h1 span.brand-title-text,
.hero.card .hero-copy h1 .brand-title-text {
    font-family: 'AgencyFB', 'AgencyB', Arial, sans-serif !important;
}

.action-card > div > span,
.action-card > div > span *,
.action-card .inter-desc,
.action-card .inter-desc *,
.mini-card .mini-copy small,
.mini-card .mini-copy small *,
.info-grid .mini-card small,
.info-grid .mini-card small * {
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    text-align: left !important;
}

.action-card > div > span,
.action-card .inter-desc,
.mini-card .mini-copy small,
.info-grid .mini-card small {
    color: var(--muted) !important;
}

.action-card.primary > div > span,
.action-card.primary .inter-desc {
    color: rgba(255,255,255,.74) !important;
}

.footer,
.footer span {
    font-family: 'Inter', Arial, sans-serif !important;
}

#feedbackMessage,
#feedbackMessage::placeholder,
#negativeFeedbackModal textarea,
#negativeFeedbackModal textarea::placeholder,
.google-review-modal textarea,
.google-review-modal textarea::placeholder,
.google-review-modal .modal-actions .ghost-btn,
.google-review-modal .modal-actions .solid-btn {
    font-family: 'Inter', Arial, sans-serif !important;
}

#openReviewFlow,
.review-card .solid-btn,
.toast {
    font-family: 'Inter', Arial, sans-serif !important;
}
