/* v9: abertura cinematográfica («Pelo Olho do Pescador»). Tudo por cima do 3D, com o nevoeiro, a chuva e a câmara no motor. */
#intro { position:fixed; inset:0; z-index:29; pointer-events:none; font-family:Inter,system-ui,sans-serif; color:#fff; overflow:hidden; }
#intro[hidden] { display:none; }
#intro .lb { position:absolute; left:0; right:0; height:0; background:#000; transition:height 1.2s cubic-bezier(.6,0,.2,1); }
#intro .lb.top { top:0; } #intro .lb.bot { bottom:0; }
#intro.lb-on .lb { height:max(9vh,36px); }
#flash { position:fixed; inset:0; background:#fff; opacity:0; pointer-events:none; z-index:31; transition:opacity .22s ease-out; }
#intro .cap { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); max-width:min(88vw,620px); text-align:center; font:300 clamp(16px,2.6vw,24px)/1.5 Fraunces,Georgia,serif; letter-spacing:.01em; color:#e6edf2; opacity:0; transition:opacity 1.1s; text-wrap:balance; }
#intro .cap b { font-weight:600; color:#f0b429; }
#intro .cap.show { opacity:1; }
#intro .sub { position:absolute; left:50%; bottom:calc(max(9vh,36px) + 18px); transform:translateX(-50%); max-width:min(90vw,700px); text-align:center; font:500 clamp(15px,2.2vw,21px)/1.4 Inter,system-ui,sans-serif; color:#fff; text-shadow:0 1px 3px rgba(0,0,0,.9),0 0 14px rgba(0,0,0,.6); opacity:0; transition:opacity .35s; }
#intro .sub.show { opacity:1; }
#intro .sub i { font-style:normal; color:#f0b429; font-weight:600; margin-right:.4em; }
#intro .cred { position:absolute; inset:0; display:grid; place-items:center; text-align:center; opacity:0; transition:opacity 1s; background:#000; }
#intro .cred.show { opacity:1; }
#intro .cred .k { font:500 clamp(11px,1.4vw,13px)/1 Inter,sans-serif; letter-spacing:.3em; text-transform:uppercase; color:#9fc6d6; margin-bottom:12px; }
#intro .cred .n { font:600 clamp(22px,4vw,40px)/1.15 Fraunces,Georgia,serif; color:#f4f1e8; }
#intro .cred .n small { display:block; font:300 clamp(14px,2vw,18px)/1.4 Fraunces,Georgia,serif; font-style:italic; color:#9fc6d6; margin-top:10px; }
#introSkip { position:fixed; right:max(16px,env(safe-area-inset-right,0px)); top:max(14px,env(safe-area-inset-top,0px)); z-index:32; pointer-events:auto; background:rgba(0,0,0,.45); color:#fff; border:1px solid rgba(255,255,255,.35); border-radius:999px; padding:10px 16px; font:600 14px Inter,system-ui,sans-serif; cursor:pointer; opacity:0; transition:opacity .5s; min-height:42px; }
#introSkip.show { opacity:1; }
#introSkip:hover { background:rgba(0,0,0,.7); }
#introSkip:focus-visible { outline:2px solid #f0b429; outline-offset:2px; }

