/* Dad's invitation rhythm: a floating artwork hero, champagne accents and warm paper sections.
   Wedding-specific art and text remain separate from Dad's birthday assets. */
:root{--bg:#fdf9f0;--alt:#f5ecdc;--paper:#fffdf8;--ink:#271e18;--muted:#645a4d;--pine:#24372d;--gold:#ae873e;--gold-light:#e4c88c;--line:#d5b875;--rose:#a85042;--shadow:0 22px 55px -20px rgba(35,27,18,.34)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--bg);font:20px/1.5 'Cormorant Garamond',Georgia,serif}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:500}a{color:var(--pine)}button,input,select,textarea{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.skip{position:absolute;left:-9999px;top:5px;z-index:30;background:white;padding:8px}.skip:focus{left:10px}
.site-nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:10px clamp(16px,4vw,56px);background:rgba(253,249,240,.97);box-shadow:0 4px 18px #1d180d16;border-bottom:1px solid #c8a36588}.brand{text-decoration:none;font-size:25px;color:var(--pine);white-space:nowrap}.brand strong{color:var(--gold);font-style:italic;font-weight:500}.nav-links{display:flex;gap:8px;flex-wrap:wrap}.nav-links a{padding:9px 17px;border:1px solid var(--line);border-radius:999px;text-decoration:none;text-transform:uppercase;letter-spacing:.08em;font:600 11px/1.3 Inter,Arial,sans-serif;color:var(--pine)}.nav-links a:hover{background:var(--pine);color:white}
.preview-banner{margin:0;padding:9px 18px;text-align:center;background:#fff3d9;color:#563e18;font:600 13px/1.4 Inter,Arial,sans-serif}.preview-banner strong{text-transform:uppercase;letter-spacing:.06em}
.hero{position:relative;isolation:isolate;overflow:hidden;min-height:calc(100svh - 58px);padding:75px 18px 65px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:24px;text-align:center;background:radial-gradient(ellipse 68% 35% at 50% 83%,#ffc77495,transparent 78%),radial-gradient(ellipse 100% 60% at 50% 0%,#c8b6b7a3,transparent 70%),linear-gradient(180deg,#706c78 0%,#dfa775 53%,#a34d37 100%)}.hero:after{content:'';position:absolute;inset:auto 0 0;height:34%;z-index:-1;background:radial-gradient(ellipse 80% 60% at 50% 130%,#522d2b8e,transparent)}.lights{position:absolute;inset:0 0 auto;height:90px;pointer-events:none;z-index:1}.lights:before{content:'';position:absolute;left:-2%;top:20px;width:104%;height:47px;border-bottom:2px solid #33383088;border-radius:0 0 50% 50%/0 0 100% 100%}.lights span{position:absolute;left:var(--x);top:56px;width:10px;height:10px;border-radius:50%;background:#fff0b1;box-shadow:0 0 17px 6px #ffd771a8;animation:twinkle 3s ease-in-out infinite;animation-delay:var(--d)}@keyframes twinkle{50%{opacity:.55;box-shadow:0 0 9px 3px #ffd77170}}.hero-overline{position:relative;z-index:2;color:#fff9eb;font-size:14px;letter-spacing:.26em;text-transform:uppercase;text-shadow:0 2px 8px #2b2522cc;font-weight:600}.hero-card-frame{position:relative;z-index:2;width:min(440px,84vw);padding:8px;border-radius:14px;background:#fff7e959;box-shadow:var(--shadow),0 0 70px #fbd38f88;animation:float 7s ease-in-out infinite}.hero-card{display:block;width:100%;height:auto;border-radius:8px;box-shadow:0 0 0 1px #edd9b4}@keyframes float{50%{transform:translateY(-8px)}}.hero-actions{position:relative;z-index:2;display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.btn,button[type=submit],#share-invite{display:inline-block;border:0;border-radius:999px;padding:13px 26px;text-decoration:none;text-align:center;text-transform:uppercase;letter-spacing:.07em;font:600 13px/1.35 Inter,Arial,sans-serif;transition:transform .2s,box-shadow .2s}.btn:hover,button[type=submit]:hover,#share-invite:hover{transform:translateY(-2px)}.btn-gold,button[type=submit],#share-invite{background:linear-gradient(135deg,#cda554,#a77e36);color:#fff;box-shadow:0 8px 25px -8px #71531bcc}.btn-ghost{border:1px solid #fff7e8;color:#fff;background:#24402e52}.btn-outline{border:1px solid var(--gold);color:var(--pine);background:transparent}.hero-actions .btn{min-width:164px}
.countdown{text-align:center;color:#302718}.countdown .overline{margin-bottom:8px;color:#3a281a;text-shadow:0 1px 2px #ffe4b1}.count-tiles{display:flex;justify-content:center;gap:10px}.count-tiles div{min-width:73px;padding:8px 11px;border:1px solid #c8a35f;border-radius:9px;background:#fffaf0c9;box-shadow:0 5px 15px #4b2b221c}.count-tiles strong{display:block;font-size:32px;font-weight:500;line-height:1}.count-tiles span{display:block;text-transform:uppercase;letter-spacing:.14em;font:600 9px Inter,Arial,sans-serif}.count-date{font-size:17px;margin:9px 0 0}
.section{padding:75px 18px;scroll-margin-top:64px}.section-alt{background:var(--alt)}.section-inner{max-width:1060px;margin:auto}.section-head{text-align:center;margin-bottom:28px}.overline{text-transform:uppercase;letter-spacing:.24em;color:var(--gold);font:600 12px/1.4 Inter,Arial,sans-serif}.section-head h2{font-size:clamp(36px,5vw,60px);line-height:1.08;margin:8px 0 12px}.gold-rule{display:flex;align-items:center;justify-content:center;gap:14px;color:var(--gold)}.gold-rule:before,.gold-rule:after{content:'';width:56px;height:1px;background:var(--line)}.section-lead{text-align:center;max-width:710px;margin:0 auto 26px;color:var(--muted);font-size:22px}.details-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.detail-card{padding:29px 24px;border-radius:18px;background:var(--paper);border:1px solid #e8dcc3;box-shadow:0 10px 25px #3e302715}.detail-icon{display:grid;place-items:center;width:50px;height:50px;margin:0 auto 12px;border-radius:50%;border:1px solid var(--gold);color:var(--gold);font-size:26px}.detail-card{text-align:center}.detail-card .overline{font-size:11px;letter-spacing:.1em;color:#76591d}.detail-card h3{font-size:36px;color:var(--pine);margin:8px 0}.detail-card .venue{font-size:23px}.detail-card .note{color:var(--muted);font-size:17px}.detail-card .date{font-size:19px;margin:0}.detail-card .event-message{font-size:18px;line-height:1.3;color:var(--rose);margin:4px 0 12px}.detail-card .inviter{border-top:1px solid #e8dcc3;margin-top:17px;padding-top:12px;font-size:16px;line-height:1.3}.detail-card .inviter span{display:block;text-transform:uppercase;letter-spacing:.12em;color:var(--gold);font:600 10px Inter,Arial,sans-serif;margin-bottom:7px}.detail-card .inviter p{margin:5px 0}.detail-card .rsvp-contacts{margin:15px 0 0;font:600 12px/1.5 Inter,Arial,sans-serif;overflow-wrap:anywhere;color:var(--pine)}
.card{max-width:740px;margin:auto;padding:clamp(20px,4vw,36px);background:var(--paper);border:1px solid #e8dcc3;border-radius:18px;box-shadow:var(--shadow)}.card label{display:block;margin:14px 0 6px;color:var(--pine);font-weight:600}.card input:not([type=checkbox]),.card textarea,.card select{width:100%;padding:11px 14px;border:1px solid #cdbd9e;border-radius:9px;background:white;color:var(--ink);font:17px/1.4 Inter,Arial,sans-serif}.card textarea{min-height:70px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.event-responses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.privacy{padding:15px 18px;background:#f9f1e1;border-left:3px solid var(--gold);font-size:17px}.privacy label{display:flex;gap:9px;align-items:flex-start}.privacy small{display:block;color:var(--muted)}.card fieldset{padding:0;border:0;margin:0}.card fieldset:disabled{opacity:.68}.card fieldset:disabled button{filter:grayscale(1);box-shadow:none;cursor:not-allowed}.status{max-width:740px;margin:15px auto;padding:15px;background:#ecf1e9;border-radius:9px;overflow-wrap:anywhere}.note{font-size:17px}.gallery-preview{display:flex;justify-content:center;gap:18px;max-width:760px;margin:25px auto}.memory-card{height:190px;width:33%;display:grid;place-items:center;border:9px solid white;border-bottom-width:30px;box-shadow:0 8px 22px #3029222e;transform:rotate(var(--tilt));background:linear-gradient(160deg,#e7d2b4,#aeab90);color:#31503e;font-size:40px}.memory-card:nth-child(2){background:linear-gradient(160deg,#dbb6a7,#d0ab74)}.memory-card:nth-child(3){background:linear-gradient(160deg,#c6c9a5,#9b7e70)}
.question-card{background:#213b2c;color:#fff5dd}.question-card h3{font-size:30px}.question-card label{color:#fff5dd}.question-card input:not([type=checkbox]){background:#fffaf0}.question-card .status{color:var(--ink);margin-bottom:0}.faq-list{max-width:780px;margin:auto}.faq-list details{border-bottom:1px solid #d1bb8c;padding:15px 0}.faq-list summary{cursor:pointer;color:var(--pine);font-size:24px}.faq-list p{margin:8px 0 0;color:var(--muted)}.site-footer{padding:52px 18px;text-align:center;background:#1e3927;color:#f4e7ca}.footer-script{font:50px 'Great Vibes',cursive;color:#d8bd7b}.site-footer p{margin:7px 0}.site-footer a{color:#f2dfa8}.site-footer .fine{font:12px Inter,Arial,sans-serif;opacity:.78}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.chat-fab{position:fixed;right:20px;bottom:18px;z-index:30;display:flex;align-items:center;gap:9px;padding:12px 18px;border:1px solid #e3c98a;border-radius:999px;background:var(--pine);color:#fff8e7;box-shadow:0 8px 26px #111b14a8;font:600 14px Inter,Arial,sans-serif}.chat-panel{position:fixed;right:18px;bottom:82px;z-index:30;display:flex;flex-direction:column;width:min(385px,calc(100vw - 36px));max-height:min(610px,calc(100dvh - 110px));border:1px solid #d8bf8a;border-radius:18px;background:#fffdf8;box-shadow:0 18px 60px #20171099;overflow:hidden;font:14px/1.45 Inter,Arial,sans-serif}.chat-panel[hidden]{display:none}.chat-head{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:var(--pine);color:#fff8e7}.chat-head strong{display:block;font-size:16px}.chat-head small{display:block;color:#e9dcb9;font-size:11px}.chat-head button{border:0;background:transparent;color:#fff8e7;font:28px/1 Inter,Arial,sans-serif}.chat-messages{flex:1;min-height:110px;max-height:330px;overflow-y:auto;padding:16px;background:#f8f1e4}.chat-bubble{width:fit-content;max-width:93%;padding:10px 13px;margin:0 0 11px;border-radius:14px;background:white;border:1px solid #e8dac0;white-space:pre-wrap;overflow-wrap:anywhere}.chat-user{margin-left:auto;background:#dfe9dc;border-color:#c3d2c1}.chat-chips{display:flex;flex-wrap:wrap;gap:6px;padding:10px 13px 0}.chat-chips button{padding:7px 10px;border:1px solid #c9aa69;border-radius:99px;background:transparent;color:var(--pine);font:600 11px Inter,Arial,sans-serif}.chat-caveat{padding:0 14px;margin:8px 0;color:var(--muted);font-size:11px}.chat-input{display:flex;gap:6px;padding:0 12px 12px}.chat-input input{flex:1;min-width:0;padding:10px;border:1px solid #cdbd9e;border-radius:9px;font:14px Inter,Arial,sans-serif}.chat-input button{padding:9px 12px;border:0;border-radius:9px;background:var(--gold);color:#fff;font:600 12px Inter,Arial,sans-serif}.chat-input button:disabled{opacity:.6;cursor:wait}
.interior-page main{max-width:900px;margin:35px auto;padding:clamp(18px,4vw,45px);background:var(--paper);border:1px solid #e8dcc3;border-radius:18px;box-shadow:var(--shadow)}.interior-page section{margin:0 0 40px}.interior-page section:last-child{margin-bottom:0}.interior-page h2{font-size:clamp(32px,5vw,48px);color:var(--pine);margin-bottom:12px}.interior-page h3{font-size:28px;color:var(--pine)}.interior-page label{display:block;margin:13px 0 6px;font-weight:600}.interior-page input:not([type=checkbox]),.interior-page textarea,.interior-page select{display:block;width:100%;padding:11px 14px;border:1px solid #cdbd9e;border-radius:9px;background:#fff;color:var(--ink);font:17px/1.4 Inter,Arial,sans-serif}.interior-page .privacy{margin:18px 0}.interior-page .photos{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}.interior-page .photo{display:block;max-width:100%;max-height:280px;object-fit:contain}.interior-page .event{padding:18px;border:1px solid #e8dcc3;border-radius:12px;background:#fffaf0;overflow-wrap:anywhere}.interior-page form{max-width:740px}.interior-page button{margin-top:12px}
@media(max-width:760px){.site-nav{justify-content:center;flex-wrap:wrap;padding:8px 12px}.brand{font-size:20px}.nav-links{width:100%;justify-content:center;gap:5px}.nav-links a{padding:8px 10px;font-size:10px}.details-grid{grid-template-columns:1fr;max-width:480px;margin:auto}.grid,.event-responses{grid-template-columns:1fr}.section{padding:58px 17px;scroll-margin-top:125px}.hero{min-height:auto;padding-top:65px}.gallery-preview{gap:8px}.memory-card{height:125px;border-width:5px;border-bottom-width:18px;font-size:28px}.count-tiles div{min-width:62px}.hero-card-frame{width:min(400px,82vw)}}
@media(max-width:370px){.nav-links a{font-size:9px;padding:7px}.count-tiles{gap:5px}.count-tiles div{min-width:58px;padding:7px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
