:root{--mint:#e4f1e8;--mint-deep:#b8d6c7;--dark:#243d33;--pine:#294d3e;--olive:#777a57;--sand:#d6c39f;--clay:#a66e51;--cream:#faf8f2;--ink:#2c352d;--muted:#64736a}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:78px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;letter-spacing:-.035em}em{font-weight:400}button{cursor:pointer}.announcement{background:#28493b;color:#fff;text-align:center;padding:9px 12px;font-size:10px;letter-spacing:.29em;font-weight:600}.sparkle{color:#cfbb94;padding:0 13px}.site-header{height:83px;display:flex;justify-content:space-between;align-items:center;padding:0 clamp(20px,5.8vw,96px);background:#fbfbf6;position:sticky;top:0;z-index:100;box-shadow:0 1px 0 rgba(29,60,40,.08)}.brand{font-family:'Playfair Display',serif;font-size:28px;letter-spacing:.06em;color:var(--dark);line-height:1}.brand-amp,.footer-monogram span{font-style:italic;color:var(--clay);font-weight:400}.brand-caption{display:block;font:600 8px 'DM Sans',sans-serif;letter-spacing:.27em;margin-top:5px;color:#647367}.nav{display:flex;align-items:center;gap:clamp(17px,2.4vw,36px)}.nav a{font-size:12px;font-weight:600;letter-spacing:.015em;transition:color .2s}.nav a:hover{color:var(--clay)}.nav-rsvp{background:var(--dark);color:white!important;padding:14px 22px}.nav-rsvp span,.btn span{margin-left:10px}.menu-toggle{display:none;border:0;background:none;font-size:28px;color:var(--dark)}.hero{min-height:700px;position:relative;overflow:hidden;background:linear-gradient(105deg,#e4f0e6 0%,#e9f3e8 48%,#cadfce 100%);display:grid;grid-template-columns:52% 48%;align-items:center;padding:70px clamp(20px,8vw,130px) 85px}.hero-glow{border:1px solid rgba(38,91,59,.1);border-radius:50%;position:absolute}.glow-one{width:650px;height:650px;top:-270px;left:-340px}.glow-two{width:1000px;height:1000px;right:-500px;bottom:-600px}.hero-content{position:relative;z-index:2;max-width:650px}.eyebrow{color:var(--pine);font-size:11px;letter-spacing:.25em;font-weight:700;display:flex;align-items:center;gap:14px;margin-bottom:36px}.line{width:34px;height:1px;background:#809787}.hero h1{font-size:clamp(54px,6.2vw,99px);line-height:1.08;font-weight:500;color:#1f3c30;margin-bottom:24px}.hero h1 em{color:#a26d4d}.hero-sub{font-size:16px;line-height:1.95;max-width:430px;color:#536459}.names{font:500 27px 'Playfair Display',serif;color:#25483a;margin:33px 0 7px}.names span{color:#a26d4d;font-style:italic;padding:0 6px}.hero-date{font-size:10px;letter-spacing:.17em;font-weight:700;color:#658070}.dot{font-size:7px;color:#b48c61;padding:0 10px}.hero-actions{display:flex;align-items:center;gap:29px;margin-top:30px}.btn{border:0;display:inline-flex;justify-content:center;align-items:center;padding:17px 25px;font-size:12px;font-weight:700;letter-spacing:.02em;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.btn-dark{background:#254737;color:white}.btn-dark:hover{background:#37634f}.btn-light{background:#eff3e8;color:#213c31}.text-link{font-size:12px;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:7px}.text-link span{margin-left:6px}.hero-art{min-height:580px;position:relative;display:flex;align-items:center;justify-content:center}.hero-arch{position:absolute;width:min(70%,390px);height:78%;border-radius:230px 230px 15px 15px}.arch-back{background:#b6ccb7;transform:rotate(11deg) translate(25px,1px);box-shadow:30px 40px 60px rgba(40,79,59,.07)}.arch-front{background:repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 12px,rgba(17,75,54,.02) 12px 22px),linear-gradient(150deg,#6c9f84,#325d49);transform:rotate(-3deg);border:10px solid rgba(239,244,226,.75);box-shadow:0 35px 60px rgba(38,77,56,.2);display:grid;place-items:center}.arch-front:after{content:"";position:absolute;inset:23px;border:1px solid rgba(251,246,229,.35);border-radius:200px 200px 7px 7px}.portrait-initials{color:#faf5e8;display:flex;align-items:center;flex-direction:column;gap:31px;text-align:center}.portrait-initials strong{font:400 clamp(75px,10vw,150px) 'Playfair Display',serif;white-space:nowrap;letter-spacing:-.11em;padding-right:.1em}.portrait-initials i{font-size:.55em;color:#d4bb8c}.monogram-small,.monogram-bottom{letter-spacing:.28em;font-size:10px;font-weight:700}.monogram-bottom b{font-weight:400;padding:0 14px;color:#e7cba4}.woven{position:absolute;width:170px;height:170px;border-radius:100%;background:repeating-conic-gradient(from 25deg,#d5c29e 0 11deg,#b49a72 11deg 16deg,#efddba 16deg 27deg);border:12px solid #d4be94;box-shadow:0 13px 40px rgba(64,81,54,.15);opacity:.93}.woven-one{left:3%;bottom:0;transform:scale(.85)}.woven-two{right:0;top:20px;width:110px;height:110px;opacity:.55;transform:rotate(18deg)}.flower{position:absolute;color:#e8ddbc;font-size:90px;text-shadow:0 0 1px #a9875a}.flower-one{right:0;bottom:30px}.flower-two{left:10%;top:30px;font-size:45px}.art-label{position:absolute;bottom:4px;right:6px;letter-spacing:.18em;font-size:9px;font-weight:700;color:#3a5847}.scroll-cue{position:absolute;bottom:25px;left:8%;font-size:9px;font-weight:700;letter-spacing:.2em;color:#69806e;z-index:2}.scroll-cue span{padding-left:14px;font-size:17px}.ticker{background:#c7dcca;display:flex;justify-content:space-around;align-items:center;gap:18px;overflow:hidden;padding:18px 6px;white-space:nowrap;color:#285442;font-size:11px;letter-spacing:.2em;font-weight:700}.ticker b{color:#a97750}.section{padding:110px clamp(20px,8vw,130px)}.section-heading{text-align:center;max-width:720px;margin:0 auto 60px}.kicker{display:block;color:#996b4e;font-size:10px;letter-spacing:.24em;font-weight:700;margin-bottom:18px}.section h2{font-size:clamp(43px,5.3vw,74px);font-weight:500;line-height:1.15;color:#274938;margin-bottom:23px}.section h2 em{color:#a56d4f}.section-heading p{max-width:580px;margin:0 auto;font-size:15px;line-height:1.9;color:#69756b}.story-section{background:#fcfaf4}.chapters{max-width:1050px;margin:auto}.chapter{display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,8vw,130px);align-items:center;margin-bottom:90px}.chapter-b .chapter-visual{order:2}.chapter-b .chapter-text{order:1}.chapter-visual{min-height:350px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.visual-a{background:linear-gradient(135deg,#e8d8bf,#c3d8c2)}.visual-b{background:linear-gradient(135deg,#9bbca7,#446f57)}.visual-c{background:linear-gradient(130deg,#c18f6c,#e0cdb0)}.big-outline{position:absolute;font:400 280px 'Playfair Display',serif;opacity:.13;color:#4b6c52}.visual-sun{width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,#f5ecd5 0%,#e8e1bd 55%,transparent 57%);position:relative;box-shadow:0 0 0 20px rgba(250,248,236,.17),0 0 0 55px rgba(250,248,236,.1)}.heart-art{font:400 270px 'Playfair Display',serif;color:#e5e8d4;line-height:1}.rings-art{font:400 330px Georgia,serif;color:#fcf0d7;line-height:1;transform:rotate(-18deg)}.visual-bottom{position:absolute;bottom:25px;letter-spacing:.25em;font-size:11px;font-weight:700;color:#4c604f}.visual-b .visual-bottom{color:#e8e5d6}.chapter-text h3{font-size:clamp(35px,3.8vw,54px);color:#294a39;font-weight:500;line-height:1.2}.chapter-text p{color:#657168;line-height:1.95;font-size:15px}.coming{display:inline-block;margin-top:20px;border-top:1px solid #b7bcae;padding-top:15px;font-size:10px;letter-spacing:.17em;color:#9c6d4d;font-weight:700}.story-note{max-width:850px;margin:0 auto;background:#edf3e9;padding:23px 34px;display:flex;gap:18px;align-items:center}.story-note span{font-size:35px;color:#ad7652}.story-note p{font-size:13px;line-height:1.8;margin:0;color:#566d5a}.heritage-section{background:#284b3b;color:#fff;position:relative;overflow:hidden}.heritage-pattern{position:absolute;inset:0;opacity:.09;background:repeating-linear-gradient(45deg,transparent 0px,transparent 25px,#f8efd8 26px,#f8efd8 27px,transparent 28px,transparent 55px),repeating-linear-gradient(-45deg,transparent 0px,transparent 35px,#f8efd8 36px,#f8efd8 37px,transparent 38px,transparent 75px)}.heritage-inner{max-width:1120px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:center;position:relative}.heritage-orbit{width:min(100%,410px);aspect-ratio:1;border-radius:50%;border:1px solid #b5c5a6;outline:1px solid rgba(237,219,169,.5);outline-offset:25px;margin:35px auto;display:flex;flex-direction:column;align-items:center;justify-content:space-around;text-align:center;background:radial-gradient(circle,#567b60 0%,#325844 71%);box-shadow:0 0 0 65px rgba(171,194,162,.04)}.orbit-top,.orbit-bottom{letter-spacing:.25em;font-size:10px;color:#eee2bf;font-weight:600}.orbit-center{font:italic 90px/1.15 'Playfair Display',serif;color:#f0e2c8}.light{color:#d8c59f}.heritage-section h2{color:#fff}.heritage-section h2 em{color:#d7bd98}.heritage-copy p{font-size:15px;line-height:2;color:#d6e3d9}.heritage-tags{display:flex;gap:26px;align-items:center;margin-top:33px;color:#e5cfa6;font-size:12px;letter-spacing:.2em}.blessings-section{background:#f2f4e9}.blessing-layout{display:grid;grid-template-columns:1fr 1fr;gap:25px;max-width:1090px;margin:auto}.blessing-art{background:#c3d6c1;min-height:510px;padding:55px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;position:relative}.blessing-art:before,.blessing-art:after{position:absolute;content:"✼";font-size:150px;color:rgba(255,255,255,.27)}.blessing-art:before{top:-40px;left:-30px}.blessing-art:after{bottom:-45px;right:-25px}.art-quote{font:110px 'Playfair Display',serif;color:#8da68e;line-height:.7}.blessing-art p{font:italic 32px/1.5 'Playfair Display',serif;color:#284b3b;max-width:340px}.blessing-art>span:last-child{color:#5f795e;font-size:10px;letter-spacing:.2em;font-weight:700}.blessing-form-card{background:white;padding:55px 45px}.blessing-form-card h3{font-size:39px;font-weight:400;color:#2c4d3b;margin-bottom:15px}.blessing-form-card p{font-size:14px;line-height:1.8;color:#788277}.blessing-form-card label{display:block;font-size:10px;letter-spacing:.17em;font-weight:700;margin:24px 0 9px;color:#526a57}.blessing-form-card input,.blessing-form-card textarea{width:100%;border:1px solid #dce3d9;background:#fbfcf9;padding:14px;color:#2c4d3b;outline-color:#6b9d7a;border-radius:0}.blessing-form-card button{margin-top:22px}.blessing-form-card .form-disclaimer{font-size:11px;color:#8b9288;margin:18px 0 0}.blessing-preview{border-left:3px solid #92b59f;background:#f0f6ee;padding:14px;margin-top:18px;overflow-wrap:anywhere}.blessing-preview strong{font-size:13px}.blessing-preview p{color:#314d3b;margin:8px 0}.blessing-preview small{font-size:11px;color:#8c806e}.celebration-section{text-align:center;background:#fbf8f1}.celebration-intro{max-width:620px;color:#6a796f;line-height:1.9;margin:0 auto 45px}.details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1070px;margin:55px auto 25px}.detail-card{border:1px solid #d9dfd4;background:#fff;padding:43px 20px;min-height:245px}.detail-icon{font-size:37px;color:#ad8c6c;display:block;margin-bottom:20px}.detail-card h3{font-size:26px;color:#264736;font-weight:500;margin-bottom:10px}.detail-card p{color:#899188;font-size:12px}.details-foot{font-size:12px;color:#879489}.owambe-section{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px;background:#e4eee3;padding-top:0;padding-bottom:0;overflow:hidden}.owambe-copy{padding-top:90px;padding-bottom:90px}.owambe-copy>p{max-width:500px;font-size:15px;line-height:1.95;color:#637568}.mini-cards{display:flex;flex-wrap:wrap;gap:13px;margin-top:38px}.mini-cards>div{border-left:2px solid #c5ad85;padding:0 17px}.mini-cards span{display:block;color:#ad7c59;font-size:20px;margin-bottom:7px}.mini-cards strong{font-size:12px;color:#345643}.mini-cards p{font-size:11px;color:#809086;margin:5px 0}.owambe-art{height:565px;background:#9db8a5;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#f8f5e9;text-align:center}.owambe-art:before{content:"";position:absolute;inset:25px;border:1px solid rgba(252,245,226,.6)}.circles{position:absolute;border:1px solid rgba(252,245,226,.35);border-radius:50%}.circle-a{width:510px;height:510px}.circle-b{width:340px;height:340px}.owambe-script{position:relative;font:italic 75px/1.1 'Playfair Display',serif;text-shadow:0 2px 2px rgba(49,68,49,.06)}.owambe-translation{position:relative;margin-top:25px;font-size:10px;letter-spacing:.25em}.rsvp-section{padding:115px 24px;text-align:center;background:#284b3b;color:#f8f6eb}.rsvp-section h2{font:400 clamp(47px,6vw,80px)/1.14 'Playfair Display',serif;margin:0 0 28px;letter-spacing:-.035em}.rsvp-section h2 em{color:#d2bd9b}.rsvp-section p{max-width:640px;margin:0 auto 35px;color:#d8e4da;line-height:2;font-size:15px}.rsvp-note{display:block;font-size:11px;margin-top:17px;color:#ccdfd1}.rsvp-note.notice{color:#ffe7bd}footer{background:#f7f5ed;min-height:160px;display:flex;gap:35px;align-items:center;padding:28px clamp(20px,8vw,130px);color:#2c493a}.footer-monogram{font:34px 'Playfair Display',serif;white-space:nowrap}.footer-monogram span{color:#a66e51}footer strong{font-size:13px}footer p{font-size:11px;letter-spacing:.12em;color:#8b978c;margin:7px 0 0}.footer-right{margin-left:auto;text-align:right;font-size:11px;line-height:2;color:#7a8b7d}.footer-right strong{font-size:11px;color:#315443}.footer-right em{font-family:Georgia,serif;color:#b17a57}.reveal{opacity:0;transform:translateY(23px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:translateY(0)}@media(max-width:1000px){.hero{padding-right:35px;padding-left:45px}.hero h1{font-size:clamp(52px,6.4vw,73px)}.hero-art{min-height:520px}.heritage-inner{gap:40px}.chapter{gap:50px}}@media(max-width:760px){.site-header{height:67px;padding:0 22px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:67px;left:0;right:0;background:#fafbf6;box-shadow:0 8px 14px rgba(40,75,55,.1);padding:25px;flex-direction:column;gap:22px;align-items:stretch;text-align:center}.nav.open{display:flex}.announcement{font-size:8px;letter-spacing:.18em}.hero{display:flex;flex-direction:column;min-height:auto;padding:63px 25px 70px;text-align:center}.hero-content{display:flex;align-items:center;flex-direction:column}.eyebrow{font-size:9px;gap:9px;margin-bottom:23px}.line{width:22px}.hero h1{font-size:clamp(51px,11vw,72px)}.hero-sub{font-size:14px;line-height:1.8}.names{margin-top:24px}.hero-date{font-size:9px;line-height:1.7}.hero-actions{justify-content:center;flex-wrap:wrap;gap:22px}.hero-art{min-height:445px;width:100%;margin-top:28px}.hero-arch{height:88%;width:260px}.portrait-initials strong{font-size:100px}.woven-one{left:3%;bottom:9px;width:120px;height:120px}.woven-two{right:0;top:12px;width:85px;height:85px}.flower-one{font-size:60px}.scroll-cue{bottom:18px;left:50%;transform:translateX(-50%)}.ticker{gap:22px;justify-content:flex-start;padding-left:17px}.section{padding:80px 24px}.section h2{font-size:45px}.section-heading{margin-bottom:43px}.chapter,.chapter-b{grid-template-columns:1fr;gap:24px;margin-bottom:55px}.chapter-visual{min-height:330px}.chapter-b .chapter-visual{order:0}.chapter-b .chapter-text{order:1}.chapter-text h3{font-size:36px}.heritage-inner{grid-template-columns:1fr;gap:55px}.heritage-orbit{width:265px;outline-offset:15px;margin:25px auto}.orbit-center{font-size:70px}.heritage-copy{text-align:center}.heritage-tags{justify-content:center}.blessing-layout{grid-template-columns:1fr}.blessing-art{min-height:360px;padding:28px}.blessing-art p{font-size:27px}.blessing-form-card{padding:34px 25px}.details-grid{grid-template-columns:1fr;gap:13px}.detail-card{min-height:0;padding:30px 20px}.owambe-section{grid-template-columns:1fr;padding:70px 24px 0;gap:22px}.owambe-copy{padding:0}.owambe-art{height:370px;margin:0 -24px}.owambe-script{font-size:58px}.circle-a{width:350px;height:350px}.circle-b{width:250px;height:250px}.rsvp-section{padding:80px 24px}.rsvp-section h2{font-size:49px}footer{padding:30px 24px;gap:15px;flex-wrap:wrap}.footer-right{width:100%;text-align:left;margin-left:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}
