:root{--forest:#073c30;--deep:#02291f;--jade:#2fb895;--mint:#9bdfc6;--cream:#f7f7f0;--ink:#133c31;--muted:#52695f;--line:#d9e2d9;--white:#fff;--font:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;font-family:var(--font);color:var(--ink);background:var(--cream);font-size:16px;line-height:1.65}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #65c9a7;outline-offset:5px}button:disabled{cursor:default;opacity:.4}.container{width:min(1240px,calc(100% - 112px));margin-inline:auto}.site-header{height:112px;background:var(--deep);color:#eaf6ee;border-bottom:1px solid #ffffff15}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center}.brand img{width:134px;height:89px;display:block}.header-actions{display:flex;gap:45px;align-items:center}nav{display:flex;gap:30px;font-size:14px}nav a{border-bottom:1px solid transparent}nav a:hover{border-color:var(--jade)}.languages{display:flex;gap:3px;padding:4px;border:1px solid #ffffff24;border-radius:5px}.languages button{background:transparent;color:#b4c9c0;border:0;padding:8px 13px;font-size:12px;border-radius:3px;white-space:nowrap}.languages button[aria-pressed=true]{background:#e2f4e8;color:var(--deep)}.hero{position:relative;min-height:657px;color:#f6faf5;overflow:hidden;background:#02271f}.hero-art{position:absolute;right:-50px;bottom:-95px;width:min(1150px,88vw);height:auto;display:block;opacity:.83}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#02271f 0%,#02271ff5 20%,#02271f80 48%,#02271f00 76%),linear-gradient(0deg,#02271f08 55%,#02271f60)}.hero-inner{position:relative;z-index:1;padding-top:81px;padding-bottom:103px}.hero-copy{max-width:550px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.17em;line-height:1.5;display:flex;align-items:center;gap:15px;margin:0 0 26px}.small-line{width:28px;height:1px;background:var(--jade)}.hero .eyebrow{color:var(--mint)}h1{font-size:clamp(60px,6vw,86px);line-height:1.04;font-weight:500;letter-spacing:-.055em;margin:0 0 27px}h1 span{color:var(--mint)}.hero-description{max-width:410px;color:#cfdfd5;font-size:16px;line-height:1.75;margin:0 0 30px}.button{display:flex;align-items:center;justify-content:space-between;gap:24px;border:0;padding:16px 21px;font-size:14px;line-height:1.3;font-weight:600;transition:background .18s,transform .18s;border-radius:3px}.button:hover{transform:translateY(-1px)}.primary{display:inline-flex;min-width:238px;background:var(--jade);color:#02291f}.primary:hover{background:#59caa8}.button span[aria-hidden]{font-size:20px;font-weight:400}.hero-location{font-size:10px;letter-spacing:.17em;font-weight:600;color:#acccc0;margin:25px 0 0}.hero-location span{margin:0 13px;color:#4d8270}.hero-bottom{position:absolute;bottom:0;left:0;right:0;padding:0 56px;height:52px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff16;color:#bad1c4;font-size:11px;letter-spacing:.02em;z-index:2}.hero-bottom a{font-size:22px;color:var(--mint)}.event-details{background:#eff2e9;border-bottom:1px solid var(--line)}.event-grid{display:grid;grid-template-columns:1.1fr .85fr 1.3fr;padding:36px 0}.event-item{padding:0 34px;border-right:1px solid #cdd9ce}.event-item:first-child{padding-left:0}.event-item:last-child{border:0;padding-right:0}.detail-label{font-size:10px;letter-spacing:.16em;font-weight:700;color:#60756b}.event-item p{font-size:18px;line-height:1.45;font-weight:500;margin:10px 0 8px}.text-link{display:inline-flex;gap:13px;align-items:center;font-size:12px;border:0;background:transparent;padding:0;color:#42695a;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#99b5a4}.text-link:hover{color:#075b42}.detail-small{font-size:12px;color:#60756b}.invitation-section{padding:91px 0 100px}.invitation-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:100px;align-items:start}.green{color:#328267}.invitation-copy h2{font-weight:500;font-size:45px;line-height:1.14;letter-spacing:-.035em;margin:0 0 35px}.invitation-copy>p:not(.eyebrow){font-size:15px;color:var(--muted);margin:0 0 21px;line-height:1.85}.invitation-copy .salutation{color:var(--ink)!important}.signature{margin-top:36px}.signature-line{display:block;width:36px;height:1px;background:#65aa89;margin-bottom:24px}.signature p{font-size:14px;line-height:1.8;color:var(--muted);margin:0 0 13px}.signature .team{color:var(--ink);font-weight:600}.rsvp-card{background:white;border:1px solid var(--line);border-top:3px solid var(--jade);padding:38px 39px 31px;box-shadow:0 14px 36px #0b352b05;scroll-margin-top:35px;border-radius:4px}.rsvp-card .eyebrow{margin-bottom:18px}.rsvp-card h2{font-weight:500;font-size:30px;line-height:1.24;letter-spacing:-.025em;margin:0 0 15px}.form-intro{font-size:14px;color:var(--muted);line-height:1.7;margin:0 0 30px}.field{margin:0 0 24px}.field label{display:block;font-size:13px;font-weight:600;color:#234d3e;margin-bottom:9px}input{background:#fdfefb;color:var(--ink);border:1px solid #bdcec2;border-radius:3px;line-height:1.4}input[type=text]{width:100%;height:50px;padding:13px 14px;font-size:14px}input::placeholder{color:#8a9c91;font-size:13px}input[aria-invalid=true]{border-color:#ad3932;background:#fffaf8}.guest-stepper{width:156px;display:grid;grid-template-columns:43px 68px 43px;height:48px;border:1px solid #bdcec2;border-radius:3px;overflow:hidden}.guest-stepper button{border:0;background:#f4f7f1;font-size:22px;color:#326c55}.guest-stepper button:hover:not(:disabled){background:#e3eee3}.guest-stepper input{border:0;border-radius:0;border-inline:1px solid #d9e3d9;background:#fff;width:100%;text-align:center;font-size:15px;appearance:textfield;-moz-appearance:textfield}.guest-stepper input::-webkit-inner-spin-button{appearance:none}.field-help{font-size:12px;color:#77897f;margin:7px 0 0}.field-error{font-size:12px;color:#a33a33;line-height:1.4;margin:7px 0 0}.field-error:empty{display:none}.submit-button{width:100%;background:var(--forest);color:#fff}.submit-button:hover{background:#0e5c46}.preview-note{font-size:11px;line-height:1.6;color:#7a8d82;margin:17px 0 0;text-align:center}footer{border-top:1px solid var(--line);padding:27px 0 31px;background:#eff2e9}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:11px;color:#6a8173}.footer-inner p{font-weight:600;color:#25513e;letter-spacing:.08em;margin:0}.footer-inner p span{font-weight:400;margin-left:7px;color:#7a8f81}.footer-inner a{font-size:13px;color:#345d47}.footer-date{letter-spacing:.08em}dialog{border:1px solid var(--line);padding:42px;width:min(480px,calc(100% - 36px));border-radius:5px;color:var(--ink);box-shadow:0 30px 100px #011d2340}dialog::backdrop{background:#001f18aa;backdrop-filter:blur(4px)}dialog h2{font-size:28px;font-weight:500;line-height:1.3;letter-spacing:-.025em;margin:0 0 25px}.dialog-close{position:absolute;right:15px;top:10px;border:0;background:transparent;color:#476c57;font-size:27px}dialog .eyebrow{margin-bottom:16px}dl{margin:0}dl div{padding:15px 0;border-top:1px solid var(--line)}dt{font-size:11px;color:var(--muted);margin-bottom:5px}dd{font-size:15px;margin:0;overflow-wrap:anywhere}.review-notice{font-size:13px;line-height:1.7;padding:14px;background:#f1f6ee;color:#516a59;margin:16px 0 24px}
@media(min-width:1550px){.hero-art{right:calc((100vw - 1440px)/2 - 50px)}}
@media(max-width:1100px){.container{width:calc(100% - 72px)}.header-actions{gap:25px}.hero-bottom{padding-inline:36px}.hero-copy{max-width:490px}.hero-art{width:1000px;right:-50px;opacity:.7}.hero-shade{background:linear-gradient(90deg,#02271f 0%,#02271fce 37%,#02271f30 85%)}.invitation-grid{gap:55px}.rsvp-card{padding:31px 28px}.event-item{padding:0 25px}.event-item p{font-size:16px}}
@media(max-width:760px){.container{width:calc(100% - 40px)}.site-header{height:94px}.brand img{width:106px;height:71px}.header-actions{gap:10px}nav{display:none}.languages{gap:0;padding:3px}.languages button{padding:7px 9px;font-size:11px}.hero{min-height:755px}.hero-inner{padding-top:48px;padding-bottom:290px}.hero-copy{max-width:100%}.hero-art{width:850px;right:-30px;bottom:-33px;opacity:.84}.hero-shade{background:linear-gradient(180deg,#02271f 0%,#02271fdb 34%,#02271f20 73%)}.hero .eyebrow{margin-bottom:22px}h1{font-size:64px;letter-spacing:-.06em}.hero-description{font-size:15px;max-width:340px;line-height:1.75;margin-bottom:25px}.hero-location{margin-top:22px}.hero-bottom{padding-inline:20px;height:47px;font-size:10px;background:#02271f4a}.event-grid{grid-template-columns:1fr;padding:0}.event-item{padding:24px 0!important;border-right:0;border-bottom:1px solid #d3ded1;display:grid;grid-template-columns:80px 1fr;align-items:baseline;column-gap:14px}.event-item:last-child{border:0}.event-item p{margin:0 0 4px;font-size:16px}.event-item .text-link,.event-item .detail-small{grid-column:2}.detail-label{font-size:9px}.invitation-section{padding:52px 0 60px}.invitation-grid{grid-template-columns:1fr;gap:43px}.invitation-copy h2{font-size:38px;margin-bottom:27px}.invitation-copy>p:not(.eyebrow){font-size:14px}.signature{margin-top:28px}.rsvp-card{padding:30px 23px}.rsvp-card h2{font-size:28px}.form-intro{font-size:13px}.footer-inner{flex-wrap:wrap;gap:17px}.footer-date{width:100%;font-size:10px}dialog{padding:35px 24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}
