:root{
  --ink:#1c2130;
  --ink-soft:#4a5164;
  --ink-faint:#767d92;
  --bg:#faf9fd;
  --surface:#ffffff;
  --surface-tint:#f2effa;
  --primary:#264d59;
  --primary-dark:#173540;
  --secondary:#7c6fe0;
  --accent:#3fc1b0;
  --accent-2:#f2a65a;
  --pink:#e88fc4;
  --border:#e6e2f2;
  --sp-1:.5rem;--sp-2:1rem;--sp-3:1.5rem;--sp-4:2rem;--sp-5:3rem;--sp-6:4.5rem;--sp-7:6rem;--sp-8:8rem;
  --r-sm:8px;--r-md:14px;--r-lg:22px;--r-xl:32px;--r-pill:999px;
  --sh-sm:0 1px 2px rgba(28,33,48,.06), 0 1px 1px rgba(28,33,48,.04);
  --sh-md:0 10px 28px -10px rgba(38,77,89,.28), 0 3px 10px rgba(38,77,89,.09);
  --sh-lg:0 28px 56px -16px rgba(38,77,89,.35), 0 10px 28px rgba(124,111,224,.14);
  --ease:cubic-bezier(.4,0,.2,1);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Inter',sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.65;
  overflow-x:hidden;
  min-height:100vh;
  display:flex;
  flex-direction:column;
}
main{flex:1;}
h1,h2,h3,h4{font-family:'Plus Jakarta Sans',sans-serif;color:var(--ink);margin:0;line-height:1.2;}
p{margin:0 0 1rem;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
button{font-family:inherit;cursor:pointer;background:none;border:none;color:inherit;}
ul{margin:0;padding:0;}


.aurora{position:fixed;inset:0;z-index:-1;overflow:hidden;background:linear-gradient(180deg,#fbfaff,#f6f4fc 60%,#f2effa);}
.aurora-blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;will-change:transform;}
.b1{width:46vw;height:46vw;background:var(--accent);top:-14vw;left:-10vw;animation:drift1 34s ease-in-out infinite;}
.b2{width:38vw;height:38vw;background:var(--secondary);top:8vw;right:-12vw;animation:drift2 42s ease-in-out infinite;}
.b3{width:42vw;height:42vw;background:var(--pink);bottom:-16vw;left:12vw;animation:drift3 38s ease-in-out infinite;}
.b4{width:30vw;height:30vw;background:var(--accent-2);bottom:-6vw;right:8vw;animation:drift4 46s ease-in-out infinite;}
@keyframes drift1{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(6vw,8vw) scale(1.15);}}
@keyframes drift2{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(-8vw,6vw) scale(1.1);}}
@keyframes drift3{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(5vw,-6vw) scale(1.2);}}
@keyframes drift4{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(-4vw,-8vw) scale(1.08);}}


.hdr{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .4s var(--ease),box-shadow .4s var(--ease),padding .3s var(--ease);}
.hdr-inner{max-width:1280px;margin:0 auto;padding:1.1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;}
.hdr.hdr-transparent{background:transparent;}
.hdr.hdr-solid, .hdr:not(.hdr-transparent){background:rgba(250,249,253,.86);backdrop-filter:blur(14px);box-shadow:var(--sh-sm);}
.hdr-logo{display:flex;align-items:center;gap:.6rem;}
.hdr-logo-ico{width:36px;height:36px;}
.hdr-logo-txt{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:1.15rem;color:var(--primary-dark);}
.hdr-nav{display:none;align-items:center;gap:2rem;}
.nav-link{font-weight:500;font-size:.95rem;color:var(--ink-soft);position:relative;padding:.4rem 0;transition:color .3s var(--ease);}
.nav-link::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--accent);transition:width .3s var(--ease);}
.nav-link:hover{color:var(--primary);}
.nav-link:hover::after,.nav-link.is-active::after{width:100%;}
.nav-link.is-active{color:var(--primary-dark);font-weight:600;}
.hdr-cta{background:var(--primary);color:#fff !important;padding:.6rem 1.3rem;border-radius:var(--r-pill);transition:background .3s var(--ease),transform .3s var(--ease),box-shadow .3s var(--ease);}
.hdr-cta::after{display:none;}
.hdr-cta:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:var(--sh-md);}
.hdr-burger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;}
.hdr-burger span{display:block;width:24px;height:2px;background:var(--primary-dark);margin:0 auto;transition:transform .3s var(--ease),opacity .3s var(--ease);}

