/* Prata opening: isolated from the approved hero and existing scroll scenes. */
html.age-required,html.age-required body{overflow:hidden;overscroll-behavior:none}
#age-entry[hidden]{display:none!important}
#age-entry{position:fixed;inset:0;z-index:10000;isolation:isolate;overflow:hidden;color:#182b36;font-family:var(--body);height:100dvh;min-height:0;--entry-cream:#f5efdf;--entry-blue:#29b5d0;--entry-ink:#19202a}
.entry-backdrop{position:absolute;inset:0;background:radial-gradient(ellipse at 29% 35%,#f7f0df 0,#e2e7db 41%,#b7d5d9 100%);transition:opacity 1.3s ease;z-index:-1}
.entry-grain{position:absolute;inset:0;opacity:.045;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.86' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' opacity='.4' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
.entry-header{position:absolute;top:max(30px,env(safe-area-inset-top));left:5%;right:5%;display:flex;align-items:center;justify-content:space-between;z-index:4;pointer-events:none}
.entry-brand{font:700 21px/1 var(--label);letter-spacing:.16em}.entry-origin{font:500 15px/1.4 var(--label);letter-spacing:.12em}
.entry-art{position:absolute;inset:0;pointer-events:none}
.entry-orbit{position:absolute;left:29%;top:47%;width:min(47vw,66svh);aspect-ratio:1;transform:translate(-50%,-50%);border:1px solid #143c4418;border-radius:50%;opacity:.75;transition:opacity .6s}
.entry-orbit:before,.entry-orbit:after{content:'';position:absolute;inset:6%;border:1px solid #143c4412;border-radius:50%}.entry-orbit:after{inset:17%;border-style:dashed;opacity:.7}
.entry-free-bird{position:absolute;left:29%;top:47%;width:clamp(110px,15vw,240px);aspect-ratio:590/890;transform:translate(-50%,-50%);color:#183441;will-change:transform;filter:drop-shadow(14px 22px 20px #19344213);z-index:3}
.entry-free-bird svg{width:100%;height:100%;overflow:visible;animation:entry-hover 5s ease-in-out infinite;transform-origin:55% 55%}
.entry-seal{position:absolute;left:50%;top:45%;width:clamp(200px,29svh,290px);aspect-ratio:1;transform:translate(-50%,-50%);opacity:0;z-index:2}
.entry-seal svg{width:100%;height:100%;overflow:visible}.entry-seal-final{opacity:0}
.entry-caption{position:absolute;bottom:17%;left:10%;width:38%;text-align:center;font:500 17px var(--label);letter-spacing:.16em;text-transform:uppercase;opacity:.62;transition:opacity .5s}
.entry-copy{position:absolute;left:57%;top:50%;transform:translateY(-50%);width:34%;max-width:480px;z-index:5;transition:opacity .45s,transform .6s}
.entry-copy .eyebrow{font-size:16px;margin:0 0 23px;letter-spacing:.15em;color:#316777}
#entry-title{font:800 clamp(50px,6.4vw,98px)/1.04 var(--display);letter-spacing:-.065em;margin:0 0 22px}
.entry-invitation{font-size:clamp(17px,1.35vw,20px);line-height:1.65;margin:0 0 30px;max-width:340px}
#entry-form{width:min(100%,340px)}
.entry-age-label{display:block;font:600 15px var(--label);letter-spacing:.12em;text-transform:uppercase}
.entry-age-row{display:flex;align-items:baseline;gap:20px;border-bottom:1px solid #19344266;margin:5px 0 22px}
#entry-age{appearance:none;-moz-appearance:textfield;outline:none;border:0;background:none;border-radius:0;width:3ch;min-width:120px;max-width:100%;padding:0;color:#182b36;font:500 76px/1.2 var(--display);letter-spacing:-.05em;box-shadow:none}
#entry-age::placeholder{color:#19344250;opacity:1}#entry-age:focus-visible{outline:2px solid #137ba3;outline-offset:5px}#entry-age::-webkit-inner-spin-button{display:none}.entry-age-row>span{font-size:16px;opacity:.7}
.entry-submit{display:flex;justify-content:space-between;align-items:center;gap:18px;background:#163442;color:#fff8e9;border:1px solid #163442;border-radius:0;min-height:56px;padding:13px 22px;width:100%;font:500 18px var(--body);cursor:pointer;transition:background .2s}
.entry-submit:hover{background:#137ba3;border-color:#137ba3}.entry-submit svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1;transform:rotate(-15deg)}
#entry-message{min-height:45px;font-size:14px;line-height:1.5;margin:14px 0 0;color:#713a27}
.entry-footer{position:absolute;bottom:max(25px,env(safe-area-inset-bottom));left:5%;right:5%;display:flex;justify-content:space-between;align-items:end;gap:24px;z-index:4;font:500 14px/1.6 var(--label);letter-spacing:.06em}
.entry-footer p{margin:0;max-width:340px}.entry-footer .entry-responsible{letter-spacing:.13em;white-space:nowrap}
#entry-skip{position:absolute;right:5%;bottom:max(26px,env(safe-area-inset-bottom));z-index:8;padding:12px 0;border:0;border-bottom:1px solid currentColor;background:transparent;color:var(--ink);font:500 16px var(--body);cursor:pointer}
#entry-skip[hidden]{display:none}.entry-cinematic-caption{position:absolute;left:5%;right:5%;bottom:14%;margin:0;text-align:center;font:500 20px/1.5 var(--body);letter-spacing:-.02em;opacity:0;pointer-events:none;z-index:2}
.entry-canvas{position:absolute;inset:0;opacity:0;pointer-events:none;z-index:1}.entry-canvas canvas{display:block;width:100%;height:100%}
.entry-packshot{position:absolute;object-fit:contain;pointer-events:none;opacity:0;z-index:2;max-width:none}
#age-entry[data-phase='flight'] .entry-copy,#age-entry[data-phase='reveal'] .entry-copy,#age-entry[data-phase='handoff'] .entry-copy{opacity:0;transform:translateY(calc(-50% + 12px));pointer-events:none}
#age-entry:not([data-phase='age']) .entry-orbit,#age-entry:not([data-phase='age']) .entry-caption,#age-entry:not([data-phase='age']) .entry-footer{opacity:0;pointer-events:none}
#age-entry[data-phase='handoff'] .entry-header,#age-entry[data-phase='handoff'] #entry-skip{opacity:0;transition:opacity .5s}
#age-entry[data-phase='handoff'] .entry-backdrop{opacity:0}
#age-entry button:focus-visible{outline:3px solid #137ba3;outline-offset:5px}
#site-shell.entry-underlay .hero-product{visibility:hidden}
.entry-noscript{position:absolute;inset:0;background:#e2e7db;z-index:50;display:grid;place-content:center;text-align:center;padding:30px;font-size:22px}
@keyframes entry-hover{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-12px) rotate(2deg)}}
@media(max-width:760px){
 .entry-header{top:max(22px,env(safe-area-inset-top));left:6%;right:6%}.entry-brand{font-size:18px}.entry-origin{font-size:13px}
 .entry-orbit{left:50%;top:25%;width:min(64vw,27svh)}.entry-free-bird{left:50%;top:25%;width:clamp(68px,11svh,110px)}
 .entry-caption{display:none}.entry-copy{top:47%;left:8%;width:84%;max-width:none;transform:none;text-align:center}
 .entry-copy .eyebrow{font-size:13px;margin-bottom:13px}#entry-title{font-size:clamp(42px,10vw,65px);margin:0 0 14px}.entry-invitation{font-size:16px;line-height:1.5;margin:0 auto 18px;max-width:300px}
 #entry-form{width:min(100%,310px);margin:auto}.entry-age-label{text-align:left;font-size:13px}.entry-age-row{margin:3px 0 16px}#entry-age{font-size:52px;min-width:96px}.entry-submit{min-height:50px;font-size:16px;padding:10px 18px}#entry-message{min-height:38px;font-size:13px;margin:9px 0 0;text-align:left}
 .entry-footer{left:8%;right:8%;bottom:max(14px,env(safe-area-inset-bottom));font-size:12px;justify-content:center;text-align:center}.entry-footer p:first-child{max-width:280px}.entry-responsible{display:none}
 .entry-seal{width:clamp(190px,29svh,260px);top:43%}.entry-cinematic-caption{font-size:17px;bottom:18%}
 #age-entry:not([data-phase='age']) .entry-copy{transform:translateY(12px)}
}
@media(max-width:760px) and (max-height:740px){.entry-free-bird,.entry-orbit{top:22%}.entry-copy{top:39%}.entry-copy .eyebrow{margin-bottom:8px}.entry-invitation{margin-bottom:13px}#entry-title{font-size:42px;margin-bottom:10px}.entry-footer{font-size:11px}}
@media(max-height:530px) and (orientation:landscape){.entry-copy{left:55%;top:13%;width:38%;transform:none;text-align:left}.entry-free-bird,.entry-orbit{left:28%;top:48%}.entry-free-bird{width:95px}.entry-orbit{width:240px}.entry-copy .eyebrow{display:none}#entry-title{font-size:38px}.entry-invitation{font-size:14px;margin-bottom:8px}.entry-header{top:15px}.entry-footer{bottom:8px;left:5%;justify-content:flex-start}.entry-age-label{font-size:12px}#entry-age{font-size:38px}.entry-age-row{margin-bottom:10px}.entry-submit{min-height:42px;padding:8px 16px}#entry-message{font-size:12px;min-height:20px;margin:6px 0}}
@media(prefers-reduced-motion:reduce){.entry-free-bird svg{animation:none}.entry-copy,.entry-backdrop{transition:none}}
#entry-pause{position:absolute;left:5%;bottom:max(26px,env(safe-area-inset-bottom));z-index:8;border:0;background:none;color:var(--ink);padding:12px 0;font:500 16px var(--body);cursor:pointer}
#entry-pause[hidden]{display:none}#age-entry[data-phase='handoff'] #entry-pause{opacity:0;pointer-events:none}
.entry-review{position:absolute;z-index:20;left:26%;right:26%;bottom:20px;display:flex;gap:12px;align-items:center;font:14px var(--body)}.entry-review input{width:100%;min-width:60px;accent-color:#137ba3}.entry-review label,.entry-review output{white-space:nowrap}.entry-review output{min-width:40px}#age-entry[data-phase='age'] .entry-review{display:none}@media(max-width:760px){.entry-review{left:8%;right:8%;bottom:70px}.entry-review label{font-size:12px}}
#age-entry{overflow:clip}
.entry-seal svg,.entry-free-bird svg{display:block}
.entry-seal{clip-path:circle(50%)}
@media(max-width:760px){.entry-brand{white-space:nowrap}.entry-header{gap:12px}.entry-origin{text-align:right}}
@media(max-width:760px) and (max-height:640px) and (orientation:portrait){.entry-free-bird,.entry-orbit{top:19%}.entry-free-bird{width:70px}.entry-copy{top:33%}#entry-title{font-size:38px}.entry-invitation{font-size:14px;line-height:1.5;margin-bottom:10px}#entry-age{font-size:44px}.entry-header .entry-brand{font-size:16px}.entry-header .entry-origin{font-size:11px}.entry-copy .eyebrow{font-size:12px}.entry-footer{font-size:11px}}
/* V21: a photographic arrival, the Prata label curve and an articulated bird. */
.entry-backdrop{background:#143b4c;transition:opacity .85s ease}
.entry-rio-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;filter:saturate(.85)}
.entry-photo-shade{position:absolute;inset:0;background:linear-gradient(90deg,#14324150,#14324108),linear-gradient(0deg,#112c36b0,transparent 72%);transition:background .65s}
.entry-paper{position:absolute;inset:0;width:100%;height:100%;fill:#f3ead2;transition:opacity .55s;filter:drop-shadow(-20px 0 40px #17333e0d)}
.entry-grain{opacity:.1}
.entry-header{top:5%;left:5%;right:5%}.entry-brand{display:flex;gap:15px;align-items:center;color:#fff4d9;letter-spacing:.16em;font-size:23px;line-height:1.1}.entry-brand img{width:62px;height:62px;filter:invert(1);mix-blend-mode:screen;opacity:.9}.entry-brand small{font:500 12px var(--label);letter-spacing:.18em}.entry-origin{color:#365663}
.entry-orbit{display:none}
.entry-free-bird{left:27%;top:36%;width:clamp(155px,16vw,245px);aspect-ratio:730/1080;color:#fff3d6;filter:drop-shadow(0 12px 28px #10334430);--wing-speed:2.8s}
.entry-free-bird svg{animation:entry-hover 5.6s ease-in-out infinite;transform-origin:50% 65%}
.entry-wing-near{transform-origin:740px 765px;animation:entry-wing-near var(--wing-speed) ease-in-out infinite}
.entry-wing-far{transform-origin:790px 770px;animation:entry-wing-far var(--wing-speed) ease-in-out infinite}
@keyframes entry-wing-near{0%,100%{transform:rotate(-3deg) scaleX(1)}48%{transform:rotate(13deg) scaleX(.72)}65%{transform:rotate(7deg) scaleX(.85)}}
@keyframes entry-wing-far{0%,100%{transform:rotate(0) scaleX(1)}48%{transform:rotate(-18deg) scaleX(.62)}65%{transform:rotate(-10deg) scaleX(.82)}}
.entry-caption{left:6%;bottom:17%;width:40%;text-align:left;opacity:1;letter-spacing:0;text-transform:none;color:#fff3d6}
.entry-caption p{font:800 clamp(62px,7vw,112px)/.95 var(--display);letter-spacing:-.07em;margin:0 0 23px}.entry-caption em{font-style:normal}.entry-caption>span{font:500 15px var(--label);letter-spacing:.16em}
.entry-copy{left:62%;width:30%;top:49%;max-width:430px}.entry-copy .eyebrow{color:var(--blue);font-size:16px;margin-bottom:20px}#entry-title{font-size:clamp(48px,5.5vw,84px);color:#137ba3}.entry-invitation{font-size:clamp(16px,1.3vw,20px);line-height:1.65;margin-bottom:26px}
#entry-form{width:min(100%,340px)}.entry-age-row{border-color:#19202a40;margin-bottom:12px}#entry-age{font-weight:400;font-size:70px;color:var(--ink)}
.entry-submit{border:0;border-bottom:1px solid #137ba3;background:transparent;color:#137ba3;padding:10px 0;min-height:62px;font-size:20px;transition:color .25s,gap .25s}.entry-submit:hover{background:transparent;color:#19202a;border-color:#19202a}.entry-submit svg{height:38px;width:30px;transform:none;stroke-width:1.35}.entry-door-mark g{transform-origin:8px 26px;animation:entry-door 4s ease-in-out infinite}@keyframes entry-door{0%,100%{transform:scaleX(.75)}50%{transform:scaleX(1)}}
.entry-footer{font-size:12px;bottom:4%;align-items:center}.entry-footer p:first-child{color:#fff3d6}.entry-footer .entry-responsible{color:#365663}
#entry-message{color:#813919}
#age-entry:not([data-phase='age']) .entry-paper{opacity:0}
#age-entry:not([data-phase='age']) .entry-photo-shade{background:#102e3d80}
#age-entry:not([data-phase='age']) .entry-origin,#age-entry:not([data-phase='age']) #entry-pause,#age-entry:not([data-phase='age']) #entry-skip{color:#fff3d6}
.entry-seal{top:43%;width:clamp(190px,29svh,280px)}.entry-cinematic-caption{color:#fff3d6;bottom:15%;font-style:italic}
#age-entry[data-phase='reveal'] .entry-header{opacity:0;transition:opacity .4s}
#age-entry[data-phase='handoff'] .entry-backdrop{opacity:0}
#age-entry[data-phase='handoff']{pointer-events:none}
@media(min-width:761px) and (max-height:650px){.entry-caption{bottom:18%}.entry-caption p{font-size:58px}.entry-free-bird{top:36%;width:140px}.entry-copy{top:51%}#entry-title{font-size:50px;margin-bottom:12px}.entry-invitation{font-size:15px;margin-bottom:14px}.entry-copy .eyebrow{margin-bottom:10px}#entry-age{font-size:48px}.entry-submit{min-height:45px;font-size:18px}}
@media(max-width:760px){
 .entry-header{top:22px;left:6%;right:6%;align-items:start}.entry-brand{font-size:19px;gap:10px}.entry-brand img{width:43px;height:43px}.entry-brand small{font-size:10px}.entry-origin{color:#fff3d6;max-width:115px;font-size:12px}
 .entry-rio-photo{object-position:38% 25%}.entry-photo-shade{background:#14324133}
 .entry-paper{height:67%;top:33%;transform:scaleX(-1);width:175%;left:-65%;border-top-left-radius:50% 10%;background:#f3ead2}.entry-paper path{display:none}
 .entry-free-bird{left:48%;top:23%;width:105px}.entry-caption{display:block;left:7%;bottom:auto;top:28%;width:55%}.entry-caption p{font-size:33px;line-height:1;letter-spacing:-.06em;margin:0}.entry-caption p br{display:none}.entry-caption em{margin-left:7px}.entry-caption>span{display:none}
 .entry-copy{left:8%;top:43%;width:84%;max-width:none;transform:none;text-align:center}.entry-copy .eyebrow{font-size:13px;margin-bottom:10px}#entry-title{font-size:52px;margin-bottom:13px}.entry-invitation{font-size:16px;line-height:1.55;margin-bottom:17px}
 #entry-form{max-width:290px}.entry-age-label{font-size:13px}#entry-age{font-size:48px}.entry-age-row{margin-bottom:7px}.entry-submit{font-size:18px;min-height:49px}.entry-submit svg{height:32px}
 .entry-footer{bottom:16px;font-size:11px;left:8%;right:8%}.entry-footer p:first-child{color:#365663}
 .entry-seal{top:41%}.entry-cinematic-caption{bottom:22%}
}
@media(max-width:760px) and (max-height:740px){.entry-copy{top:36%}.entry-paper{top:29%;height:71%}.entry-free-bird{top:21%;width:85px}.entry-caption{top:25%;}.entry-caption p{font-size:27px}#entry-title{font-size:42px;margin-bottom:8px}.entry-invitation{font-size:14px;margin-bottom:12px}.entry-copy .eyebrow{margin-bottom:7px}#entry-age{font-size:42px}.entry-submit{font-size:17px;min-height:44px}.entry-footer{bottom:12px}}
@media(max-width:760px) and (max-height:640px) and (orientation:portrait){.entry-copy{top:32%}.entry-free-bird{width:65px;left:64%;top:21%}.entry-caption{top:22%}.entry-paper{top:27%;height:73%}.entry-header{top:15px}.entry-brand img{width:34px;height:34px}.entry-brand{font-size:16px}#entry-title{font-size:36px}#entry-age{font-size:36px}.entry-invitation{font-size:13px;margin-bottom:9px}.entry-footer{font-size:10px}.entry-submit{min-height:40px}}
@media(max-height:530px) and (orientation:landscape){.entry-paper{inset:0;width:100%;height:100%;transform:none;border-radius:0;background:none}.entry-paper path{display:block}.entry-copy{left:61%;top:15%;width:33%;text-align:left}.entry-copy .eyebrow{display:none}#entry-title{font-size:35px}.entry-invitation{font-size:12px;line-height:1.4;margin-bottom:8px}.entry-free-bird{left:26%;top:41%;width:115px}.entry-caption{top:auto;bottom:19%;left:6%}.entry-caption p{font-size:32px}.entry-caption p br{display:none}.entry-caption em{margin-left:7px}.entry-caption>span{display:none}.entry-footer{bottom:10px;left:6%;text-align:left;font-size:10px;justify-content:start}.entry-footer p:first-child{color:#fff3d6}.entry-age-label{font-size:11px}#entry-age{font-size:35px}.entry-submit{font-size:16px;min-height:35px}.entry-header{top:13px}.entry-origin{color:#365663}.entry-brand img{width:36px;height:36px}.entry-brand{font-size:16px}}
@media(prefers-reduced-motion:reduce){.entry-free-bird svg,.entry-wing-near,.entry-wing-far,.entry-door-mark g{animation:none}.entry-paper,.entry-photo-shade{transition:none}}
.entry-brand img{clip-path:circle(50%)}
#entry-title{letter-spacing:-.045em}
#age-entry[data-paused='true'] .entry-free-bird svg,#age-entry[data-paused='true'] .entry-wing-near,#age-entry[data-paused='true'] .entry-wing-far{animation-play-state:paused}
#entry-title{word-spacing:.06em}
@media(max-width:760px) and (orientation:portrait){
 .entry-backdrop{background:#173c4b url('assets/refinement-v13/rio-beach-4k.jpg') 38% 25%/cover no-repeat}
 .entry-rio-photo{height:40%;object-position:50% 50%;filter:saturate(.85) brightness(.8);transition:opacity .55s}
 #age-entry:not([data-phase='age']) .entry-rio-photo{opacity:0}
}
@media(max-width:760px) and (orientation:portrait){.entry-free-bird{top:19%;width:90px}}
@media(max-width:760px) and (max-height:640px) and (orientation:portrait){.entry-free-bird{left:77%;top:19%;width:60px}.entry-caption p{font-size:25px}}
@media(min-width:761px) and (min-height:651px){.entry-free-bird{top:32%;width:clamp(140px,14vw,225px)}}
/* V22: the photograph is reserved for the final, settled handoff to Rio. */
#age-entry .entry-backdrop{background:#272b27;transition:none}
#age-entry .entry-rio-photo,#age-entry .entry-photo-shade{display:none}
#age-entry #entry-title{color:var(--ink)}
#age-entry .entry-copy .eyebrow{color:#9c4b32}
#age-entry .entry-submit{color:var(--ink);border-color:#19202a70}
#age-entry .entry-submit:hover{color:#a34b30;border-color:#a34b30}
#age-entry .entry-submit .entry-sun-mark{width:40px;height:40px;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;color:#a34b30}
.entry-sun-rays{transform-origin:24px 24px;animation:entry-sunlight 4.8s ease-in-out infinite}
.entry-sun-disc{animation:entry-sunrise 4.8s ease-in-out infinite}
.entry-orla-line{animation:entry-orla 4.8s ease-in-out infinite}
@keyframes entry-sunlight{0%,100%{opacity:.6;transform:scale(.96)}50%{opacity:1;transform:scale(1.04)}}
@keyframes entry-sunrise{0%,100%{transform:translateY(1px)}50%{transform:translateY(-1px)}}
@keyframes entry-orla{0%,100%{transform:translateX(-1px)}50%{transform:translateX(1px)}}
@media(prefers-reduced-motion:reduce){.entry-sun-rays,.entry-sun-disc,.entry-orla-line{animation:none}}