/* telemóvel na mão */
#intro .phone { position:absolute; right:clamp(4vw,10vw,14vw); bottom:-70vh; width:clamp(150px,22vh,230px); aspect-ratio:9/19; border-radius:7% / 3.5%; background:#0b0d10; box-shadow:0 0 0 3px #1c2126, 0 0 0 5px #0a0c0f, 0 30px 60px rgba(0,0,0,.8), inset 0 0 0 1px #2a3138; transform:rotate(-9deg); transition:bottom 1.4s cubic-bezier(.3,.9,.3,1), transform 1.4s; overflow:hidden; }
#intro .phone.up { bottom:4vh; transform:rotate(-7deg); animation:hand 4.6s ease-in-out infinite; }
#intro .phone.down { bottom:-80vh; transform:rotate(-16deg); transition:bottom .9s cubic-bezier(.6,0,.9,.5), transform .9s; }
@keyframes hand { 0%,100% { translate:0 0; rotate:0deg; } 30% { translate:-5px 7px; rotate:-1.3deg; } 65% { translate:6px -4px; rotate:1.1deg; } }
#intro .phone .scr { position:absolute; inset:2.5%; border-radius:6% / 3%; overflow:hidden; background:#101a24 center/cover no-repeat; filter:brightness(1.05); }
#intro .phone .scr.fallback { background:radial-gradient(60% 40% at 50% 78%, #c89a5a 0, #6b4d2d 55%, #1a2430 100%), linear-gradient(#2a3f52, #0f1a24); }
#intro .phone .scr.fallback::before { content:""; position:absolute; left:50%; top:52%; width:46%; height:30%; transform:translateX(-50%); background:radial-gradient(circle at 35% 25%, #f1d2b0 0 9%, transparent 10%), radial-gradient(circle at 65% 22%, #f1d2b0 0 8%, transparent 9%), radial-gradient(circle at 20% 55%, #f1d2b0 0 6.5%, transparent 7.5%), radial-gradient(circle at 80% 58%, #f1d2b0 0 6.5%, transparent 7.5%), radial-gradient(ellipse at 35% 70%, #d9534f 0 30%, transparent 31%), radial-gradient(ellipse at 65% 70%, #3b78c9 0 28%, transparent 29%); }
#intro .phone .scr::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.55) 0, rgba(0,0,0,0) 35%, rgba(0,0,0,0) 60%, rgba(0,0,0,.65) 100%); }
#intro .phone .st { position:absolute; top:3.5%; left:8%; right:8%; display:flex; justify-content:space-between; font:600 clamp(8px,1.3vh,11px)/1 Inter,sans-serif; color:#fff; z-index:2; letter-spacing:.02em; }
#intro .phone .st .net { color:#ffb4a8; }
#intro .phone .time { position:absolute; top:9%; left:0; right:0; text-align:center; font:300 clamp(30px,6vh,54px)/1 Inter,sans-serif; letter-spacing:-.02em; color:#fff; z-index:2; text-shadow:0 2px 10px rgba(0,0,0,.6); }
#intro .phone .date { position:absolute; top:calc(9% + clamp(34px,6.4vh,58px)); left:0; right:0; text-align:center; font:500 clamp(9px,1.5vh,13px)/1 Inter,sans-serif; color:#e8eef2; z-index:2; }
#intro .phone .nt { position:absolute; left:6%; right:6%; background:rgba(16,22,30,.72); backdrop-filter:blur(8px); border-radius:10px; padding:6px 8px; color:#fff; z-index:2; font:500 clamp(8px,1.3vh,11px)/1.3 Inter,sans-serif; opacity:0; transform:translateY(8px); transition:opacity .5s, transform .5s; }
#intro .phone .nt.show { opacity:1; transform:none; }
#intro .phone .nt b { display:block; font-weight:700; }
#intro .phone .nt.n1 { bottom:33%; } #intro .phone .nt.n2 { bottom:19%; }
#intro .phone .nt .ico { float:left; width:1.9em; height:1.9em; border-radius:6px; margin-right:6px; display:grid; place-items:center; font-size:1.1em; }
#intro .phone .drops { position:absolute; inset:0; z-index:3; pointer-events:none; background-image:radial-gradient(circle, rgba(255,255,255,.55) 0 1.2px, transparent 1.8px), radial-gradient(circle, rgba(255,255,255,.35) 0 2px, transparent 2.6px); background-size:23px 31px, 41px 53px; background-position:3px 7px, 17px 29px; opacity:.5; animation:drops 2.6s linear infinite; }
@keyframes drops { to { background-position:3px 38px, 17px 82px; } }

