:root{
    --cream:#0F0F0F;
    --cream-dim:#161616;
    --panel:#1B1B1B;
    --ink:#141414;
    --text:#FDF8EF;
    --ink-soft:#B4AFA0;
    --coral:#FFC300;
    --coral-dark:#E0A800;
    --sky:#141414;
    --sky-light:#FFF4C2;
    --leaf:#FFC300;
    --leaf-light:#3A2F00;
    --butter:#FFD84D;
    --radius:20px;
    --radius-sm:12px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{margin:0;background:var(--cream);color:var(--text);font-family:'Nunito',sans-serif;-webkit-font-smoothing:antialiased;}
  h1,h2,h3,.display{font-family:'Fredoka',sans-serif;line-height:1.05;margin:0;font-weight:600;}
  .mono{font-family:'Space Mono',monospace;letter-spacing:0.02em;}
  a{color:inherit;}
  .wrap{max-width:1160px;margin:0 auto;padding:0 32px;}
  @media (max-width:640px){.wrap{padding:0 20px;}}

  header{position:sticky;top:0;z-index:50;background:rgba(15,15,15,0.92);backdrop-filter:blur(6px);border-bottom:2px solid var(--coral);}
  nav{display:flex;align-items:center;justify-content:space-between;max-width:1160px;margin:0 auto;padding:14px 32px;}
  .logo{font-family:'Fredoka';font-weight:700;font-size:21px;display:flex;align-items:center;gap:8px;}
  .logo-badge{width:32px;height:32px;border-radius:50%;background:var(--coral);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .navlinks{display:none;gap:6px;font-size:14.5px;font-weight:700;}
  @media(min-width:900px){.navlinks{display:flex;}}
  .navlinks a{text-decoration:none;}
  .navlinks>a{padding:8px 6px;}
  .navlinks>a:hover{color:var(--coral-dark);}
  .navdrop{position:relative;}
  .navdrop>.navdrop-label{padding:8px 6px;display:inline-flex;align-items:center;gap:5px;cursor:default;}
  .navdrop>.navdrop-label:hover{color:var(--coral-dark);}
  .navdrop-menu{
    position:absolute;top:100%;left:0;background:var(--panel);border:2px solid var(--coral);border-radius:var(--radius-sm);
    box-shadow:0 5px 0 var(--coral-dark);padding:8px;min-width:210px;
    display:none;flex-direction:column;gap:2px;z-index:60;
  }
  .navdrop:hover .navdrop-menu{display:flex;}
  .navdrop-menu a{padding:8px 10px;border-radius:8px;font-weight:700;font-size:14px;}
  .navdrop-menu a:hover{background:var(--sky-light);color:var(--ink);}
  .nav-right{display:flex;align-items:center;gap:14px;}
  .call-link{display:none;font-weight:800;font-size:14.5px;color:var(--coral);text-decoration:none;}
  @media(min-width:640px){.call-link{display:inline-flex;align-items:center;gap:6px;}}
  .cta-btn{background:var(--coral);color:var(--ink);border:none;padding:12px 22px;font-weight:700;font-size:14.5px;cursor:pointer;border-radius:999px;text-decoration:none;display:inline-block;box-shadow:0 4px 0 var(--coral-dark);transition:transform .12s ease, box-shadow .12s ease;white-space:nowrap;}
  .cta-btn:hover{transform:translateY(2px);box-shadow:0 2px 0 var(--coral-dark);}
  .cta-btn.big{padding:15px 30px;font-size:16px;}

  .wavy-divider{width:100%;display:block;margin-top:-2px;}

  .hero{padding:56px 0 0;position:relative;overflow:hidden;}
  .hero-blob{position:absolute;border-radius:50%;filter:blur(2px);opacity:.55;z-index:0;}
  .blob1{width:340px;height:340px;background:var(--sky-light);top:-120px;right:-80px;opacity:.18;}
  .blob2{width:220px;height:220px;background:var(--butter);opacity:.15;bottom:-60px;left:-60px;}
  .hero .wrap{position:relative;z-index:1;}
  .hero-split{display:grid;grid-template-columns:1fr;gap:40px;align-items:center;}
  @media(min-width:980px){.hero-split{grid-template-columns:1.05fr 0.95fr;gap:32px;}}
  .hero-eyebrow{font-size:13.5px;font-weight:800;color:var(--sky);display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;background:var(--sky-light);padding:7px 15px;border-radius:999px;}
  .hero h1{font-size:clamp(32px,4.6vw,50px);font-weight:600;}
  .hero h1 .accent{color:var(--coral);}
  .hero-sub{font-size:17.5px;line-height:1.65;margin:20px 0 28px;color:var(--ink-soft);}
  .hero-actions{display:flex;gap:16px;flex-wrap:wrap;align-items:center;}
  .hero-visual{position:relative;}
  .hero-visual svg{width:100%;height:auto;display:block;}

  /* stats bar */
  .stats-bar{margin-top:44px;display:grid;grid-template-columns:1fr;gap:2px;background:var(--coral);border:2px solid var(--coral);border-radius:var(--radius);overflow:hidden;}
  @media(min-width:640px){.stats-bar{grid-template-columns:repeat(3,1fr);}}
  .stat{background:var(--panel);padding:22px 20px;text-align:left;}
  .stat .num{font-family:'Fredoka';font-size:32px;font-weight:600;color:var(--coral);}
  .stat .lbl{font-size:13px;font-weight:700;color:var(--ink-soft);margin-top:4px;}

  section{padding:76px 0;}
  .section-tag{font-size:13.5px;font-weight:800;color:var(--ink);background:var(--coral);display:inline-block;padding:6px 15px;border-radius:999px;margin-bottom:16px;}
  .section-head h2{font-size:clamp(28px,4.4vw,44px);font-weight:600;max-width:640px;}
  .section-head p{max-width:540px;color:var(--ink-soft);font-size:15.5px;line-height:1.65;margin-top:14px;}

  /* why us */
  .why-band{background:var(--ink);color:#fff;}
  .why-grid{display:grid;grid-template-columns:1fr;gap:22px;margin-top:44px;}
  @media(min-width:760px){.why-grid{grid-template-columns:repeat(3,1fr);}}
  .why-card{background:#262626;border-radius:var(--radius);padding:26px 24px;}
  .why-card .emoji{font-size:26px;margin-bottom:14px;display:block;}
  .why-card h3{color:#fff;font-size:19px;margin-bottom:8px;}
  .why-card p{color:#D8D2C6;font-size:14.5px;line-height:1.6;margin:0;}

  /* services */
  .svc-list{display:grid;grid-template-columns:1fr;gap:14px;margin-top:48px;}
  @media(min-width:760px){.svc-list{grid-template-columns:1fr 1fr;gap:16px 20px;}}
  .svc-row{background:var(--panel);padding:18px 20px;border:2px solid var(--coral);border-radius:var(--radius-sm);box-shadow:0 4px 0 var(--coral-dark);display:flex;gap:16px;align-items:flex-start;position:relative;transition:transform .15s ease;}
  .svc-row:hover{transform:translateY(-2px);}
  .svc-badge{position:absolute;top:-10px;right:14px;background:var(--butter);color:var(--ink);font-size:10.5px;font-weight:800;padding:3px 9px;border-radius:999px;border:2px solid var(--ink);}
  .svc-icon-wrap{width:42px;height:42px;border-radius:12px;background:var(--butter);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .svc-icon-wrap.c2{background:var(--sky-light);}
  .svc-icon-wrap.c3{background:#FFF0B3;}
  .svc-icon-wrap.c4{background:var(--leaf-light);}
  .svc-icon{width:21px;height:21px;stroke:var(--ink);}
  .svc-row h3{font-size:16.5px;font-weight:600;margin-bottom:4px;}
  .svc-row p{font-size:13.5px;line-height:1.55;color:var(--ink-soft);margin:0;}

  /* gallery */
  .gallery-grid{display:grid;grid-template-columns:1fr;gap:22px;margin-top:48px;}
  @media(min-width:760px){.gallery-grid{grid-template-columns:repeat(3,1fr);}}
  .gcard{background:var(--panel);border:2px solid var(--coral);border-radius:var(--radius);padding:18px;box-shadow:0 4px 0 var(--coral-dark);}
  .gcard svg{width:100%;height:auto;display:block;margin-bottom:14px;border-radius:var(--radius-sm);}
  .gcard img{width:100%;height:190px;object-fit:cover;display:block;margin-bottom:14px;border-radius:var(--radius-sm);background:#000;}
  .gcard .gtag{display:inline-block;font-size:11.5px;font-weight:800;color:var(--sky);background:var(--sky-light);padding:3px 10px;border-radius:999px;margin-bottom:8px;}
  .gcard h4{font-size:16px;font-weight:600;margin-bottom:6px;}
  .gcard p{font-size:13.5px;color:var(--ink-soft);margin:0;line-height:1.5;}
  .gallery-note{margin-top:20px;font-size:13px;color:var(--ink-soft);}
  .gallery-note code{background:var(--panel);border:1px solid var(--coral-dark);padding:2px 7px;border-radius:6px;color:var(--coral);font-family:'Space Mono',monospace;}

  /* areas */
  .areas{background:var(--cream-dim);}
  .area-grid{display:grid;grid-template-columns:1fr;gap:18px;margin-top:48px;}
  @media(min-width:760px){.area-grid{grid-template-columns:repeat(2,1fr);}}
  .area-card{background:var(--panel);border:2px solid var(--coral);border-radius:var(--radius);padding:24px;display:flex;justify-content:space-between;align-items:center;gap:16px;box-shadow:0 4px 0 var(--coral-dark);}
  .area-card h3{font-size:19px;margin-bottom:4px;}
  .area-card p{font-size:14px;color:var(--ink-soft);margin:0;}
  .area-arrow{font-size:22px;color:var(--coral);flex-shrink:0;}

  /* reviews */
  .rating-badge{display:flex;flex-wrap:wrap;align-items:center;gap:12px;background:var(--panel);border:2px solid var(--coral);border-radius:var(--radius-sm);padding:16px 20px;box-shadow:0 3px 0 var(--coral-dark);margin-bottom:36px;}
  .rating-badge .score{font-family:'Fredoka';font-size:22px;font-weight:600;}
  .rating-badge .stars{color:var(--butter);letter-spacing:1px;font-weight:800;}
  .t-grid{display:grid;grid-template-columns:1fr;gap:20px;}
  @media(min-width:760px){.t-grid{grid-template-columns:repeat(3,1fr);}}
  .t-card{background:var(--panel);padding:26px 24px;border:2px solid var(--coral);border-radius:var(--radius);box-shadow:0 4px 0 var(--coral-dark);}
  .t-card .stars{color:var(--butter);font-size:15px;margin-bottom:12px;letter-spacing:2px;}
  .t-card p.quote{font-size:15px;line-height:1.6;margin:0 0 16px;}
  .t-card .who{font-size:13px;font-weight:800;color:var(--coral);}

  /* quote */
  .quote-section{background:var(--ink);color:#fff;border-radius:40px 40px 0 0;}
  .quote-section .section-tag{background:var(--butter);color:var(--ink);}
  .quote-wrap{display:grid;grid-template-columns:1fr;gap:40px;margin-top:40px;}
  @media(min-width:900px){.quote-wrap{grid-template-columns:0.9fr 1.1fr;}}
  .quote-info h3{font-size:20px;font-weight:600;margin-bottom:10px;}
  .quote-info p{color:#D8D2C6;line-height:1.7;font-size:14.5px;}
  .info-line{display:flex;gap:10px;margin-top:18px;font-size:14.5px;}
  .info-line b{color:#fff;}
  form#quoteForm{background:var(--panel);color:var(--text);padding:30px;border-radius:var(--radius);border:2px solid var(--coral);}
  .form-row{display:grid;grid-template-columns:1fr;gap:14px;margin-bottom:14px;}
  @media(min-width:520px){.form-row.two{grid-template-columns:1fr 1fr;}}
  label{font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;display:block;margin-bottom:6px;color:var(--ink-soft);}
  input,select,textarea{width:100%;padding:11px 13px;border:2px solid #333;border-radius:var(--radius-sm);font-family:'Nunito';font-size:14.5px;background:#141414;color:var(--text);}
  input:focus,select:focus,textarea:focus{outline:none;border-color:var(--coral);}
  textarea{resize:vertical;min-height:80px;}
  #formStatus{margin-top:12px;font-size:14px;font-weight:700;display:none;}
  #formStatus.ok{color:var(--coral);display:block;}

  footer{background:var(--ink);color:#C9C2B4;padding:52px 0 26px;}
  .foot-grid{display:grid;grid-template-columns:1fr;gap:30px;}
  @media(min-width:760px){.foot-grid{grid-template-columns:2fr 1fr 1fr 1fr;}}
  footer h4{font-family:'Fredoka';font-size:13.5px;color:#fff;margin-bottom:12px;font-weight:600;}
  footer a{text-decoration:none;color:#C9C2B4;font-size:13.5px;}
  footer .flinks{display:flex;flex-direction:column;gap:9px;}
  .foot-bottom{margin-top:40px;padding-top:22px;border-top:1px solid rgba(255,195,0,0.25);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:12px;color:#8F887A;}

  ::selection{background:var(--coral);color:var(--ink);}
  :focus-visible{outline:3px solid var(--coral);outline-offset:2px;}

/* ===== BLOG ===== */
.blog-hero{padding:56px 0 20px;}
.blog-hero .section-tag{margin-bottom:16px;}
.blog-hero h1{font-size:clamp(30px,4.6vw,46px);font-weight:600;max-width:680px;}
.blog-hero p{max-width:560px;color:var(--ink-soft);font-size:16px;line-height:1.65;margin-top:16px;}

.blog-grid{display:grid;grid-template-columns:1fr;gap:22px;margin-top:44px;}
@media(min-width:760px){.blog-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1080px){.blog-grid{grid-template-columns:repeat(3,1fr);}}
.blog-card{background:var(--panel);border:2px solid var(--coral);border-radius:var(--radius);padding:24px;box-shadow:0 4px 0 var(--coral-dark);display:flex;flex-direction:column;text-decoration:none;transition:transform .15s ease;}
.blog-card:hover{transform:translateY(-3px);}
.blog-card .btag{display:inline-block;font-size:11.5px;font-weight:800;color:var(--sky);background:var(--sky-light);padding:3px 10px;border-radius:999px;margin-bottom:12px;width:fit-content;}
.blog-card h3{font-size:19px;font-weight:600;margin-bottom:10px;line-height:1.25;}
.blog-card p{font-size:14px;color:var(--ink-soft);line-height:1.6;margin:0 0 16px;flex-grow:1;}
.blog-card .read-more{font-size:13.5px;font-weight:800;color:var(--coral);display:inline-flex;align-items:center;gap:6px;}

/* article page */
.article-hero{padding:48px 0 8px;}
.article-hero .btag{display:inline-block;font-size:11.5px;font-weight:800;color:var(--sky);background:var(--sky-light);padding:4px 12px;border-radius:999px;margin-bottom:18px;}
.article-hero h1{font-size:clamp(28px,4.6vw,42px);font-weight:600;max-width:760px;}
.article-meta{margin-top:16px;font-size:13.5px;color:var(--ink-soft);}
.article-body{padding:24px 0 76px;}
.article-body .wrap{max-width:760px;}
.article-body h2{font-size:24px;font-weight:600;margin:40px 0 14px;color:var(--coral);}
.article-body p{font-size:16px;line-height:1.75;color:var(--text);margin:0 0 18px;}
.article-body ul{margin:0 0 20px;padding-left:22px;}
.article-body li{font-size:16px;line-height:1.7;color:var(--text);margin-bottom:8px;}
.article-cta{margin-top:48px;background:var(--panel);border:2px solid var(--coral);border-radius:var(--radius);padding:28px;box-shadow:0 4px 0 var(--coral-dark);text-align:left;}
.article-cta p{margin:0 0 16px;font-size:15.5px;}
.article-back{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:800;color:var(--coral);text-decoration:none;margin-top:36px;}