@media(min-width:960px){
  .hdr-nav{display:flex;}
  .hdr-burger{display:none;}
}


.ovl{position:fixed;inset:0;background:rgba(23,53,64,.45);backdrop-filter:blur(2px);opacity:0;visibility:hidden;transition:opacity .4s var(--ease),visibility .4s var(--ease);z-index:150;}
.ovl.open{opacity:1;visibility:visible;}
.mnu{position:fixed;top:0;right:0;height:100vh;width:min(85vw,360px);background:var(--surface);z-index:200;transform:translateX(100%);transition:transform .45s var(--ease);display:flex;flex-direction:column;padding:2rem 2rem;box-shadow:var(--sh-lg);}
.mnu.open{transform:translateX(0);}
.mnu-close{align-self:flex-end;width:44px;height:44px;font-size:1.3rem;color:var(--primary-dark);}
.mnu-nav{display:flex;flex-direction:column;gap:1.8rem;margin-top:2.5rem;}
.mnu-nav a{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:1.4rem;color:var(--ink);transition:color .3s var(--ease),padding-left .3s var(--ease);}
.mnu-nav a:hover{color:var(--accent);padding-left:.4rem;}
.mnu-foot{margin-top:auto;font-size:.85rem;color:var(--ink-faint);}


.hero{position:relative;padding:9rem 1.5rem 5rem;}
.hero-inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:3rem;align-items:center;}
.hero-eyebrow{display:inline-block;font-size:.8rem;letter-spacing:.04em;font-weight:600;color:var(--primary);background:rgba(63,193,176,.14);padding:.4rem 1rem;border-radius:var(--r-pill);margin-bottom:1.2rem;}
.hero-h1{font-size:clamp(2.1rem,5vw,3.4rem);font-weight:800;margin-bottom:1.2rem;color:var(--primary-dark);}
.hero-p{font-size:1.05rem;color:var(--ink-soft);max-width:52ch;margin-bottom:1.8rem;}
.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.4rem;}
.hero-note{font-size:.85rem;color:var(--ink-faint);display:flex;gap:.5rem;align-items:flex-start;}
.hero-media{position:relative;min-height:340px;}
.hero-img{position:absolute;border-radius:var(--r-lg);box-shadow:var(--sh-lg);object-fit:cover;}
.hero-img-a{width:78%;height:320px;top:0;left:0;transform:rotate(-4deg);z-index:1;}
.hero-img-b{width:60%;height:250px;bottom:-2rem;right:0;transform:rotate(5deg);z-index:2;border:6px solid var(--surface);}

@media(min-width:860px){
  .hero-inner{grid-template-columns:1.05fr .95fr;gap:2rem;}
  .hero-media{min-height:420px;}
  .hero-img-a{height:380px;}
  .hero-img-b{height:290px;}
}


.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 1.7rem;border-radius:var(--r-pill);font-weight:600;font-size:.95rem;transition:background .3s var(--ease),color .3s var(--ease),transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease);min-height:44px;}
.btn-primary{background:var(--primary);color:#fff;box-shadow:var(--sh-sm);}
.btn-primary:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:var(--sh-md);}
.btn-ghost{background:transparent;color:var(--primary-dark);border:1.5px solid var(--border);}
.btn-ghost:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-2px);box-shadow:var(--sh-sm);}


.sec{padding:var(--sp-6) 1.5rem;}
.sec-tint{background:var(--surface-tint);}
.sec-inner{max-width:1200px;margin:0 auto;}
.sec-eyebrow{display:block;font-size:.8rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--secondary);margin-bottom:.7rem;}
.sec-title{font-size:clamp(1.6rem,3.4vw,2.4rem);font-weight:800;margin-bottom:1.2rem;max-width:36ch;}
.sec-p-wide{max-width:74ch;color:var(--ink-soft);}

.sec-intro-txt p{color:var(--ink-soft);max-width:70ch;}

.two-col{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:center;}
.two-col-txt p{color:var(--ink-soft);}
.two-col-img img{border-radius:var(--r-lg);box-shadow:var(--sh-md);width:100%;height:340px;object-fit:cover;}
@media(min-width:900px){
  .two-col{grid-template-columns:1fr 1fr;}
  .two-col.rev .two-col-img{order:2;}
  .two-col.rev .two-col-txt{order:1;}
}