/* postais em aguarela */
#intro .postais { position:absolute; inset:0; background:#f3efe4; opacity:0; transition:opacity 1.1s; }
#intro .postais.show { opacity:1; }
#intro .postal { position:absolute; inset:0; opacity:0; transition:opacity 1.2s; background:#f3efe4 center/cover no-repeat; }
#intro .postal.show { opacity:1; }
#intro .postal .img { position:absolute; inset:-6%; background:inherit; background-size:cover; background-position:center; transform:scale(1); }
#intro .postal.show .img { animation:kb 7s ease-out forwards; }
@keyframes kb { from { transform:scale(1) translate(0,0); } to { transform:scale(1.08) translate(-1.5%,1%); } }
#intro .postal.fallback .img { background:radial-gradient(55% 60% at 30% 40%, rgba(57,180,216,.55), transparent 70%), radial-gradient(50% 50% at 75% 65%, rgba(240,180,41,.5), transparent 70%), radial-gradient(40% 40% at 60% 25%, rgba(214,69,65,.35), transparent 70%), #f3efe4; }
#intro .postal::after { content:""; position:absolute; inset:0; pointer-events:none; opacity:.35; mix-blend-mode:multiply; background-image:repeating-radial-gradient(circle at 20% 30%, rgba(90,70,40,.08) 0 1px, transparent 1px 4px), repeating-linear-gradient(115deg, rgba(90,70,40,.05) 0 1px, transparent 1px 5px); }
#intro .postal .leg { position:absolute; left:50%; bottom:max(12vh,60px); transform:translateX(-50%); font:700 clamp(22px,4vw,40px)/1.1 Caveat,'Segoe Script',cursive; color:#1b3a4b; text-shadow:0 1px 0 rgba(255,255,255,.8); white-space:nowrap; opacity:0; transition:opacity .9s .5s; }
#intro .postal.show .leg { opacity:1; }
#intro .postal .leg small { display:block; font:500 clamp(13px,1.8vw,17px)/1.2 Caveat,cursive; color:#6a4d1e; text-align:center; margin-top:4px; }
#intro .flare { position:absolute; inset:-40%; background:radial-gradient(circle at 50% 50%, #fff 0, rgba(255,250,235,.9) 12%, rgba(255,240,200,.3) 30%, transparent 55%); opacity:0; pointer-events:none; transform:scale(.3); }
#intro .flare.go { animation:flare 1.3s ease-out forwards; }
@keyframes flare { 0% { opacity:0; transform:scale(.3); } 25% { opacity:1; transform:scale(1); } 100% { opacity:0; transform:scale(1.8); } }

