:root {
  --paper:#fbf4e8;
  --paper2:#f7ecdc;
  --ink:#623719;
  --ink-soft:#80583d;
  --sage:#789177;
  --teal:#93c9c5;
  --peach:#e7b391;
  --gold:#a87542;
  --line:rgba(98,55,25,.22);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Montserrat',Arial,sans-serif;line-height:1.6; font-weight:500;}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.32;background-image:radial-gradient(rgba(115,74,40,.13) .55px, transparent .7px);background-size:5px 5px;mix-blend-mode:multiply;z-index:100}
a{color:inherit}
.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:16px 6vw;background:rgba(251,244,232,.86);backdrop-filter:blur(12px);border-bottom:1px solid rgba(168, 117, 66, .5);}
.brand{font-family:'Cormorant Garamond',serif;font-size:24px;letter-spacing:.16em;font-weight:600}
.brand img{max-height: 70px;}
.navlinks{display:flex;gap:24px;font-size:11px;text-transform:uppercase;letter-spacing:.13em; font-weight: 600;}
.navlinks a{text-decoration:none}
.hero{min-height:100svh;display:grid;grid-template-rows:1fr auto;position:relative;overflow:hidden;padding-top:72px;background-color:#fcf4e7}
.hero-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:42px 22px 0;z-index:2}
.monogram{width:74px;height:74px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;font-family:'Cormorant Garamond',serif;font-size:34px;letter-spacing:-.08em;margin-bottom:18px;position:relative}
.monogram img{width:40px;}
.monogram:after{content:"";position:absolute;width:108px;height:1px;background:var(--gold);bottom:-11px;left:50%;transform:translateX(-50%)}
.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.34em;color:var(--ink-soft);margin-bottom:8px}
.names{font-family:'Allura',cursive;font-size:clamp(58px,10vw,105px);font-weight:400;line-height:.82;margin:12px 0 18px}
.hero-date{font-family: "Lora", serif;font-size:19px;letter-spacing:.11em;text-transform:uppercase}
.hero-place{font-size:11px;letter-spacing:.2em;text-transform:uppercase;margin-top:8px}
.hero-actions{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap;justify-content:center}
.btn{display:inline-block;text-decoration:none;padding:12px 20px;border:1px solid var(--ink);font-size:11px;letter-spacing:.16em;text-transform:uppercase;border-radius:99px;background:rgba(255,255,255,.32)}
.btn.primary{background:var(--ink);color:#fffaf1}
.resort-art{height:min(42vw,390px);min-height:270px;background-image:linear-gradient(180deg,rgba(251,244,232,.08),rgba(251,244,232,0)),url('../images/BG-Banner-01.png');background-size:cover;background-position:center 62%;position:relative;margin-top:-20px}
.resort-art:before{content:"";position:absolute;inset:-2px 0 auto;height:80px;background:linear-gradient(180deg,var(--paper),transparent)}
section{padding:95px 8vw}
.center{text-align:center;max-width:820px;margin:0 auto}
.kicker{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--sage);font-weight:600}
h2{font-family:'Cormorant Garamond',serif;font-size:clamp(40px,6vw,68px);font-weight:500;line-height:1.2;margin:12px 0 18px}
.lead{font-family:'Cormorant Garamond',serif;font-size:24px;line-height:1.45;color:var(--ink-soft)}
.welcome{background:#fffaf1}
.quickstrip{display:grid;grid-template-columns:repeat(4,1fr);max-width:1100px;margin:48px auto 0;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:rgba(255,255,255,.38)}
.quick{padding:22px;text-align:center;border-right:1px solid var(--line)}
.quick:last-child{border-right:0}
.quick b{font-family: "Lora", serif;font-size:22px;display:block;font-weight:600}
.quick span{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-soft)}
.schedule{background:linear-gradient(180deg,#f9efdf,#fbf5ea)}
.timeline{max-width:980px;margin:50px auto 0;position:relative}
.timeline:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:linear-gradient(var(--line),var(--gold),var(--line))}
.day{display:grid;grid-template-columns:1fr 80px 1fr;align-items:start;margin:0 0 46px}
.day-date{grid-column:1;text-align:right;padding:14px 24px 0 0}
.day-date .num{font-family: "Lora", serif;font-size:48px;line-height:.8}
.day-date .month{font-size:10px;line-height: 3; text-transform:uppercase;letter-spacing:.18em}
.dot{grid-column:2;width:14px;height:14px;border:2px solid var(--gold);background:var(--paper);border-radius:50%;justify-self:center;margin-top:24px;z-index:2}
.event-card{grid-column:3;background:rgba(255,255,255,.57);border:1px solid var(--line);border-radius:24px;padding:24px 26px;box-shadow:0 16px 44px rgba(98,55,25,.06)}
.event-card h3{font-family:'Cormorant Garamond',serif;font-size:31px;margin:2px 0 8px;line-height:1.05}
.event-card .time{font-size:11px;text-transform:uppercase;letter-spacing:.17em;color:var(--sage);font-weight:600}
.event-card p{font-size:13px;color:var(--ink-soft);margin:9px 0 15px}
.attire{border-top:1px dashed var(--line);padding-top:13px;font-size:12px}
.attire strong{text-transform:uppercase;letter-spacing:.1em;font-size:9px;display:block;margin-bottom:5px;color:var(--gold)}
.day:nth-child(even) .day-date{grid-column:3;text-align:left;padding:14px 0 0 24px}
.day:nth-child(even) .event-card{grid-column:1;grid-row:1;text-align:right}
.day:nth-child(even) .dot{grid-row:1}
.stay{background:#fffaf1}
.stay-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;max-width:1100px;margin:48px auto 0}
.stay-card{border:1px solid var(--line);border-radius:28px;padding:34px;background:rgba(255,255,255,.5)}
.stay-card h3{font-family:'Cormorant Garamond',serif;font-size:36px;margin:0 0 10px}
.details{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}
.detail{background:var(--paper);border-radius:18px;padding:18px}
.detail small{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:var(--sage)}
.detail b{font-family: "Lora", serif;font-size:22px;display:block;margin-top:3px}
.concierge{background:#73856e;color:#fffaf1;position:relative;overflow:hidden}
.concierge:after{content:"";position:absolute;right:-70px;bottom:-130px;width:340px;height:340px;border-radius:50%;border:1px solid rgba(255,255,255,.25)}
.concierge h2,.concierge .lead{color:#fffaf1}
.concierge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;max-width:1100px;margin:40px auto 0}
.c-item{border:1px solid rgba(255,255,255,.25);border-radius:22px;padding:22px;background:rgba(255,255,255,.06)}
.c-item h4{font-family:'Cormorant Garamond',serif;font-size:24px;margin:0 0 6px}
.c-item p{font-size:11px;opacity:.86}

.wardrobe{background:linear-gradient(180deg,#f8edde,#fbf4e8);position:relative;overflow:hidden}
.wardrobe:before{content:"";position:absolute;left:-120px;top:80px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(147,201,197,.23),transparent 66%)}
.wardrobe-grid{max-width:1050px;margin:42px auto 0;display:grid;grid-template-columns:.8fr 1.2fr;gap:42px;align-items:center;position:relative;z-index:2}
.wardrobe-cover{background:#fffaf1;border:1px solid var(--line);padding:10px;border-radius:28px;box-shadow:0 24px 60px rgba(80,44,18,.12);transform:rotate(-1.2deg)}
.wardrobe-cover img{display:block;width:100%;border-radius:20px}
.wardrobe-copy h3{font-family:'Cormorant Garamond',serif;font-size:38px;line-height:1.05;margin:0 0 14px}
.wardrobe-copy p{font-size:13px;color:var(--ink-soft);max-width:600px}
.wardrobe-pills{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 24px}
.wardrobe-pills span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;padding:8px 12px;border:1px solid var(--line);border-radius:99px;background:rgba(255,255,255,.35)}
.photos{background:#f4e4d2;position:relative;overflow:hidden}
.photos-grid{max-width:980px;margin:42px auto 0;display:grid;grid-template-columns:1fr .8fr;gap:34px;align-items:center}
.photo-card{background:#fffaf1;border:1px solid var(--line);border-radius:28px;padding:30px;box-shadow:0 20px 50px rgba(80,44,18,.10)}
.photo-card h3{font-family:'Cormorant Garamond',serif;font-size:34px;margin:0 0 8px}
.photo-card p{font-size:12px;color:var(--ink-soft)}
.qr-wrap{background:#fff;border:1px solid rgba(98,55,25,.13);border-radius:28px;padding:26px;text-align:center;box-shadow:0 20px 50px rgba(80,44,18,.10)}
.qr-wrap img{width:min(260px,82%);height:auto;display:block;margin:0 auto 14px}
.qr-wrap b{font-family:'Cormorant Garamond',serif;font-size:22px;display:block}
.qr-wrap small{display:block;color:var(--ink-soft);font-size:10px;text-transform:uppercase;letter-spacing:.14em;margin-top:4px}
.photo-note{font-size:10px!important;margin-top:16px!important}
@media(max-width:760px){
  .wardrobe-grid,.photos-grid{grid-template-columns:1fr;gap:24px}
  .wardrobe-cover{max-width:360px;margin:0 auto;transform:none}
  .wardrobe-copy{text-align:center}
  .wardrobe-pills{justify-content:center}
  .photo-card{text-align:center}
}

.rsvp{text-align:center;background:linear-gradient(180deg,#fbf4e8,#f6e6d2)}
.rsvp .script{font-family:'Allura',cursive;font-size:72px;line-height:1;margin-bottom:0}
.note{font-size:11px;color:var(--ink-soft)}
footer{padding:46px 22px 100px;text-align:center;background:#f5e6d3;border-top:1px solid var(--line)}
footer .names-small{font-family:'Allura',cursive;font-size:38px}
.mobilebar{display:none}
@media(max-width:760px){
  .navlinks{display:none}
  .nav{padding:13px 18px}
  .brand{font-size:20px}
  .hero{padding-top:54px}
  .hero-inner{padding-top:56px}
  .names{font-size:64px}
  .resort-art{height:300px;margin-top:0;background-position:center bottom}
  section{padding:72px 20px}
  .quickstrip{grid-template-columns:1fr 1fr}
  .quick:nth-child(2){border-right:0}
  .quick:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .timeline:before{left:19px}
  .day,.day:nth-child(even){grid-template-columns:38px 1fr;margin-bottom:30px}
  .day-date,.day:nth-child(even) .day-date{grid-column:2;text-align:left;padding:0 0 9px 10px}
  .day-date .num{font-size:32px;display:inline-block;margin-right:7px}
  .dot,.day:nth-child(even) .dot{grid-column:1;grid-row:1;width:12px;height:12px;margin-top:14px}
  .event-card,.day:nth-child(even) .event-card{grid-column:2;grid-row:2;text-align:left;padding:21px}
  .stay-grid{grid-template-columns:1fr}
  .details{grid-template-columns:1fr}
  .concierge-grid{grid-template-columns:1fr 1fr}
  .mobilebar{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:10px;right:10px;bottom:10px;z-index:80;background:rgba(255,250,241,.94);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 36px rgba(70,35,15,.14);overflow:hidden}
  .mobilebar a{text-decoration:none;text-align:center;padding:10px 2px 8px;font-size:8px;text-transform:uppercase;letter-spacing:.08em;border-right:1px solid var(--line)}
  .mobilebar a:last-child{border-right:0}
}
.text-small { font-size:13px;line-height: 1.6; }