:root{--night:#355c43;--ink:#344e37;--light:#f7eed2;--gold:#e4be76;--paper:#e8dfba;--display:Georgia,'Times New Roman',serif}.hero{color:#344e37;background:#e6d1a0;min-height:940px;height:105svh}.hero-art::after{background:linear-gradient(90deg,#f2dfb1ed,transparent 85%)}.safari-poster,#safari-film{position:absolute;width:100%;height:100%;object-fit:cover;inset:0}#safari-film{opacity:0}#safari-film.playing{opacity:1}.hero-copy{padding-top:95px;width:52%}.hero h1{font-weight:700;letter-spacing:-.065em;font-size:clamp(7rem,12vw,12rem);color:#36563f}.hero-title{font-size:2.5rem;max-width:440px}.guest-label{color:#537349;font-weight:bold}.hero-date{font-weight:600}.open-button{color:#fff2cb;background:#375e43}.open-button:hover{background:#55764b}.open-note{color:#3e5c42}.scene-caption{color:#425e43;font-weight:bold}.topline span{color:#5f724c}.film-playing .hero-copy{opacity:.15;transition:opacity .8s}.film-playing .hero-art::after{opacity:0}.film-playing .topline{opacity:.2}.invitation{background:#f4e8bf}.ornament{color:#72874f}.river-line path{stroke:#8b965f;stroke-width:6;stroke-dasharray:.03 .02}.signature{color:#4f7149}.portrait-section{background:#e8dfba}.portrait-frame{border:2px solid #748557;padding:14px;border-radius:45% 45% 18% 18%}.portrait-inner{background:radial-gradient(circle at 40% 20%,#91a171,#547452);border-radius:45% 45% 18% 18%}.monogram{color:#f6df9b;font-weight:700}.portrait-star{font:bold 60px Georgia;color:#eccb83}.frame-shutter{background:#c7b97d}.countdown-section{background:#4c6b48;color:#f8eac1}.countdown strong{color:#f4d491}.clock-orbit{border-color:#bbce8c66}.clock-orbit::after{border-color:#bbce8c55}.clock-orbit span{background:#4c6b48;color:#e5c57f}.event-day{color:#ebdcb2}.place-section{background:#eee2b8}.place-copy .venue{color:#456342}.programme-section{background:#f7eed2}.programme-section ol{border-color:#96a064}.programme-section li::before{color:#567245}.programme-section time{color:#506d42}.dress-section{background:#ccce9e}.dress-art i{color:#65844e}.rsvp-section{background:#f7eed2}.rsvp-panel input:not([type=radio]):not([type=checkbox]),.rsvp-panel textarea{background:#fff9e6;border-color:#9eaa79;color:#355439}.privacy{color:#61704d}.guests-section{background:#3e6144;color:#f8e9bf}.notes-section{background:#e5d9ad}#guest-total{color:#d6d9ac}footer{background:#294e38;color:#ebd5a1}.music{color:#345b40;background:#f0d393;border-color:#345b40}.primary{font-weight:bold}h2{letter-spacing:-.04em}.savanna-section{height:240svh;overflow:visible;background:#c7bb80}.savanna-stage{height:100svh;position:sticky;top:0;overflow:hidden}.savanna-stage picture img,.savanna-stage canvas{position:absolute;width:100%;height:100%;object-fit:cover;inset:0}.savanna-stage canvas{opacity:0}.savanna-stage canvas.painted{opacity:1}.savanna-copy{position:relative;padding:70px 8vw;max-width:780px;color:#36513a}.savanna-copy h2{font-size:clamp(2.7rem,4.5vw,4.6rem);max-width:650px}.savanna-copy p{max-width:46ch;font-size:17px}.savanna-copy::before{content:'';position:absolute;inset:0 -20vw -80px -20vw;background:linear-gradient(#eddbabe6,#eddbab00);z-index:-1}.savanna-copy{z-index:1}.savanna-stage canvas{z-index:0}.route-art .route{stroke:#566f42}.photo-caption{color:#425f40}.rsvp-intro .ornament{color:#6e854e}
@media(max-width:700px){.hero{height:1040px;min-height:100svh}.hero-copy{padding:75px 24px 0;width:100%}.hero h1{font-size:6rem;margin:14px 0}.hero-title{font-size:1.85rem;max-width:300px}.hero-date{margin-top:25px}.hero-art{top:240px;height:800px}.hero-art::after{background:linear-gradient(#e6d1a0,transparent 43%)}.safari-poster,#safari-film{object-position:center bottom}.guest-label{margin:auto}.open-note{font-size:11px}.scene-caption{bottom:20px}.hero .scroll-cue{margin-top:20px}.savanna-section{height:240svh}.savanna-copy{padding:45px 24px}.savanna-copy h2{font-size:2.5rem}.savanna-copy p{font-size:14px;max-width:31ch}.savanna-stage{height:100svh}.portrait-frame{max-width:300px}.countdown-section{min-height:660px}.film-playing .hero-copy{opacity:0}.film-playing .hero-art{top:0;height:100%}.film-playing .hero-art::after{display:none}.film-playing .scene-caption{display:none}}
@media(prefers-reduced-motion:reduce){.savanna-section{height:100svh}.savanna-stage{position:relative}.hero-copy,.topline{opacity:1!important}}