/* o olho e o título */
#intro .olho { position:absolute; inset:0; display:grid; place-items:center; background:#000; opacity:0; transition:opacity 1.6s; }
#intro .olho.show { opacity:1; }
#intro .olho canvas { width:min(120vw,120vh); height:min(120vw,120vh); transform:scale(.55); transition:transform 4.2s cubic-bezier(.5,0,.9,.4); }
#intro .olho.zoom canvas { transform:scale(9); }
#intro .titulo { position:absolute; inset:0; display:grid; place-items:center; text-align:center; background:#000; opacity:0; transition:opacity .4s; }
#intro .titulo.show { opacity:1; }
#intro .titulo .t { font:800 clamp(34px,9vw,110px)/.95 Fraunces,Georgia,serif; letter-spacing:-.015em; color:#f4f1e8; text-wrap:balance; max-width:92vw; }
#intro .titulo .t span { display:inline-block; opacity:0; transform:translateY(.35em) scale(.9); filter:blur(6px); }
#intro .titulo.show .t span { animation:rise 1.1s cubic-bezier(.2,.7,.2,1) forwards; }
#intro .titulo .t span:nth-child(2) { animation-delay:.18s !important; } #intro .titulo .t span:nth-child(3) { animation-delay:.36s !important; } #intro .titulo .t span:nth-child(4) { animation-delay:.54s !important; }
@keyframes rise { to { opacity:1; transform:none; filter:blur(0); } }
#intro .titulo .t .o { position:relative; display:inline-block; width:.8em; height:.8em; vertical-align:-.06em; border-radius:50%; margin:0 .02em; background:radial-gradient(circle at 50% 50%, #02101a 0 30%, var(--ir2,#1f6f8b) 32% 46%, var(--ir1,#5cc8f2) 48% 70%, var(--ir3,#0a3954) 72% 100%); box-shadow:0 0 .35em rgba(92,200,242,.55); }
#intro .titulo .r { width:56px; height:2px; background:#39b4d8; margin:22px auto 14px; opacity:0; transition:opacity .8s 1.1s; }
#intro .titulo .s { font:300 clamp(12px,1.8vw,18px)/1 Fraunces,Georgia,serif; font-style:italic; letter-spacing:.3em; text-transform:uppercase; color:#9fc6d6; opacity:0; transition:opacity .8s 1.3s; }
#intro .titulo.show .r, #intro .titulo.show .s { opacity:1; }
#intro .vinh { position:absolute; inset:0; pointer-events:none; background:radial-gradient(ellipse at center, transparent 55%, rgba(0,0,0,.55) 100%); opacity:0; transition:opacity 1s; }
#intro.lb-on .vinh { opacity:1; }
@media (prefers-reduced-motion:reduce) { #intro .phone.up { animation:none; } #intro .postal.show .img { animation:none; } }
@media (max-width:600px) { #intro .phone { right:6vw; } #intro .sub { font-size:14px; } }

/* v9 (2.º passe, regras do Mirror's Edge): uma cor de acento (laranja-sinalizador), o crédito como «pegada» no vidro embaciado, cartão branco */
#intro .glass { position:absolute; inset:0; pointer-events:none; opacity:0; transition:opacity .6s; background:radial-gradient(120% 90% at 50% 60%, rgba(150,170,185,.22) 0, rgba(120,140,155,.34) 60%, rgba(90,105,120,.5) 100%); backdrop-filter:blur(5px) saturate(.8); }
#intro .glass.show { opacity:1; }
#intro .glass .wipe { position:absolute; inset:0; display:grid; place-items:center; clip-path:ellipse(0% 0% at 68% 70%); transition:clip-path 1.9s cubic-bezier(.3,.6,.3,1); backdrop-filter:blur(0); background:rgba(0,0,0,.08); }
#intro .glass.wiped .wipe { clip-path:ellipse(70% 60% at 50% 55%); }
#intro .glass .wipe span { font:800 clamp(28px,6.5vw,76px)/1 Inter,system-ui,sans-serif; letter-spacing:-.02em; color:#ff7a2a; text-transform:uppercase; text-shadow:0 0 18px rgba(255,122,42,.45); transform:rotate(-4deg); text-wrap:balance; text-align:center; max-width:88vw; }
#intro .glass .wipe small { display:block; font:600 clamp(12px,1.8vw,18px)/1.3 Inter,sans-serif; letter-spacing:.3em; color:#ffd9c2; margin-top:10px; text-transform:uppercase; }
#intro .card2 { position:absolute; inset:0; display:grid; place-items:center; background:#f7f5f1; opacity:0; transition:opacity .25s; text-align:center; }
#intro .card2.show { opacity:1; }
#intro .card2 .t { font:800 clamp(30px,8vw,104px)/.92 Inter,system-ui,sans-serif; letter-spacing:-.04em; color:#ff5a1f; text-transform:uppercase; max-width:92vw; text-wrap:balance; }
#intro .card2 .t .o { display:inline-block; width:.74em; height:.74em; border-radius:50%; vertical-align:-.04em; margin:0 .03em; background:radial-gradient(circle at 50% 50%, #0b0b0b 0 28%, #ff9a3c 30% 42%, var(--ir1,#1b6b8a) 44% 70%, var(--ir3,#0b2f44) 72% 100%); box-shadow:0 0 0 .06em #ff5a1f; }
#intro .card2 .s { font:600 clamp(11px,1.6vw,16px)/1 Inter,sans-serif; letter-spacing:.36em; text-transform:uppercase; color:#8a8f96; margin-top:18px; }
#intro .cred.light { background:#f7f5f1; } #intro .cred.light .k { color:#8a8f96; } #intro .cred.light .n { color:#1a1c20; } #intro .cred.light .n small { color:#ff5a1f; }
#intro .titulo .t { color:#f4f1e8; } #intro .titulo .t .o { box-shadow:0 0 .35em rgba(255,122,42,.55); }

/* v9 (3.º passe): puxar as caixas, o olho com pálpebras e pupila, cartão de créditos */
#intro .pull { position:absolute; inset:0; pointer-events:none; opacity:0; transition:opacity .4s; touch-action:none; cursor:grab; }
#intro .pull.show { opacity:1; pointer-events:auto; }
#intro .pull.done { opacity:0; pointer-events:none; }
#intro .pull .hint { position:absolute; left:50%; bottom:calc(max(9vh,36px) + 22px); transform:translateX(-50%); display:grid; justify-items:center; gap:8px; color:#fff; text-shadow:0 1px 3px rgba(0,0,0,.9); }
#intro .pull .hint svg { width:min(26vw,120px); height:auto; animation:pullhint 1.1s ease-in-out infinite; }
@keyframes pullhint { 0%,100% { transform:translateX(10px); opacity:.6; } 50% { transform:translateX(-12px); opacity:1; } }
#intro .pull .hint b { font:700 clamp(14px,2.2vw,20px)/1.2 Inter,system-ui,sans-serif; }
#intro .pull .hint i { display:flex; gap:6px; }
#intro .pull .hint em { width:34px; height:7px; border-radius:4px; background:rgba(255,255,255,.25); transition:background .2s, transform .2s; }
#intro .pull .hint em.on { background:#ff7a2a; transform:scaleY(1.4); }
#intro .olho { background:#000; opacity:0; transition:opacity .2s; }
#intro .olho .io-eye { position:absolute; inset:0; display:grid; place-items:center; will-change:transform, filter; transform:scale(.62); }
#intro .olho .io-eye canvas { width:min(118vw,118vh); height:min(118vw,118vh); transform:none; transition:none; }
#intro .olho .io-pupil { position:absolute; left:50%; top:50%; width:min(118vw,118vh); height:min(118vw,118vh); margin:calc(min(118vw,118vh) / -2) 0 0 calc(min(118vw,118vh) / -2); border-radius:50%; background:radial-gradient(circle, #000 0 31%, rgba(0,0,0,0) 34%); transform:scale(1); }
#intro .olho .io-glint { position:absolute; left:50%; top:50%; width:min(118vw,118vh); height:min(118vw,118vh); margin:calc(min(118vw,118vh) / -2) 0 0 calc(min(118vw,118vh) / -2); border-radius:50%; background:radial-gradient(circle at 61% 41%, rgba(255,236,170,.95) 0 1.6%, rgba(255,220,120,.5) 3%, transparent 6%); opacity:0; }
#intro .olho .io-glint.on { animation:glint .5s ease-out; }
@keyframes glint { 0% { opacity:0; } 20% { opacity:1; } 100% { opacity:0; } }
#intro .olho .io-lid { position:absolute; left:-10%; right:-10%; height:60%; background:#05070a; transition:transform 1.15s cubic-bezier(.4,0,.2,1); }
#intro .olho .io-lid.t { top:-8%; border-radius:0 0 50% 50% / 0 0 100% 100%; transform:translateY(0); }
#intro .olho .io-lid.b { bottom:-8%; border-radius:50% 50% 0 0 / 100% 100% 0 0; transform:translateY(0); }
#intro .olho.open .io-lid.t { transform:translateY(-82%); } #intro .olho.open .io-lid.b { transform:translateY(82%); }
#intro .olho.zoom .io-eye { animation:eyezoom 3.4s cubic-bezier(.55,0,.95,.45) forwards; }
#intro .olho.zoom .io-pupil { animation:pupil 3.4s cubic-bezier(.6,0,1,.5) forwards; }
@keyframes eyezoom { 0% { transform:scale(.62); filter:blur(0); } 60% { filter:blur(1px); } 100% { transform:scale(7); filter:blur(6px); } }
@keyframes pupil { 0% { transform:scale(1); } 100% { transform:scale(4.2); } }
@media (prefers-reduced-motion:reduce) { #intro .olho.zoom .io-eye { animation-duration:.8s; } }
/* durante a abertura escondem-se os comandos de toque e o resto do HUD (o joystick e os botões vivem fora do #hud) */
body.intro-on #joy, body.intro-on #btnE, body.intro-on #runBtn, body.intro-on #drive, body.intro-on #hud, body.intro-on #prompt, body.intro-on #tip, body.intro-on #toast, body.intro-on #olho, body.intro-on #skipBtn, body.intro-on #snd, body.intro-on #debug { display:none !important; }

/* v10 (4/11, direção do vídeo): telemóvel grande na mão, dentro da cabine; postais por compasso; o sol da Ria vira o olho */
#intro .pw { position:absolute; right:12vw; bottom:-95vh; height:min(78vh,150vw); aspect-ratio:9/19; transform:rotate(-5deg); transition:bottom 1.1s cubic-bezier(.2,.9,.3,1), transform 4.6s cubic-bezier(.4,0,.2,1); z-index:2; }
#intro .pw.up { bottom:6vh; }
#intro .pw.perto { transform:rotate(-3deg) scale(1.12) translateY(-2vh); }
#intro .pw.down { bottom:-100vh; transform:rotate(-18deg); transition:bottom .6s cubic-bezier(.6,0,.9,.5), transform .6s; }
#intro .pw.vibra { animation:vibra .07s linear 6; }
@keyframes vibra { 0%,100% { margin-left:0; } 50% { margin-left:6px; } }
#intro .pw .phone { position:absolute; inset:0; right:auto; bottom:auto; width:100%; height:100%; transform:none; transition:none; animation:none; border-radius:7% / 3.4%; }
#intro .pw .palm { position:absolute; left:6%; top:62%; width:96%; height:56%; border-radius:45%; background:linear-gradient(160deg,#b98a6c,#4a2e20); }
#intro .pw .thumb { position:absolute; left:-10%; top:60%; width:24%; height:26%; border-radius:999px; background:linear-gradient(90deg,#5a3626,#c79778); transform:rotate(-18deg); }
#intro .pw .fing { position:absolute; right:-9%; top:52%; width:15%; display:grid; gap:2.2vh; }
#intro .pw .fing i { display:block; height:9vh; border-radius:999px; background:linear-gradient(270deg,#4a2c1e,#c08f70); }
#intro .pw .phone .st { font-size:max(11px,1.8vh); }
#intro .pw .phone .time { font-size:max(40px,11vh); top:7%; }
#intro .pw .phone .date { font-size:max(12px,2.3vh); top:calc(7% + max(44px,12vh)); }
#intro .pw .phone .nt { font-size:max(11px,1.9vh); border-radius:2vh; padding:1.2vh 1.4vh; }
#intro .pw .phone .nt.n1 { bottom:27%; } #intro .pw .phone .nt.n2 { bottom:12%; }
#intro .pw .phone.pisca .scr { animation:pisca .09s steps(2) 6; }
@keyframes pisca { 50% { filter:brightness(2.2); } }
#intro .postal { transition:opacity .25s; }
#intro .postal.show .img { animation:kb 2.4s ease-out forwards; }
#intro .postal[data-k="ria"].sol .img { animation:none; transform-origin:46% 30%; transform:scale(7); transition:transform 2.2s cubic-bezier(.55,0,.95,.45); }
#intro .postal[data-k="ria"].sol::before { content:""; position:absolute; inset:0; z-index:2; background:radial-gradient(circle at 50% 30%, rgba(255,250,235,.95) 0, rgba(255,214,140,.6) 25%, rgba(255,214,140,0) 60%); animation:solcresce 2.2s ease-in forwards; }
@keyframes solcresce { from { opacity:0; transform:scale(.4); } to { opacity:1; transform:scale(2.2); } }
#intro .postal[data-k="ria"].sol .leg { opacity:0; transition:opacity .3s; }
#intro .olho .io-lid { background:linear-gradient(180deg,#5a3424,#a86c4c); }
#intro .olho .io-lid.t { box-shadow:inset 0 -10px 0 #1a0d08, 0 10px 24px rgba(0,0,0,.6); }
#intro .olho .io-lid.b { background:linear-gradient(0deg,#5a3424,#a0664a); box-shadow:inset 0 8px 0 #2a150d; }
#intro .olho { background:radial-gradient(circle,#e9e2d8 0,#b8a597 45%,#5a3f30 75%); }
@media (max-width:600px) { #intro .pw { right:8vw; } }
#intro .olho { background:#1a0f0a; }
#intro .olho .io-eye canvas { border-radius:50%; -webkit-mask:radial-gradient(circle, #000 62%, transparent 71%); mask:radial-gradient(circle, #000 62%, transparent 71%); }
#intro .olho .io-eye::before { content:""; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:min(118vw,118vh); height:min(118vw,118vh); border-radius:50%; background:radial-gradient(circle, transparent 40%, #ece5db 47%, #cfc2b5 60%, rgba(120,90,70,0) 72%); }
#intro.v10 .cred, #intro .cred { place-items:end center; padding-bottom:7vh; }
#intro .cred { background:transparent; text-shadow:0 2px 14px rgba(0,0,0,.85); }
/* v12: sem mão no telemóvel; «OLHÃO» no farol; letras fixas no drone */
#intro .pw .palm, #intro .pw .thumb, #intro .pw .fing { display:none; }
#intro .lugar { position:absolute; left:0; right:0; top:16vh; text-align:center; font:800 clamp(38px,8vw,120px)/1 Inter,system-ui,sans-serif; letter-spacing:.42em; padding-left:.42em; color:#f4efe6; opacity:0; transform:translateY(10px); transition:opacity 1.2s, transform 1.6s cubic-bezier(.2,.8,.2,1); text-shadow:0 4px 30px rgba(0,0,0,.45); }
#intro .lugar small { display:block; margin-top:1.4vh; font:600 clamp(11px,1.4vw,18px)/1 Inter,sans-serif; letter-spacing:.5em; color:#ffb98a; }
#intro .lugar.show { opacity:.94; transform:none; }
#intro .fixo { position:absolute; left:0; right:0; top:38vh; text-align:center; opacity:0; transition:opacity 1.4s; }
#intro .fixo .t { font:800 clamp(30px,6.2vw,96px)/1 Inter,system-ui,sans-serif; letter-spacing:.12em; color:#fff; text-shadow:0 4px 28px rgba(0,0,0,.5); transform:scale(1.04); transition:transform 4s cubic-bezier(.2,.8,.2,1); }
#intro .fixo .s { margin-top:2.2vh; font:500 clamp(13px,1.7vw,24px)/1 Inter,sans-serif; letter-spacing:.38em; text-transform:uppercase; color:#ffe2cc; opacity:0; transition:opacity 1.2s; text-shadow:0 2px 14px rgba(0,0,0,.6); }
#intro .fixo.show { opacity:1; } #intro .fixo.show .t { transform:none; } #intro .fixo.linha2 .s { opacity:1; }
#intro .fixo .t { font-size:clamp(24px,4.4vw,70px); letter-spacing:.07em; white-space:nowrap; }
#intro .lugar { font-size:clamp(34px,6.5vw,100px); }

/* v13: as opções do ecrã inicial ficam nos valores por defeito (escondidas) */
#title #opts { display:none !important; }
/* v13: a legenda passa à frente do telemóvel (no tablet e no PC ficava meio tapada) */
#intro .sub { z-index:6; text-shadow:0 1px 3px rgba(0,0,0,.9), 0 0 14px rgba(0,0,0,.7); }
