:root{--dark:#10050c;--wine:#3c0827;--pink:#e5006d;--gold:#f9cd72;--cream:#fff9ed;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--dark)}body{margin:0;color:var(--cream);font-family:Inter,system-ui,-apple-system,'Segoe UI',Arial,sans-serif;background:#080307}
button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:var(--gold)}body.dialog-open{overflow:hidden}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;padding:0!important;border:0!important;margin:-1px!important}
.skip{position:absolute;top:-100px;left:16px;z-index:100;background:#ffe1a2;color:#1c0714;padding:11px 16px;border-radius:9px}.skip:focus{top:10px}
.artboard{width:min(100%,2048px);aspect-ratio:16/9;position:relative;isolation:isolate;margin:auto;overflow:hidden;background:#0b0408}
.art,.art img{width:100%;height:100%;display:block}.art{position:absolute;inset:0}.art img{object-fit:fill;user-select:none;pointer-events:none}
.hotspot-layer{position:absolute;inset:0;z-index:2;pointer-events:none}
[data-hotspot]{display:block;position:absolute;z-index:1;background:transparent;border:0;border-radius:8px;padding:0;color:transparent;touch-action:manipulation;pointer-events:auto}
[data-hotspot][data-shape="pill"]{border-radius:100px}[data-hotspot][data-shape="card"]{border-radius:18px}[data-hotspot][data-shape="circle"]{border-radius:50%}
[data-hotspot]:hover{box-shadow:inset 0 0 0 1.5px rgba(255,226,166,.68);background:rgba(255,200,120,.045)}
[data-hotspot]:focus-visible{outline:3px solid var(--gold);outline-offset:2px;background:rgba(255,219,152,.12)}
[data-hotspot][hidden]{display:none!important}
.quick-contact{max-width:2048px;margin:auto;display:flex;align-items:center;justify-content:center;gap:15px;flex-wrap:wrap;padding:13px 22px 15px;background:linear-gradient(95deg,#170912,#56082c 50%,#1e0917);border-block:1px solid #ad773b}
.quick-link{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:45px;border-radius:999px;padding:9px 17px;font-weight:750;font-size:clamp(.76rem,.95vw,1rem);border:1px solid #d9af5b;text-decoration:none;background:#250c1b;color:#ffeac1;white-space:nowrap}
.quick-link:hover,.quick-link:focus-visible{background:#4e1734;outline:2px solid #ffe49c;outline-offset:2px}.quick-link svg{width:22px;height:22px;flex:none}.quick-link.whatsapp{background:#125c39;border-color:#44be72;color:#fff}.quick-link.whatsapp:hover{background:#187f4e}.quick-link.kmcard{background:linear-gradient(110deg,#deac58,#fff0b3,#c89947);color:#280c19;border-color:#ffe6a3}.quick-link.kmcard:hover{background:#ffecaf}
.quick-icon{font-size:1.3rem;line-height:1}
.content-dialog{padding:0;border:1px solid #efc477;background:#150913;color:#fff8ef;border-radius:22px;max-height:min(91dvh,900px);width:min(94vw,790px);box-shadow:0 35px 90px #000c}
.content-dialog::backdrop{background:rgba(7,2,7,.83);backdrop-filter:blur(8px)}
.dialog-frame{max-height:90dvh;display:flex;flex-direction:column}.dialog-heading{padding:14px 19px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(115deg,#680734,#1a0915);border-bottom:1px solid #c9985288}.dialog-eyebrow{color:#ffe6a0;font-weight:900;letter-spacing:.12em;font-size:.7rem;margin:0}.close-dialog{background:#17050e;color:#ffdea0;border:1px solid #d5ad61;border-radius:50%;width:40px;height:40px;font-size:1.2rem}
.dialog-scroll{overflow:auto;overscroll-behavior:contain;padding:20px 24px 25px}.dialog-scroll h2{font:italic 700 clamp(28px,4vw,42px)/1.1 Georgia,serif;color:#ffdfa0;margin:2px 0 14px}.dialog-scroll p,.dialog-scroll li{line-height:1.55;color:#f4dae5}.dialog-scroll ol{padding-left:23px}.dialog-intro{margin:4px 0 15px}
.modal-links{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 5px}.modal-links a,.modal-links button,.cta{display:inline-flex;align-items:center;justify-content:center;min-height:45px;text-align:center;padding:10px 16px;border-radius:999px;gap:7px;font-weight:800;text-decoration:none;border:1px solid #ffe0a0;color:#fff;background:linear-gradient(120deg,#e4006f,#960047)}
.modal-links .secondary,.cta.outline{background:#2a1223;color:#ffe5a5}.modal-links .wa{background:#17693c;border-color:#4fd187}.modal-links .gold,.cta.gold{background:linear-gradient(#ffe8af,#d09c45);color:#260c17}.cta.pink{background:linear-gradient(#f40883,#a9004a)}.modal-links svg{width:20px;height:20px}
.modal-links a:hover,.modal-links button:hover,.cta:hover{filter:brightness(1.12)}.modal-links a:focus-visible,.modal-links button:focus-visible,.cta:focus-visible{outline:3px solid #fff0b9;outline-offset:2px}
.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:16px 0}.gallery-card{border:1px solid #d6ad62;border-radius:14px;overflow:hidden;background:#260e1b}.gallery-card img{display:block;width:100%;height:auto;aspect-ratio:1.55;object-fit:cover}.gallery-card h3{margin:11px 12px 5px;font-size:1rem;color:#ffdfa0}.gallery-card p{margin:0;padding:0 12px 12px;font-size:.85rem}.gallery-card .modal-links{padding:0 12px 12px;margin:0}
.menu-options{display:grid;gap:8px}.menu-options button{width:100%;text-align:left;border-radius:11px;border:1px solid #ab714a;background:#2b1020;color:#ffe5b1;min-height:44px;padding:10px 14px;font-weight:750}.menu-options button:hover{background:#6b1d41}.language-row{display:flex;gap:8px;margin-top:12px}.language-row button{flex:1;justify-content:center;text-align:center}.language-row button[aria-pressed="true"]{background:#b60059;color:white;border-color:#ffdc88}
.form-row{display:flex;flex-direction:column;gap:6px;margin:12px 0}.form-row label{color:#ffe0a2;font-size:.89rem;font-weight:800}.form-row input,.form-row textarea,.form-row select{font:inherit;background:#290f20;color:white;border:1px solid #926c65;padding:12px;border-radius:10px;min-height:44px;max-width:100%}.form-row textarea{resize:vertical}.form-row input:focus,.form-row textarea:focus,.form-row select:focus{outline:2px solid #ffcf77;outline-offset:1px}.form-row select option{background:#260f1e}.form-note{font-size:.82rem}.form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}.feedback{min-height:20px;color:#ffe09a;font-size:.85rem}
@media(max-width:900px){.artboard{aspect-ratio:9/16}.quick-contact{gap:8px;padding:12px 9px}.quick-link{padding:9px 12px;min-height:40px}.quick-link svg{width:19px;height:19px}}
@media(max-width:470px){.quick-contact{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quick-contact .mail{grid-column:1 / -1}.quick-link{font-size:.76rem;padding:8px 6px}.dialog-scroll{padding:15px}.gallery-grid{gap:9px}.gallery-card h3{font-size:.88rem}.gallery-card p{font-size:.77rem}.modal-links a,.modal-links button,.cta{padding:10px 12px;font-size:.84rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Quote-only refinements: the approved four artwork files and their hotspots are unchanged. */
.quote-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:13px}
.quote-grid .form-row{min-width:0}
.form-row[hidden]{display:none!important}
.rush-option{display:flex;align-items:flex-start;gap:10px;margin:13px 0 10px;padding:11px 12px;border:1px solid #896050;border-radius:11px;background:#2b1021;cursor:pointer}
.rush-option input{width:19px;height:19px;flex:0 0 auto;margin:2px 0 0;accent-color:#e5006d}
.rush-option strong{display:block;color:#ffe3ad;font-size:.91rem}
.rush-option small{display:block;color:#e2c9d1;font-size:.78rem;margin-top:3px;line-height:1.4}
.policy-note{padding:11px 13px;border-left:3px solid var(--gold);border-radius:8px;background:#49302177;color:#ffe5b6!important;font-weight:750;font-size:.83rem;margin:12px 0 9px}
.quote-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.quote-actions .cta{min-width:0;min-height:48px;border-radius:13px;line-height:1.23;white-space:normal;padding:10px 9px;font-size:.85rem}
.cta.whatsapp{background:#17693c;border-color:#4fd187;color:#fff}
.quote-actions .copy-action{grid-column:1/-1;justify-self:center;min-height:35px;padding:5px 16px;font-size:.79rem}
@media(max-width:620px){.quote-grid{grid-template-columns:1fr}.quote-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-actions #whatsappQuote{grid-column:1/-1}.quote-actions .copy-action{grid-column:1/-1}}

/* v2.0.2: accessible multiple-service selection without native Ctrl/Cmd multi-select. */
.service-fieldset{grid-column:1/-1;display:block;min-width:0;border:0;padding:0;margin:12px 0 2px}
.service-fieldset legend{color:#ffe0a2;font-size:.91rem;font-weight:800;padding:0}
.service-hint{font-size:.78rem;margin:4px 0 9px!important;color:#e1c2d0!important}
.service-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.service-option{display:flex;align-items:center;gap:10px;min-width:0;border:1px solid #8b5b6b;border-radius:11px;padding:10px 11px;background:linear-gradient(115deg,#351127,#260e1f);color:#ffe9dc;min-height:47px;line-height:1.26;font-weight:650;font-size:.87rem;cursor:pointer}
.service-option:has(input:checked){border-color:#f3cc77;background:linear-gradient(115deg,#67304c,#482036);color:#fff3d9}
.service-option:focus-within{outline:2px solid #ffdfa0;outline-offset:2px}
.service-option input{width:19px;height:19px;margin:0;flex:0 0 auto;accent-color:#e5006d;cursor:pointer}
.service-option span{min-width:0}
.service-error{margin:7px 0 0!important;color:#ffc2cb!important;font-size:.81rem}
.service-error:empty{display:none}
@media(max-width:620px){.service-options{grid-template-columns:1fr}.service-option{min-height:45px}}

/* v2.1.0: concise privacy links, legible disclosures and compact mobile multi-service choices. */
.legal-links{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;width:100%;max-width:2048px;margin:0 auto;padding:7px 12px 3px;text-align:center;color:#d9b98c;background:#14060f;font-size:.78rem}
.legal-links a{color:#ffdda4;text-decoration:underline;text-underline-offset:3px}
.legal-links a:focus-visible,.privacy-note a:focus-visible{outline:3px solid #fff0b9;outline-offset:3px}
.privacy-note{font-size:.77rem;margin:9px 0 4px!important;color:#ebd1d9!important;line-height:1.5}
.privacy-note a{color:#ffe5a3}
@media(min-width:350px) and (max-width:620px){.service-options{grid-template-columns:repeat(2,minmax(0,1fr))}.service-option{font-size:.76rem;padding:9px 8px;min-height:51px;gap:7px}.service-option input{width:18px;height:18px}}

/* Standalone bilingual legal documents live on separate pages, not the cinematic homepage. */
.policy-page{background:radial-gradient(ellipse at top,#481b35 0,#150711 55%,#090309 100%);min-height:100vh;color:#fff7e9}
.policy-top{max-width:950px;margin:auto;padding:22px 22px 12px;display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}
.policy-top>a{font-size:.89rem;font-weight:850;letter-spacing:.09em;text-decoration:none;color:#ffe1a0}
.policy-top nav{display:flex;gap:9px}
.policy-top nav a{border:1px solid #d7ae69;border-radius:999px;color:#ffe7b3;padding:8px 13px;text-decoration:none;font-weight:700}
.policy-top nav a[aria-current="page"]{background:#ead09b;color:#230e19}
.policy-shell{width:min(94vw,930px);padding:clamp(20px,4vw,40px);margin:10px auto 45px;background:#210e1dcf;border:1px solid #b88b59;border-radius:20px;box-shadow:0 22px 65px #0006}
.policy-shell [hidden]{display:none!important}
.policy-shell h1{font:italic 700 clamp(27px,5vw,43px)/1.17 Georgia,serif;color:#ffdea0;margin:0 0 9px}
.policy-shell h2{color:#ffe0a9;font-size:clamp(1rem,2vw,1.2rem);margin:23px 0 7px}
.policy-shell p{line-height:1.62;margin:7px 0 14px;color:#f4e0e9}
.policy-shell .policy-updated{font-size:.85rem;color:#d9b5bd;margin-bottom:20px}
.policy-shell strong{color:#fff0bc}
.policy-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid #875875;padding-top:20px;margin-top:29px}
.policy-page a:focus-visible{outline:3px solid #ffe3a0;outline-offset:3px}

/* Compact, centered credits immediately below policy links; no changes to the artboard. */
.site-credits{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:1px;
  width:100%;
  max-width:2048px;
  margin:0 auto;
  padding:4px 12px 11px;
  text-align:center;
  background:linear-gradient(90deg,#11060e,#200c19 52%,#11060e);
  border:0;
  color:#e9ccda;
}
.site-credits p{
  display:block;
  width:100%;
  margin:0;
  padding:0;
  line-height:1.32;
  text-align:center;
}
.site-credits .copyright-line{font-size:clamp(.7rem,1.5vw,.81rem);letter-spacing:.025em}
.site-credits .developer-credit{margin:0;font-size:clamp(.68rem,1.45vw,.78rem);color:#d6b7c8}
.site-credits .developer-credit a{color:#ffdda0;font:italic 700 clamp(.84rem,1.8vw,.98rem)/1.32 Georgia,serif;text-decoration:none;text-underline-offset:4px}
.site-credits .developer-credit a:hover{text-decoration:underline}
.site-credits .developer-credit a:focus-visible{outline:3px solid #ffe3a0;outline-offset:4px;border-radius:3px}
.policy-page>.site-credits{width:100%;max-width:930px;margin:0 auto;padding:5px 14px 15px;text-align:center;background:transparent;border:0}
@media(max-width:470px){
  .legal-links{gap:8px;padding:6px 10px 3px}
  .site-credits{gap:1px;padding:4px 10px 10px}
  .policy-page>.site-credits{padding:5px 10px 14px}
}
