/* ============================================================
   Андрей & Дарья — Сад Пиршеств · 18 июля
   Design 1:1 from Figma frame 1920×8201
   ============================================================ */

@font-face{
  font-family:"Inkulinati";
  src:url("../fonts/Inkulinati-Regular.woff2") format("woff2");
  font-weight:400;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"Gotham Pro";
  src:url("../fonts/GothamPro-Book.woff2") format("woff2");
  font-weight:400;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"Gotham Pro";
  src:url("../fonts/GothamPro-Medium.woff2") format("woff2");
  font-weight:500;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"Gotham Pro";
  src:url("../fonts/GothamPro-Bold.woff2") format("woff2");
  font-weight:700;font-style:normal;font-display:swap;
}

:root{
  --navy:#181E38;
  --purple:#4A209D;
  --orange:#F1681C;
  --cream:#FFFAE6;
  --olive:#B4BF93;
  --mint:#84C4A5;
  --s:1; /* stage scale, set by JS */
}

*{margin:0;padding:0;box-sizing:border-box;}
html,body,a,button,input,select{cursor:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAgCAYAAADjaQM7AAAABmJLR0QA/wD/AP+gvaeTAAADpUlEQVRIia2WXWgcVRTHf2dmEpKmmd3E1sZkNhbf/CxU+lIFUR8SxaKohYA+SU02pmikivRBCYhfYLBSs1nW+oEfD2lFREWsiBSKiGKLiEWpTajZj6bStJkN2bjN7j0+NKnJNtmdrPk/Def+z/ndM3PvnSsElN/jPYVFJ8pJFfNFaFPmO4DpTPt2tfURjHYhnFX0hXA8fXC5GhIIFPV2A/tLwpOAAhuuLCrPuPHk4KphOoDlT3jjAm1BJjZfNNU4mdoshygujluVEs//3dq2GhCAgudvjNxdGq8Is0QrepaTGB240HfNtUtilZJ0J3Z2g+ejNFTBzCm8GDKbBiVxbC7oAvka6KgCNi85LqbYEegVCbLsUg4u3aqW9bwDoDtvrM1elX0QMdsw5BTrN623DzftOz0FkJu5OFLfUPM60FQ9UFok0926rsGyjgDbSkbzCh9i5NVwIjma7Y28rKp7q0UZ5SHJ9nq7VHm7jO+iiAzOzZmYUyN/VLdQdDgUTz9hoTRXcNaq6t4aR77E8P2qEDArKnvceLoPwDGoLwFOLYUtwQ43QJgRlY8KVvGlcCyTXAg7qD2GmNVMuNyMfgHeLZraD5oTY37psKNSOCeVD5JKyouyT20OhGKpUyuZZCrqPS6Q+L+0RRoVZKQgOtI8nPp1CcyPel8B9wQsZBTyAvUB/Yctq/h0Y+zM73DpIL49YOKYinYJ2ECyovuSOoyxf/Z7vHsXYCcqJBSAN/NWfosYuR6oVZVnA8IA1mFxMBf12iwxZgeiI/NFFyunqu+JMTeH4qn+jYX2vArdwA+h88lPgH8C45SGOdjluInMOaBrZnektVgwW1UkbBkZX5+3f5L3T18u6NsTD4hKm6rskUMU/SjHge3BG5SQs/DY8FYyA2RWnp30CaRcvfpTSCLKUZXAsJxlyzuBNth0NHKTwB1GNSaJY3MARvSbgKAJEelsHBo/EQhmhD6FWcv5bz+GWtJHUE6WTRR+dBy51R1OHoUAd5AL/ZvDqD4KfOwOpScv1xnAiCXPlUkddeu4c/7zEAhmzxYfA9YrJlY65g4nPxPlteXyBO2XN1KzS2NlpANY2QnvT2AiFE/dtpJvqtfrFuUVWPhd6eehePr+Ul/ZzqbPRu4DrgOu6GqxwsOphFtT1wrSKegO17Q8vJyvbGd+1PsWuMWtqYvI/lP5ct4gWrGz6Z72G4C7QBNrASoLU9EnAWNsU+5+sjYwI2ZckANNQ2f+WivYv5dYY5cbm8JXAAAAAElFTkSuQmCC) 13 4, auto;}
html{-webkit-text-size-adjust:100%;}
html,body{background:var(--navy);}
body{
  font-family:"Gotham Pro",Arial,sans-serif;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

/* ---------- stage: fixed 1920 design space, scaled ---------- */
#spacer{width:100%;}
#stage{
  position:absolute;top:0;left:0;
  width:1920px;height:8201px;
  transform:scale(var(--s));
  transform-origin:top left;
}
#art{display:block;width:1920px;height:8201px;}

/* ---------- reveal animation (art + overlay) ---------- */
.rv{opacity:0;}
.rv-up{transform:translateY(46px);}
.rv-left{transform:translateX(-140px);}
.rv-right{transform:translateX(140px);}
.rv-tile{transform:none;}
.rv-fade{transform:none;} /* только проявление, без движения */

.rv.in{
  opacity:1;
  transform:none;
  transition:
    opacity 1s ease var(--d,0ms),
    transform 1.25s cubic-bezier(.16,1,.3,1) var(--d,0ms);
}
.rv-tile.in{transition:opacity 1.15s ease var(--d,0ms);}

/* звезда «18 июля» — медленное вращение */
.spin{
  transform-box:view-box;
  transform-origin:1500px 817px;
  animation:spin 46s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg);}}

