@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css');

/* ==========================================================================
   GLOBAL STYLES
   ========================================================================== */
:root{
  --navy:#132b4a;
  --navy-dark:#0d2038;
  --navy-darker:#0a1a2e;
  --green:#12cf6c;
  --green-dark:#0eb75e;
  --mint:#e9f9ef;
  --mint-soft:#f2fbf5;
  --text:#243b53;
  --muted:#7b8a9a;
  --white:#ffffff;
  --radius:40px;
  --shadow:0 15px 40px rgba(19,43,74,.12);
  --font:'Segoe UI', 'Malgun Gothic', 'Apple SD Gothic Neo', 'Noto Sans KR', Arial, sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--font);color:var(--text);background:var(--white);overflow-x:hidden;}
img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}
.container{width:min(1200px,92%);margin:0 auto;}
.section{padding:80px 0;}
.section-title{font-size:clamp(26px,3.5vw,38px);font-weight:800;color:var(--navy);margin-bottom:12px;text-align:center;}
.section-sub{text-align:center;color:var(--muted);max-width:560px;margin:0 auto 50px;line-height:1.7;}
.mark{background:linear-gradient(transparent 55%, rgba(18,207,108,.35) 55%);padding:0 6px;}

/* Buttons */
.btn{display:inline-block;padding:14px 32px;border-radius:50px;font-weight:700;font-size:14px;transition:.3s;cursor:pointer;}
.btn-dark{background:var(--navy);color:#fff;}
.btn-dark:hover{background:var(--green);transform:translateY(-2px);}
.btn-outline{border:2px solid #d8e0e8;color:var(--navy);background:#fff;}
.btn-outline:hover{border-color:var(--green);color:var(--green);transform:translateY(-2px);}
.btn-green{background:var(--green);color:#fff;box-shadow:0 8px 20px rgba(18,207,108,.35);}
.btn-green:hover{background:var(--green-dark);transform:translateY(-2px);}

/* Scroll reveal animations */
.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s ease, transform .8s ease;}
.reveal.left{transform:translateX(-60px);}
.reveal.right{transform:translateX(60px);}
.reveal.zoom{transform:scale(.85);}
.reveal.visible{opacity:1;transform:none;}
.delay-1{transition-delay:.15s;}
.delay-2{transition-delay:.3s;}
.delay-3{transition-delay:.45s;}

/* ==========================================================================
   TOP BAR
   ========================================================================== */
.topbar{background:var(--navy-darker);color:#cfd8e3;font-size:13px;}
.topbar .container{display:flex;align-items:center;justify-content:space-between;padding:10px 0;}
.topbar strong{color:#fff;}
.topbar .top-btn{background:var(--green);color:#fff;padding:7px 18px;border-radius:6px;font-size:12px;font-weight:600;transition:.3s;}
.topbar .top-btn:hover{background:var(--green-dark);}

/* ==========================================================================
   HEADER / NAVIGATION
   ========================================================================== */
header{background:var(--navy-dark);position:sticky;top:0;z-index:1000;box-shadow:0 4px 20px rgba(0,0,0,.15);}
.header-main{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 0;}
.logo{display:flex;align-items:center;gap:10px;font-size:26px;font-weight:800;color:#fff;white-space:nowrap;}
.logo svg{width:42px;height:42px;}
.logo span{color:var(--green);}
.search-box{flex:1;max-width:360px;display:flex;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:50px;overflow:hidden;}
.search-box input{flex:1;background:transparent;border:none;outline:none;padding:12px 20px;color:#fff;font-size:14px;}
.search-box input::placeholder{color:#8fa2b8;}
.search-box button{color:#fff;padding:0 18px;font-size:16px;}
.header-info{display:flex;align-items:center;gap:22px;color:#fff;}
.call-center{display:flex;align-items:center;gap:10px;}
.call-center .icon{width:40px;height:40px;border:1px solid rgba(255,255,255,.25);border-radius:50%;display:grid;place-items:center;font-size:16px;}
.call-center small{display:block;color:var(--green);font-size:11px;}
.call-center b{font-size:15px;}
.header-icons{display:flex;gap:16px;}
.header-icons .hicon{position:relative;width:38px;height:38px;display:grid;place-items:center;font-size:18px;color:#fff;cursor:pointer;transition:.3s;}
.header-icons .hicon:hover{color:var(--green);}
.header-icons .badge{position:absolute;top:-4px;right:-4px;background:var(--green);color:#fff;font-size:10px;width:16px;height:16px;border-radius:50%;display:grid;place-items:center;font-weight:700;}

/* Nav bar (pill) */
.navbar-wrap{padding-bottom:0;position:relative;}
.navbar{background:var(--navy);border-radius:50px 50px 0 0;display:flex;align-items:center;justify-content:space-between;padding:0 10px 0 30px;position:relative;top:0;}
.nav-links{display:flex;align-items:center;}
.nav-links > li{position:relative;}
.nav-links > li > a{display:flex;align-items:center;gap:7px;color:#fff;font-weight:600;font-size:14.5px;padding:20px 16px;transition:.3s;}
.nav-links > li > a:hover, .nav-links > li > a.active{color:var(--green);}
.nav-links .hot{background:var(--green);color:#fff;font-size:9px;font-weight:800;padding:2px 7px;border-radius:10px;letter-spacing:.5px;}
.nav-links .caret{font-size:10px;transition:.3s;}
.nav-links li:hover .caret{transform:rotate(180deg);}
/* Dropdowns */
.dropdown{position:absolute;top:100%;left:0;background:#fff;min-width:220px;border-radius:12px;box-shadow:var(--shadow);padding:10px 0;opacity:0;visibility:hidden;transform:translateY(15px);transition:.3s;z-index:100;}
.nav-links li:hover .dropdown{opacity:1;visibility:visible;transform:translateY(0);}
.dropdown a{display:block;padding:11px 22px;color:var(--text);font-size:14px;font-weight:500;transition:.25s;}
.dropdown a:hover{color:var(--green);background:var(--mint-soft);padding-left:28px;}
.daily-btn{background:var(--green);color:#fff;display:flex;align-items:center;gap:8px;padding:13px 26px;border-radius:50px;font-weight:700;font-size:14px;margin:8px 0;transition:.3s;box-shadow:0 6px 18px rgba(18,207,108,.4);}
.daily-btn:hover{background:var(--green-dark);}
/* Hamburger */
.hamburger{display:none;flex-direction:column;gap:5px;padding:10px;}
.hamburger span{width:26px;height:3px;background:#fff;border-radius:3px;transition:.3s;}
.hamburger.open span:nth-child(1){transform:translateY(8px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}

/* ==========================================================================
   PAGE SYSTEM (SPA)
   ========================================================================== */
/* .page{display:none;} */
.page.active{display:block;animation:pageFade .6s ease;}
@keyframes pageFade{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:none;}}

/* Page hero banner (inner pages) */
.page-hero{background:linear-gradient(135deg,var(--mint) 0%,#dff5e8 100%);padding:70px 0;text-align:center;position:relative;overflow:hidden;}
.page-hero h1{font-size:clamp(30px,4vw,46px);color:var(--navy);font-weight:800;}
.page-hero p{color:var(--muted);margin-top:10px;font-size:15px;}
.page-hero .crumb{color:var(--green);font-weight:600;}

/* ==========================================================================
   HOME — HERO
   ========================================================================== */
.hero-blob img{
  border-radius: 100px;
}
.hero{background:var(--mint);position:relative;overflow:hidden;}
.hero::before{content:"✿ ❀ ✽";position:absolute;inset:0;color:rgba(18,207,108,.06);font-size:180px;line-height:1.4;letter-spacing:80px;padding:40px;pointer-events:none;}
.hero .container{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:40px;min-height:560px;padding-top:40px;padding-bottom:0;}
.hero-text .tag{display:inline-block;font-size:clamp(20px,2.4vw,30px);color:var(--green-dark);font-weight:600;background:linear-gradient(transparent 60%, rgba(18,207,108,.25) 60%);padding:0 8px;margin-bottom:10px;}
.hero-text h1{font-size:clamp(38px,5.5vw,64px);color:var(--navy);font-weight:900;line-height:1.1;margin-bottom:24px;}
.hero-text p{color:var(--muted);font-size:16px;line-height:1.9;max-width:480px;margin-bottom:34px;}
.hero-btns{display:flex;gap:16px;flex-wrap:wrap;}
.hero-visual{position:relative;align-self:end;display:grid;place-items:center;}
.hero-blob{width:min(420px,90%);aspect-ratio:1;display:grid;place-items:center;font-size:150px;animation:blobFloat 6s ease-in-out infinite;}
@keyframes blobFloat{0%,100%{transform:translateY(0) rotate(0deg);}50%{transform:translateY(-18px) rotate(2deg);}}
.hero-float{position:absolute;background:#fff;border-radius:16px;box-shadow:var(--shadow);padding:12px 18px;font-size:13px;font-weight:700;color:var(--navy);display:flex;align-items:center;gap:8px;animation:floatCard 4s ease-in-out infinite;}
.hero-float .fi{font-size:20px;}
.hf-1{top:12%;left:-4%;}
.hf-2{bottom:18%;right:-2%;animation-delay:1.2s;}
@keyframes floatCard{0%,100%{transform:translateY(0);}50%{transform:translateY(-12px);}}

/* Features strip */
.features-strip{margin-top:-60px;position:relative;z-index:5;}
.features-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:36px 40px;}
.feature{display:flex;align-items:center;gap:16px;}
.feature .f-icon{width:58px;height:58px;flex-shrink:0;border:2px dashed var(--green);border-radius:50%;display:grid;place-items:center;font-size:24px;color:var(--green);}
.feature h4{color:var(--navy);font-size:16px;margin-bottom:4px;}
.feature p{color:var(--muted);font-size:13px;}

/* Category cards */
.cats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.cat-card{background:var(--mint-soft);border:1px solid #e3f2e9;border-radius:20px;padding:36px 24px;text-align:center;transition:.35s;cursor:pointer;}
.cat-card:hover{transform:translateY(-10px);box-shadow:var(--shadow);background:#fff;border-color:var(--green);}
.cat-card .c-emoji{font-size:52px;margin-bottom:16px;transition:.35s;}
.cat-card:hover .c-emoji{transform:scale(1.15) rotate(-6deg);}
.cat-card h3{color:var(--navy);font-size:17px;margin-bottom:6px;}
.cat-card p{color:var(--muted);font-size:13px;line-height:1.6;}
.cat-card .c-link{display:inline-block;margin-top:14px;color:var(--green);font-weight:700;font-size:13px;}

/* Deal banner */
.deal-banner{background:linear-gradient(120deg,var(--navy) 0%,#1d4270 100%);border-radius:28px;color:#fff;display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px;padding:50px 60px;position:relative;overflow:hidden;}
.deal-banner::after{content:"❋";position:absolute;right:-30px;top:-40px;font-size:220px;color:rgba(18,207,108,.15);}
.deal-banner h2{font-size:clamp(24px,3vw,36px);font-weight:800;margin-bottom:10px;}
.deal-banner h2 em{color:var(--green);font-style:normal;}
.deal-banner p{color:#b8c7d9;font-size:15px;max-width:480px;line-height:1.7;}
.countdown{display:flex;gap:14px;margin-top:22px;}
.count-box{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:12px 16px;text-align:center;min-width:70px;}
.count-box b{font-size:24px;display:block;color:var(--green);}
.count-box small{font-size:11px;color:#9fb2c8;text-transform:uppercase;letter-spacing:1px;}

/* Popular services cards */
.serv-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.serv-card{background:#fff;border:1px solid #e8eef4;border-radius:20px;overflow:hidden;transition:.35s;}
.serv-card:hover{transform:translateY(-8px);box-shadow:var(--shadow);border-color:transparent;}
.serv-img{height:170px;display:grid;place-items:center;font-size:70px;background:var(--mint);position:relative;}
.serv-img .s-badge{position:absolute;top:14px;left:14px;background:var(--green);color:#fff;font-size:11px;font-weight:800;padding:4px 12px;border-radius:20px;}
.serv-body{padding:22px;}
.serv-body .s-cat{color:var(--green);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;}
.serv-body h3{color:var(--navy);font-size:17px;margin:8px 0;}
.serv-body .stars{color:#ffb400;font-size:13px;margin-bottom:10px;}
.serv-body .s-foot{display:flex;justify-content:space-between;align-items:center;margin-top:14px;}
.serv-body .price{font-size:20px;font-weight:800;color:var(--navy);}
.serv-body .price small{font-size:12px;color:var(--muted);font-weight:500;text-decoration:line-through;margin-left:6px;}
.serv-body .add-btn{width:40px;height:40px;border-radius:50%;background:var(--mint);color:var(--green);font-size:18px;font-weight:800;display:grid;place-items:center;transition:.3s;}
.serv-body .add-btn:hover{background:var(--green);color:#fff;transform:rotate(90deg);}

/* Stats */
.stats-band{background:var(--mint);}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;text-align:center;}
.stat h2{font-size:clamp(32px,4vw,48px);color:var(--navy);font-weight:900;}
.stat h2 span{color:var(--green);}
.stat p{color:var(--muted);font-weight:600;margin-top:6px;}

/* Testimonials */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.testi-card{background:var(--mint-soft);border-radius:20px;padding:34px 28px;position:relative;transition:.35s;}
.testi-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);background:#fff;}
.testi-card .quote{font-size:50px;color:var(--green);line-height:1;font-family:Georgia,serif;}
.testi-card p{color:var(--muted);line-height:1.8;font-size:14.5px;margin:10px 0 22px;font-style:italic;}
.testi-who{display:flex;align-items:center;gap:14px;}
.testi-who .avatar{width:48px;height:48px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-weight:800;font-size:18px;}
.testi-who b{display:block;color:var(--navy);font-size:15px;}
.testi-who small{color:var(--muted);font-size:12px;}

/* Newsletter */
.newsletter{background:linear-gradient(120deg,var(--green-dark),var(--green));border-radius:28px;padding:56px 60px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;color:#fff;}
.newsletter h2{font-size:clamp(22px,3vw,32px);font-weight:800;margin-bottom:8px;}
.newsletter p{opacity:.9;font-size:14.5px;}
.news-form{display:flex;background:#fff;border-radius:50px;overflow:hidden;padding:6px;min-width:min(420px,100%);}
.news-form input{flex:1;border:none;outline:none;padding:12px 22px;font-size:14px;color:var(--text);}
.news-form button{background:var(--navy);color:#fff;border-radius:50px;padding:12px 28px;font-weight:700;font-size:14px;transition:.3s;}
.news-form button:hover{background:var(--navy-darker);}

/* ==========================================================================
   SHARED INNER-PAGE COMPONENTS
   ========================================================================== */
/* Detail layout (massage pages) */
.detail-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:center;}
.detail-visual{background:var(--mint);border-radius:28px;height:380px;display:grid;place-items:center;font-size:120px;position:relative;overflow:hidden;}
.detail-visual::after{content:"";position:absolute;width:200px;height:200px;background:rgba(18,207,108,.15);border-radius:50%;bottom:-60px;right:-60px;}
.detail-text h2{font-size:clamp(26px,3vw,36px);color:var(--navy);font-weight:800;margin-bottom:16px;}
.detail-text p{color:var(--muted);line-height:1.9;margin-bottom:16px;}
.detail-text ul{margin:20px 0 28px;}
.detail-text ul li{padding:8px 0;color:var(--text);font-weight:500;display:flex;gap:12px;align-items:center;}
.detail-text ul li::before{content:"✓";color:#fff;background:var(--green);width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;flex-shrink:0;}
.detail-meta{display:flex;gap:30px;margin:24px 0;flex-wrap:wrap;}
.detail-meta div b{display:block;font-size:22px;color:var(--green);}
.detail-meta div span{font-size:13px;color:var(--muted);}

/* Info cards (quick find pages) */
.info-list{max-width:820px;margin:0 auto;display:grid;gap:20px;}
.info-item{background:#fff;border:1px solid #e8eef4;border-radius:18px;padding:28px 32px;display:flex;gap:22px;transition:.3s;}
.info-item:hover{border-color:var(--green);box-shadow:var(--shadow);transform:translateX(8px);}
.info-item .num{width:52px;height:52px;flex-shrink:0;background:var(--mint);color:var(--green);font-weight:800;font-size:20px;border-radius:50%;display:grid;place-items:center;}
.info-item h3{color:var(--navy);font-size:17px;margin-bottom:8px;}
.info-item p{color:var(--muted);font-size:14px;line-height:1.8;}

/* ==========================================================================
   RICH CONTENT — tables, accordions, lists, steps, notes
   ========================================================================== */
.sub-heading{font-size:clamp(19px,2.2vw,24px);font-weight:800;color:var(--navy);text-align:center;margin:60px 0 8px;}
.sub-heading-desc{text-align:center;color:var(--muted);font-size:14px;margin-bottom:26px;}

/* Data tables */
.table-wrap{overflow-x:auto;border-radius:16px;border:1px solid #e8eef4;box-shadow:0 6px 18px rgba(19,43,74,.05);}
.data-table{width:100%;border-collapse:collapse;background:#fff;font-size:14px;min-width:560px;}
.data-table th{background:var(--navy);color:#fff;padding:14px 18px;text-align:left;font-size:13px;letter-spacing:.3px;white-space:nowrap;}
.data-table td{padding:13px 18px;border-bottom:1px solid #eef3f7;color:var(--muted);}
.data-table tbody tr:last-child td{border-bottom:none;}
.data-table tbody tr:hover{background:var(--mint-soft);}
.data-table td b{color:var(--navy);}
.data-table .ok{color:var(--green);font-weight:800;}
.data-table .no{color:#c9d4de;font-weight:800;}
.pill{display:inline-block;background:var(--mint);color:var(--green-dark);font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:20px;white-space:nowrap;}
.pill.navy{background:#e8eef8;color:var(--navy);}

/* Accordion (details/summary) */
.acc{max-width:820px;margin:0 auto;display:grid;gap:14px;}
.qa{background:#fff;border:1px solid #e8eef4;border-radius:14px;overflow:hidden;transition:.3s;}
.qa[open]{border-color:var(--green);box-shadow:var(--shadow);}
.qa summary{cursor:pointer;padding:18px 22px;font-weight:700;color:var(--navy);font-size:15px;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;}
.qa summary::-webkit-details-marker{display:none;}
.qa summary::after{content:"+";color:var(--green);font-size:22px;font-weight:800;line-height:1;transition:.3s;flex-shrink:0;}
.qa[open] summary::after{transform:rotate(45deg);}
.qa-body{padding:0 22px 20px;color:var(--muted);font-size:14px;line-height:1.8;}
.qa-body ul{margin-top:8px;}
.qa-body li{padding:4px 0 4px 18px;position:relative;}
.qa-body li::before{content:"•";color:var(--green);position:absolute;left:4px;}

/* Check / X / dot lists + two-column layout */
.duo-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:900px;margin:0 auto;}
.list-card{background:#fff;border:1px solid #e8eef4;border-radius:18px;padding:28px;}
.list-card.tint{background:var(--mint-soft);border-color:#e3f2e9;}
.list-card h3{color:var(--navy);font-size:16.5px;margin-bottom:14px;display:flex;align-items:center;gap:8px;}
.check-list li, .x-list li, .dot-list li{padding:7px 0 7px 30px;position:relative;color:var(--muted);font-size:14px;line-height:1.7;}
.check-list li::before{content:"✔";position:absolute;left:0;color:var(--green);font-weight:800;}
.x-list li::before{content:"✕";position:absolute;left:0;color:#e2665c;font-weight:800;}
.dot-list li::before{content:"›";position:absolute;left:8px;color:var(--green);font-weight:800;}

/* Numbered step timeline */
.steps{max-width:820px;margin:0 auto;counter-reset:step;list-style:none;}
.steps li{position:relative;padding:0 0 26px 64px;counter-increment:step;}
.steps li::before{content:counter(step);position:absolute;left:0;top:0;width:42px;height:42px;background:var(--green);color:#fff;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:16px;box-shadow:0 6px 14px rgba(18,207,108,.35);}
.steps li:not(:last-child)::after{content:"";position:absolute;left:20px;top:46px;bottom:4px;width:2px;background:#d9efe2;}
.steps li b{display:block;color:var(--navy);font-size:15.5px;margin-bottom:4px;}
.steps li p{color:var(--muted);font-size:14px;line-height:1.7;}

/* Note box */
.note-box{max-width:820px;margin:30px auto 0;background:var(--mint);border-left:4px solid var(--green);padding:18px 24px;border-radius:0 14px 14px 0;color:var(--text);font-size:14px;line-height:1.8;}
.note-box b{color:var(--green-dark);}

/* Pricing */
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;align-items:stretch;}
.price-card{background:#fff;border:1px solid #e8eef4;border-radius:24px;padding:40px 34px;text-align:center;transition:.35s;position:relative;}
.price-card:hover{transform:translateY(-10px);box-shadow:var(--shadow);}
.price-card.featured{background:var(--navy);color:#fff;border-color:var(--navy);}
.price-card.featured h3, .price-card.featured .amount{color:#fff;}
.price-card .pop-badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--green);color:#fff;font-size:11px;font-weight:800;padding:6px 18px;border-radius:20px;letter-spacing:1px;}
.price-card h3{color:var(--navy);font-size:18px;margin-bottom:14px;}
.price-card .amount{font-size:48px;font-weight:900;color:var(--navy);}
.price-card .amount small{font-size:15px;color:var(--muted);font-weight:500;}
.price-card ul{margin:26px 0;text-align:left;}
.price-card ul li{padding:9px 0;font-size:14px;color:var(--muted);border-bottom:1px dashed #e3ebf2;display:flex;gap:10px;}
.price-card.featured ul li{color:#b8c7d9;border-color:rgba(255,255,255,.12);}
.price-card ul li::before{content:"✓";color:var(--green);font-weight:800;}

/* Facilities */
.fac-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.fac-card{background:var(--mint-soft);border-radius:20px;padding:36px 28px;transition:.35s;}
.fac-card:hover{background:var(--navy);transform:translateY(-8px);}
.fac-card:hover h3, .fac-card:hover p{color:#fff;}
.fac-card:hover p{color:#b8c7d9;}
.fac-card .f-emoji{font-size:44px;margin-bottom:18px;}
.fac-card h3{color:var(--navy);font-size:18px;margin-bottom:10px;transition:.35s;}
.fac-card p{color:var(--muted);font-size:14px;line-height:1.8;transition:.35s;}

/* News */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.news-card{background:#fff;border:1px solid #e8eef4;border-radius:20px;overflow:hidden;transition:.35s;}
.news-card:hover{transform:translateY(-8px);box-shadow:var(--shadow);}
.news-thumb{height:180px;background:var(--mint);display:grid;place-items:center;font-size:64px;}
.news-body{padding:24px;}
.news-body .n-meta{font-size:12px;color:var(--muted);display:flex;gap:16px;margin-bottom:10px;}
.news-body .n-meta span{color:var(--green);font-weight:700;}
.news-body h3{color:var(--navy);font-size:17px;line-height:1.5;margin-bottom:10px;transition:.3s;}
.news-card:hover h3{color:var(--green);}
.news-body p{color:var(--muted);font-size:13.5px;line-height:1.7;}
.news-body .read-more{display:inline-block;margin-top:14px;color:var(--green);font-weight:700;font-size:13px;}

/* New offices */
.office-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.office-card{background:#fff;border:1px solid #e8eef4;border-radius:22px;overflow:hidden;transition:.35s;}
.office-card:hover{transform:translateY(-8px);box-shadow:var(--shadow);}
.office-img{height:190px;background:linear-gradient(135deg,var(--mint),#d2f3e0);display:grid;place-items:center;font-size:66px;position:relative;}
.office-img .o-badge{position:absolute;top:14px;right:14px;background:var(--navy);color:#fff;font-size:11px;font-weight:700;padding:5px 14px;border-radius:20px;}
.office-body{padding:26px;}
.office-body h3{color:var(--navy);font-size:19px;margin-bottom:8px;}
.office-body .o-addr{color:var(--muted);font-size:13.5px;line-height:1.7;margin-bottom:14px;}
.office-body .o-row{display:flex;justify-content:space-between;font-size:13px;padding:8px 0;border-top:1px dashed #e3ebf2;color:var(--muted);}
.office-body .o-row b{color:var(--navy);}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:50px;align-items:start;}
.contact-info h2{font-size:clamp(24px,3vw,34px);color:var(--navy);font-weight:800;margin-bottom:14px;}
.contact-info > p{color:var(--muted);line-height:1.8;margin-bottom:30px;}
.c-item{display:flex;gap:18px;margin-bottom:24px;align-items:flex-start;}
.c-item .ci-icon{width:52px;height:52px;flex-shrink:0;background:var(--mint);color:var(--green);border-radius:14px;display:grid;place-items:center;font-size:22px;}
.c-item b{display:block;color:var(--navy);margin-bottom:4px;}
.c-item span{color:var(--muted);font-size:14px;line-height:1.6;}
.contact-form{background:var(--mint-soft);border-radius:24px;padding:42px;}
.contact-form h3{color:var(--navy);font-size:22px;margin-bottom:24px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.contact-form input, .contact-form textarea, .contact-form select{width:100%;padding:14px 20px;border:1px solid #dfe9e3;border-radius:12px;font-family:inherit;font-size:14px;color:var(--text);outline:none;margin-bottom:16px;background:#fff;transition:.3s;}
.contact-form input:focus, .contact-form textarea:focus, .contact-form select:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(18,207,108,.12);}
.contact-form textarea{min-height:130px;resize:vertical;}
.form-msg{display:none;background:var(--mint);color:var(--green-dark);font-weight:600;padding:14px 20px;border-radius:12px;margin-top:16px;font-size:14px;}

/* ==========================================================================
   FOOTER
   ========================================================================== */
footer{background:var(--navy-darker);color:#9fb2c8;margin-top:80px;}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;padding:70px 0 50px;}
.footer-top h4{color:#fff;font-size:16px;margin-bottom:20px;}
.footer-top p{font-size:13.5px;line-height:1.9;}
.footer-top ul li{margin-bottom:11px;}
.footer-top ul a{font-size:13.5px;transition:.25s;}
.footer-top ul a:hover{color:var(--green);padding-left:6px;}
.f-logo{font-size:24px;font-weight:800;color:#fff;margin-bottom:16px;display:block;}
.f-logo span{color:var(--green);}
.socials{display:flex;gap:10px;margin-top:20px;}
.socials a{width:38px;height:38px;border:1px solid rgba(255,255,255,.15);border-radius:50%;display:grid;place-items:center;font-size:14px;transition:.3s;}
.socials a:hover{background:var(--green);border-color:var(--green);color:#fff;transform:translateY(-3px);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:22px 0;text-align:center;font-size:13px;}
.footer-bottom a{color:var(--green);}

/* Back to top */
#toTop{position:fixed;bottom:26px;right:26px;width:48px;height:48px;background:var(--green);color:#fff;border-radius:50%;font-size:18px;display:grid;place-items:center;box-shadow:0 8px 20px rgba(18,207,108,.4);opacity:0;visibility:hidden;transition:.35s;z-index:900;}
#toTop.show{opacity:1;visibility:visible;}
#toTop:hover{background:var(--navy);}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media(max-width:1024px){
  .features-card, .cats-grid, .serv-grid{grid-template-columns:repeat(2,1fr);}
  .stats-grid{grid-template-columns:repeat(2,1fr);}
  .testi-grid, .news-grid, .fac-grid, .price-grid, .office-grid{grid-template-columns:repeat(2,1fr);}
  .search-box{display:none;}
  .hero .container{grid-template-columns:1fr;text-align:center;padding-bottom:50px;}
  .hero-text p{margin:0 auto 34px;}
  .hero-btns{justify-content:center;}
  .hero-visual{display:none;}
  .detail-grid, .contact-grid{grid-template-columns:1fr;}
  .deal-banner{grid-template-columns:1fr;padding:40px;}
  .newsletter{grid-template-columns:1fr;padding:40px;}
  .footer-top{grid-template-columns:repeat(2,1fr);}
  .duo-grid{grid-template-columns:1fr;}
}
@media(max-width:768px){
  .topbar .container{justify-content:center;text-align:center;font-size:12px;}
  .topbar .top-btn{display:none;}
  .call-center{display:none;}
  .hamburger{display:flex;}
  .navbar{border-radius:20px 20px 0 0;padding:6px 16px;}
  .daily-btn{padding:10px 18px;font-size:12px;}
  .nav-links{position:fixed;top:0;left:-100%;width:min(320px,85%);height:100vh;background:var(--navy-dark);flex-direction:column;align-items:stretch;padding:80px 0 40px;transition:.4s;overflow-y:auto;z-index:1100;box-shadow:10px 0 40px rgba(0,0,0,.3);}
  .nav-links.open{left:0;}
  .nav-links > li > a{padding:15px 28px;justify-content:space-between;}
  .dropdown{position:static;opacity:1;visibility:visible;transform:none;background:rgba(255,255,255,.05);border-radius:0;box-shadow:none;display:none;padding:0;}
  .dropdown.show{display:block;}
  .dropdown a{color:#b8c7d9;padding:12px 44px;}
  .dropdown a:hover{background:rgba(255,255,255,.05);color:var(--green);}
  .nav-overlay{position:fixed;inset:0;background:rgba(10,26,46,.6);opacity:0;visibility:hidden;transition:.35s;z-index:1050;}
  .nav-overlay.show{opacity:1;visibility:visible;}
}
@media(max-width:560px){
  .features-card, .cats-grid, .serv-grid, .stats-grid, .testi-grid, .news-grid, .fac-grid, .price-grid, .office-grid, .form-row, .footer-top{grid-template-columns:1fr;}
  .section{padding:56px 0;}
  .contact-form{padding:28px;}
  .header-main{padding:14px 0;}
  .logo{font-size:21px;}
}