@import url('https://fonts.googleapis.com/css2?family=Handlee&display=swap');

:root{--ink:#23313c;--muted:#74787c;--red:#d71920;--line:#e7e7e4;--soft:#f3f2f0}
*{box-sizing:border-box}html{background:#ddd9d3}body{margin:0;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);background:radial-gradient(circle at 50% 10%,#f5f3f0,#d5d0c9)}
button,a{font:inherit;color:inherit}.card{width:min(100%,520px);min-height:100vh;margin:auto;background:#fff;overflow:hidden;box-shadow:0 20px 80px rgba(0,0,0,.16)}
.hero{height:360px;display:grid;grid-template-columns:48% 52%;position:relative;background:#f5f4f1;overflow:hidden}
.hero-photo{overflow:hidden}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:51% 15%}
.hero-copy{position:relative;display:flex;flex-direction:column;justify-content:center;padding:34px 22px 0 20px;background:linear-gradient(90deg,rgba(247,246,243,.74),#f7f6f3 28%,#f8f7f4)}
.hero-copy h1{font-family:"Segoe Script","Brush Script MT",cursive;font-size:35px;font-weight:400;line-height:1.1;white-space:nowrap;margin:20px 0 8px;letter-spacing:-1.5px}
.claim{font-size:13px;letter-spacing:1.6px;white-space:nowrap}.claim b{color:var(--red);letter-spacing:2.5px}
.hamburger{position:absolute;right:15px;top:22px;width:42px;height:38px;border:0;background:transparent;display:grid;place-content:center;gap:5px;cursor:pointer}
.hamburger i{display:block;width:25px;height:2px;background:var(--ink);border-radius:5px}
.video{border:0;background:transparent;display:flex;align-items:center;gap:11px;text-align:left;margin-top:22px;padding:0;cursor:pointer}
.play{width:48px;height:48px;border-radius:50%;background:#394751;color:#fff;display:grid;place-items:center;padding-left:3px}
.video strong,.video small{display:block}.video strong{font-size:16px;font-weight:500}.video small{font-size:10px;color:#666;margin-top:3px}
.main{padding:18px 20px 22px;background:#fff}
.quick{display:grid;grid-template-columns:repeat(4,1fr);padding:0 0 18px;border-bottom:1px solid var(--line)}
.quick a,.quick button{border:0;background:transparent;text-decoration:none;text-align:center;padding:0;cursor:pointer}
.circle{width:58px;height:58px;border-radius:50%;background:var(--soft);display:block;margin:0 auto 8px;position:relative}
.quick small{font-size:11px;line-height:1.2}.circle:before,.circle:after{content:"";position:absolute}
.icon-phone:before{width:21px;height:10px;border:3px solid var(--ink);border-top:0;border-radius:0 0 18px 18px;transform:rotate(45deg);left:17px;top:21px}
.icon-mail:before{width:25px;height:17px;border:2px solid var(--ink);left:15px;top:19px;border-radius:2px}.icon-mail:after{width:16px;height:16px;border-left:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(-45deg);left:20px;top:14px}
.icon-wa:before{width:23px;height:23px;border:2px solid var(--ink);border-radius:50%;left:17px;top:15px}.icon-wa:after{content:"◔";font-size:19px;left:20px;top:16px}
.icon-person:before{width:13px;height:13px;border:2px solid var(--ink);border-radius:50%;left:17px;top:12px}.icon-person:after{content:"+";font-size:22px;left:31px;top:23px}
.location{min-height:76px;display:grid;grid-template-columns:1.5fr .68fr .78fr;align-items:center;border-bottom:1px solid var(--line)}
.address{display:flex;gap:10px;align-items:center;font-size:13px;line-height:1.35}.address strong{font-size:14px}.pin{width:24px;height:29px;border:2px solid var(--ink);border-radius:50% 50% 50% 0;transform:rotate(-45deg);margin-left:5px;position:relative}.pin:after{content:"";width:6px;height:6px;border:2px solid var(--ink);border-radius:50%;position:absolute;left:7px;top:7px}
.loc-action{height:44px;border:0;border-left:1px solid var(--line);background:transparent;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:7px;cursor:pointer}.loc-action small{font-size:10px}.route-icon{font-size:20px}.qr-mini{font-size:23px}
.modules{display:grid;gap:7px;padding-top:15px}.module{height:83px;border:0;background:#f7f6f4;border-radius:12px;display:grid;grid-template-columns:43% 1fr 22px;align-items:center;padding:0;overflow:hidden;text-align:left;cursor:pointer}.module img{width:100%;height:100%;object-fit:cover}.module>span{padding-left:18px}.module strong,.module small{display:block}.module strong{font-size:17px;font-weight:500;letter-spacing:-.3px}.module small{font-size:10px;color:#6e7377;margin-top:4px}.module>b{font-size:28px;font-weight:300}
footer{display:grid;grid-template-columns:1fr 1.2fr;align-items:center;padding:28px 8px 8px}.social{display:flex;gap:24px;align-items:center}.social a{text-decoration:none;font-weight:800;font-size:18px}.slogan{font-family:"Segoe Script","Brush Script MT",cursive;font-size:21px;line-height:1.05;text-align:center;transform:rotate(-3deg);position:relative}.slogan span{margin-left:26px}.slogan i{position:absolute;width:82px;height:3px;background:var(--red);right:7px;bottom:-8px;transform:rotate(-8deg)}
.drawer,.modal{position:fixed;inset:0;z-index:30;opacity:0;pointer-events:none;transition:.22s}.drawer.open,.modal.open{opacity:1;pointer-events:auto}.scrim{position:absolute;inset:0;border:0;background:rgba(17,20,22,.38);backdrop-filter:blur(5px)}
.drawer aside{position:absolute;right:0;top:0;width:min(84%,360px);height:100%;background:#fff;padding:65px 27px 28px;transform:translateX(100%);transition:.28s;box-shadow:-18px 0 60px rgba(0,0,0,.13)}.drawer.open aside{transform:none}
.x{position:absolute;right:18px;top:17px;width:40px;height:40px;border:0;background:transparent;font-size:31px;font-weight:200;cursor:pointer}.eyebrow{font-size:9px;letter-spacing:2.4px;color:#989b9d;font-weight:700}.drawer h2,.modal-card h2{font-size:29px;font-weight:400;letter-spacing:-1px;margin:7px 0 24px}
.drawer nav button{width:100%;border:0;border-bottom:1px solid var(--line);background:#fff;padding:14px 0;text-align:left;font-size:16px;cursor:pointer}.drawer nav button span{float:right;font-size:22px;color:#999}.drawer-actions{margin-top:22px}.drawer-actions button{display:block;width:100%;border:0;background:transparent;text-align:left;padding:10px 0;font-size:13px;cursor:pointer}.legal{position:absolute;bottom:26px;color:#999;font-size:10px}
.modal-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-45%);width:min(calc(100% - 34px),390px);background:#fff;border-radius:24px;padding:30px;transition:.22s}.modal.open .modal-card{transform:translate(-50%,-50%)}.modal-card>p:last-child{font-size:14px;line-height:1.6;color:#62676b}.qr-card{text-align:center}.qr-placeholder{font-size:150px;line-height:1;margin:8px}.qr-card strong{font-size:18px}
.toast{position:fixed;z-index:50;left:50%;bottom:20px;transform:translate(-50%,15px);background:#202a32;color:#fff;padding:11px 16px;border-radius:999px;font-size:12px;opacity:0;transition:.2s;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:430px){.hero{height:330px}.hero-copy{padding-left:15px}.hero-copy h1{font-size:30px}.claim{font-size:11px}.play{width:44px;height:44px}.main{padding-left:15px;padding-right:15px}.circle{width:53px;height:53px}.module{height:78px}.module strong{font-size:16px}.social{gap:18px}.slogan{font-size:19px}}
@media(min-width:620px){body{padding:28px 0}.card{border-radius:34px}}

/* =========================================================
   V2 TEST – approved direction
   Full-width hero + clean overlay + unified line icons
   ========================================================= */
.hero{
  height:360px;
  display:block;
  position:relative;
  overflow:hidden;
  background:#eeeae4;
}
.hero-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:35% 20%;
}
/* Brightens only the right side so text stays readable.
   Replace portrait-demo.jpg later with the final prepared hero image. */
.hero-light{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.04) 38%,
    rgba(249,248,245,.72) 59%,
    rgba(249,248,245,.96) 100%);
  pointer-events:none;
}
.hero-copy{
  position:absolute;
  z-index:3;
  left:50%;
  right:18px;
  top:0;
  bottom:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:34px 0 0 12px;
  background:none;
}
.hero-copy h1{
  font-family:"Segoe Script","Brush Script MT",cursive;
  font-size:35px;
  font-weight:400;
  line-height:1.05;
  white-space:nowrap;
  margin:18px 0 9px;
  letter-spacing:-1.5px;
}
.claim{font-size:13px;letter-spacing:1.45px;white-space:nowrap}
.claim b{color:var(--red);letter-spacing:2.5px}
.hamburger{
  position:absolute;
  z-index:5;
  right:22px;
  top:24px;
  width:42px;
  height:38px;
  border:0;
  background:transparent;
  display:grid;
  place-content:center;
  gap:5px;
  cursor:pointer;
}
.hamburger i{display:block;width:25px;height:2px;background:var(--ink);border-radius:6px}
.video{margin-top:22px}
.play svg{width:22px;height:22px;fill:#fff;stroke:none}

.quick .circle{
  width:58px;height:58px;border-radius:50%;
  background:var(--soft);
  display:grid;
  place-items:center;
  margin:0 auto 8px;
}
.quick .circle svg{
  width:29px;height:29px;
  fill:none;
  stroke:var(--ink);
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.quick small{font-size:11px;line-height:1.2}
.icon-phone:before,.icon-phone:after,
.icon-mail:before,.icon-mail:after,
.icon-wa:before,.icon-wa:after,
.icon-person:before,.icon-person:after{display:none!important}

@media(max-width:430px){
  .hero{height:335px}
  .hero-bg{object-position:33% 18%}
  .hero-copy{left:49%;right:12px;padding-left:10px}
  .hero-copy h1{font-size:29px}
  .claim{font-size:10.5px;letter-spacing:1.15px}
  .claim b{letter-spacing:2px}
  .hamburger{right:14px;top:18px}
  .quick .circle{width:53px;height:53px}
  .quick .circle svg{width:27px;height:27px}
}

/* V2.1 MASTER – final approved visual direction */
.hero{
  height:365px !important;
  background:#f7f6f2 !important;
}
.hero-bg{
  object-fit:cover !important;
  object-position:left center !important;
  width:58% !important;
  right:auto !important;
}
.hero-light{
  background:
    linear-gradient(90deg,
      rgba(247,246,242,0) 0%,
      rgba(247,246,242,.08) 34%,
      rgba(247,246,242,.68) 53%,
      rgba(247,246,242,.98) 72%,
      #f7f6f2 100%) !important;
}
.hero-copy{
  left:50% !important;
  right:20px !important;
  padding-left:18px !important;
  padding-top:40px !important;
}
.hero-copy h1{
  color:#102f49 !important;
  font-size:37px !important;
}
.claim{color:#102f49 !important}
.top-pill{
  position:absolute;
  z-index:6;
  top:13px;
  left:50%;
  transform:translateX(-50%);
  width:108px;
  height:34px;
  border-radius:22px;
  background:#050505;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);
}
.top-pill i{
  position:absolute;
  right:12px;
  top:12px;
  width:8px;height:8px;
  border-radius:50%;
  background:#10202a;
  box-shadow:0 0 0 2px #091016;
}
.hamburger{
  top:22px !important;
  right:22px !important;
}
.hamburger i{
  width:27px !important;
  height:2px !important;
  background:#12334b !important;
}
.play{background:#183b55 !important}
.quick .circle{
  background:#f1f1ef !important;
  box-shadow:none !important;
}
.quick .circle svg{
  width:28px !important;
  height:28px !important;
  fill:none !important;
  stroke:#12334b !important;
  stroke-width:1.7 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
.quick a,.quick button{color:#183246 !important}
.module{background:#f7f6f4 !important}
.module strong{color:#17364e !important}
@media(max-width:430px){
  .hero{height:340px !important}
  .hero-bg{width:61% !important;object-position:42% center !important}
  .hero-copy{left:48% !important;right:10px !important;padding-left:14px !important}
  .hero-copy h1{font-size:30px !important}
  .top-pill{width:96px;height:31px;top:10px}
  .hamburger{right:12px !important;top:17px !important}
}

/* V2.2 CLEAN — no fake phone chrome, coherent contact icons */
.top-pill{display:none!important}
.hero{height:365px!important}
.hero-bg{
  width:62%!important;
  object-position:42% center!important;
}
.hero-light{
  background:linear-gradient(90deg,
    rgba(247,246,242,0) 0%,
    rgba(247,246,242,.03) 34%,
    rgba(247,246,242,.40) 48%,
    rgba(247,246,242,.88) 64%,
    #f7f6f2 79%,
    #f7f6f2 100%)!important;
}
.hero-copy{left:50%!important;padding-top:22px!important}
.hamburger{top:20px!important;right:20px!important}
.quick{padding-top:3px}
.quick .circle{
  width:58px!important;height:58px!important;
  background:#f3f3f1!important;
  display:grid!important;place-items:center!important;
}
.quick .circle svg{
  width:27px!important;height:27px!important;
  fill:none!important;stroke:#213746!important;
  stroke-width:1.65!important;
  stroke-linecap:round!important;stroke-linejoin:round!important;
}
.quick a,.quick button{transition:transform .12s ease}
.quick a:active,.quick button:active{transform:scale(.96)}
@media(max-width:430px){
  .hero{height:340px!important}
  .hero-bg{width:64%!important;object-position:44% center!important}
  .hero-copy{left:48%!important;padding-top:18px!important}
  .hamburger{top:16px!important;right:12px!important}
  .quick .circle{width:54px!important;height:54px!important}
  .quick .circle svg{width:25px!important;height:25px!important}
}

/* V2.3 CLEAN MASTER — more breathing room, approved icon language */
.card{background:#fff}
.hero{height:390px!important}
.hero-bg{width:65%!important;object-position:44% center!important}
.hero-light{
 background:linear-gradient(90deg,
 rgba(247,246,242,0) 0%,
 rgba(247,246,242,.03) 35%,
 rgba(247,246,242,.32) 49%,
 rgba(247,246,242,.82) 64%,
 #f7f6f2 80%,#f7f6f2 100%)!important
}
.hero-copy{left:51%!important;right:22px!important;padding-left:16px!important}
.hero-copy h1{font-size:36px!important}
.main{padding:22px 24px 30px!important}
.quick{padding:2px 0 24px!important}
.quick .circle{width:62px!important;height:62px!important;margin-bottom:10px!important;background:#f2f2f0!important}
.quick .circle svg{width:29px!important;height:29px!important;stroke:#0c2e49!important;stroke-width:1.65!important;fill:none!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.quick small{font-size:11.5px!important}
.location{min-height:88px!important}
.modules{gap:10px!important;padding-top:20px!important}
.module{height:92px!important;border-radius:13px!important}
.module>span{padding-left:20px!important}
.module strong{font-size:18px!important}
.module small{font-size:11px!important;margin-top:5px!important}
footer{padding:34px 10px 15px!important}
@media(max-width:430px){
 .hero{height:355px!important}
 .hero-bg{width:67%!important}
 .hero-copy{left:49%!important;right:12px!important}
 .hero-copy h1{font-size:30px!important}
 .main{padding:20px 17px 27px!important}
 .quick{padding-bottom:22px!important}
 .quick .circle{width:56px!important;height:56px!important}
 .quick .circle svg{width:26px!important;height:26px!important}
 .location{min-height:82px!important}
 .modules{gap:9px!important;padding-top:18px!important}
 .module{height:86px!important}
 .module>span{padding-left:16px!important}
 .module strong{font-size:17px!important}
 .module small{font-size:10px!important}
 footer{padding-top:31px!important}
}

/* V2.4 FINAL CLEAN TEST */
.top-pill{display:none!important}
.hero{height:390px!important}
.hero-bg{
  width:65%!important;
  object-position:44% center!important;
}
.hero-light{
  background:linear-gradient(90deg,
    rgba(247,246,242,0) 0%,
    rgba(247,246,242,.02) 35%,
    rgba(247,246,242,.30) 49%,
    rgba(247,246,242,.82) 64%,
    #f7f6f2 80%,
    #f7f6f2 100%)!important;
}
.quick .circle{
  width:62px!important;
  height:62px!important;
  display:grid!important;
  place-items:center!important;
  background:#f2f2f0!important;
}
.quick .std-icon{
  display:block!important;
  width:27px!important;
  height:27px!important;
  object-fit:contain!important;
  opacity:.92;
}
.quick svg{display:none!important}
@media(max-width:430px){
  .hero{height:355px!important}
  .quick .circle{width:56px!important;height:56px!important}
  .quick .std-icon{width:25px!important;height:25px!important}
}

/* V2.5 — ONLY QR VISUALS CHANGED. MASTER LAYOUT FROZEN. */
.qr-mini{display:none!important}
.qr-icon-wrap{
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  flex:0 0 26px;
}
.qr-icon{
  width:22px;
  height:22px;
  display:block;
  opacity:.94;
}
.qr-placeholder{
  display:grid!important;
  place-items:center!important;
}
.qr-modal-icon{
  width:132px;
  height:132px;
  display:block;
  opacity:.94;
}

/* V2.7 — verified target: button.video#videoBtn */
.hero-copy .video#videoBtn{
  position: relative !important;
  left: 10px !important;
  top: 14px !important;
}

/* V3.1 DATABASE – helper UI only; frozen card design remains unchanged */
.dev-switcher{
 position:fixed;z-index:9999;left:12px;bottom:12px;
 display:flex;align-items:center;gap:5px;
 padding:8px 10px;border-radius:10px;background:#0c2e49;color:#fff;
 font:12px/1.2 Arial,sans-serif;box-shadow:0 4px 18px #0003
}
.dev-switcher a{
 color:#0c2e49;background:#fff;text-decoration:none;
 border-radius:7px;padding:6px 9px
}
.drawer-qr-icon{width:16px;height:16px;vertical-align:-3px}

/* V3.4 — portrait-first start version */
.hero{
  height:auto!important;
  display:block!important;
  position:relative!important;
  overflow:hidden!important;
  background:#ecebe7!important;
}
.hero-bg{
  position:relative!important;
  inset:auto!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center top!important;
}
.hero-light,.hero-copy{display:none!important}
.hero-identity{
  position:absolute;
  z-index:3;
  left:28px;
  right:28px;
  bottom:22px;
  text-align:center;
  color:#fff;
  text-shadow:0 2px 14px rgba(0,0,0,.5);
}
.hero-identity:before{
  content:"";
  position:absolute;
  z-index:-1;
  left:-28px;right:-28px;bottom:-22px;
  height:150px;
  background:linear-gradient(transparent,rgba(0,0,0,.48));
}
.hero-identity h1{
  margin:0;
  font-family:"Segoe Script","Brush Script MT",cursive;
  font-size:42px;
  line-height:1.08;
  font-weight:400;
  letter-spacing:-1.2px;
}
.hero-title{margin-top:5px;font-size:13px;letter-spacing:3px;font-weight:400}
.hamburger{z-index:5!important}
.main{padding-top:32px!important}
.quick{padding-top:4px!important;padding-bottom:28px!important}
.modules{padding-top:20px!important}
.module{text-decoration:none;color:inherit}
.module-doc-icon{height:100%;display:grid;place-items:center;background:#f0f0ed}
.module-doc-icon img{width:34px!important;height:34px!important;object-fit:contain!important;opacity:.86}
.drawer nav .drawer-link{display:block;width:100%;border-bottom:1px solid var(--line);background:#fff;padding:14px 0;text-align:left;font-size:16px;color:inherit;text-decoration:none}
.drawer nav .drawer-link span{float:right;font-size:22px;color:#999}
@media(max-width:430px){
 .hero{height:auto!important}
 .hero-bg{width:100%!important;height:auto!important;object-position:center top!important}
 .hero-identity{left:18px;right:18px;bottom:18px}
 .hero-identity h1{font-size:34px}
 .hero-title{font-size:11px;letter-spacing:2.5px}
 .main{padding-top:28px!important}
}

/* V3.5 — approved portrait reference: real media, existing DB/admin/importer unchanged */
.hero{
  height:auto!important;
  min-height:0!important;
  display:block!important;
  position:relative!important;
  overflow:hidden!important;
  background:#ecebe7!important;
}
.hero-bg{
  position:relative!important;
  inset:auto!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center top!important;
}
.hero:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:42%;
  background:linear-gradient(to bottom,rgba(0,0,0,0),rgba(0,0,0,.10) 40%,rgba(0,0,0,.48) 100%);
  pointer-events:none;
  z-index:1;
}
.hero-identity{
  position:absolute!important;
  z-index:3!important;
  left:28px!important;
  right:82px!important;
  bottom:24px!important;
  text-align:left!important;
  color:#fff!important;
  text-shadow:0 2px 16px rgba(0,0,0,.55)!important;
}
.hero-identity:before{display:none!important}
.hero-identity h1{
  margin:0!important;
  font-family:"Segoe Script","Brush Script MT",cursive!important;
  font-size:44px!important;
  line-height:1.02!important;
  font-weight:400!important;
  letter-spacing:-1.7px!important;
}
.hero-title{
  margin-top:8px!important;
  font-size:13px!important;
  line-height:1.35!important;
  letter-spacing:2.1px!important;
  font-weight:400!important;
  max-width:360px!important;
}
.hamburger{
  z-index:5!important;
  top:22px!important;
  right:22px!important;
  width:46px!important;
  height:46px!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.90)!important;
  box-shadow:0 4px 18px rgba(0,0,0,.08)!important;
}
.hamburger i{background:#17364e!important}
.main{padding:30px 24px 24px!important}
.quick{padding:8px 0 30px!important}
.quick .circle{width:62px!important;height:62px!important;margin-bottom:12px!important;background:#f2f2f0!important}
.quick .std-icon{width:27px!important;height:27px!important;opacity:.96!important}
.quick small{font-size:12px!important;color:#183246!important}
.location{min-height:94px!important}
.modules{gap:10px!important;padding-top:22px!important}
.module{height:92px!important;border-radius:14px!important;background:#f7f6f4!important;text-decoration:none!important;color:inherit!important}
.module>img{width:100%!important;height:100%!important;object-fit:cover!important}
.module>span{padding-left:20px!important}
.module strong{font-size:18px!important;color:#17364e!important}
.module small{font-size:11px!important;margin-top:5px!important;color:#777!important}
.module-doc-icon{height:100%!important;display:grid!important;place-items:center!important;background:#f0f0ed!important}
.module-doc-icon img{width:38px!important;height:38px!important;object-fit:contain!important;opacity:.88!important}
.powered-footer{
  display:block!important;
  padding:28px 0 8px!important;
  border-top:1px solid var(--line)!important;
  margin-top:20px!important;
  text-align:center!important;
  color:#7a7f83!important;
  font-size:12px!important;
  letter-spacing:.1px!important;
}
.powered-footer strong{color:#17364e!important;font-size:14px!important}
@media(max-width:430px){
  .hero-identity{left:20px!important;right:68px!important;bottom:18px!important}
  .hero-identity h1{font-size:35px!important;letter-spacing:-1.4px!important}
  .hero-title{font-size:11px!important;letter-spacing:1.65px!important;margin-top:6px!important}
  .hamburger{top:15px!important;right:14px!important;width:43px!important;height:43px!important}
  .main{padding:28px 17px 24px!important}
  .quick{padding:8px 0 27px!important}
  .quick .circle{width:56px!important;height:56px!important}
  .quick .std-icon{width:25px!important;height:25px!important}
  .quick small{font-size:11px!important}
  .location{min-height:86px!important}
  .modules{padding-top:19px!important;gap:9px!important}
  .module{height:86px!important}
  .module>span{padding-left:16px!important}
  .module strong{font-size:17px!important}
  .module small{font-size:10px!important}
}

/* V3.5.1 — HERO FIX: stable on iOS + desktop, full-width, proportional */
.hero{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:300px!important;
  overflow:hidden!important;
  background:#ecebe7!important;
}
.hero-bg{
  position:relative!important;
  display:block!important;
  inset:auto!important;
  width:100%!important;
  height:auto!important;
  min-height:300px!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center top!important;
  background:#ecebe7!important;
}
@media(max-width:430px){
  .hero{min-height:280px!important}
  .hero-bg{min-height:280px!important;width:100%!important;height:auto!important;object-fit:contain!important}
}


/* V3.5.3 — quieter handwritten consultant name, consistent across devices */
.hero-identity h1{
  font-family:"Handlee","Segoe Print","Comic Sans MS",cursive!important;
  font-weight:400!important;
  font-style:normal!important;
  letter-spacing:-.25px!important;
  line-height:1.04!important;
}
@media(max-width:430px){
  .hero-identity h1{
    font-size:35px!important;
    letter-spacing:-.15px!important;
  }
}

/* V3.5.4 — real QR + contact export */
#saveContact{appearance:none;border:0;background:none;color:inherit;font:inherit;text-decoration:none;cursor:pointer;padding:0;display:flex;flex-direction:column;align-items:center;gap:7px}
.qr-tabs{display:flex;gap:6px;background:#f1f2f3;border-radius:12px;padding:4px;margin:14px auto 12px;max-width:250px}
.qr-tab{flex:1;border:0;background:transparent;border-radius:9px;padding:8px 10px;font:600 13px/1.1 system-ui,-apple-system,"Segoe UI",sans-serif;color:#5b6470;cursor:pointer}
.qr-tab.active{background:#fff;color:#15253a;box-shadow:0 1px 5px rgba(20,35,55,.12)}
.qr-live{width:220px;height:220px;margin:8px auto 14px;background:#fff;border-radius:14px;padding:10px;display:flex;align-items:center;justify-content:center;box-sizing:border-box}
.qr-live img,.qr-live canvas{max-width:100%!important;max-height:100%!important;width:200px!important;height:200px!important}


/* V3.6 – Social Media: only existing links render; flex automatically closes gaps */
.social-links{display:flex;align-items:center;justify-content:center;gap:30px;padding:18px 8px;border-bottom:1px solid var(--line)}
.social-links a{display:flex;align-items:center;gap:7px;color:#183246;text-decoration:none;font-size:11px;font-weight:600}
.social-links img{width:21px;height:21px;display:block;opacity:.88}
@media(max-width:430px){.social-links{gap:22px;padding:17px 4px}.social-links a{font-size:10.5px}.social-links img{width:20px;height:20px}}


/* V3.7.1 — optional profile video: visible only when a video is assigned */
.video-cta{width:100%;border:0;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;gap:13px;padding:14px 4px 16px;text-align:left;cursor:pointer}
.video-play{width:46px;height:46px;flex:0 0 46px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:15px;padding-left:2px}
.video-cta strong,.video-cta small{display:block}.video-cta strong{font-size:15px;font-weight:500}.video-cta small{font-size:10px;color:#74787c;margin-top:3px}
.video-card{padding:14px;background:#111;width:min(calc(100% - 28px),390px);border-radius:22px}
.video-card .x{z-index:2;color:#fff;background:rgba(0,0,0,.42);border-radius:50%;right:20px;top:20px}
.video-card video{display:block;width:100%;max-height:78vh;aspect-ratio:9/16;object-fit:contain;background:#000;border-radius:14px}
\n\n/* V3.9 — content modal polish / iOS Safari blur timing */\nbody.content-modal-prep::after,\nbody.modal-open::after{\n  content:"";position:fixed;inset:0;z-index:29;pointer-events:none;\n  background:rgba(17,20,22,.38);\n  -webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);\n}\n/* The modal's own scrim no longer has to create the blur after it appears. */\n#modal .scrim{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}\n#modal{transition:opacity .18s ease}\n#modal .modal-card{transition:transform .22s ease,opacity .18s ease;opacity:0}\n#modal.open .modal-card{opacity:1}\n@media (prefers-reduced-motion:reduce){#modal,#modal .modal-card{transition:none}}\n
/* V5.1.1 Campaign Lightbox */
.campaign-modal[hidden]{display:none!important}.campaign-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:22px}.campaign-backdrop{position:absolute;inset:0;background:rgba(9,20,27,.72);backdrop-filter:blur(7px)}.campaign-box{position:relative;z-index:1;width:min(92vw,430px);max-height:88vh;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 25px 80px rgba(0,0,0,.35);display:flex;flex-direction:column}.campaign-box img{display:block;width:100%;max-height:78vh;object-fit:contain;background:#f2f2f0}.campaign-close{position:absolute;right:12px;top:12px;width:34px;height:34px;border:0;border-radius:50%;background:rgba(255,255,255,.92);font-size:24px;line-height:30px;color:#17384f;cursor:pointer;z-index:2}.campaign-cta{margin:12px 14px 14px;padding:12px 16px;border-radius:11px;background:#17384f;color:#fff;text-decoration:none;text-align:center;font-size:13px}.campaign-open{overflow:hidden}

/* V5.3 Campaign Video */
.campaign-video{display:block;width:100%;max-height:78vh;aspect-ratio:9/16;object-fit:contain;background:#000}

/* V5.4 Personal / Global Card Video */
.hero-video-play{position:absolute;right:18px;bottom:22px;z-index:4;border:0;background:rgba(255,255,255,.94);color:#17384f;border-radius:999px;height:46px;padding:0 15px 0 9px;display:flex;align-items:center;gap:8px;box-shadow:0 8px 28px rgba(0,0,0,.2);cursor:pointer}.hero-video-play span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#17384f;color:#fff;font-size:11px;padding-left:2px}.hero-video-play small{font-size:9px;font-weight:700;letter-spacing:.1em}.card-video-modal[hidden]{display:none!important}.card-video-modal{position:fixed;inset:0;z-index:10020;display:flex;align-items:center;justify-content:center;padding:22px}.card-video-backdrop{position:absolute;inset:0;background:rgba(9,20,27,.78);backdrop-filter:blur(7px)}.card-video-box{position:relative;z-index:1;width:min(92vw,430px);max-height:88vh;border-radius:20px;overflow:hidden;background:#000;box-shadow:0 25px 80px rgba(0,0,0,.4)}.card-video-box video{display:block;width:100%;max-height:88vh;aspect-ratio:9/16;object-fit:contain;background:#000}.card-video-close{position:absolute;right:12px;top:12px;z-index:3;width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.94);color:#17384f;font-size:25px;cursor:pointer}.card-video-open{overflow:hidden}

/* V5.4.1 – persönlicher Video-Hinweis im Hero */
.hero-video-invite{position:absolute;right:18px;top:56%;z-index:4;width:150px;height:128px;pointer-events:none;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.35)}
.hero-video-note{position:absolute;right:3px;top:0;font-family:"Segoe Print","Bradley Hand","Comic Sans MS",cursive;font-size:18px;line-height:1.08;font-weight:400;transform:rotate(-5deg);text-align:center;white-space:nowrap}
.hero-video-arrow{position:absolute;right:72px;top:51px;font-family:"Segoe Print","Bradley Hand",cursive;font-size:38px;line-height:1;transform:rotate(8deg);font-weight:300}
.hero-video-invite .hero-video-play{pointer-events:auto;position:absolute;right:0;bottom:0;width:58px;height:58px;padding:0;border:2px solid rgba(255,255,255,.96);border-radius:50%;background:rgba(18,48,68,.92);display:grid;place-items:center;box-shadow:0 7px 22px rgba(0,0,0,.26);cursor:pointer;transition:transform .18s ease,background .18s ease}
.hero-video-invite .hero-video-play:hover{transform:scale(1.05);background:rgba(18,48,68,.98)}
.hero-video-invite .hero-video-play span{width:auto;height:auto;border:0;border-radius:0;background:none;color:#fff;font-size:18px;line-height:1;padding-left:3px}
@media(max-width:420px){.hero-video-invite{right:14px;top:51%;transform:scale(.9);transform-origin:right center}}
@media(max-width:360px){.hero-video-invite{top:46%;transform:scale(.82)}}
/* Die Identität behält unten ihre eigene Zone; der Videohinweis sitzt deutlich darüber. */

/* V5.4.2 – plattformfester, geschwungener SVG-Pfeil */
.hero-video-arrow{position:absolute;right:58px;top:43px;width:64px;height:58px;overflow:visible;transform:none;font-size:0;text-shadow:none}
.hero-video-arrow path{fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 2px 4px rgba(0,0,0,.22))}
@media(max-width:420px){.hero-video-arrow{right:58px;top:43px;width:64px;height:58px}}

/* V5.5.1 – CLEVER.me Kartenbranding analog Admin */
.cleverme-card-brand{display:flex;justify-content:center;align-items:baseline;padding:20px 12px 24px;background:transparent;color:#17384f;text-align:center}
.cleverme-card-brand b{font-size:18px;font-weight:800;letter-spacing:-.04em;line-height:1}
.cleverme-card-brand b span{font-weight:300}

/* V5.5.2 – CLEVER.me Brandfarben */

/* V5.5.3 – CLEVER.me final: Anthrazit + Rot */

/* V5.5.4 – Kartenbranding dezenter; Admin unverändert */
.cleverme-card-brand{padding:18px 12px 22px!important;opacity:.86}
.cleverme-card-brand b{font-size:16px!important;font-weight:600!important;letter-spacing:-.025em!important}
.cleverme-card-brand b span{font-weight:500!important}

/* V5.7 – CLEVER.me PWA / Home-Bildschirm */
.install-app-btn{display:flex!important;align-items:center!important}
.install-app-icon{display:inline-grid;place-items:center;width:21px;height:21px;border:1px solid currentColor;border-radius:6px;font-size:16px;line-height:1}
#installHelpModal[hidden]{display:none!important}
.install-help-card{max-width:390px}
.install-help-card p{line-height:1.55}

/* V5.7.4 – Adresse als Route + Modul-Ausrichtung */
.location.location-v574{grid-template-columns:1fr auto!important}
.address-route{min-width:0;align-self:stretch;padding:0 14px 0 5px;color:inherit;text-decoration:none;cursor:pointer}
.address-route .address-lines{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;line-height:1.35;text-align:left}
.address-route .address-lines strong,.address-route .address-lines span{display:block;text-align:left}
.location-v574 #qrOpen{width:92px;border-left:1px solid var(--line)}
/* Dokumente nutzt seit V5.7.2 ebenfalls ein Bild; Textblock exakt wie bei den übrigen Modulen zentrieren. */
.module>span{align-self:center!important;display:flex!important;flex-direction:column!important;justify-content:center!important;height:100%!important;box-sizing:border-box}

/* V5.7.5 – kompakter Kartenabschluss
   Desktop: Karte endet nach dem Branding statt künstlich auf Viewport-Höhe.
   Mobile bleibt mindestens bildschirmhoch. */
@media (min-width:521px){
  .card{min-height:0!important;border-radius:0 0 32px 32px}
  .cleverme-card-brand{padding-bottom:34px!important}
}

/* V5.7.6 – Footer Feinschliff */
@media (min-width:521px){
  .powered-footer.cleverme-card-brand{
    margin-top:20px!important;
    padding:20px 12px 22px!important;
  }
}

/* V5.7.7 – Footer FINAL kompakt */
@media (min-width:521px){
  .powered-footer.cleverme-card-brand{
    margin-top:20px!important;
    padding:18px 12px 12px!important;
  }
  .card{padding-bottom:0!important}
}

/* V5.7.8 – Module Alignment FINAL
   Textbereich ohne erzwungene 100%-Hoehe; alle Bildmodule sauber vertikal zentriert. */
.module>span{
  height:auto!important;
  min-height:0!important;
  align-self:center!important;
  display:block!important;
  padding-top:0!important;
  padding-bottom:0!important;
}
.module>span strong,.module>span small{
  display:block!important;
}

/* V5.7.9 – Module Structure Fix
   Media, Text und Pfeil sind bewusst getrennte Grid-Bereiche. */
.module.module-v579{
  display:grid!important;
  grid-template-columns:43% minmax(0,1fr) 22px!important;
  align-items:stretch!important;
  height:78px!important;
}
.module-v579>.module-media{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  padding:0!important;
  overflow:hidden!important;
  align-self:stretch!important;
}
.module-v579>.module-media>img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.module-v579>.module-media>.module-doc-icon{
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  height:100%!important;
  padding:0!important;
  background:#f0f0ed!important;
}
.module-v579>.module-media>.module-doc-icon>img{
  width:32px!important;
  height:32px!important;
  object-fit:contain!important;
}
.module-v579>.module-copy{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  padding:0 0 0 18px!important;
  align-self:stretch!important;
  overflow:hidden!important;
  text-align:left!important;
}
.module-v579>.module-copy strong,
.module-v579>.module-copy small{
  display:block!important;
  width:100%!important;
  flex:none!important;
}
.module-v579>.module-arrow{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:stretch!important;
}

/* V5.8 – CLEVER.me Share Card */
#shareCardModal[hidden]{display:none!important}
.share-card-box{width:min(calc(100% - 28px),430px)!important;padding:24px!important}
.share-card-preview{width:min(210px,55vw);margin:14px auto 18px;border-radius:16px;overflow:hidden;box-shadow:0 8px 30px rgba(0,0,0,.14);background:#eee}
.share-card-preview canvas{display:block;width:100%;height:auto;aspect-ratio:9/16}
.share-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.share-card-actions button{border:0;border-radius:12px;padding:13px 10px;font-weight:700;cursor:pointer;background:#2f3437;color:#fff}
.share-card-actions button+button{background:#f0efec;color:#2f3437}
.share-card-hint{text-align:center!important;font-size:11px!important;color:#858b8e!important;margin:12px 0 0!important}

/* V5.8.2 – Ghostbusters Fix: Share-Card-Modal wirklich vorhanden und über dem Drawer */
.share-card-modal{z-index:120!important}
body.share-card-open{overflow:hidden}


/* V5.10.11 – globales zweizeiliges Footer-Branding */
.footer-branding-v511{display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:6px!important;text-align:center!important}
.footer-branding-v511 .footer-slogan{font-size:10px!important;font-weight:600!important;letter-spacing:.12em!important;line-height:1.35!important;text-transform:uppercase}
.footer-branding-v511 b{display:block!important;line-height:1!important}
.footer-branding-v511 .footer-brand-part1,.footer-branding-v511 .footer-brand-part2{font:inherit!important}

/* V5.10.12 – Footer Polish: mehr Luft, feinere Typografie, klarere Marken-Hierarchie */
.footer-branding-v511{
  gap:9px!important;
  padding-top:23px!important;
}
.footer-branding-v511 .footer-slogan{
  font-size:9px!important;
  font-weight:500!important;
  letter-spacing:.16em!important;
  line-height:1.45!important;
}
.footer-branding-v511 b{
  font-size:16px!important;
  font-weight:650!important;
  letter-spacing:-.025em!important;
  line-height:1.05!important;
}
.footer-branding-v511 .footer-brand-part1{font-weight:650!important}
.footer-branding-v511 .footer-brand-part2{font-weight:550!important}
@media (max-width:520px){
  .footer-branding-v511{gap:8px!important;padding-top:22px!important}
}


/* V5.10.13 – Footer Brandfarben: alte globale span-Regel gezielt uebersteuern */
.footer-branding-v511 .footer-brand-part1{color:var(--footer-brand-color1,#2f3437)!important}
.footer-branding-v511 .footer-brand-part2{color:var(--footer-brand-color2,#b3262d)!important}