.crd-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-top:2.2rem;}
.crd{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:1.8rem;display:flex;gap:1.2rem;box-shadow:var(--sh-sm);transition:transform .35s var(--ease),box-shadow .35s var(--ease);}
.crd:hover{transform:translateY(-6px);box-shadow:var(--sh-md);}
.crd-ico{flex-shrink:0;width:52px;height:52px;border-radius:var(--r-md);background:linear-gradient(135deg,var(--accent),var(--secondary));color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.3rem;}
.crd-txt h3{font-size:1.15rem;margin-bottom:.5rem;}
.crd-txt p{color:var(--ink-soft);font-size:.95rem;margin-bottom:.8rem;}
.crd-link{font-weight:600;font-size:.88rem;color:var(--primary);display:inline-flex;gap:.4rem;align-items:center;transition:gap .3s var(--ease),color .3s var(--ease);}
.crd-link:hover{gap:.7rem;color:var(--primary-dark);}
.crd-feat{grid-column:1/-1;background:linear-gradient(120deg,rgba(63,193,176,.09),rgba(124,111,224,.09));}

@media(min-width:720px){
  .crd-grid{grid-template-columns:repeat(2,1fr);}
}
@media(min-width:1080px){
  .crd-grid{grid-template-columns:repeat(3,1fr);}
  .crd-feat{grid-column:span 3;}
}


.photo-grid{display:grid;grid-template-columns:1fr;gap:1.2rem;margin-top:2.2rem;}
.ph{margin:0;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-md);}
.ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease);}
.ph:hover img{transform:scale(1.06);}
@media(min-width:760px){
  .photo-grid{grid-template-columns:repeat(6,1fr);grid-auto-rows:150px;}
  .ph-1{grid-column:span 4;grid-row:span 2;}
  .ph-2{grid-column:span 2;grid-row:span 1;}
  .ph-3{grid-column:span 2;grid-row:span 1;}
  .ph-4{grid-column:span 6;grid-row:span 1;}
}


.faq{margin-top:2rem;display:flex;flex-direction:column;gap:1rem;}
.faq-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--sh-sm);}
.faq-q{width:100%;text-align:left;padding:1.2rem 1.4rem;font-weight:600;font-size:1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;transition:color .3s var(--ease);}
.faq-q:hover{color:var(--primary);}
.faq-q i{transition:transform .35s var(--ease);color:var(--secondary);}
.faq-item.open .faq-q i{transform:rotate(180deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s var(--ease),padding .4s var(--ease);padding:0 1.4rem;}
.faq-item.open .faq-a{padding:0 1.4rem 1.3rem;}
.faq-a p{color:var(--ink-soft);margin:0;}


.cc-grid{display:grid;grid-template-columns:1fr;gap:1.4rem;margin-top:2rem;}
.cc-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:1.8rem;text-align:left;box-shadow:var(--sh-sm);transition:transform .35s var(--ease),box-shadow .35s var(--ease);}
.cc-card:hover{transform:translateY(-6px);box-shadow:var(--sh-md);}
.cc-ico{width:48px;height:48px;border-radius:50%;background:rgba(124,111,224,.14);color:var(--secondary);display:flex;align-items:center;justify-content:center;font-size:1.2rem;margin-bottom:1rem;}
.cc-card h3{font-size:1.05rem;margin-bottom:.4rem;}
.cc-card p{color:var(--ink-soft);margin-bottom:.3rem;font-size:.95rem;}
.cc-sub{font-size:.8rem;color:var(--ink-faint);}
@media(min-width:820px){.cc-grid{grid-template-columns:repeat(3,1fr);}}
.cc-grid-stack{margin-top:1.5rem;}


.split-list{display:grid;grid-template-columns:1fr;gap:1.2rem;margin-top:1.8rem;}
.split-item{display:flex;gap:1rem;align-items:flex-start;background:var(--surface);padding:1.3rem 1.4rem;border-radius:var(--r-md);box-shadow:var(--sh-sm);}
.split-item i{color:var(--pink);margin-top:.2rem;}
.split-item p{margin:0;color:var(--ink-soft);}
@media(min-width:760px){.split-list{grid-template-columns:1fr 1fr;}}


