/* ==========================================================================
   ZIPIKO BOJUGU — Glass on Gradient design system
   ========================================================================== */

:root{
  --c-ink:#1E1A2E;
  --c-ink-soft:#5B5570;
  --c-ink-faint:#8B85A0;
  --c-paper:#FAF8F5;
  --c-paper-alt:#F1EBE0;
  --c-primary:#4338CA;
  --c-primary-dark:#241C5C;
  --c-violet:#7C3AED;
  --c-plum:#2E1065;
  --c-plum-deep:#150F2B;
  --c-gold:#E3A857;
  --c-gold-dark:#B67D2E;
  --c-line:rgba(30,26,46,.1);
  --c-line-light:rgba(255,255,255,.22);

  --shadow-1:0 1px 2px rgba(21,15,43,.08),0 1px 1px rgba(21,15,43,.05);
  --shadow-2:0 10px 30px -8px rgba(21,15,43,.2),0 4px 10px -3px rgba(21,15,43,.12);
  --shadow-3:0 30px 70px -12px rgba(21,15,43,.38),0 14px 26px -8px rgba(21,15,43,.22);

  --r-sm:10px;
  --r-md:16px;
  --r-lg:24px;
  --r-xl:34px;
  --r-full:999px;

  --gradient-hero:
    radial-gradient(at 18% 22%, rgba(124,58,237,.55) 0, transparent 52%),
    radial-gradient(at 85% 12%, rgba(227,168,87,.4) 0, transparent 46%),
    radial-gradient(at 55% 92%, rgba(67,56,202,.65) 0, transparent 55%),
    linear-gradient(135deg,#150F2B 0%,#241C5C 38%,#4338CA 72%,#6C2E9C 100%);

  --gradient-soft:
    radial-gradient(at 12% 18%, rgba(124,58,237,.16) 0, transparent 50%),
    radial-gradient(at 88% 82%, rgba(227,168,87,.2) 0, transparent 48%),
    linear-gradient(160deg,#FAF8F5 0%,#F1EBE0 60%,#ECE2F2 100%);

  --gradient-dark:
    radial-gradient(at 20% 20%, rgba(124,58,237,.5) 0, transparent 55%),
    radial-gradient(at 80% 80%, rgba(227,168,87,.28) 0, transparent 50%),
    linear-gradient(150deg,#1B1440 0%,#2E1065 55%,#150F2B 100%);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Plus Jakarta Sans',sans-serif;
  color:var(--c-ink);
  background:var(--c-paper);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4{
  font-family:'Playfair Display',serif;
  color:var(--c-ink);
  margin:0;
  line-height:1.12;
}
p{margin:0;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}
.u-hidden{display:none !important;}
.u-text-center{text-align:center;}
.u-container{max-width:1180px;margin:0 auto;padding:0 24px;}


.u-display{font-size:clamp(2.8rem,7vw,6rem);font-weight:800;letter-spacing:-0.02em;}
.u-h2{font-size:clamp(2rem,4.2vw,3.3rem);font-weight:700;letter-spacing:-0.01em;}
.u-h3{font-size:clamp(1.3rem,2.1vw,1.7rem);font-weight:600;}
.u-eyebrow{
  font-family:'Plus Jakarta Sans',sans-serif;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.78rem;
  font-weight:600;
  color:var(--c-gold-dark);
}


.c-nav-wrap{padding:18px 20px 0;}
.c-nav{
  max-width:1180px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:12px 20px;
  border-radius:var(--r-full);
  background:rgba(255,255,255,.7);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border:1px solid rgba(255,255,255,.6);
  box-shadow:var(--shadow-2);
}
.c-nav__brand{display:flex;align-items:center;gap:10px;font-family:'Playfair Display',serif;font-weight:700;font-size:1.15rem;color:var(--c-ink);}
.c-nav__logo{width:36px;height:36px;}
.c-nav__links{display:flex;align-items:center;gap:6px;list-style:none;margin:0;padding:0;}
.c-nav__links li a{
  display:inline-block;
  padding:10px 16px;
  border-radius:var(--r-full);
  font-size:.92rem;
  font-weight:500;
  color:var(--c-ink-soft);
  transition:background .25s ease,color .25s ease;
}
.c-nav__links li a:hover{background:rgba(67,56,202,.08);color:var(--c-primary);}
.c-nav__links li a.is-active{color:var(--c-primary);font-weight:600;}
.c-nav__cta{
  background:var(--c-primary) !important;
  color:#fff !important;
  box-shadow:var(--shadow-1);
}
.c-nav__cta:hover{background:var(--c-primary-dark) !important;}
.c-nav__toggle{display:none;flex-direction:column;gap:5px;width:44px;height:44px;align-items:center;justify-content:center;border-radius:var(--r-full);}
.c-nav__toggle span{width:22px;height:2px;background:var(--c-ink);border-radius:2px;transition:transform .3s ease,opacity .3s ease;}

@media(max-width:860px){
  .c-nav__links{display:none;}
  .c-nav__toggle{display:flex;}
}


.c-mobile-menu{
  position:fixed;inset:0;
  z-index:200;
  background:var(--gradient-dark);
  clip-path:polygon(100% 0%,100% 0%,100% 0%,100% 0%);
  transition:clip-path .65s cubic-bezier(.77,0,.18,1);
  pointer-events:none;
  display:flex;
  align-items:center;
  justify-content:center;
}
.c-mobile-menu.is-active{
  clip-path:polygon(0% 0%,100% 0%,100% 100%,0% 100%);
  pointer-events:auto;
}
.c-mobile-menu__close{
  position:absolute;top:26px;right:26px;
  width:48px;height:48px;
  border-radius:var(--r-full);
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.25);
  color:#fff;font-size:1.2rem;
  display:flex;align-items:center;justify-content:center;
}
.c-mobile-menu ul{list-style:none;margin:0;padding:0;text-align:center;}
.c-mobile-menu ul li{margin:18px 0;opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease;}
.c-mobile-menu.is-active ul li{opacity:1;transform:translateY(0);}
.c-mobile-menu.is-active ul li:nth-child(1){transition-delay:.32s;}
.c-mobile-menu.is-active ul li:nth-child(2){transition-delay:.4s;}
.c-mobile-menu.is-active ul li:nth-child(3){transition-delay:.48s;}
.c-mobile-menu.is-active ul li:nth-child(4){transition-delay:.56s;}
.c-mobile-menu.is-active ul li:nth-child(5){transition-delay:.64s;}
.c-mobile-menu ul li a{font-family:'Playfair Display',serif;font-size:1.8rem;color:#fff;font-weight:600;}


.c-back-to-top{
  position:fixed;bottom:26px;right:22px;
  width:52px;height:52px;
  border-radius:var(--r-full);
  background:var(--c-primary);
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:var(--shadow-2);
  opacity:0;transform:translateY(16px);pointer-events:none;
  transition:opacity .35s ease,transform .35s ease,background .3s ease;
  z-index:150;
  font-size:1.05rem;
}
.c-back-to-top.is-visible{opacity:1;transform:translateY(0);pointer-events:auto;}
.c-back-to-top:hover{background:var(--c-primary-dark);}


.s-hero{
  position:relative;
  background:var(--gradient-hero);
  padding:150px 0 60px;
  color:#fff;
  overflow:hidden;
}
.s-hero::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 60%,var(--c-paper) 100%);
  pointer-events:none;
}
.s-hero__inner{position:relative;z-index:2;max-width:1180px;margin:0 auto;padding:0 24px;}
.s-hero__eyebrow{color:var(--c-gold);}
.s-hero h1{color:#fff;margin-top:18px;}
.s-hero h1 em{font-style:normal;color:var(--c-gold);}
.s-hero__lead{margin-top:24px;max-width:620px;font-size:1.1rem;color:rgba(255,255,255,.82);}
.s-hero__actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:36px;}

.c-btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:15px 26px;
  border-radius:var(--r-full);
  font-weight:600;font-size:.95rem;
  transition:transform .3s ease,box-shadow .3s ease,background .3s ease;
}
.c-btn--primary{background:var(--c-gold);color:#241606;box-shadow:var(--shadow-2);}
.c-btn--primary:hover{transform:translateY(-3px);box-shadow:var(--shadow-3);background:#EEB86B;}
.c-btn--ghost{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(8px);}
.c-btn--ghost:hover{background:rgba(255,255,255,.18);transform:translateY(-3px);}
.c-btn--dark{background:var(--c-ink);color:#fff;}
.c-btn--dark:hover{background:var(--c-primary-dark);transform:translateY(-3px);}


.s-hero__cards{
  display:flex;gap:18px;
  margin-top:56px;
  overflow-x:auto;
  padding:6px 6px 22px;
  scroll-snap-type:x proximity;
}
.s-hero__cards::-webkit-scrollbar{height:6px;}
.s-hero__cards::-webkit-scrollbar-thumb{background:rgba(255,255,255,.3);border-radius:var(--r-full);}
.c-mini-card{
  scroll-snap-align:start;
  flex:0 0 auto;
  width:230px;
  padding:24px 22px;
  border-radius:var(--r-lg);
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.22);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  color:#fff;
  transition:transform .35s ease,background .35s ease,box-shadow .35s ease;
  box-shadow:var(--shadow-1);
}
.c-mini-card:hover{transform:translateY(-8px);background:rgba(255,255,255,.16);box-shadow:var(--shadow-3);}
.c-mini-card i{font-size:1.5rem;color:var(--c-gold);margin-bottom:14px;display:block;}
.c-mini-card h3{font-size:1.05rem;color:#fff;margin-bottom:8px;}
.c-mini-card p{font-size:.86rem;color:rgba(255,255,255,.75);}


.s-marquee{
  background:var(--c-plum-deep);
  padding:20px 0;
  overflow:hidden;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.c-marquee__track{
  display:flex;width:max-content;
  animation:marquee 32s linear infinite;
}
.c-marquee__track span{
  white-space:nowrap;
  padding:0 28px;
  font-family:'Playfair Display',serif;
  font-size:1.15rem;
  color:rgba(255,255,255,.85);
  display:flex;align-items:center;gap:16px;
}
.c-marquee__track span i{color:var(--c-gold);font-size:.6rem;}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}


.s-section{padding:104px 0;position:relative;}
.s-section--soft{background:var(--gradient-soft);}
.s-section--paper{background:var(--c-paper);}
.s-section--alt{background:var(--c-paper-alt);}
.s-section--dark{background:var(--gradient-dark);color:#fff;}
.s-section--dark h2,.s-section--dark h3{color:#fff;}
.s-section__head{max-width:640px;margin-bottom:56px;}
.s-section__head p{margin-top:18px;color:var(--c-ink-soft);font-size:1.05rem;}
.s-section--dark .s-section__head p{color:rgba(255,255,255,.78);}


.c-card{
  background:rgba(255,255,255,.6);
  border:1px solid rgba(255,255,255,.7);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-radius:var(--r-lg);
  padding:32px 28px;
  box-shadow:var(--shadow-1);
  transition:transform .35s ease,box-shadow .35s ease;
}
.c-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-2);}
.c-card i{font-size:1.5rem;color:var(--c-primary);margin-bottom:16px;display:block;}
.c-card h3{margin-bottom:10px;}
.c-card p{color:var(--c-ink-soft);font-size:.96rem;}


.c-card--dark{
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
}
.c-card--dark p{color:rgba(255,255,255,.75);}
.c-card--dark i{color:var(--c-gold);}
.c-card--dark:hover{background:rgba(255,255,255,.12);}


.c-card--feature{padding:44px 36px;}


.c-step{display:flex;gap:20px;padding:26px 0;border-bottom:1px solid var(--c-line);}
.c-step:last-child{border-bottom:none;}
.c-step__num{
  font-family:'Playfair Display',serif;font-size:2.2rem;font-weight:700;
  color:var(--c-primary);flex:0 0 auto;width:60px;
}
.c-step__text h3{margin-bottom:8px;}
.c-step__text p{color:var(--c-ink-soft);}


.c-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.c-gallery__item{border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow-1);position:relative;aspect-ratio:4/5;}
.c-gallery__item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.c-gallery__item:hover img{transform:scale(1.06);}
.c-gallery__item span{
  position:absolute;bottom:0;left:0;right:0;
  padding:14px 14px 12px;
  font-size:.8rem;color:#fff;
  background:linear-gradient(0deg,rgba(0,0,0,.62),transparent);
}
.c-gallery__item--tall{grid-row:span 2;}


.c-region{
  padding:34px 28px;border-radius:var(--r-lg);
  background:rgba(255,255,255,.55);
  border:1px solid rgba(255,255,255,.65);
  backdrop-filter:blur(14px);
  box-shadow:var(--shadow-1);
}
.c-region h3{margin-bottom:10px;}
.c-region p{color:var(--c-ink-soft);font-size:.94rem;}


.c-cta-block{
  border-radius:var(--r-xl);
  padding:60px 44px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.2);
  backdrop-filter:blur(18px);
  text-align:center;
  box-shadow:var(--shadow-3);
}
.c-cta-block h2{color:#fff;}
.c-cta-block p{color:rgba(255,255,255,.78);max-width:560px;margin:18px auto 0;}
.c-cta-block .s-hero__actions{justify-content:center;margin-top:34px;}


.c-faq-item{border-bottom:1px solid var(--c-line);padding:22px 0;}
.c-faq-item h3{font-size:1.08rem;margin-bottom:8px;}
.c-faq-item p{color:var(--c-ink-soft);font-size:.94rem;}


.c-footer{
  background:var(--c-plum-deep);
  color:rgba(255,255,255,.72);
  padding:80px 0 30px;
}
.c-footer__inner{
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;
  padding-bottom:50px;border-bottom:1px solid rgba(255,255,255,.1);
}
.c-footer__brand{display:flex;align-items:center;gap:10px;font-family:'Playfair Display',serif;font-size:1.3rem;color:#fff;font-weight:700;margin-bottom:14px;}
.c-footer__brand img{width:34px;}
.c-footer p{font-size:.9rem;line-height:1.7;}
.c-footer h4{color:#fff;font-family:'Plus Jakarta Sans',sans-serif;font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:18px;font-weight:600;}
.c-footer ul{list-style:none;margin:0;padding:0;}
.c-footer ul li{margin-bottom:11px;}
.c-footer ul li a{transition:color .25s ease;font-size:.92rem;}
.c-footer ul li a:hover{color:var(--c-gold);}
.c-footer__bottom{padding-top:26px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.82rem;color:rgba(255,255,255,.5);}


.c-form{background:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.7);backdrop-filter:blur(14px);border-radius:var(--r-lg);padding:44px;box-shadow:var(--shadow-2);}
.c-form__progress{display:flex;gap:8px;margin-bottom:32px;}
.c-form__progress span{flex:1;height:5px;border-radius:var(--r-full);background:var(--c-line);}
.c-form__progress span.is-active{background:var(--c-primary);}
.c-form__step{display:none;}
.c-form__step.is-active{display:block;}
.c-field{margin-bottom:20px;}
.c-field label{display:block;font-size:.86rem;font-weight:600;margin-bottom:8px;color:var(--c-ink-soft);}
.c-field input,.c-field textarea{
  width:100%;padding:14px 16px;border-radius:var(--r-md);
  border:1px solid var(--c-line);background:#fff;font-family:inherit;font-size:.95rem;
  transition:border-color .25s ease,box-shadow .25s ease;
}
.c-field input:focus,.c-field textarea:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 4px rgba(67,56,202,.12);}
.c-field textarea{min-height:130px;resize:vertical;}
.c-field--checkbox{display:flex;align-items:flex-start;gap:10px;}
.c-field--checkbox input{width:20px;height:20px;flex:0 0 auto;margin-top:2px;}
.c-field--checkbox label{margin-bottom:0;font-weight:400;font-size:.88rem;}
.c-form__actions{display:flex;justify-content:space-between;gap:14px;margin-top:8px;}


.c-accordion__item{
  border-radius:var(--r-md);
  background:rgba(255,255,255,.65);
  border:1px solid rgba(255,255,255,.7);
  margin-bottom:16px;
  overflow:hidden;
  box-shadow:var(--shadow-1);
}
.c-accordion__header{
  width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:22px 26px;text-align:left;font-family:'Playfair Display',serif;font-weight:600;font-size:1.08rem;
}
.c-accordion__header i{transition:transform .3s ease;color:var(--c-primary);}
.c-accordion__item.is-active .c-accordion__header i{transform:rotate(180deg);}
.c-accordion__body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s ease;}
.c-accordion__item.is-active .c-accordion__body{grid-template-rows:1fr;}
.c-accordion__body-inner{overflow:hidden;}
.c-accordion__body p,.c-accordion__body li{padding:0 26px;color:var(--c-ink-soft);font-size:.94rem;margin-bottom:14px;}
.c-accordion__body p:last-child{padding-bottom:24px;}
.c-accordion__body ul{padding:0 26px 4px 46px;}


.c-cookie{
  position:fixed;left:0;right:0;bottom:0;z-index:300;
  background:rgba(21,15,43,.92);
  backdrop-filter:blur(16px);
  color:#fff;
  border-top:1px solid rgba(255,255,255,.12);
  transform:translateY(120%);
  transition:transform .5s ease;
}
.c-cookie.is-visible{transform:translateY(0);}
.c-cookie__row{
  max-width:1180px;margin:0 auto;padding:20px 24px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
}
.c-cookie__row p{font-size:.86rem;color:rgba(255,255,255,.75);max-width:640px;}
.c-cookie__row a{color:var(--c-gold);text-decoration:underline;}
.c-cookie__actions{display:flex;gap:10px;flex-wrap:wrap;}
.c-cookie__actions button{padding:11px 18px;border-radius:var(--r-full);font-size:.84rem;font-weight:600;transition:transform .25s ease,background .25s ease;}
.c-cookie__actions button:hover{transform:translateY(-2px);}
#cookieAccept{background:var(--c-gold);color:#241606;}
#cookieReject{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.25);}
#cookieCustomize{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.25);}
.c-cookie__panel{max-height:0;overflow:hidden;transition:max-height .45s ease;max-width:1180px;margin:0 auto;padding:0 24px;}
.c-cookie.is-expanded .c-cookie__panel{max-height:400px;padding-bottom:24px;}
.c-cookie__cat{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-top:1px solid rgba(255,255,255,.1);}
.c-cookie__cat strong{font-size:.88rem;}
.c-cookie__cat span{font-size:.78rem;color:rgba(255,255,255,.55);display:block;margin-top:2px;}
.c-switch{position:relative;width:44px;height:24px;border-radius:var(--r-full);background:rgba(255,255,255,.2);flex:0 0 auto;}
.c-switch input{opacity:0;width:100%;height:100%;position:absolute;cursor:pointer;margin:0;}
.c-switch__dot{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .25s ease;}
.c-switch input:checked ~ .c-switch__dot{transform:translateX(20px);}
.c-switch input:checked ~ .c-switch__bg{background:var(--c-gold);}
.c-cookie__save{margin-top:14px;background:var(--c-primary);color:#fff;padding:11px 22px;border-radius:var(--r-full);font-weight:600;font-size:.86rem;}


.s-legal-hero{background:var(--gradient-dark);color:#fff;padding:150px 0 80px;}
.s-legal-hero p{color:rgba(255,255,255,.72);margin-top:16px;}


.s-thanks{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:160px 24px 120px;}
.s-thanks p{margin-top:20px;color:var(--c-ink-soft);font-size:1.1rem;}
.s-thanks a{margin-top:38px;}


.c-map{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-2);border:1px solid var(--c-line);}
.c-map iframe{width:100%;height:380px;border:0;display:block;}


@media(max-width:980px){
  .c-footer__inner{grid-template-columns:1fr 1fr;}
  .c-gallery{grid-template-columns:repeat(2,1fr);}
  .c-gallery__item--tall{grid-row:span 1;}
}
@media(max-width:700px){
  .s-hero{padding-top:130px;}
  .c-footer__inner{grid-template-columns:1fr;}
  .c-cookie__row{flex-direction:column;align-items:flex-start;}
  .c-form{padding:28px 22px;}
  .s-section{padding:76px 0;}
}