@media (prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;filter:none;transition:none;}
  .spin{animation:none;}
}

/* ---------- overlay layer ---------- */
#overlay{position:absolute;inset:0;pointer-events:none;}
#overlay .hit{pointer-events:auto;}

/* form fields — exact geometry from Figma (x558 w823 h61, step 82) */
.field{
  position:absolute;left:558px;width:823px;height:61px;
  background:var(--purple);
  border:1.6px solid var(--cream);
  border-radius:14px;
  color:#fff;
  font:400 20px/61px "Gotham Pro",Arial,sans-serif;
  letter-spacing:.4px;
  text-align:center;
  outline:none;
  appearance:none;-webkit-appearance:none;
  transition:background .25s ease,border-color .25s ease;
}
.field::placeholder{color:#fff;opacity:1;}
.field:focus{background:#562BAF;border-width:2px;}
select.field{cursor:pointer;}
select.field:invalid{color:#fff;}
select.field option{color:var(--navy);background:var(--cream);font-size:16px;}

.f-name    {top:6601px;}
.f-attend  {top:6683px;}
.f-comment {top:6765px;}

/* submit — x819 y7040 w300 h64, оранжевая заливка как в макете */
.submit{
  position:absolute;left:819px;top:6860px;width:300px;height:64px;
  background:var(--orange);
  border:none;
  border-radius:16px;
  color:var(--cream);
  font:700 20px/64px "Gotham Pro",Arial,sans-serif;
  letter-spacing:.4px;text-transform:uppercase;text-align:center;
  cursor:pointer;
  transition:background .25s ease,color .25s ease,transform .25s ease;
}
.submit:hover{background:var(--cream);color:var(--orange);}
.submit:active{transform:scale(.97);}
.submit:disabled{opacity:.85;cursor:default;}

/* contact buttons — x733 w410 h62 */
.cbtn{
  position:absolute;left:733px;width:410px;height:62px;
  display:block;border-radius:14px;
  font:700 20px/58px "Gotham Pro",Arial,sans-serif;
  letter-spacing:.4px;text-transform:uppercase;text-align:center;
  text-decoration:none;
  transition:background .25s ease,color .25s ease,transform .25s ease;
}
.cbtn:hover{transform:translateY(-3px);}
.c-tg{
  top:7914px;
  background:var(--cream);color:var(--navy);
  border:2px solid var(--cream);line-height:58px;
}
.c-tg:hover{background:transparent;color:var(--cream);}
.c-tel{
  top:7997px;
  background:transparent;color:var(--cream);
  border:1.6px solid var(--cream);
}
.c-tel:hover{background:var(--cream);color:var(--navy);}

/* ---------- интро: Д&А + цветы ---------- */
#intro{
  position:fixed;inset:0;z-index:50;
  background:var(--navy);
  display:flex;align-items:center;justify-content:center;flex-direction:column;
  transition:opacity .8s ease,visibility .8s;
}
#intro .mono{
  font:400 clamp(6rem,18vw,15rem)/1 "Inkulinati",serif;
  color:var(--orange);
  opacity:0;transform:scale(1.06);
  transition:opacity 1s ease,transform 1.2s cubic-bezier(.16,1,.3,1);
}
#intro .date{
  margin-top:1.1em;
  font:500 clamp(.8rem,1.6vw,1.15rem)/1 "Gotham Pro",Arial,sans-serif;
  letter-spacing:.35em;text-transform:uppercase;color:var(--cream);
  opacity:0;transform:translateY(14px);
  transition:opacity .8s ease .4s,transform .8s ease .4s;
}
#intro .fl{
  position:absolute;opacity:0;transform:scale(.4);
  transition:opacity .9s ease var(--fd,0ms),transform 1.05s cubic-bezier(.16,1,.3,1) var(--fd,0ms);
}
#intro .fl svg{display:block;width:100%;height:100%;}
body.intro-run #intro .mono{opacity:1;transform:scale(1);}
body.intro-run #intro .date{opacity:1;transform:translateY(0);}
body.intro-run #intro .fl{opacity:1;transform:scale(1);}
body.intro-done #intro{opacity:0;visibility:hidden;pointer-events:none;}
body.intro-on{overflow:hidden;}
@media (prefers-reduced-motion:reduce){#intro{display:none;}}

/* boot: первый экран появляется мгновенно, без анимации */
body.boot .rv, body.boot .rv.in{transition:none !important;}

/* стрелки каруселей дресс-кода */
.arrow{
  position:absolute;width:55px;height:55px;
  background:none;border:none;padding:0;cursor:pointer;
  transition:transform .22s ease;
  -webkit-tap-highlight-color:transparent;
}
.arrow svg{display:block;width:100%;height:100%;overflow:visible;}
.arrow .ring{fill:transparent;stroke:#fff;stroke-width:1;
  transition:fill .22s ease,stroke .22s ease;}
.arrow .chev{fill:none;stroke:#fff;stroke-width:1;
  stroke-linecap:round;stroke-linejoin:round;transition:stroke .22s ease;}
.arrow:focus{outline:none;}
.arrow:focus-visible .ring{stroke:var(--orange);}
.arrow:hover .ring{fill:var(--orange);stroke:var(--orange);}
.arrow:active,.arrow.pop{transform:scale(.9);}

/* живые глаза в футере */
.eye{position:absolute;width:252px;height:120px;}
.eye svg{display:block;width:100%;height:100%;overflow:visible;}
.eye .lid{transform-origin:center;transform-box:fill-box;}
.eye.blink .lid{animation:blink .28s ease;}
@keyframes blink{0%{transform:scaleY(1)}45%{transform:scaleY(.05)}100%{transform:scaleY(1)}}
.e-l{left:647px;top:7592px;}
.e-r{left:978px;top:7592px;}

/* глаза в шапке — моргают */
.hero-eye .lid{transform-box:fill-box;transform-origin:center;}
.hero-eye.blink .lid{animation:blink .3s ease;}
@media (prefers-reduced-motion:reduce){.eye.blink .lid{animation:none;}}

/* львы у wish list — заливка при наведении */
.lion path{transition:fill 1.1s cubic-bezier(.22,1,.36,1);}
.lion:hover path{fill:#F1681C;}
.lion-hit{fill:transparent;pointer-events:all;cursor:pointer;}

/* кастомный селект «Буду на мероприятии» — раздвигает форму вниз */
.select-wrap{position:absolute;left:558px;top:6683px;width:823px;height:61px;z-index:5;}
.select-wrap.open{z-index:20;}
.select-btn{
  width:100%;height:61px;
  background:var(--purple);border:1.6px solid var(--cream);border-radius:14px;
  color:#fff;font:400 20px/57px "Gotham Pro",Arial,sans-serif;letter-spacing:.4px;text-align:center;
  cursor:pointer;transition:background .25s ease;
}
.select-btn.placeholder{color:#fff;}
.select-wrap.open .select-btn{background:#562BAF;}
.select-menu{
  position:absolute;left:0;top:69px;width:100%;
  display:flex;flex-direction:column;gap:8px;
  max-height:0;overflow:hidden;opacity:0;pointer-events:none;
  transition:max-height .34s cubic-bezier(.16,1,.3,1),opacity .28s ease;
}
.select-wrap.open .select-menu{max-height:150px;opacity:1;pointer-events:auto;}
.opt{
  flex:0 0 56px;border-radius:14px;
  background:var(--orange);color:var(--cream);
  font:400 19px/56px "Gotham Pro",Arial,sans-serif;letter-spacing:.4px;text-align:center;
  cursor:pointer;
  opacity:0;transform:translateY(-10px);
  transition:opacity .3s ease,transform .34s cubic-bezier(.16,1,.3,1),filter .18s ease;
}
.select-wrap.open .opt{opacity:1;transform:translateY(0);}
.select-wrap.open .opt:nth-child(1){transition-delay:.06s;}
.select-wrap.open .opt:nth-child(2){transition-delay:.13s;}
.opt:hover{filter:brightness(1.08);}

/* поля ниже селекта уезжают вниз, пока меню открыто */
.f-allergy,.f-comment,.submit{
  transition:transform .36s cubic-bezier(.16,1,.3,1),background .25s ease,color .25s ease;
}
body.attend-open .f-allergy,
body.attend-open .f-comment,
body.attend-open .submit{transform:translateY(128px);}

/* дресс-код: карусель (один кадр на ряд) */
.dc-frame{
  position:absolute;width:352px;height:423px;border-radius:6px;overflow:hidden;
  background:#0E1428;box-shadow:0 10px 34px rgba(0,0,0,.32);
}
.dc-frame img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;
  opacity:0;transition:opacity .55s ease;
}
.dc-frame img.on{opacity:1;}
.dc-girls{left:784px;top:4192px;}
.dc-men{left:784px;top:4872px;}

/* вишлист — живой текст */
.wishlist{
  position:absolute;left:650px;top:6150px;width:620px;
  color:#fff;text-align:center;
  font:400 20px/33px "Gotham Pro",Arial,sans-serif;letter-spacing:.2px;
}

/* локация — кликабельная область на Яндекс.Карты */
.map-link{
  position:absolute;left:675px;top:2227px;width:554px;height:651px;
  display:block;border-radius:50%;
  cursor:pointer;-webkit-tap-highlight-color:transparent;
}
.map-link::after{
  content:"открыть на карте";
  position:absolute;left:50%;bottom:-40px;transform:translateX(-50%);
  white-space:nowrap;
  font:500 14px/1 "Gotham Pro",Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;
  color:var(--orange);opacity:0;transition:opacity .25s ease;
}
.map-link:hover::after{opacity:1;}

/* form sent state */
body.sent .field{pointer-events:none;opacity:.75;}

/* ТОЛЬКО телефон/тач: крупнее фото дресс-кода (растут вниз, стрелки опускаются) */
@media (hover:none) and (pointer:coarse){
  /* на телефоне не полагаемся на scroll-обсервер — показываем все оверлеи сразу */
  #overlay .rv{opacity:1 !important;}
  .dc-frame{transform:scale(1.28);transform-origin:top center;box-shadow:none !important;background:transparent !important;}
  .plant-l{transform:translateX(64px);}
  .dc-stray{display:none !important;}
  /* стрелки дальше от фото */
  .arrow[data-grp="girls"]{top:4772px !important;}
  .arrow[data-grp="men"]{top:5562px !important;}
  /* мужской блок ниже (подпись + фото) — разводим Девушек и Мужчин */
  .dc-lbl-m{transform:translateY(120px);}
  .dc-men{top:4992px !important;}
  /* всю нижнюю часть (клетка, Wish list, анкета, контакты) опускаем на 200px —
     после фото появляется воздух перед фиолетовым */
  .dc-below{transform:translateY(200px);}
  .wishlist{top:6350px !important;}
  .f-name{top:6733px !important;}
  .select-wrap{top:6815px !important;}
  .f-comment{top:6897px !important;}
  .submit{top:6992px !important;}
  .eye.e-l,.eye.e-r{top:7792px !important;}
  .c-tg{top:8114px !important;}
  .c-tel{top:8197px !important;}
}

/* ============ МОБИЛЬНАЯ АДАПТИВНАЯ ВЁРСТКА (<=760px) ============ */
#mobile{display:none;}
/* десктоп: мотылёк машет крыльями, клевер качается на ветру */
.d-moth{transform-box:fill-box;transform-origin:center;animation:dflap 1.2s ease-in-out infinite;}
.d-clover{transform-box:fill-box;transform-origin:50% 88%;animation:dsway 5.4s ease-in-out infinite;}
@keyframes dflap{0%,100%{transform:scaleX(1)}50%{transform:scaleX(.62)}}
@keyframes dsway{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}

/* вылетающие оранжевые бабочки при отправке анкеты */
.bf-fly{position:fixed;bottom:12%;width:clamp(46px,7vw,74px);z-index:9999;pointer-events:none;will-change:transform,opacity;line-height:0;}
.bf-fly-l{left:8%;animation:flyL 2.3s cubic-bezier(.34,0,.5,1) forwards;}
.bf-fly-r{right:8%;animation:flyR 2.3s cubic-bezier(.34,0,.5,1) forwards;}
.bf-fly-wing{display:block;width:100%;height:auto;transform-origin:center;animation:bflap2 .28s ease-in-out infinite;}
@keyframes bflap2{0%,100%{transform:scaleX(1)}50%{transform:scaleX(.48)}}
@keyframes flyL{0%{transform:translate(0,24px) scale(.4) rotate(0);opacity:0}12%{opacity:1}100%{transform:translate(-46vw,-94vh) scale(1.05) rotate(-26deg);opacity:0}}
@keyframes flyR{0%{transform:translate(0,24px) scale(.4) rotate(0);opacity:0}12%{opacity:1}100%{transform:translate(46vw,-94vh) scale(1.05) rotate(26deg);opacity:0}}

/* ── Переключение десктоп/мобилка ──────────────────────────────────────
   Основной путь — JS-класс .m-mode на <html> (надёжно в Telegram WKWebView,
   где @media по ширине не срабатывает). Медиа-запрос ниже оставлен как
   фолбэк для окружений без JS. */
html.m-mode #stage,html.m-mode #spacer,html.m-mode #intro,html.m-mode #overlay{display:none !important;}
html.m-mode #mobile{display:block;position:relative;width:100%;overflow:hidden;}
@media (max-width:760px){
  #stage,#spacer,#intro{display:none !important;}
  #mobile{display:block;position:relative;width:100%;overflow:hidden;}
}
/* Мобильные стили — глобальные: они затрагивают только потомков #mobile,
   а он на десктопе display:none, поэтому визуально там ничего не меняют. */
html,body{background:var(--navy);overflow-x:hidden;}
  .m-sec{position:relative;padding:44px 22px;overflow:hidden;}
  .m-navy{background:var(--navy);} .m-purple{background:var(--purple);}
  .m-wrap{position:relative;z-index:2;max-width:600px;margin:0 auto;text-align:center;}
  .m-strip{display:block;width:100%;height:auto;margin:0;} .m-strip.tight{margin-top:-1px;margin-bottom:-1px;}
  .m-eyebrow{font:500 clamp(13px,3.6vw,15px)/1.4 "Gotham Pro",sans-serif;letter-spacing:.26em;text-transform:uppercase;color:var(--cream);margin-bottom:16px;}
  .m-title{font:400 clamp(2.5rem,12vw,3.8rem)/1.02 "Inkulinati",serif;color:var(--orange);margin:0 0 24px;}
  .m-body{font:400 clamp(16px,4.7vw,19px)/1.62 "Gotham Pro",sans-serif;color:#fff;margin:0 auto;max-width:33ch;}
  .m-body + .m-body{margin-top:18px;}
  .m-hero{position:relative;background:#B6A801;padding:54px 22px 18px;text-align:center;}
  .m-herotrans{position:relative;width:100%;margin-top:-1px;line-height:0;font-size:0;background:transparent;}
  .m-herostrip{display:block;width:100%;height:auto;}
  .m-illband{position:relative;width:100%;line-height:0;font-size:0;}
  .m-illbg{display:block;width:100%;height:auto;}
  .m-illrow{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:11%;padding:0;}
  .m-illrow img{width:auto;object-fit:contain;}
  .m-illrow img:nth-child(1){height:34%} .m-illrow img:nth-child(2){height:34%} .m-illrow img:nth-child(3){height:34%} .m-illrow img:nth-child(4){height:34%}
  .m-scatband{position:relative;width:100%;line-height:0;font-size:0;}
  .m-scatbg{display:block;width:100%;height:auto;}
  .m-scat{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40%;height:auto;}
  .m-butterfly{position:absolute;left:54.3%;top:39.5%;width:5.8%;transform:translate(-50%,-50%);z-index:4;}
  .bf-float{display:block;animation:bfloat 4.4s ease-in-out infinite;}
  .bf-wing{display:block;width:100%;height:auto;transform-origin:center;animation:bflap 1.2s ease-in-out infinite;}
  @keyframes bflap{0%,100%{transform:scaleX(1)}50%{transform:scaleX(.6)}}
  @keyframes bfloat{0%,100%{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-14%) rotate(6deg)}}
  .m-clover-anim{position:absolute;left:45.6%;top:64%;width:5.4%;transform:translate(-50%,-50%);z-index:4;}
  .m-clover-anim img{display:block;width:100%;height:auto;transform-origin:50% 92%;animation:sway 4.6s ease-in-out infinite;}
  @keyframes sway{0%,100%{transform:rotate(-4.5deg)}50%{transform:rotate(4.5deg)}}
  .m-orn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:56%;height:auto;}
  .m-clover{position:absolute;width:15%;height:auto;transform-origin:50% 80%;animation:cloversway 5.2s ease-in-out infinite;}
  .m-clover-tr{top:10%;right:6%;} .m-clover-bl{bottom:10%;left:6%;animation-duration:6.1s;animation-delay:-1.6s;}
  @keyframes cloversway{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}
  .m-archflower{display:block;width:clamp(30px,9vw,40px);height:auto;margin:16px auto 0;animation:spin 30s linear infinite;}
  .m-names{font:400 clamp(3.4rem,19vw,5.6rem)/.98 "Inkulinati",serif;color:var(--navy);margin:0;}
  .m-eyes{display:flex;justify-content:center;gap:min(7vw,34px);margin:26px auto 6px;} .m-eyes img{width:min(40%,160px);transform-origin:center;animation:mblink 5.2s infinite;}
  @keyframes mblink{0%,93%,100%{transform:scaleY(1)}96%{transform:scaleY(.08)}}
  .m-datewrap{position:absolute;right:3%;bottom:12%;width:48%;max-width:210px;margin:0;z-index:3;} .m-datewrap img{width:100%;display:block;animation:spin 46s linear infinite;}
  .m-plant{position:absolute;z-index:1;pointer-events:none;opacity:.97;} .m-plant.tl{top:24px;left:-14px;width:76px;} .m-plant.br{bottom:18px;right:-12px;width:68px;}
  .m-archbox{position:relative;display:inline-block;width:min(90%,360px);} .m-archbox>img{width:100%;display:block;}
  .m-archtxt{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:13% 14% 10%;}
  .m-archtxt .lbl{font:500 clamp(10px,2.9vw,12px)/1.4 "Gotham Pro",sans-serif;letter-spacing:.15em;text-transform:uppercase;color:#fff;}
  .m-archtxt .k30{font:400 clamp(2.6rem,15vw,3.6rem)/1 "Inkulinati",serif;color:#fff;margin:6px 0;}
  .m-archtxt .addr{font:400 clamp(11px,3vw,13px)/1.4 "Gotham Pro",sans-serif;color:#fff;}
  .m-archtxt .time{margin-top:14px;font:500 clamp(10px,2.8vw,12px)/1.5 "Gotham Pro",sans-serif;letter-spacing:.13em;text-transform:uppercase;color:#fff;}
  .m-archtxt .time b{display:block;font:400 1.6rem/1 "Inkulinati",serif;letter-spacing:0;}
  .m-maplink{display:inline-block;margin-top:24px;font:500 clamp(11px,3vw,13px)/1 "Gotham Pro",sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--cream);border:1.5px solid var(--cream);border-radius:12px;padding:14px 24px;text-decoration:none;} .m-maplink:active{background:var(--cream);color:var(--purple);}
  .m-dclabel{font:500 clamp(15px,4.2vw,17px)/1.4 "Gotham Pro",sans-serif;letter-spacing:.22em;text-transform:uppercase;color:#fff;margin:52px 0 30px;}
  /* 3D perspective carousel */
  .c3d{position:relative;height:clamp(330px,74vw,460px);perspective:1100px;margin:0 auto 8px;touch-action:pan-y;}
  .c3d-card{position:absolute;top:50%;left:50%;width:clamp(200px,52vw,260px);aspect-ratio:352/423;margin:0;border-radius:14px;overflow:hidden;
    transform-style:preserve-3d;transition:transform .55s cubic-bezier(.22,.61,.24,1),opacity .55s;will-change:transform;cursor:grab;background:#0E1428;box-shadow:0 22px 55px rgba(0,0,0,.55);}
  .c3d-card img{width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none;-webkit-user-drag:none;}
  .c3d.dragging .c3d-card{transition:none;} .c3d.dragging{cursor:grabbing;}
  .m-form{max-width:480px;margin:0 auto;}
  .m-field,.m-selbtn{width:100%;height:60px;margin-bottom:12px;background:var(--purple);border:1.6px solid var(--cream);border-radius:14px;color:#fff;font:400 clamp(15px,4vw,17px)/56px "Gotham Pro",sans-serif;text-align:center;outline:none;appearance:none;-webkit-appearance:none;padding:0 16px;}
  .m-field::placeholder{color:#fff;opacity:1;}
  .m-selwrap{position:relative;margin-bottom:12px;} .m-selbtn{margin-bottom:0;cursor:pointer;line-height:56px;}
  .m-selmenu{max-height:0;overflow:hidden;opacity:0;display:flex;flex-direction:column;gap:8px;transition:max-height .32s ease,opacity .26s ease,margin-top .32s ease;margin-top:0;}
  .m-selwrap.open .m-selmenu{max-height:180px;opacity:1;margin-top:10px;}
  .m-opt{height:56px;border-radius:12px;background:var(--orange);color:var(--cream);font:400 clamp(14px,3.8vw,16px)/56px "Gotham Pro",sans-serif;text-align:center;cursor:pointer;}
  .m-submit{width:100%;height:64px;margin-top:10px;background:var(--orange);border:none;border-radius:15px;color:var(--cream);font:700 clamp(15px,4vw,17px)/64px "Gotham Pro",sans-serif;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;} .m-submit:active{transform:scale(.98);}
  .m-lions{display:flex;justify-content:center;align-items:center;gap:18px;margin-bottom:22px;} .m-lions img{width:min(32%,130px);} .m-lions img.flip{transform:scaleX(-1);}
  .m-footeyes{display:flex;justify-content:center;gap:26px;margin-bottom:28px;} .m-footeyes img{width:min(30%,120px);transform-origin:center;animation:mblink 5.6s infinite;}
  .m-contact{display:block;max-width:360px;margin:0 auto 14px;height:62px;border-radius:14px;font:700 clamp(14px,3.6vw,16px)/58px "Gotham Pro",sans-serif;letter-spacing:.07em;text-transform:uppercase;text-align:center;text-decoration:none;}
  .m-tg{background:var(--cream);color:var(--navy);border:2px solid var(--cream);margin-top:34px;} .m-tel{background:transparent;color:var(--cream);border:1.6px solid var(--cream);line-height:58px;}