.page-head{padding:9rem 1.5rem 2.5rem;}
.page-head-inner{max-width:1200px;margin:0 auto;}
.crumb{font-size:.85rem;color:var(--ink-faint);margin-bottom:1rem;min-height:1.2em;}
.crumb::after{content:"";display:inline-block;width:1px;}
.page-h1{font-size:clamp(2rem,4.5vw,3rem);font-weight:800;color:var(--primary-dark);margin-bottom:.8rem;}
.page-lead{color:var(--ink-soft);max-width:62ch;font-size:1.05rem;}


.notice{display:flex;gap:1rem;align-items:flex-start;background:rgba(242,166,90,.14);border:1px solid rgba(242,166,90,.4);border-radius:var(--r-md);padding:1.3rem 1.5rem;}
.notice i{color:var(--accent-2);font-size:1.2rem;margin-top:.15rem;}
.notice p{margin:0;color:var(--ink-soft);}


.cost-table{margin-top:1.8rem;border-radius:var(--r-md);overflow:hidden;box-shadow:var(--sh-sm);border:1px solid var(--border);}
.cost-row{display:grid;grid-template-columns:1fr;gap:.3rem;padding:1rem 1.2rem;border-bottom:1px solid var(--border);background:var(--surface);}
.cost-row:last-child{border-bottom:none;}
.cost-row span:first-child{font-weight:700;color:var(--primary-dark);}
.cost-row span:nth-child(2){color:var(--ink-soft);font-size:.92rem;}
.cost-row span:nth-child(3){color:var(--secondary);font-weight:600;font-size:.88rem;}
.cost-head{background:var(--primary);color:#fff;}
.cost-head span{color:#fff !important;font-weight:700;}
@media(min-width:760px){.cost-row{grid-template-columns:1fr 2fr 1.2fr;align-items:center;gap:1rem;}}


.hours-table{margin-top:1.6rem;max-width:520px;border-radius:var(--r-md);overflow:hidden;box-shadow:var(--sh-sm);border:1px solid var(--border);}
.hours-row{display:flex;justify-content:space-between;padding:.9rem 1.3rem;background:var(--surface);border-bottom:1px solid var(--border);}
.hours-row:last-child{border-bottom:none;}
.hours-row span:first-child{font-weight:600;}
.hours-row span:last-child{color:var(--ink-soft);}


.contact-grid{display:grid;grid-template-columns:1fr;gap:2.5rem;}
.contact-form-wrap{background:var(--surface);border-radius:var(--r-xl);padding:2.2rem;box-shadow:var(--sh-md);border:1px solid var(--border);}
.frm-title{font-size:1.5rem;margin-bottom:1.4rem;}
.frm-field{margin-bottom:1.2rem;}
.frm-label{display:block;font-size:.88rem;font-weight:600;margin-bottom:.4rem;color:var(--ink-soft);}
.frm-input{width:100%;padding:.85rem 1rem;border-radius:var(--r-sm);border:1.5px solid var(--border);font-family:inherit;font-size:.95rem;background:var(--bg);transition:border-color .3s var(--ease),box-shadow .3s var(--ease);min-height:44px;}
.frm-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px rgba(63,193,176,.15);}
textarea.frm-input{min-height:120px;resize:vertical;}
.frm-check{display:flex;align-items:flex-start;gap:.6rem;margin-bottom:1.4rem;font-size:.88rem;color:var(--ink-soft);}
.frm-check input{margin-top:.25rem;width:18px;height:18px;flex-shrink:0;}
.frm-check a{color:var(--primary);text-decoration:underline;}
.frm-submit{width:100%;}
.contact-side{display:flex;flex-direction:column;gap:1.5rem;}
.contact-side-img{border-radius:var(--r-lg);box-shadow:var(--sh-md);height:220px;object-fit:cover;width:100%;}
.map-wrap{margin-top:1.8rem;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-md);border:1px solid var(--border);}
@media(min-width:960px){.contact-grid{grid-template-columns:1.15fr .85fr;}}


.legal-wrap{max-width:840px;margin:0 auto;display:flex;flex-direction:column;gap:1.6rem;}
.legal-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:1.8rem 2rem;box-shadow:var(--sh-sm);}
.legal-q{font-size:1.15rem;margin-bottom:.8rem;color:var(--primary-dark);}
.legal-a p{color:var(--ink-soft);margin:0;}


