/* Phone frames preserve the complete 9:16 footage inside a dark metal bezel. */
.film-frame{border:8px solid #252727;border-radius:42px;aspect-ratio:9/17.5;box-shadow:0 0 0 1px #747772,0 0 0 3px #0a0b0a,0 35px 70px #0008,inset 0 0 0 2px #000}
.film-frame video{border-radius:32px;object-fit:contain;background:#080808}
.film-frame:before,.phone-player:before{content:'';position:absolute;top:10px;left:50%;transform:translateX(-50%);width:34%;height:20px;background:#050505;border-radius:20px;box-shadow:inset -8px 0 0 #111617;z-index:4;pointer-events:none}
.film-frame:after{border-radius:0 0 32px 32px}
.film-mark{bottom:33px;left:16px;font-size:6px}.preview-toggle{bottom:26px}
.film-frame .film-play{width:62px;height:62px}
.phone-player{position:relative;width:48%;flex-shrink:0;padding:7px;background:#242626;border:1px solid #777b73;border-radius:34px;box-shadow:0 0 0 2px #090a09,0 25px 55px #0007;overflow:hidden}
.film-dialog .phone-player video{width:100%;max-height:78svh;aspect-ratio:9/16;object-fit:contain;border-radius:26px}
.phone-player:before{top:13px;height:19px;width:30%}
.film-dialog>div.phone-player{padding:7px}
.mobile-project-bar{display:none}
@media(max-width:800px){
 body{padding-bottom:76px}html{scroll-padding-bottom:90px}
 .mobile-project-bar{position:fixed;bottom:0;left:0;right:0;z-index:21;display:flex;gap:10px;padding:10px 18px calc(10px + env(safe-area-inset-bottom));background:#111210f5;backdrop-filter:blur(20px);border-top:1px solid #bca17a50;box-shadow:0 -12px 35px #0003}
 .mobile-project-bar>a{display:flex;justify-content:center;align-items:center;gap:13px;min-height:46px;font-size:11px;font-weight:600}
 .mobile-project-bar .mobile-start{flex:1;background:var(--gold);color:#12130f}.mobile-start span{font-size:22px}
 .mobile-project-bar .mobile-call{padding:0 16px;border:1px solid #ffffff35;color:#e9e5da}.mobile-call svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5}
 .modal-open .mobile-project-bar{visibility:hidden}
 .mobile-nav{box-shadow:0 15px 40px #0008}.hero-scenes{max-width:360px}
}
@media(max-width:540px){
 .hero{min-height:820px}.hero-content{padding-top:125px;padding-bottom:195px}.hero h1{font-size:52px}.hero h1 em{font-size:.88em}.hero-content .eyebrow{margin-bottom:24px}
 .hero-intro{margin-top:22px}.hero-links{gap:20px;margin-top:24px}.hero-scenes{bottom:83px}
 html[lang=es] .hero h1{font-size:49px}
 .film-frame{border-width:7px;border-radius:39px}.film-frame video{border-radius:30px}
 .phone-player{width:min(100%,300px);margin:20px auto 0}.film-dialog .phone-player video{width:100%;max-height:65svh}
 .film-dialog>div.phone-player{padding:7px}.film-dialog>div:not(.phone-player){padding:22px}
 .mobile-project-bar{padding-left:12px;padding-right:12px}.mobile-project-bar .mobile-call{padding:0 12px}
 .mobile-project-bar>a{font-size:10px}.form-grid{grid-template-columns:1fr}.form-grid input,.form-grid select,.form-grid textarea{font-size:16px}label{font-size:11px}
}

/* Fixed vector geometry keeps controls consistent across iOS and Android fonts. */
.ui-icon{width:20px;height:20px;display:inline-block;vertical-align:middle;flex-shrink:0;pointer-events:none}
.ui-icon-play{fill:currentColor;stroke:none;width:18px;height:18px}
.play-circle,.film-play,.preview-toggle,.hero-scene-actions button,.project-open,.back-top,.dialog-close{display:inline-flex;align-items:center;justify-content:center}
.play-circle .ui-icon,.film-play .ui-icon{transform:translateX(1px)}
.film-play .ui-icon{width:24px;height:24px}
.preview-toggle .ui-icon{width:16px;height:16px}
.button>span[aria-hidden],.text-link>span[aria-hidden],.contact-method a>span[aria-hidden],.project-caption>span[aria-hidden],.mobile-start>span[aria-hidden]{display:inline-flex;align-items:center;justify-content:center;line-height:1}
.hero-scene-actions{gap:4px}.hero-scene-actions button{width:40px;height:40px;border:1px solid #ffffff25;border-radius:50%;background:#11121050}
.hero-scene-actions button .ui-icon{width:17px;height:17px}
.plus{display:inline-flex;align-items:center;justify-content:center}.plus .ui-icon{width:18px;height:18px}
.project-caption .ui-icon{width:20px;height:20px}.project-open .ui-icon{width:18px;height:18px}
.gallery-arrows button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}
@media(max-width:800px){
 .mobile-start .ui-icon{width:18px;height:18px}.mobile-call .ui-icon{width:19px;height:19px;stroke-width:1.7}
 .mobile-project-bar>a{gap:10px;border-radius:3px}
 .menu-toggle{width:44px;height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:10px}
 .menu-toggle span{display:block;width:22px;height:1.5px;margin:0;background:currentColor}
 .header-actions{gap:12px}.hero-scene-actions button{width:44px;height:44px}
 .preview-toggle{width:44px;height:44px;bottom:22px}.dialog-close{width:44px;height:44px}
 .watch .play-circle{width:42px;height:42px}.back-top{width:44px;height:44px}
}
@media(max-width:540px){.hero-scene-title{flex-direction:column;align-items:flex-start;gap:10px}.hero-scene-actions{gap:6px}}

.form-honeypot{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}.contact button:disabled{opacity:.6;cursor:wait}#form-status:empty{display:none}#form-status{color:var(--gold,#c4bc8d)}
