
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500&display=swap');
:root{--green:#073d2b;--cream:#ffffff;--red:#be302f;--gold:#c6a456}.eko-public *{box-sizing:border-box}.eko-public{margin:0;background:var(--cream);color:var(--green);font-family:'DM Sans',sans-serif}.eko-public nav{display:flex;justify-content:space-between;align-items:center;padding:24px 6%;border-bottom:1px solid #143d291c}.eko-public a{color:inherit}.eko-public nav a{text-decoration:none;font-size:12px;letter-spacing:2px}.eko-public .brand{font-size:21px;font-weight:700;letter-spacing:-1px}.eko-public .brand span{color:var(--red)}.eko-public .pill,.eko-public button{display:inline-block;border:0;border-radius:2px;background:var(--red);color:white;padding:17px 27px;text-decoration:none;font:600 13px 'DM Sans',sans-serif;cursor:pointer}.eko-public .hero{position:relative;text-align:center;padding:68px 20px 72px;overflow:hidden;background:radial-gradient(ellipse at center,#fffdf5 0%,#f2eddb 90%)}.eko-public .eyebrow{font-size:10px;letter-spacing:3px;text-transform:uppercase;font-weight:700}.eko-public .hero h1{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:clamp(70px,10vw,138px);line-height:.9;letter-spacing:-5px;margin:28px 0}.eko-public .hero h1 em{color:var(--red);font-weight:500}.eko-public .hero .intro{max-width:450px;margin:28px auto;color:#5c685b;line-height:1.7;font-size:14px}.eko-public .meta{font-size:11px;letter-spacing:2px;margin:30px 0}.eko-public .hero .season{border:1px solid #b9aa7b;border-radius:50%;height:78px;width:78px;display:grid;place-content:center;margin:0 auto 28px;font-family:Georgia;font-size:24px}.eko-public .season small{font:8px sans-serif;letter-spacing:2px}.eko-public .ornament{position:absolute;font-family:Georgia;font-size:240px;color:#3158390b;transform:rotate(-30deg);left:-30px;top:80px;pointer-events:none}.eko-public .ornament.right{left:auto;right:-40px;transform:rotate(30deg);top:240px}.eko-public .strip{background:var(--green);color:#fff6d9;display:flex;justify-content:center;gap:50px;padding:24px;font-size:11px;letter-spacing:2px}.eko-public .section{max-width:1120px;margin:auto;padding:85px 32px}.eko-public .story{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.eko-public h2{font:500 clamp(32px,4vw,49px)/1.15 'Playfair Display',Georgia,serif;margin:18px 0}.eko-public p{font-size:14px;line-height:1.8;color:#637063}.eko-public .story img{width:100%;box-shadow:0 22px 60px #133b231a;border:10px solid white}.eko-public .text-link{font-size:12px;text-underline-offset:6px}.eko-public .details{border-top:1px solid #ccd1bd;display:grid;grid-template-columns:repeat(3,1fr);padding:36px 0;gap:30px;margin-top:55px}.eko-public .details h3{font:24px Georgia;margin:14px 0}.eko-public .details p{margin:0;font-size:13px}.eko-public .rsvp{background:var(--green);padding:70px 20px;text-align:center;color:var(--cream)}.eko-public .ticket{max-width:590px;margin:25px auto;background:var(--cream);color:var(--green);padding:45px;border:1px solid var(--gold);outline:1px solid #baa367;outline-offset:-10px;position:relative}.eko-public .ticket p{max-width:390px;margin:20px auto}.eko-public .ticket-footer{margin-top:30px;border-top:1px dashed #bdbaa8;padding-top:20px;font-size:9px;letter-spacing:2px}.eko-public .countdown{display:flex;justify-content:center;gap:38px;margin:35px auto}.eko-public .countdown strong{font:36px Georgia;display:block}.eko-public .countdown small{font-size:8px;letter-spacing:2px}.eko-public .footer{text-align:center;padding:40px;font-size:11px;letter-spacing:1px}.eko-public .preview-note{font-size:11px;color:#8c9485;margin:20px auto 0}.eko-public .modal{border:none;background:var(--cream);color:var(--green);max-width:520px;width:calc(100% - 24px);padding:30px;max-height:90dvh;overflow:auto}.eko-public .modal::backdrop{background:#041e17b8}.eko-public label{display:block;text-align:left;font-size:12px;font-weight:600;margin:15px 0}.eko-public input,.eko-public select{width:100%;padding:13px;border:1px solid #bec7b5;background:white;margin-top:7px;font:16px sans-serif;color:var(--green)}.eko-public .close{float:right;background:transparent;color:var(--green);padding:0;font-size:26px}.eko-public .modal button[type=submit]{width:100%;margin-top:10px}.eko-public .modal h2{font-size:34px}.eko-public .modal p{font-size:13px}.eko-public .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.eko-public :focus-visible{outline:3px solid #d4a627;outline-offset:3px}@media(max-width:650px){.eko-public nav{padding:20px}.eko-public .hero{padding:45px 20px}.eko-public .hero h1{letter-spacing:-3px}.eko-public .strip{gap:15px;font-size:8px;letter-spacing:1px}.eko-public .section{padding:50px 22px}.eko-public .story{grid-template-columns:1fr;gap:32px}.eko-public .details{grid-template-columns:1fr;gap:25px}.eko-public .ticket{padding:35px 25px}.eko-public .countdown{gap:26px}.eko-public .form-grid{grid-template-columns:1fr;gap:0}}@media(prefers-reduced-motion:no-preference){.eko-public{scroll-behavior:smooth}.eko-public .hero h1{animation:arrive .8s ease-out}@keyframes arrive{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}}.eko-public .style-guide{border-top:0}.eko-public .style-intro{max-width:560px}.eko-public .style-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:35px 0}.eko-public .style-cards article{padding:30px;background:#efeddf;border-top:3px solid var(--green)}.eko-public .style-number{font:italic 38px Georgia;color:#b39b62}.eko-public .style-cards h3{font:25px Georgia}.eko-public .style-note{font-size:12px}.eko-public .guest-help{padding-top:70px}.eko-public .guest-help details{border-bottom:1px solid #c9cfbf;padding:20px 0}.eko-public .guest-help summary{cursor:pointer;font-weight:600}.eko-public .countdown{font-variant-numeric:tabular-nums}@media(max-width:650px){.eko-public .style-cards{grid-template-columns:1fr}.eko-public .countdown{gap:22px}.eko-public .countdown strong{font-size:30px}}.eko-public .style-guide{text-align:center}.eko-public .dress-title{font:24px Georgia;color:var(--green);margin:20px 0 38px}.eko-public .style-boards{display:grid;grid-template-columns:1fr 1fr;gap:30px;max-width:900px;margin:auto}.eko-public .style-board{margin:0;padding:12px;background:#ffffff;box-shadow:0 12px 35px #123f3214;border:1px solid #d9d3bf}.eko-public .board-art{aspect-ratio:3/4;display:grid;place-items:center;background:#ffffff;border:1px solid #d8d2bf;overflow:hidden}.eko-public .board-art>span{font:italic 32px Georgia;color:#6a7866}.eko-public .board-art img{width:100%;height:100%;object-fit:contain}.eko-public .style-board figcaption{font:italic 26px Georgia;padding:18px 0 10px;color:var(--green)}@media(max-width:650px){.eko-public .style-boards{grid-template-columns:1fr;gap:24px}}.eko-public .brand img{display:block;width:90px;height:auto;object-fit:contain}.eko-public nav{padding-top:12px;padding-bottom:12px}@media(max-width:650px){.eko-public .brand img{width:72px}}.eko-public .hero{background:radial-gradient(ellipse at 50% 20%,#245d43 0%,#082f24 55%,#031b16 100%);color:#f7edd2;padding:65px 110px 75px;isolation:isolate;min-height:720px}.eko-public .hero>.season,.eko-public .hero>.eyebrow,.eko-public .hero>h1,.eko-public .hero>.intro,.eko-public .hero>.meta,.eko-public .hero>.pill{position:relative;z-index:3}.eko-public .hero h1{color:#f8eed3;text-shadow:0 4px 30px #0003}.eko-public .hero h1 em{color:#e7c880}.eko-public .hero .intro{color:#d4ddc9}.eko-public .hero .eyebrow{color:#e4d2a5}.eko-public .hero .season{border-color:#c6a456;color:#ebd396;background:#ffffff05}.eko-public .hero .pill{background:#ffffff;color:#173f2d;border:1px solid #d5b969}.eko-public .stage-light{position:absolute;inset:-15% -15% -30%;pointer-events:none;z-index:0;background:linear-gradient(180deg,#ffdf9c22,transparent 80%);clip-path:polygon(45% 0,55% 0,100% 100%,0 100%);transform-origin:50% 0}.eko-public .stage-light-left{transform:translateX(-24%) rotate(-21deg)}.eko-public .stage-light-right{transform:translateX(24%) rotate(21deg)}.eko-public .stage-curtain{position:absolute;top:0;bottom:0;width:11%;z-index:2;background:repeating-linear-gradient(90deg,#041d16 0%,#174b34 13%,#276343 24%,#0b2e20 36%,#041a13 48%);box-shadow:4px 0 28px #0007;pointer-events:none}.eko-public .curtain-left{left:0;clip-path:polygon(0 0,100% 0,85% 30%,53% 64%,65% 100%,0 100%)}.eko-public .curtain-right{right:0;transform:scaleX(-1);clip-path:polygon(0 0,100% 0,85% 30%,53% 64%,65% 100%,0 100%)}.eko-public .stage-valance{position:absolute;top:0;left:0;right:0;height:23px;background:linear-gradient(#214832,#071f17);border-top:4px solid #bba063;box-shadow:0 7px 15px #0004;z-index:4;pointer-events:none}
@media(prefers-reduced-motion:no-preference){.eko-public .curtain-left{animation:curtain-left-open var(--curtain-duration,1.5s) ease-in-out both}.eko-public .curtain-right{animation:curtain-right-open var(--curtain-duration,1.5s) ease-in-out both}@keyframes curtain-left-open{from{width:50%;clip-path:none}to{width:11%}}@keyframes curtain-right-open{from{width:50%;clip-path:none}to{width:11%}}}
@media(max-width:650px){.eko-public .hero{padding:55px 32px;min-height:640px}.eko-public .hero h1{font-size:76px}.eko-public .hero .eyebrow{font-size:9px;line-height:1.8;letter-spacing:2px}.eko-public .hero .meta{line-height:1.8;letter-spacing:1px}.eko-public .stage-curtain{width:8%}}.eko-public .confirmation{text-align:center;padding:24px 16px;border:1px solid #c6a456;outline:1px solid #c6a456;outline-offset:-7px;background:radial-gradient(ellipse at top,#e9f3ed, #ffffff 65%)}.eko-public .confirmation-mark{width:64px;height:64px;border-radius:50%;margin:0 auto 22px;background:#073d2b;color:#ffffff;display:grid;place-items:center;font-size:30px;box-shadow:0 0 0 6px #ffffff,0 0 0 7px #c6a456}.eko-public .confirmation h2{margin:16px 0;font-size:36px}.eko-public .confirmation .confirmation-name{font-size:18px;color:#073d2b;font-weight:600;overflow-wrap:anywhere}.eko-public .confirmation-event{border-top:1px solid #d9dfdb;border-bottom:1px solid #d9dfdb;padding:16px 0;margin:24px 0;font-size:13px;line-height:1.8}.eko-public .confirmation button{margin-top:6px}@media(max-width:480px){.eko-public .confirmation{padding:22px 12px}.eko-public .confirmation h2{font-size:30px}}
.eko-public{font-family:Arial,sans-serif;isolation:isolate;width:100%;max-width:none}.eko-public h1{font-family:Georgia,serif;max-width:850px;margin:28px auto;font-size:clamp(60px,8vw,110px);line-height:1}.eko-public .hero{background:radial-gradient(ellipse at 50% 20%,var(--green),#031b16)}.eko-public .hero h1{color:#ffffff}.eko-public .hero .season{border-color:var(--gold)}.eko-public .stage-valance{border-color:var(--gold)}.eko-public .contacts{color:#ffffff}.eko-public .modal{position:fixed;margin:auto}.eko-public textarea{width:100%;font:16px Arial;padding:12px;border:1px solid #bec7b5;min-height:70px;background:#fff;color:var(--green)}.eko-public .consent{display:flex;align-items:center;gap:10px}.eko-public .consent input{width:auto;margin:0}.eko-public .eko-trap{position:absolute;left:-99999px;width:1px;height:1px;overflow:hidden}.eko-public .form-error{color:#a12020}.eko-public .confirmation-mark{background:var(--green)}.eko-public .confirmation{border-color:var(--gold);outline-color:var(--gold)}.eko-public.eko-no-motion *{animation:none!important}.eko-public .hero .pill{background:#ffffff}.eko-public .style-board{background:#ffffff}.eko-public img{max-width:100%}.eko-public .close{line-height:1;margin:0}.eko-public .section{width:100%}.eko-public button:disabled{opacity:.6}.eko-public .ticket h2{color:var(--green)}

.eko-public .hero-logo{position:relative;z-index:3;width:150px;margin:0 auto 28px;padding:12px;background:#ffffff;border:1px solid var(--gold);border-radius:18px;box-shadow:0 12px 35px #0002}.eko-public .hero-logo img{display:block;width:100%;height:auto}.eko-public .stage-curtain{z-index:5}@media(max-width:650px){.eko-public .hero-logo{width:120px;padding:9px}}

/* The invitation opens only when the guest chooses to enter. */
.eko-public .invitation-content[hidden]{display:none!important}
.eko-public .hero{min-height:100svh;padding:32px max(28px,12vw);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(10px,2svh,22px)}
.eko-public .hero .hero-logo{width:clamp(76px,15svh,130px);margin:0;padding:8px;flex-shrink:0}
.eko-public .hero h1{font-size:clamp(42px,min(9vw,12svh),100px);line-height:1;letter-spacing:-2px;margin:0;max-width:850px}
.eko-public .hero .eyebrow{max-width:500px;line-height:1.6}
.eko-public .hero .intro{margin:0;line-height:1.5;font-size:14px;max-width:450px}
.eko-public .hero .meta{margin:0;line-height:1.6;letter-spacing:1px;max-width:500px}
.eko-public .hero .pill{margin:0;flex-shrink:0}
@media(max-width:650px){.eko-public .hero{padding:30px 28px 20px;gap:clamp(8px,2svh,16px)}.eko-public .hero h1{font-size:clamp(40px,min(12vw,9svh),64px)}.eko-public .hero .eyebrow{font-size:9px;letter-spacing:1.5px}.eko-public .hero .intro{font-size:13px}.eko-public .hero .meta{font-size:10px}.eko-public .hero .pill{padding:14px 22px}}
@media(max-height:500px){.eko-public .hero{gap:7px;padding-top:26px;padding-bottom:12px}.eko-public .hero .hero-logo{width:60px;padding:4px}.eko-public .hero h1{font-size:32px}.eko-public .hero .intro{font-size:12px}.eko-public .hero .pill{padding:10px 18px}.eko-public .hero .eyebrow{font-size:8px}}

.eko-public .contacts{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin:24px auto 0}.eko-public .contact-label{flex-basis:100%;font-size:12px;letter-spacing:1px}.eko-public .contacts .contact-call{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;min-width:145px;padding:12px 22px;border:1px solid var(--gold);border-radius:6px;background:#ffffff;color:var(--green);text-decoration:none;font-size:16px;font-weight:600}.eko-public .contact-call svg{flex-shrink:0}.eko-public .contact-call:hover{background:#f2f7f4}

/* Readable supporting information without enlarging the main title. */
.eko-public .hero .eyebrow{font-size:14px;line-height:1.5;letter-spacing:2px;color:#f4dfaa;max-width:660px}
.eko-public .hero .intro{font-size:19px;line-height:1.5;color:#ffffff;max-width:680px}
.eko-public .hero .meta{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 22px;font-size:19px;font-weight:600;line-height:1.5;letter-spacing:.2px;color:#ffffff;max-width:780px}
.eko-public .hero .meta span{display:block}
.eko-public .hero .pill{font-size:16px}
@media(max-width:650px){.eko-public .hero{gap:12px;padding-left:26px;padding-right:26px}.eko-public .hero .eyebrow{font-size:12px;letter-spacing:1px}.eko-public .hero .intro{font-size:16px;line-height:1.4}.eko-public .hero .meta{font-size:16px;gap:3px 14px;line-height:1.4}.eko-public .hero .meta span:last-child{flex-basis:100%}.eko-public .hero .pill{font-size:15px}.eko-public .hero .hero-logo{width:clamp(70px,12svh,100px)}}
@media(max-height:600px){.eko-public .hero{gap:8px}.eko-public .hero .hero-logo{width:64px;padding:5px}.eko-public .hero .eyebrow{font-size:11px}.eko-public .hero .intro{font-size:15px}.eko-public .hero .meta{font-size:15px}.eko-public .hero .pill{padding:12px 18px}}

.eko-public .rsvp-form select{width:100%;padding:12px;border:1px solid #bbb;border-radius:4px;background:#fff;color:#183b2d;font:inherit;box-sizing:border-box}
