:root { --wine:#7d1739; --wine-dark:#5f102b; --ink:#1f2020; --cream:#f4efe4; --paper:#fbf8f1; --gold:#e4a649; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial, Helvetica, sans-serif; overflow-x:hidden; }
a { color:inherit; text-decoration:none; }
.button,.nav-cta,.language-switch,.form-button,.guest-invite>a,.footer-top>a { transition:transform .2s ease,background-color .2s ease,color .2s ease; }
.button:hover,.nav-cta:hover,.form-button:hover,.guest-invite>a:hover,.footer-top>a:hover { transform:translateY(-3px); }
a:focus-visible,summary:focus-visible { outline:3px solid var(--gold); outline-offset:4px; }
.nav-shell { height:88px; display:flex; align-items:center; justify-content:space-between; padding:0 clamp(24px,5vw,76px); border-bottom:1px solid #d9d1c4; position:relative; z-index:10; background:var(--paper); }
.brand { display:flex; align-items:center; gap:12px; }
.brand-logo { display:block; width:154px; height:auto; }
nav { display:flex; gap:32px; font-size:13px; font-weight:700; } nav a:hover { color:var(--wine); }
.nav-actions { display:flex; align-items:center; gap:10px; }
.language-switch { min-width:44px; min-height:44px; display:grid; place-items:center; border:1px solid #cbbfb1; color:var(--wine); font-size:12px; font-weight:900; letter-spacing:1px; }
.language-switch:hover { background:var(--cream); border-color:var(--wine); }
.nav-cta { background:var(--wine); color:white; padding:14px 20px; font-size:13px; font-weight:700; }.nav-cta span { margin-left:24px; }
.hero { min-height:690px; display:grid; grid-template-columns:1.25fr .75fr; padding:70px clamp(24px,5vw,76px) 52px; position:relative; overflow:hidden; }
.hero-copy { position:relative; z-index:2; }.eyebrow,.section-label { font-size:11px; font-weight:800; letter-spacing:2px; text-transform:uppercase; }.eyebrow span { display:inline-block; width:35px; height:1px; background:var(--wine); vertical-align:middle; margin-right:10px; }
h1,h2 { font-family:Georgia, 'Times New Roman', serif; font-weight:400; letter-spacing:-3px; margin:0; } h1 { font-size:clamp(58px,7.4vw,112px); line-height:.92; max-width:940px; } h1 em,h2 em { color:var(--wine); font-weight:400; }
.hero-lead { max-width:590px; font:19px/1.6 Georgia,serif; margin:38px 0 32px; color:#494745; }.hero-actions { display:flex; align-items:center; gap:28px; }.button { display:inline-flex; gap:42px; align-items:center; padding:17px 21px; font-size:13px; font-weight:800; }.primary { background:var(--wine); color:white; }.text-link { font-size:13px; font-weight:800; border-bottom:1px solid #999; padding:12px 0; }.text-link span { margin-left:13px; }
.hero-art { position:absolute; width:480px; height:620px; right:5vw; bottom:0; background:var(--wine); color:var(--cream); clip-path:polygon(22% 0,100% 0,100% 100%,0 100%,0 21%); overflow:hidden; }.hero-art:after { content:""; position:absolute; inset:18px; border:1px solid rgba(244,239,228,.28); clip-path:inherit; }.hero-art p { position:absolute; top:160px; right:44px; text-align:right; font:700 13px/1.8 Arial; letter-spacing:3px; z-index:2; }.sun { position:absolute; left:52px; top:78px; width:92px; height:92px; border-radius:50%; background:var(--gold); color:var(--wine-dark); display:grid; place-items:center; font:700 17px Georgia,serif; z-index:2; }.arch { position:absolute; border:2px solid rgba(244,239,228,.62); border-bottom:0; border-radius:150px 150px 0 0; }.arch-one { width:280px; height:380px; bottom:0; left:95px; }.arch-two { width:190px; height:290px; bottom:0; left:140px; }.city-line { position:absolute; display:flex; align-items:flex-end; gap:8px; bottom:0; left:45px; height:170px; opacity:.7; }.city-line i { width:42px; background:var(--cream); display:block; }.city-line i:nth-child(1){height:45px}.city-line i:nth-child(2){height:100px;border-radius:30px 30px 0 0}.city-line i:nth-child(3){height:70px}.city-line i:nth-child(4){height:145px;width:18px}.city-line i:nth-child(5){height:85px}.city-line i:nth-child(6){height:50px}
.hero-note { position:absolute; right:calc(5vw + 380px); bottom:45px; z-index:3; background:var(--cream); border:1px solid #d2c7b5; padding:20px 25px; font:18px/1.25 Georgia,serif; transform:rotate(-3deg); }.hero-note i { color:var(--wine); }
.ticker { background:var(--ink); color:var(--cream); overflow:hidden; white-space:nowrap; padding:15px 0; font-size:11px; font-weight:800; letter-spacing:2px; }.ticker div { width:max-content; animation:move 25s linear infinite; }.ticker span { color:var(--gold); margin:0 38px; }@keyframes move{to{transform:translateX(-30%)}}
.section { padding:110px clamp(24px,7vw,110px); }.intro { display:grid; grid-template-columns:.35fr 1fr; }.section-label { color:var(--wine); padding-top:12px; }.intro h2,.ways h2,.faq h2 { font-size:clamp(48px,6vw,88px); line-height:.95; }.two-col-copy { display:grid; grid-template-columns:1fr 1fr; gap:60px; margin-top:55px; border-top:1px solid #cfc7ba; padding-top:25px; }.two-col-copy p { font:18px/1.65 Georgia,serif; margin:0; }
.benefits { background:var(--cream); }.benefits-heading { display:grid; grid-template-columns:.35fr 1fr; column-gap:40px; }.benefits-heading h2 { font-size:clamp(50px,6vw,86px); line-height:.94; margin:0; }.benefits-heading>p { grid-column:2; max-width:650px; margin:30px 0 55px; font:17px/1.65 Georgia,serif; color:#57524c; }.benefit-cards { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #c9beaf; border-bottom:1px solid #c9beaf; }.benefit-cards article { padding:30px 28px 34px 0; min-height:260px; border-right:1px solid #c9beaf; }.benefit-cards article+article { padding-left:28px; }.benefit-cards article:last-child { border-right:0; }.benefit-cards span { font-size:10px; font-weight:800; color:var(--wine); }.benefit-cards h3 { font:29px/1.05 Georgia,serif; margin:58px 0 18px; }.benefit-cards p { font-size:13px; line-height:1.65; color:#625e58; }
.focus { background:var(--wine); color:var(--cream); }.section-label.light { color:var(--gold); }.focus>h2 { font-size:clamp(54px,6vw,84px); margin:20px 0 55px; }.focus-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.28); }.focus article { padding:30px 40px 10px 0; min-height:390px; border-right:1px solid rgba(255,255,255,.28); position:relative; }.focus article+article { padding-left:40px; }.focus article>span { font-size:11px; color:var(--gold); }.focus h3 { font:38px/1 Georgia,serif; margin:40px 0 20px; }.focus p { font:15px/1.7 Arial; max-width:320px; opacity:.75; }.orbit { height:105px; width:105px; border:1px solid rgba(255,255,255,.38); border-radius:50%; position:absolute; right:35px; top:35px; }.orbit i { position:absolute; width:11px; height:11px; background:var(--gold); border-radius:50%; top:8px; right:13px; }
.ways { display:grid; grid-template-columns:.8fr 1.2fr; gap:8vw; }.ways-head { position:sticky; top:40px; align-self:start; }.ways-head h2 { margin-top:25px; }.ways-list article { display:grid; grid-template-columns:42px 150px 1fr 25px; gap:18px; align-items:center; border-top:1px solid #cfc7ba; padding:30px 0; }.ways-list article:last-child { border-bottom:1px solid #cfc7ba; }.ways-list span { font-size:10px; color:var(--wine); }.ways-list h3 { font:28px Georgia,serif; margin:0; }.ways-list p { font-size:14px; line-height:1.55; color:#666; margin:0; }.ways-list b { color:var(--wine); }
.committees { background:var(--wine); color:var(--cream); }.committee-intro { display:grid; grid-template-columns:.35fr 1fr; column-gap:40px; padding-bottom:60px; border-bottom:1px solid rgba(255,255,255,.28); }.committee-intro h2 { font-size:clamp(52px,6vw,86px); line-height:.94; margin:0; }.committee-intro h2 em { color:var(--gold); }.committee-intro>p { grid-column:2; max-width:590px; font:17px/1.65 Georgia,serif; opacity:.72; margin:28px 0 0; }.committee-grid { display:grid; grid-template-columns:repeat(3,1fr); }.committee-grid article { min-height:360px; padding:34px 36px 34px 0; border-bottom:1px solid rgba(255,255,255,.28); border-right:1px solid rgba(255,255,255,.28); }.committee-grid article:nth-child(2),.committee-grid article:nth-child(5){padding-left:36px}.committee-grid article:nth-child(3),.committee-grid article:nth-child(6){padding-left:36px;border-right:0}.committee-grid article>span { color:var(--gold); font-size:11px; }.committee-grid h3 { font:31px/1.08 Georgia,serif; margin:48px 0 20px; max-width:350px; }.committee-grid strong { display:block; color:var(--gold); font:italic 16px/1.35 Georgia,serif; margin-bottom:18px; }.committee-grid p { font-size:13px; line-height:1.7; opacity:.7; max-width:350px; }
.join { background:var(--ink); color:var(--cream); display:grid; grid-template-columns:1fr 1fr; gap:9vw; }.join h2 { font-size:clamp(52px,6vw,86px); line-height:.94; margin:24px 0 28px; }.join h2 em { color:var(--gold); }.join-copy>p { max-width:540px; line-height:1.7; opacity:.72; }.button.cream { background:var(--cream); color:var(--wine); margin-top:20px; }.steps { list-style:none; padding:0; margin:50px 0 0; border-top:1px solid #555; }.steps li { display:grid; grid-template-columns:50px 1fr; gap:24px; padding:30px 0; border-bottom:1px solid #555; }.steps b { color:var(--gold); font-size:11px; }.steps strong,.steps span { display:block; }.steps strong { font:27px Georgia,serif; margin-bottom:8px; }.steps span { font-size:13px; opacity:.65; line-height:1.5; }
.faq { display:grid; grid-template-columns:.8fr 1.2fr; gap:9vw; }.faq h2 { margin-top:24px; }.faq-list details { border-top:1px solid #cfc7ba; padding:25px 0; }.faq-list details:last-child { border-bottom:1px solid #cfc7ba; }.faq-list summary { cursor:pointer; list-style:none; display:flex; justify-content:space-between; font:22px Georgia,serif; }.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span { color:var(--wine); }.faq-list p { max-width:620px; color:#5d5a56; line-height:1.7; font-size:14px; }
.guest-invite { margin:0 clamp(24px,7vw,110px) 110px; padding:48px 55px; background:var(--gold); color:var(--wine-dark); display:flex; align-items:flex-end; justify-content:space-between; gap:50px; position:relative; overflow:hidden; }.guest-invite:after { content:""; position:absolute; width:260px; height:260px; border:1px solid rgba(95,16,43,.22); border-radius:50%; top:-160px; right:24%; }.guest-invite span { font-size:10px; font-weight:900; letter-spacing:1.7px; }.guest-invite h2 { font-size:clamp(38px,4.2vw,64px); line-height:.95; margin:22px 0 0; }.guest-invite h2 em { color:var(--wine); }.guest-invite>a { flex:0 0 190px; height:190px; background:var(--wine); color:var(--cream); border-radius:50%; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; font-size:13px; font-weight:800; transform:rotate(3deg); position:relative; z-index:1; }.guest-invite>a b { display:block; font-size:24px; margin-top:12px; }
.contact { background:var(--cream); display:grid; grid-template-columns:1fr .8fr; gap:9vw; align-items:start; }.contact h2 { font-size:clamp(52px,6vw,86px); line-height:.94; margin:24px 0 28px; }.contact-copy>p { max-width:600px; font:18px/1.65 Georgia,serif; color:#56514b; }.contact-notes { display:flex; flex-wrap:wrap; gap:20px; margin-top:45px; padding-top:24px; border-top:1px solid #c5bbac; }.contact-notes span { font-size:11px; font-weight:800; letter-spacing:.5px; }.contact-notes b { color:var(--wine); margin-right:8px; }.form-card { background:var(--wine); color:var(--cream); padding:48px; position:relative; overflow:hidden; box-shadow:18px 18px 0 #d8c7b5; }.form-card:after { content:""; position:absolute; width:220px; height:220px; border:1px solid rgba(255,255,255,.28); border-radius:50%; right:-70px; top:-90px; }.form-kicker { color:var(--gold); font-size:10px; font-weight:800; letter-spacing:1.6px; }.form-card h3 { font:42px/1 Georgia,serif; margin:55px 0 22px; position:relative; z-index:1; }.form-card>p { font-size:14px; line-height:1.7; opacity:.74; }.form-card ul { list-style:none; padding:0; margin:28px 0; border-top:1px solid rgba(255,255,255,.25); }.form-card li { padding:13px 0; border-bottom:1px solid rgba(255,255,255,.25); font-size:12px; }.form-card li:before { content:"✓"; color:var(--gold); margin-right:12px; }.form-button { display:flex; justify-content:space-between; align-items:center; background:var(--gold); color:var(--wine-dark); padding:18px 20px; font-size:13px; font-weight:900; }.form-card small { display:block; margin-top:14px; opacity:.55; font-size:10px; }
footer { background:var(--wine); color:var(--cream); padding:90px clamp(24px,7vw,110px) 30px; }.footer-top { display:flex; justify-content:space-between; align-items:flex-end; padding-bottom:80px; }.footer-top p { margin:0; font:clamp(54px,8vw,120px)/.85 Georgia,serif; letter-spacing:-5px; }.footer-top p em { color:var(--gold); }.footer-top>a { width:145px; height:145px; background:var(--gold); color:var(--wine); border-radius:50%; display:flex; align-items:center; justify-content:center; gap:10px; font-size:13px; font-weight:800; transform:rotate(-5deg); }.footer-bottom { border-top:1px solid rgba(255,255,255,.28); padding-top:30px; display:flex; justify-content:space-between; align-items:center; font-size:11px; opacity:.8; }.footer-brand .brand-mark { color:var(--cream); border-color:var(--cream); }.footer-brand b { color:var(--cream); }
@media(max-width:900px){.nav-shell nav{display:none}.hero{grid-template-columns:1fr;min-height:780px}.hero-art{opacity:.24;right:-150px}.hero-note{display:none}.hero-copy{max-width:720px}.intro,.ways,.join,.faq,.contact{grid-template-columns:1fr}.intro-copy{margin-top:35px}.benefits-heading{grid-template-columns:1fr}.benefits-heading h2,.benefits-heading>p{grid-column:1}.benefits-heading h2{margin-top:24px}.benefit-cards{grid-template-columns:1fr 1fr}.benefit-cards article:nth-child(even){border-right:0}.focus-grid{grid-template-columns:1fr}.focus article{border-right:0;border-bottom:1px solid rgba(255,255,255,.28);min-height:280px}.focus article+article{padding-left:0}.ways-head{position:static}.committee-intro{grid-template-columns:1fr}.committee-intro h2,.committee-intro>p{grid-column:1}.committee-intro h2{margin-top:24px}.committee-grid{grid-template-columns:1fr 1fr}.committee-grid article,.committee-grid article:nth-child(n){padding:30px;border-right:1px solid rgba(255,255,255,.28)}.committee-grid article:nth-child(even){border-right:0}.contact{gap:60px}.footer-top{align-items:flex-start;gap:40px}.footer-bottom{gap:25px;flex-wrap:wrap}}
@media(max-width:600px){.nav-shell{height:76px;padding:0 24px}.nav-cta{display:inline-flex;padding:11px 13px}.nav-cta span{margin-left:10px}.brand-mark{width:34px;height:34px}.brand b{font-size:18px}.section{padding:78px 24px}.hero{padding:55px 24px 40px;min-height:700px}h1{font-size:56px}.hero-lead{font-size:17px}.hero-actions{align-items:flex-start;flex-direction:column;gap:6px}.hero-art{width:410px;height:550px}.two-col-copy{grid-template-columns:1fr;gap:16px}.benefit-cards{grid-template-columns:1fr}.benefit-cards article,.benefit-cards article+article{padding:28px 0;border-right:0;min-height:auto}.benefit-cards h3{margin-top:30px}.focus article{padding-right:0}.ways-list article{grid-template-columns:32px 1fr 20px}.ways-list p{grid-column:2/4}.committee-grid{grid-template-columns:1fr}.committee-grid article,.committee-grid article:nth-child(n){padding:30px 0;border-right:0;min-height:auto}.committee-grid h3{margin-top:32px}.guest-invite{margin:0 24px 78px;padding:38px 28px;display:block}.guest-invite>a{width:130px;height:130px;margin:35px 0 0 auto}.form-card{padding:35px 28px;box-shadow:10px 10px 0 #d8c7b5}.form-card h3{font-size:36px}.footer-top{flex-direction:column}.footer-top p{font-size:64px;letter-spacing:-3px}.footer-top>a{width:115px;height:115px}.footer-bottom{display:block}.footer-bottom>*{margin-bottom:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker div{animation:none}}

/* Brand, language selector and responsive hardening */
.footer-brand { background:var(--cream); padding:8px 12px; opacity:1; }
.footer-brand .brand-logo { width:132px; }
.site-credit { margin-top:28px; padding-top:20px; border-top:1px solid rgba(255,255,255,.14); text-align:right; color:rgba(244,239,228,.58); font-size:10px; letter-spacing:1.1px; text-transform:uppercase; }
.site-credit a { color:var(--gold); font-weight:900; }
.site-credit a:hover { color:var(--cream); }
.site-credit span { margin-left:4px; }
.hero-copy,.intro-copy,.benefits-heading,.ways-head,.committee-intro,.join-copy,.contact-copy,.form-card { min-width:0; }
@media(max-width:1080px){.nav-shell nav{display:none}}
@media(max-width:600px){
  .nav-shell{padding:0 18px}
  .brand-logo{width:118px}
  .nav-actions{gap:7px}
  .language-switch{min-width:40px;min-height:40px}
  .nav-cta{padding:12px 11px;min-height:40px;align-items:center}
  .nav-cta span{display:none}
  h1{font-size:clamp(48px,14vw,56px)}
  .ways-list article{grid-template-columns:32px minmax(0,1fr) 20px}
  .footer-top p{font-size:clamp(48px,16vw,64px)}
  .site-credit{text-align:left;margin-top:12px}
}
