@font-face{font-family:Race;src:url('../fonts/RaceDisplay.woff2') format('woff2');font-weight:800;font-display:swap}@font-face{font-family:RaceMono;src:url('../fonts/jetbrains-mono-latin-500-normal.woff2') format('woff2');font-weight:500;font-display:swap}:root{--display:Race,Arial,sans-serif;--body:RaceMono,monospace;--night:#09242f;--ink:#12343c;--light:#eee9dc}.hero{background:#051c24}.hero h1,.signature,.countdown strong{font-family:Race,Arial,sans-serif}.hero-title{font-family:Race,Arial,sans-serif;font-size:2.6rem;letter-spacing:-.02em;max-width:450px}.hero h1{font-size:clamp(7rem,14vw,14rem);font-style:italic}.hero-copy{padding-top:120px}.hero-date{font-size:12px}.guest-label{font-size:12px;letter-spacing:.15em}.topline{font-size:11px}.race-painting{position:absolute;right:0;width:65%;height:100%;object-fit:cover;object-position:center 80%;mask-image:linear-gradient(to right,transparent,#000 30%)}.hero-art::after{background:linear-gradient(90deg,#051c24b0,transparent 85%)}.hero-art{inset:0;height:100%}.opening .hero-art{animation:none}.start-lights{border-radius:3px}.scene-caption{font-family:Race;font-size:2rem}.prose h2,h2{font-family:Race,Arial,sans-serif;font-weight:800;letter-spacing:-.03em}.prose .signature{font-family:Race}.prose p:not(.signature){font-size:15px}.portrait-frame{border:0;box-shadow:12px 12px 0 #e4a46f;transform:rotate(-3deg);padding:0 0 16px;background:#143740}.frame-shutter{display:none}.photo-caption{color:#f1e8d8;font-size:11px}.portrait-copy p{font-size:14px}.countdown-section{background:#09242f;min-height:620px;padding:100px 24px 70px;place-items:center}.timing-label{position:absolute;left:8%;right:8%;top:30px;display:flex;justify-content:space-between;letter-spacing:.15em;border-bottom:1px solid #44616a;padding-bottom:20px;font-size:11px}.timing-label span{color:#a9d5b3}.countdown-inner{max-width:900px;width:100%}.countdown-inner h2{font-size:clamp(2.8rem,5vw,5rem);max-width:750px;margin-inline:auto}.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.countdown>div{background:#07191f;border:1px solid #355461;border-top:3px solid #eea375;padding:25px 15px;position:relative}.countdown strong{font-family:RaceMono;font-size:clamp(2.5rem,4vw,4.5rem);font-style:normal;color:#f5ba84}.countdown span{font-size:10px;text-transform:uppercase;letter-spacing:.12em}.countdown-section #agenda{padding:12px 25px;border:1px solid #64828a;font-size:11px}.garage-scene{position:relative;background:#09242f;padding:0 0 22px;transform:rotate(1deg)}.garage-scene>img{width:100%;display:block}.circuit-caption{font-size:10px;color:#edbc92;letter-spacing:.1em;padding:18px 20px}.garage-scene .route-art{max-width:200px;margin:auto;opacity:.8}.garage-scene .route-art text{fill:#f0ac77;font-family:Race}.programme-section{display:block;background:#e4e8de;padding:90px 8%}.grid-title{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:end}.grid-title>span{grid-column:1/-1;font-size:10px;letter-spacing:.18em;color:#7c492d}.grid-title h2{margin:0!important;font-size:clamp(3rem,6vw,6rem)}.grid-title p{font-size:13px;max-width:25ch}.programme-section ol{margin:50px 0 0;border:0;counter-reset:grid}.programme-section li{counter-increment:grid;display:grid;grid-template-columns:80px 140px 1fr;gap:25px;border-top:1px solid #98aaa2;align-items:start;padding:30px 0;transform:none}.programme-section li::before{content:counter(grid,decimal-leading-zero);position:static;width:auto;height:auto;background:none;border-radius:0;font:800 3.5rem Race;color:#a65e3a}.programme-section time{font:500 1rem RaceMono;margin-top:15px;color:#143c43}.programme-section h3{font:800 2rem Race;margin:6px 0 10px}.programme-section li p{font-size:13px}.dress-section{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8%;padding:75px 8%;background:#d69a75;min-height:600px;opacity:1;visibility:visible}.paddock-art{width:100%;height:450px;object-fit:contain;filter:drop-shadow(15px 15px 16px #132a3b30)}.dress-section>div:last-child{opacity:1;visibility:visible;transform:none}.dress-section h2{font-size:clamp(3rem,5vw,5rem)}.dress-section p{font-size:13px}.dress-section p:first-child{font-size:10px;letter-spacing:.16em;text-transform:uppercase}@media(max-width:700px){.hero{height:920px;min-height:920px}.hero-copy{padding:95px 24px 0}.hero h1{font-size:6.8rem}.hero-title{font-size:1.85rem;max-width:290px}.hero-date{font-size:11px;margin-top:20px}.hero .open-button{margin-top:20px;font-size:12px}.open-note{font-size:10px}.hero-art{inset:0;height:100%}.race-painting{width:100%;mask-image:none;object-position:center bottom}.hero-art::after{background:linear-gradient(#051c2430,transparent)}.start-lights{top:80px;left:24px}.topline{font-size:10px;padding:22px 24px}.scene-caption{font-size:1.4rem}.countdown-section{min-height:680px;padding:95px 24px 65px}.countdown{grid-template-columns:repeat(2,1fr);gap:12px}.countdown>div{padding:20px 10px}.countdown strong{font-size:2.6rem}.timing-label{font-size:8px;left:24px;right:24px}.event-day{font-size:11px}.garage-scene{order:-1}.garage-scene .route-art{max-width:140px;order:initial}.grid-title{display:block}.grid-title>span{display:block;margin-bottom:25px}.grid-title p{margin-top:20px;max-width:none}.programme-section li{grid-template-columns:45px 1fr;gap:10px 20px}.programme-section li::before{grid-row:1/3;font-size:2.4rem}.programme-section li>div{grid-column:2}.programme-section time{margin-top:5px;font-size:.85rem}.programme-section h3{font-size:1.7rem}.programme-section li p{font-size:12px}.dress-section{grid-template-columns:1fr;padding:50px 26px;gap:30px;min-height:690px}.dress-section>div:last-child{order:-1}.paddock-art{height:320px}.dress-section h2{font-size:3.1rem}.rsvp-intro h2{font-family:Race}.place-copy .venue{font-family:Race;font-size:2rem}}
@media(max-width:700px){.race-painting{height:auto;bottom:0;object-fit:contain;mask-image:linear-gradient(transparent,#000 15%)}.hero{height:900px;min-height:900px}}
/* Pitboard: a lista vem primeiro, cada nome recebe posição no grid. */
#guest-list{counter-reset:grid}
#guest-list li{counter-increment:grid;border:1px solid #d8ab8159;padding:10px 16px;background:#ffffff0b}
#guest-list li::before{content:counter(grid,decimal-leading-zero)' / ';font:600 .7rem/1.2 sans-serif;letter-spacing:.08em;color:#f0b788}
#recados #messages blockquote{padding:18px 22px;border-left:4px solid #ad623f;border-bottom:1px solid #536c6f;background:#f0f0e9}
