/* Legible invitation panels with the living garden around them. */
:root{--muted:#595347;--gold:#805716;--wine:#7e252b}
body{font-size:16px}
.site-header{background:#fff9eded}
.site-header nav{font-size:13px}.header-date{font-size:11px}
.hero{height:auto;max-height:none;min-height:1120px;padding:225px 24px 115px;isolation:isolate}
.hero-art{top:-70px;bottom:-70px;translate:0 var(--scene-shift,0px);will-change:translate}
.hero-wash{background:linear-gradient(#fff8e512,transparent 60%,#fff8e530)}
.hero-content{width:min(670px,100%);padding:46px 42px 38px;border:1px solid #b28a49;background:#fffaf1fa;border-radius:190px 190px 14px 14px;box-shadow:0 18px 70px #51331520,inset 0 0 0 7px #ead9b747,inset 0 0 0 9px #b88c4638;z-index:3;position:relative;animation:card-arrival 1.5s .6s both}
.hero-content:before{content:'';position:absolute;inset:15px;border:1px solid #b98d4547;border-radius:175px 175px 3px 3px;pointer-events:none}
.family-blessings{padding:2px 25px 0}.blessing{font-size:15px;line-height:1.7;letter-spacing:.1px;color:#59401b}
.hero-lotus svg{margin:14px 0;width:46px;height:37px}
.eyebrow{font-size:11px;letter-spacing:1.7px;color:#775019}
.hero .eyebrow{font-size:11px;line-height:1.7;letter-spacing:1.4px}
.hero-content h1{font-size:100px;line-height:.95;letter-spacing:-2.5px;background:none;color:#7e252b;-webkit-text-fill-color:#7e252b;animation:none;margin:22px 0}
.hero-content h1 em{font-size:40px;color:#8a5d1e;-webkit-text-fill-color:#8a5d1e;margin:13px 0}
.hero-line{font:500 21px/1.45 var(--serif);max-width:420px;margin:auto;color:#443a2f}
.hero-content .date-line{font-size:14px;font-weight:600;letter-spacing:1.5px;margin-top:24px;color:#522828;text-shadow:none}
.hero-content .location-line{font-size:11px;color:#4d4538;letter-spacing:1.5px;text-shadow:none}
.hero-gathering{font-size:13px;line-height:1.7;color:#604b32;margin-top:16px}
.hero .button{margin-top:22px;font-size:13px}
.hero-side{font-size:10px;color:#4e3d22}.scroll-cue{font-size:10px;color:#392e20;background:#fff9ede8;padding:9px 18px;border-radius:3px}
.section-intro>p{font-size:16px;color:#514b40}.invite-copy>p:first-child{font-size:29px}.invite-message{font-size:23px;color:#544b40}
.families{max-width:1150px;gap:25px;align-items:stretch}.families>div{max-width:480px;min-width:0;flex:1}.family-lotus{align-self:center}
.family-card{background:#fffcf4;border:1px solid #ccb486;padding:35px 26px;box-shadow:0 8px 32px #51331508;position:relative}
.family-card:before{content:'';position:absolute;inset:7px;border:1px solid #dcc89e77;pointer-events:none}
.families h3{font-size:47px;margin:12px 0 3px}.qualification{font-size:13px;color:#6a5431;display:block;margin-bottom:20px}
.families p{font-size:15px;line-height:1.9;color:#514a3d}.families strong{font-weight:600;color:#392d25}
.family-hosts{margin:23px 0;border-top:1px solid #d7c49f;padding-top:22px}.family-hosts .eyebrow{font-size:10px;letter-spacing:1.3px;margin-bottom:12px}
.family-card .text-button{margin-top:8px}.closing-line{font-size:27px;color:#6b4c20}
.countdown-section .eyebrow{color:#ffe1a2}.countdown-section p{font-size:13px}.countdown span{font-size:11px}.countdown b{font-weight:500}
.events{max-width:1020px}.event{gap:45px;grid-template-columns:250px 1fr;padding:42px 20px;background:#fffaf2;border:1px solid #d6bd8e;margin-bottom:25px;position:relative;overflow:hidden}
.event-body h3{font-size:43px;color:#6e2529}.event-time{font-size:28px;font-weight:500;color:#78262b}.event-body>p:not(.event-time){font-size:15px;color:#514a3d;line-height:1.85}
.event-art{align-self:center}.event-body .eyebrow{font-size:11px;letter-spacing:1.3px}.meal{font-size:11px;color:#64502e;letter-spacing:1px}
.text-button{font-size:13px;min-height:40px;color:#653526;border-color:#9d7436;padding:6px 0}.button{font-size:13px}
.event-body .text-button+.text-button{margin-left:20px}.ceremony-note{border-top:1px solid #d7c49f;margin-top:23px;padding-top:17px;font-size:14px;line-height:1.7;color:#5a442d}.ceremony-note p{margin-top:7px;color:#5b5348}
.event-location{font-size:16px;margin:20px 0;color:#423729;line-height:1.8}.event-location p{font-size:14px}.timezone-note{font-size:12px}
.venue-content .eyebrow{font-size:11px}.venue-content p{font-size:15px;color:#514a3d}.venue-content h3{font-size:30px}.venue-art-label{font-size:11px;line-height:1.8;background:#332b20bd}
.family-signoff{font-size:15px}.final-invite>div>p{font-size:23px;color:#514a3d}
.share-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}footer p{font-size:10px}footer>span{font-size:17px}
.motion-control>button{font-size:12px}#motion-panel{width:275px}#motion-panel>p{font-size:11px}#motion-panel button{font-size:14px}#motion-panel i{font-size:12px}#toast{font-size:14px;line-height:1.5}
#atmosphere{z-index:2;mask-image:linear-gradient(90deg,#000 0%,#000 8%,transparent 24%,transparent 76%,#000 92%,#000 100%)}.sacred-thread{position:fixed;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,#85252b,#f3c45e,#85252b);transform-origin:left;transform:scaleX(0);z-index:25;pointer-events:none}
.temple-entrance:not(.opening){display:none}
.mandala-aura{position:absolute;width:min(900px,100vw);aspect-ratio:1;top:130px;left:50%;translate:-50% 0;z-index:0;pointer-events:none;opacity:.4}
.mandala-aura svg{width:100%;height:100%;fill:none;stroke:#b28335;stroke-width:.5;animation:kolam-turn 100s linear infinite}
.hero-wash:after{content:'';position:absolute;left:-20%;right:-20%;height:24%;bottom:0;background:repeating-radial-gradient(ellipse at 50% 100%,transparent 0 17px,#fff5cf5c 18px 19px,transparent 20px 40px);opacity:.4;transform-origin:bottom;animation:lake-reflections 7s ease-in-out infinite alternate;mask-image:linear-gradient(transparent,#000)}
.flower-cluster{position:absolute;bottom:75px;width:150px;height:270px;z-index:2;pointer-events:none;animation:cluster-drift 6s ease-in-out infinite alternate}.cluster-left{left:2%;rotate:-15deg}.cluster-right{right:2%;rotate:20deg;animation-delay:-3s}
.living-flower{position:absolute;width:85px;height:85px;left:0;top:calc(var(--flower)*43px);animation:flower-breathe calc(3s + var(--flower)*.4s) ease-in-out infinite alternate;filter:drop-shadow(0 5px 4px #39290f20)}
.living-flower:nth-child(even){left:45px}
.living-flower i{position:absolute;width:42px;height:49px;left:22px;top:0;background:radial-gradient(ellipse at 50% 85%,#e9bd82,#fff8e3 60%,#fffdf6);border-radius:80% 80% 55% 55%;transform-origin:50% 42px;border:1px solid #e8d2a466}.living-flower i:nth-child(2){rotate:72deg}.living-flower i:nth-child(3){rotate:144deg}.living-flower i:nth-child(4){rotate:216deg}.living-flower i:nth-child(5){rotate:288deg}.living-flower b{position:absolute;left:33px;top:33px;width:20px;height:20px;border-radius:50%;background:radial-gradient(#e0a22d,#b67c25);box-shadow:0 0 0 4px #e6b95466}
.living-flower:nth-child(even) i{background:radial-gradient(ellipse at 50% 85%,#c88768,#f4d1c3 65%,#fff2e0)}
.blessing-petal{position:absolute;left:var(--x);top:var(--y);width:17px;height:24px;border-radius:80% 10% 75% 20%;background:linear-gradient(120deg,#fff7de,#f0d3b8);opacity:0;box-shadow:0 2px 4px #72482122;animation:blessing-flight 3.8s var(--wait) cubic-bezier(.15,.35,.5,1) forwards}.blessing-petal.saffron{background:linear-gradient(120deg,#f4cd65,#d38f27)}
.scene-paused *,.scene-paused *:before,.scene-paused *:after{animation-play-state:paused!important}
@keyframes blessing-flight{10%{opacity:.95}85%{opacity:.85}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--spin))}}
@keyframes cluster-drift{from{transform:translateY(0) rotate(-3deg)}to{transform:translateY(-18px) rotate(4deg)}}
@keyframes flower-breathe{from{transform:scale(.9) rotate(-8deg)}to{transform:scale(1.03) rotate(6deg)}}
@keyframes lake-reflections{from{transform:scale(1,.85) translateX(-1%);opacity:.25}to{transform:scale(1.04,1.1) translateX(1%);opacity:.5}}
@keyframes card-arrival{from{transform:translateY(18px) scale(.98)}to{transform:translateY(0) scale(1)}}
@media(max-width:900px){.hero{padding-top:215px}.families{gap:14px}.family-card{padding:28px 19px}.families h3{font-size:39px}.family-lotus{width:35px}.event{grid-template-columns:170px 1fr;gap:25px}.hero-content{width:min(630px,100%)}.flower-cluster{width:100px;scale:.8;transform-origin:bottom}}
@media(max-width:600px){
  .site-header{padding:0 16px}.site-header nav{gap:16px;font-size:11px}.site-header nav a{font-size:11px}.header-date{font-size:9px;letter-spacing:.5px}
  .hero{padding:180px 17px 105px;min-height:1030px}.hero-content{padding:37px 20px 28px;border-radius:145px 145px 10px 10px}.hero-content:before{inset:8px;border-radius:138px 138px 5px 5px}.family-blessings{padding:0 8px}.blessing{font-size:12px;line-height:1.7}.hero-lotus svg{width:40px;height:33px;margin:13px 0}.hero .eyebrow{font-size:10px;letter-spacing:1px;max-width:240px;margin:auto}.hero-content h1{font-size:clamp(62px,18vw,81px);margin:20px 0;letter-spacing:-2px}.hero-content h1 em{font-size:32px;margin:12px 0}.hero-line{font-size:20px;line-height:1.35;max-width:260px}.hero-content .date-line{font-size:12px;letter-spacing:.7px;gap:8px;margin-top:22px}.date-line span{width:14px;flex-shrink:0}.hero-content .location-line{font-size:10px;letter-spacing:.7px}.hero-gathering{font-size:12px;margin-top:16px;line-height:1.7}.hero .button{font-size:13px;margin-top:20px;padding:14px 22px}.scroll-cue{font-size:8px;bottom:24px;padding:8px 12px}.scroll-cue span{margin-top:4px}
  .eyebrow{font-size:11px;letter-spacing:1.3px}.section-intro>p{font-size:15px}.section{padding:65px 20px}.invite-copy>p:first-child{font-size:27px}.invite-message{font-size:21px}.families{gap:24px}.families>div{width:100%;max-width:450px}.families h3{font-size:43px}.families p{font-size:15px}.family-card{padding:29px 20px}.family-lotus{height:35px}.closing-line{font-size:25px}.countdown-section .eyebrow{font-size:10px}.countdown-section p{font-size:12px}.countdown span{font-size:9px}
  .event{grid-template-columns:1fr;gap:12px;padding:25px 20px}.event-art{height:125px;width:120px;justify-self:center}.event-art:before{inset:0 5px}.event-art svg{width:70px;height:80px}.event-number{bottom:9px}.event-body{text-align:center}.event-body .eyebrow{font-size:11px;letter-spacing:.8px;line-height:1.8}.event-body h3{font-size:36px;line-height:1.15;margin-top:13px}.event-time{font-size:25px}.event-body>p:not(.event-time){font-size:15px}.meal{font-size:11px;margin:19px 0 10px}.ceremony-note{font-size:14px;text-align:left}.event-location p{font-size:14px}.event-body .text-button+.text-button{margin-left:0;display:flex;width:max-content;margin:10px auto 0}.text-button{font-size:14px}.timezone-note{font-size:12px;line-height:1.7}.venue-content p{font-size:15px}.venue-content h3{font-size:29px}.venue-art-label{font-size:9px}.family-signoff{font-size:14px;line-height:1.9}.final-invite>div>p{font-size:22px}.share-actions{gap:12px}.share-actions .button{width:100%;font-size:13px}.motion-control>button{font-size:11px}.motion-control{bottom:12px;right:12px}footer p{font-size:9px;line-height:1.8;text-align:center}footer>span{font-size:16px}
  .mandala-aura{width:550px;top:150px;opacity:.25}.flower-cluster{bottom:32px;scale:.5;width:95px}.cluster-left{left:-10px}.cluster-right{right:-10px}.living-flower{left:calc(var(--flower)*6px)}
}
@media(prefers-reduced-motion:reduce){.hero-art{translate:none;will-change:auto}.blessing-petal{display:none}.hero-content h1{-webkit-text-fill-color:#7e252b}.hero-content h1 em{-webkit-text-fill-color:#8a5d1e}}
