:root{
  --ink:#121416;
  --muted:#667074;
  --blue:#91b7c0;
  --blue-deep:#5f94a3;
  --blue-pale:#eaf3f4;
  --sand:#e5a873;
  --paper:#ffffff;
  --soft:#f7f8f6;
  --line:#dce5e6;
  --max:1440px;
  --reading:760px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;font-size:17px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Avenir Next","Century Gothic","Trebuchet MS",Arial,sans-serif;line-height:1.68;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;display:block}
a{color:inherit}
button,input,select,textarea{font:inherit}
.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:74px;padding:14px max(32px,calc((100vw - var(--max))/2));background:rgba(255,255,255,.95);backdrop-filter:blur(14px);border-bottom:1px solid rgba(15,37,42,.08)}
.brand{text-decoration:none;font-size:1.5rem;letter-spacing:.08em;white-space:nowrap}.brand span{color:var(--blue-deep);padding:0 .08em}.nav{display:flex;align-items:center;gap:28px}.nav a{text-decoration:none;font-size:.91rem;letter-spacing:.04em}.nav a:hover{color:var(--blue-deep)}.nav-rsvp{border:1px solid var(--blue-deep);padding:9px 17px;border-radius:999px}.menu-button{display:none;border:0;background:transparent;padding:8px 0}
.section,.section-white{max-width:var(--max);margin:0 auto;padding:128px 48px}.section-white{max-width:none;padding-left:max(48px,calc((100vw - var(--max))/2));padding-right:max(48px,calc((100vw - var(--max))/2))}.alt{max-width:none;padding-left:max(48px,calc((100vw - var(--max))/2));padding-right:max(48px,calc((100vw - var(--max))/2));background:var(--soft)}
.section-kicker,.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.78rem;color:var(--blue-deep);margin:0 0 18px}.section-kicker.light{color:#d6edef}
h1,h2,h3,p{margin-top:0}h1{font-size:clamp(4.9rem,7.7vw,8.8rem);line-height:.91;letter-spacing:-.05em;font-weight:400;margin-bottom:30px}h2{font-size:clamp(3rem,4.7vw,5rem);line-height:1.04;letter-spacing:-.04em;font-weight:400;margin-bottom:32px}h3{font-weight:500;line-height:1.2;font-size:1.28rem}p{font-size:1.08rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 23px;border-radius:999px;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:.2s ease;font-size:.96rem}.button:hover{transform:translateY(-1px)}.primary{background:var(--blue-deep);color:#fff}.secondary{border-color:#bdcdcf;background:#fff}.light-button{background:#fff;color:#315f69}.outline-light{border-color:rgba(255,255,255,.65);color:#fff}
.hero{min-height:calc(100vh - 74px);display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:82px;padding-top:80px;padding-bottom:88px}.hero-copy{padding-left:1vw}.hero-subtitle{font-size:clamp(1.8rem,2.4vw,3rem);line-height:1.12;margin-bottom:10px;max-width:620px}.hero-location{color:var(--muted);letter-spacing:.08em;font-size:1.05rem}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin:34px 0 42px}.hero-art{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,30%);align-items:center;gap:24px}.hero-photo{width:100%;max-height:680px;object-fit:contain}.adventure-card{position:static;background:var(--blue);color:#fff;font-size:clamp(1.55rem,2vw,2.6rem);line-height:1.22;padding:44px 30px;text-align:center;border-top:4px solid var(--sand);box-shadow:0 18px 54px rgba(35,71,80,.12)}
.countdown{display:flex;gap:30px;flex-wrap:wrap}.countdown div{display:grid;min-width:78px}.countdown strong{font-weight:400;font-size:2.35rem;line-height:1}.countdown span{font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-top:8px}
.story{display:grid;grid-template-columns:1.05fr .95fr;gap:110px;align-items:center}.monogram{width:min(560px,92%);height:auto;margin:0 0 34px}.story-copy p{max-width:var(--reading)}.story-visual img{width:100%;max-width:610px;margin-left:auto}.story-visual p{margin:24px auto 0;max-width:540px;text-align:center;font-size:1.2rem}
.wedding-banner{background:var(--blue-deep);color:#fff;text-align:center;padding:120px 32px}.wedding-banner>div{max-width:1100px;margin:auto}.wedding-banner h2{font-size:clamp(3.2rem,5vw,5.7rem);margin-bottom:14px}.wedding-banner>div>p:not(.section-kicker):not(.schedule-note){font-size:1.35rem}.banner-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin:38px 0 22px}.schedule-note{opacity:.8;font-size:.96rem}
.travel{display:grid;grid-template-columns:.78fr 1.22fr;gap:100px;align-items:center}.travel-copy h3{margin-top:32px}.travel-copy p{max-width:650px}.info-card{background:var(--blue-pale);padding:23px 25px;margin:32px 0}.info-card span{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;color:var(--blue-deep)}.info-card p{margin:6px 0 0}.mini-route{display:flex;align-items:center;gap:13px;flex-wrap:wrap}.mini-route span{border:1px solid var(--line);border-radius:999px;padding:9px 16px}.travel-map{margin:0}.travel-map img{width:100%;max-height:720px;object-fit:cover;border-radius:4px}.travel-map figcaption{text-align:right;font-size:.8rem;color:var(--muted);margin-top:9px}
.stay{display:grid;grid-template-columns:.9fr 1.1fr;gap:105px;align-items:center}.stay-visual img{width:100%;max-height:960px;object-fit:contain;margin:auto}.resort-logo{max-width:500px;margin-bottom:30px}.stay-copy>p{max-width:740px}.features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:32px 0}.features span{background:#fff;border:1px solid var(--line);padding:15px 16px;font-size:1rem}.room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:30px 0}.room-grid div{background:#fff;padding:20px;border-top:4px solid var(--blue)}.room-grid span,.room-grid small{display:block;color:var(--muted)}.room-grid strong{display:block;font-size:2rem;font-weight:400;margin:7px 0}.stay-actions{display:flex;gap:12px;flex-wrap:wrap}.small-print,.stay-note{font-size:.94rem;color:var(--muted)}
.week-head{max-width:900px}.week-layout{display:grid;grid-template-columns:.72fr 2.28fr;gap:72px;margin-top:54px;align-items:start}.timeline{border-left:2px solid var(--blue);padding-left:28px}.timeline>div{padding:6px 0 31px}.timeline span{text-transform:uppercase;letter-spacing:.14em;color:var(--blue-deep);font-size:.72rem}.timeline h3{margin:4px 0 7px;font-size:1.4rem}.timeline p{margin:0;color:var(--muted);font-size:.95rem}.timeline .big-day{background:var(--blue-pale);padding:20px;margin-left:-29px;padding-left:27px}.week-places{display:grid;gap:38px;min-width:0}.place-row{display:grid;align-items:center;min-width:0;column-gap:8px}.place-row img{width:100%;height:auto;max-height:560px;object-fit:contain;position:relative;z-index:2}.place-card{background:var(--blue-deep);color:#fff;padding:26px 34px;text-align:center;position:relative;z-index:1}.place-card h3{font-size:1.8rem;font-weight:400;margin:0 0 15px;padding-bottom:13px;border-bottom:2px solid rgba(255,255,255,.75)}.place-card p{font-size:.97rem;line-height:1.5;margin:0;opacity:.98}.place-acropolis{grid-template-columns:minmax(320px,1.15fr) minmax(280px,.85fr)}.place-acropolis .place-card{margin-right:0}.place-acropolis img{max-width:430px;justify-self:start}.place-poseidon{grid-template-columns:minmax(280px,.85fr) minmax(360px,1.15fr);margin-top:-8px}.place-poseidon img{max-width:430px;justify-self:end;margin-right:0}.place-poseidon .place-card{margin-left:0}.daytrip-note{max-width:960px;margin:44px auto 0;text-align:center;font-size:1.08rem}
.paros{display:grid;grid-template-columns:.78fr 1.22fr;gap:100px;align-items:center}.paros-visual img{width:100%;max-height:900px;object-fit:contain;margin:auto}.paros-copy p{max-width:700px}
.greek-words{display:grid;grid-template-columns:.74fr 1.26fr;gap:100px;align-items:center}.words-copy dl{margin:34px 0 0}.words-copy dl div{display:grid;grid-template-columns:165px 1fr;border-bottom:1px solid var(--line);padding:14px 0}.words-copy dt{font-weight:500;letter-spacing:.08em}.words-copy dd{margin:0}.words-visual img{width:100%;max-height:830px;object-fit:contain;margin:auto}
.rsvp{display:grid;grid-template-columns:.68fr 1.32fr;gap:100px;align-items:start}.rsvp-intro{position:sticky;top:110px}.rsvp-intro p{max-width:520px}.rsvp-form{background:var(--soft);padding:42px;border:1px solid var(--line);max-width:900px;width:100%}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}label{display:grid;gap:8px;font-size:.94rem}input,select,textarea{width:100%;border:1px solid #cbd7d9;background:#fff;border-radius:0;padding:14px 15px;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid rgba(95,148,163,.25);border-color:var(--blue-deep)}fieldset{border:0;padding:0;margin:26px 0}legend{font-size:.94rem;margin-bottom:9px}.choice{display:flex;grid-template-columns:none;align-items:center;gap:10px;margin:9px 0}.choice input{width:auto}.rsvp-form>label,.rsvp-form>#attending-fields>label{margin:20px 0}.submit{border:0;margin-top:10px}.form-status{min-height:25px;margin:13px 0 0;font-size:.92rem}.form-status.error{color:#9d3434}.form-status.success{color:#2b7357}
.closing{display:grid;grid-template-columns:.9fr 1.1fr;gap:110px;align-items:center;padding-top:130px;padding-bottom:130px}.closing-photo img{width:100%;max-height:820px;object-fit:contain;margin:auto}.closing-copy{text-align:center}.closing-copy .monogram{margin:0 auto 34px}.closing-copy p{font-size:1.35rem}.closing-copy strong{font-weight:400;display:block}.back-top{display:inline-block;margin-top:32px;color:var(--blue-deep)}
footer{display:flex;justify-content:space-between;gap:20px;padding:32px max(32px,calc((100vw - var(--max))/2));border-top:1px solid var(--line);font-size:.82rem;color:var(--muted)}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.button:hover{transform:none}}
@media (max-width:1180px){html{font-size:16px}.section,.section-white{padding:108px 34px}.section-white,.alt{padding-left:max(34px,calc((100vw - 1100px)/2));padding-right:max(34px,calc((100vw - 1100px)/2))}.hero{gap:52px}.hero-art{grid-template-columns:minmax(0,1fr) minmax(185px,29%);gap:18px}.story,.travel,.stay,.paros,.greek-words,.rsvp,.closing{gap:66px}.adventure-card{padding:34px 24px}.week-layout{gap:44px}.week-places{gap:28px}.place-card{padding:22px 26px}.place-acropolis img,.place-poseidon img{max-width:390px}}
@media (max-width:980px){.nav{display:none;position:absolute;top:66px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:18px 26px;flex-direction:column;align-items:flex-start}.nav.open{display:flex}.menu-button{display:block}.hero,.story,.travel,.stay,.paros,.greek-words,.rsvp,.closing{grid-template-columns:1fr}.hero{min-height:auto;gap:34px}.hero-copy{order:1;padding-left:0}.hero-art{order:2;grid-template-columns:minmax(0,1fr) minmax(190px,28%);gap:18px}.story,.travel,.stay,.paros,.greek-words,.rsvp,.closing{gap:52px}.story-visual img,.paros-visual img,.words-visual img,.closing-photo img{margin-left:auto;margin-right:auto}.week-layout{grid-template-columns:1fr;gap:46px}.week-places{max-width:860px;margin:0 auto;width:100%}.place-acropolis{grid-template-columns:minmax(280px,1.15fr) minmax(240px,.85fr)}.place-poseidon{grid-template-columns:minmax(240px,.85fr) minmax(280px,1.15fr)}.place-acropolis img,.place-poseidon img{max-width:380px}.rsvp-intro{position:static}.room-grid{grid-template-columns:1fr 1fr}.closing-copy{order:1}.closing-photo{order:2}}
@media (max-width:640px){html{font-size:15px}.section,.section-white,.alt{padding:74px 20px}.site-header{padding:12px 20px}.hero{padding-top:52px;padding-bottom:68px}.hero h1{font-size:clamp(4.2rem,18vw,6rem)}.hero-subtitle{font-size:1.75rem}.hero-art{grid-template-columns:1fr;gap:14px}.adventure-card{margin:0 8px 0 auto;width:max-content;max-width:78%;padding:23px 24px;font-size:1.65rem}.hero-actions .button{width:100%}.countdown{justify-content:space-between;gap:8px}.countdown div{min-width:55px}.countdown strong{font-size:1.95rem}.story{padding-top:70px}.wedding-banner{padding:80px 20px}.wedding-banner h2{font-size:clamp(2.6rem,12vw,4rem)}.features,.room-grid,.field-row{grid-template-columns:1fr}.room-grid div{padding:15px}.week-layout{gap:34px}.week-places{gap:34px}.place-row,.place-acropolis,.place-poseidon{grid-template-columns:1fr;margin-top:0}.place-row img,.place-acropolis img,.place-poseidon img{max-width:330px;justify-self:center;margin:0}.place-acropolis img{order:1}.place-acropolis .place-card{order:2}.place-poseidon img{order:1}.place-poseidon .place-card{order:2}.place-card,.place-acropolis .place-card,.place-poseidon .place-card{margin:0;padding:22px 20px}.place-card h3{font-size:1.6rem}.words-copy dl div{grid-template-columns:120px 1fr}.rsvp-form{padding:24px 18px}.banner-actions .button{width:100%}footer{flex-direction:column;text-align:center}.monogram{width:100%}}