.thanks-main{padding:9rem 1.5rem 6rem;display:flex;align-items:center;justify-content:center;}
.thanks-wrap{max-width:640px;margin:0 auto;text-align:center;}
.quote-crd{background:linear-gradient(135deg,rgba(63,193,176,.12),rgba(124,111,224,.12));border:1px solid var(--border);border-radius:var(--r-xl);padding:2.6rem 2rem;box-shadow:var(--sh-md);margin-bottom:2.5rem;position:relative;}
.quote-ico{font-size:1.6rem;color:var(--secondary);opacity:.6;margin-bottom:1rem;}
.quote-txt{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.3rem;font-weight:700;color:var(--primary-dark);margin-bottom:1rem;line-height:1.4;}
.quote-attr{font-size:.88rem;color:var(--ink-faint);}
.thanks-h1{font-size:clamp(1.8rem,4vw,2.6rem);margin-bottom:1rem;}
.thanks-p{color:var(--ink-soft);margin-bottom:2rem;}


.ftr{background:var(--primary-dark);color:#e7eef0;margin-top:auto;}
.ftr-inner{max-width:1280px;margin:0 auto;padding:4rem 1.5rem 2.5rem;display:grid;grid-template-columns:1fr;gap:2.5rem;}
.ftr-col h4{color:#fff;font-size:1rem;margin-bottom:1rem;}
.ftr-col a,.ftr-col p{display:block;color:#c7d3d5;font-size:.9rem;margin-bottom:.6rem;transition:color .3s var(--ease);}
.ftr-col a:hover{color:var(--accent);}
.ftr-brand p{max-width:36ch;}
.ftr-bottom{border-top:1px solid rgba(255,255,255,.1);padding:1.4rem 1.5rem;text-align:center;}
.ftr-bottom p{margin:0;font-size:.82rem;color:#93a3a5;}
@media(min-width:760px){.ftr-inner{grid-template-columns:1.4fr 1fr 1fr 1.2fr;}}


.cookie-bell{position:fixed;bottom:1.6rem;right:1.6rem;width:56px;height:56px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.3rem;box-shadow:var(--sh-md);z-index:300;cursor:pointer;transition:transform .3s var(--ease),background .3s var(--ease);}
.cookie-bell:hover{transform:translateY(-3px) scale(1.05);background:var(--primary-dark);}
.cookie-badge{position:absolute;top:-3px;right:-3px;width:14px;height:14px;background:var(--accent-2);border-radius:50%;border:2px solid var(--surface);}
.cookie-badge.hide{display:none;}
.cookie-panel{position:fixed;bottom:0;right:0;left:0;max-width:420px;margin:0 auto 0 auto;background:var(--surface);border-radius:var(--r-xl) var(--r-xl) 0 0;box-shadow:var(--sh-lg);padding:1.8rem;z-index:299;transform:translateY(110%);transition:transform .45s var(--ease);}
.cookie-panel.open{transform:translateY(0);}
@media(min-width:520px){.cookie-panel{right:1.6rem;left:auto;border-radius:var(--r-xl);margin-bottom:5rem;}}
.cookie-panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.8rem;}
.cookie-panel-head h3{font-size:1.1rem;}
.cookie-panel-head button{width:36px;height:36px;color:var(--ink-faint);}
.cookie-panel p{font-size:.88rem;color:var(--ink-soft);margin-bottom:1.2rem;}
.cookie-cat{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 0;border-top:1px solid var(--border);}
.cookie-cat-txt strong{display:block;font-size:.92rem;}
.cookie-cat-txt span{font-size:.8rem;color:var(--ink-faint);}
.switch{position:relative;display:inline-block;width:44px;height:26px;flex-shrink:0;}
.switch input{opacity:0;width:0;height:0;}
.slider{position:absolute;inset:0;background:var(--border);border-radius:var(--r-pill);transition:background .3s var(--ease);cursor:pointer;}
.slider::before{content:"";position:absolute;width:20px;height:20px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .3s var(--ease);box-shadow:var(--sh-sm);}
input:checked + .slider{background:var(--accent);}
input:checked + .slider::before{transform:translateX(18px);}
input:disabled + .slider{opacity:.6;cursor:not-allowed;}
.cookie-actions{display:flex;gap:.8rem;margin-top:1.4rem;flex-wrap:wrap;}
.cookie-actions .btn{flex:1;font-size:.85rem;padding:.7rem 1rem;}


.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.reveal.visible{opacity:1;transform:translateY(0);}


@media (max-width:400px){
  .hero-actions{flex-direction:column;align-items:stretch;}
  .hero-actions .btn{width:100%;}
}