@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;1,500&family=Inter:wght@400;600&display=swap');
:root{--ivory:#fbf7ef;--paper:#fffdf9;--ink:#2b241f;--red:#9e3b2c;--red-dark:#742d24;--gold:#b68b4e;--sand:#ead9c5;--line:rgba(43,36,31,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:Inter,sans-serif;line-height:1.65}img{display:block;max-width:100%}
.shell{width:min(1160px,calc(100% - 40px));margin:auto}.narrow{width:min(760px,calc(100% - 40px))}
h1,h2,h3{font-family:'Cormorant Garamond',serif;font-weight:500;line-height:1.04;margin:0}h2{font-size:clamp(48px,7vw,78px)}h3{font-size:30px}
.kicker,.eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--red-dark)}.section{padding:110px 0}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;text-decoration:none;text-transform:uppercase;letter-spacing:.11em;font-size:11px;font-weight:600;border:1px solid var(--red-dark)}.primary{background:var(--red-dark);color:white}.ghost{background:rgba(255,255,255,.14);border-color:white;color:white}

/* Progressive watercolor reveal */
.opening{position:fixed;inset:0;z-index:20;overflow:hidden;background:linear-gradient(135deg,#fffdf8,#eee1d1)}
.paper-grain{position:absolute;inset:0;z-index:1;opacity:.24;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='110' height='110'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.15'/%3E%3C/svg%3E")}
.seed-scene{position:absolute;inset:0;z-index:4;animation:seedFade 1.4s 4.1s forwards}
.seed{position:absolute;left:50%;top:42%;width:30px;height:18px;border-radius:65% 35% 62% 38%;background:linear-gradient(145deg,#4f2f20,#8c5938);box-shadow:0 5px 12px rgba(64,39,25,.18);animation:seedDrop 1.5s cubic-bezier(.2,.75,.3,1) both}
.water-stain{position:absolute;left:50%;top:43%;border-radius:50%;transform:translate(-50%,-50%) scale(.1);opacity:0;filter:blur(8px)}
.stain-a{width:170px;height:120px;background:radial-gradient(ellipse,rgba(99,137,148,.37),rgba(99,137,148,0) 72%);animation:stainBloom 2.5s 1.35s forwards}
.stain-b{width:230px;height:150px;background:radial-gradient(ellipse,rgba(203,116,77,.22),rgba(203,116,77,0) 72%);animation:stainBloom 2.8s 1.8s forwards}

.painting-stage{position:absolute;inset:0;z-index:2;overflow:hidden}
.brush,.final-painting{position:absolute;inset:0;width:100%;height:100%;background-image:url('assets/flamboyan-master.jpg');background-size:cover;background-position:center 43%;background-repeat:no-repeat;opacity:0}
.final-painting{object-fit:cover;object-position:center 43%;background:none;filter:blur(1.5px);animation:finalSettle 2.6s 15.3s forwards}

/* Each brush is the same painting, revealed through a soft organic window. */
.brush{filter:blur(2px) saturate(.92);transform:scale(.985)}
.brush::after{content:"";position:absolute;inset:0;background:inherit}
.brush-01{clip-path:ellipse(5% 22% at 35% 72%);animation:brushIn 1.4s 3.4s forwards}
.brush-02{clip-path:ellipse(7% 26% at 38% 59%);animation:brushIn 1.5s 4.0s forwards}
.brush-03{clip-path:ellipse(11% 13% at 31% 46%);animation:brushIn 1.5s 4.6s forwards}
.brush-04{clip-path:ellipse(12% 11% at 43% 43%);animation:brushIn 1.6s 5.1s forwards}
.brush-05{clip-path:ellipse(14% 10% at 25% 36%);animation:brushIn 1.6s 5.6s forwards}
.brush-06{clip-path:ellipse(15% 10% at 51% 34%);animation:brushIn 1.6s 6.1s forwards}
.brush-07{clip-path:ellipse(18% 11% at 17% 28%);animation:brushIn 1.7s 6.6s forwards}
.brush-08{clip-path:ellipse(18% 12% at 36% 25%);animation:brushIn 1.7s 7.0s forwards}
.brush-09{clip-path:ellipse(18% 12% at 55% 24%);animation:brushIn 1.7s 7.4s forwards}
.brush-10{clip-path:ellipse(18% 12% at 72% 28%);animation:brushIn 1.7s 7.8s forwards}
.brush-11{clip-path:ellipse(15% 10% at 9% 39%);animation:brushIn 1.8s 8.2s forwards}
.brush-12{clip-path:ellipse(16% 10% at 26% 43%);animation:brushIn 1.8s 8.6s forwards}
.brush-13{clip-path:ellipse(16% 10% at 47% 43%);animation:brushIn 1.8s 9.0s forwards}
.brush-14{clip-path:ellipse(17% 10% at 66% 42%);animation:brushIn 1.8s 9.4s forwards}
.brush-15{clip-path:ellipse(18% 12% at 84% 40%);animation:brushIn 1.8s 9.8s forwards}
.brush-16{clip-path:ellipse(34% 12% at 42% 56%);animation:brushIn 2s 10.4s forwards}
.brush-17{clip-path:ellipse(49% 15% at 51% 67%);animation:brushIn 2.2s 11.2s forwards}
.brush-18{clip-path:ellipse(68% 28% at 52% 54%);animation:brushIn 2.5s 12.3s forwards}

.opening:after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(180deg,rgba(255,253,248,.08),rgba(255,253,248,0) 52%,rgba(255,253,248,.15))}
.invitation-panel{position:absolute;left:50%;bottom:2.8%;z-index:7;width:min(760px,90vw);transform:translateX(-50%) translateY(18px);text-align:center;padding:18px 28px 20px;background:rgba(255,250,242,.91);border:1px solid rgba(182,139,78,.62);box-shadow:0 12px 45px rgba(66,44,31,.15);backdrop-filter:blur(7px);opacity:0;animation:panelIn 1.2s 17.1s forwards}
.quote{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:24px;margin:0 0 2px}
.invitation-panel h1{font-size:clamp(42px,5vw,64px)}.invitation-panel h1 em{color:var(--red)}
.meta,.date-line{text-transform:uppercase;letter-spacing:.15em;font-size:10px;margin:6px 0}.date-line{color:var(--red-dark)}
.enter-site{margin-top:8px;border:1px solid var(--gold);background:transparent;padding:12px 26px;text-transform:uppercase;letter-spacing:.14em;font-size:10px;cursor:pointer}
.skip-opening,.replay-intro{position:absolute;top:20px;z-index:8;border:0;background:rgba(255,255,255,.6);padding:8px 10px;text-transform:uppercase;letter-spacing:.12em;font-size:10px;color:#65564d;cursor:pointer}
.skip-opening{right:24px}.replay-intro{right:105px}
.petal{position:absolute;z-index:6;width:18px;height:11px;background:#b84d37;border-radius:70% 30% 70% 30%;opacity:0}
.p1{left:16%;top:8%;animation:fall 7s 14.5s infinite}.p2{left:75%;top:14%;animation:fall 8s 15s infinite}.p3{left:58%;top:3%;animation:fall 7.4s 15.5s infinite}.p4{left:84%;top:28%;animation:fall 8.2s 16s infinite}.p5{left:33%;top:1%;animation:fall 7.8s 16.4s infinite}

@keyframes seedDrop{0%{opacity:0;transform:translate(-50%,-260%) rotate(-60deg)}70%{opacity:1;transform:translate(-50%,-45%) rotate(-10deg)}85%{transform:translate(-50%,-57%) rotate(-20deg)}100%{transform:translate(-50%,-50%) rotate(-18deg)}}
@keyframes stainBloom{0%{opacity:0;transform:translate(-50%,-50%) scale(.1)}35%{opacity:.9}100%{opacity:0;transform:translate(-50%,-50%) scale(5.5)}}
@keyframes seedFade{to{opacity:0;filter:blur(4px)}}
@keyframes brushIn{0%{opacity:0;filter:blur(8px) saturate(.65);transform:scale(.96)}50%{opacity:.72}100%{opacity:1;filter:blur(.6px) saturate(.98);transform:scale(1)}}
@keyframes finalSettle{0%{opacity:0;filter:blur(6px) saturate(.85)}100%{opacity:1;filter:blur(0) saturate(1)}}
@keyframes panelIn{to{opacity:1;transform:translateX(-50%) translateY(0)}}
@keyframes fall{0%{opacity:0;transform:translate(0,0) rotate(0)}15%{opacity:.85}100%{opacity:0;transform:translate(-120px,72vh) rotate(330deg)}}

/* Main site */
.hero{min-height:100vh;position:relative;overflow:hidden;color:white}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 43%}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(31,21,16,.67),rgba(31,21,16,.18) 58%,rgba(31,21,16,.05))}
.nav{height:92px;display:flex;justify-content:space-between;align-items:center;position:relative;z-index:3}.monogram{font-family:'Cormorant Garamond',serif;font-size:34px;text-decoration:none;color:white}.monogram span{font-style:italic;color:#ffd3be}.nav-links{display:flex;gap:28px}.nav-links a{color:white;text-decoration:none;text-transform:uppercase;letter-spacing:.13em;font-size:11px}
.hero-copy{position:relative;z-index:3;padding-top:19vh}.hero-copy>*{max-width:700px}.hero .eyebrow{color:#ffd3be}.hero-copy h2{font-size:clamp(72px,9vw,122px);letter-spacing:-.04em}.hero-copy h2 em{color:#ffd0bd}.hero-subtitle{font-family:'Cormorant Garamond',serif;font-size:31px}.hero-intro{font-family:'Cormorant Garamond',serif;font-size:24px}.hero-actions{display:flex;gap:14px;margin-top:30px}
.story{text-align:center;background:var(--paper)}.story p:not(.kicker):not(.signature){font-family:'Cormorant Garamond',serif;font-size:27px}.signature{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:36px;color:var(--red)}
.weekend{background:var(--sand)}.timeline{display:grid;gap:18px;margin-top:42px}.timeline article{display:grid;grid-template-columns:110px 1fr;gap:25px;background:var(--paper);padding:28px;border:1px solid var(--line)}.date{display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid var(--line)}.date span{font-family:'Cormorant Garamond',serif;font-size:57px;line-height:1}.date small{letter-spacing:.16em;color:var(--red-dark)}.day{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--red-dark);font-weight:600}
.sanjuan{background:#f8f3eb}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:42px}.cards article{padding:32px;background:white;border:1px solid var(--line)}.photos{text-align:center;background:#dfe8e8}.gift{text-align:center;background:#f3e3dc}footer{padding:42px;text-align:center;background:#211d1a;color:#eadfce;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:20px}
@media(max-width:820px){.nav-links{display:none}.brush,.final-painting,.hero-bg{background-position:center 35%;object-position:center 35%}.invitation-panel{bottom:1.5%;padding:14px 18px}.quote{font-size:20px}.invitation-panel h1{font-size:37px}.hero{min-height:820px}.hero-copy{padding-top:22vh}.hero-actions{flex-direction:column;align-items:flex-start}.timeline article{grid-template-columns:80px 1fr}.cards{grid-template-columns:1fr}.section{padding:78px 0}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-delay:0ms!important;animation-iteration-count:1!important}}


/* Welcome Chapter V9 */
.welcome-hero{min-height:100vh;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--ivory)}
.welcome-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 43%;filter:saturate(.88) brightness(1.08)}
.welcome-art-wash{position:absolute;inset:0;background:linear-gradient(180deg,rgba(251,247,239,.18),rgba(251,247,239,.55) 62%,rgba(251,247,239,.94))}
.welcome-hero .nav{position:absolute;left:0;right:0;top:0;color:var(--ink);transition:opacity 1s ease,transform 1s ease}
.welcome-hero .monogram,.welcome-hero .nav-links a{color:var(--ink)}
.welcome-hero .monogram span{color:var(--red)}
.nav-hidden{opacity:0;transform:translateY(-14px);pointer-events:none}
.nav-visible{opacity:1;transform:translateY(0);pointer-events:auto}
.welcome-title{position:relative;z-index:3;text-align:center;margin-top:20vh}
.welcome-title .eyebrow{color:var(--red-dark)}
.bienvenidos{font-family:'Cormorant Garamond',serif;font-size:clamp(56px,8vw,104px);font-style:italic;color:var(--red);line-height:.85;margin:0}
.welcome-to{font-family:'Cormorant Garamond',serif;font-size:25px;margin:14px 0 4px}
.welcome-title h1{font-family:'Cormorant Garamond',serif;font-size:clamp(58px,8vw,110px);line-height:.9;letter-spacing:-.04em}
.welcome-title h1 em{color:var(--red)}
.celebrating{font-family:'Cormorant Garamond',serif;font-size:25px;margin-top:18px}
.scroll-cue{display:inline-flex;flex-direction:column;gap:4px;margin-top:38px;text-decoration:none;text-transform:uppercase;letter-spacing:.16em;font-size:10px;color:var(--red-dark)}
.scroll-cue b{font-size:22px;font-weight:400;animation:floatArrow 1.8s ease-in-out infinite}
@keyframes floatArrow{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}

.welcome-letter{position:relative;background:#efe3d3;padding:130px 20px}
.letter-sheet{position:relative;z-index:2;width:min(850px,100%);margin:auto;padding:80px 90px;background:rgba(255,253,249,.95);border:1px solid rgba(182,139,78,.32);box-shadow:0 24px 70px rgba(77,54,38,.13);text-align:center}
.letter-sheet:before,.letter-sheet:after{content:"";position:absolute;left:50%;width:80px;height:1px;background:var(--gold);transform:translateX(-50%)}
.letter-sheet:before{top:50px}.letter-sheet:after{bottom:50px}
.letter-sheet h2{margin-bottom:32px}
.letter-body{text-align:left;font-family:'Cormorant Garamond',serif;font-size:23px;line-height:1.62}
.letter-body p:first-child:first-letter{float:left;font-size:72px;line-height:.78;padding:9px 10px 0 0;color:var(--red);font-family:'Cormorant Garamond',serif}
.with-love{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:21px;margin:34px 0 0}
.botanical-corner{position:absolute;width:300px;height:300px;opacity:.45;background:
radial-gradient(circle at 30% 30%,#a44130 0 7%,transparent 8%),
radial-gradient(circle at 48% 22%,#dc7655 0 8%,transparent 9%),
radial-gradient(circle at 65% 38%,#a44130 0 7%,transparent 8%),
linear-gradient(42deg,transparent 48%,#657353 49% 51%,transparent 52%)}
.botanical-left{left:-40px;bottom:5%;transform:rotate(-12deg)}
.botanical-right{right:-40px;top:6%;transform:rotate(168deg)}

.chapters{background:var(--paper)}
.centered{text-align:center;margin-left:auto;margin-right:auto}
.chapter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.chapter-card{position:relative;min-height:310px;padding:35px;background:#f9f3ea;border:1px solid var(--line);text-decoration:none;overflow:hidden;transition:transform .35s ease,box-shadow .35s ease}
.chapter-card:hover{transform:translateY(-7px);box-shadow:0 20px 45px rgba(67,45,31,.12)}
.chapter-card:after{content:"";position:absolute;inset:auto -20% -55% 28%;height:78%;border-radius:50%;background:radial-gradient(circle,rgba(164,65,48,.14),transparent 66%)}
.chapter-number{display:block;font-family:'Cormorant Garamond',serif;font-size:42px;color:rgba(164,65,48,.22)}
.chapter-icon{font-size:25px;color:var(--gold)}
.chapter-card h3{margin-top:34px}
.chapter-card p{color:#6c625a;max-width:260px}
.chapter-link{position:absolute;bottom:28px;left:35px;color:var(--red-dark);text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:600}

.memory-journey{background:#dfe8e8}
.memory-opening{max-width:760px;margin-bottom:50px}
.memory-opening blockquote{font-family:'Cormorant Garamond',serif;font-size:31px;font-style:italic;margin:25px 0;color:#5f4337}
.memory-preview{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.memory-preview article{min-height:260px;padding:28px;background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.75)}
.memory-preview span{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:var(--red-dark)}
.memory-preview h3{margin-top:42px}

.section-intro{max-width:680px;color:#6f655d}
.featured-event{border-top:4px solid var(--red)!important;box-shadow:0 18px 45px rgba(105,58,40,.11)}
.travel{background:#f8f3eb}
.travel-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.travel-facts{border-top:1px solid var(--line)}
.travel-facts div{display:grid;grid-template-columns:140px 1fr;padding:16px 0;border-bottom:1px solid var(--line)}
footer strong{display:block;font-family:'Cormorant Garamond',serif;font-size:28px;font-style:italic;margin-top:10px}

.reveal-on-scroll{opacity:0;transform:translateY(32px);transition:opacity .9s ease,transform .9s ease}
.revealed{opacity:1;transform:translateY(0)}

@media(max-width:900px){
  .chapter-grid{grid-template-columns:repeat(2,1fr)}
  .memory-preview{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
  .welcome-title{margin-top:17vh}
  .bienvenidos{font-size:58px}
  .welcome-title h1{font-size:57px}
  .letter-sheet{padding:65px 28px}
  .letter-body{font-size:21px}
  .botanical-corner{display:none}
  .chapter-grid,.memory-preview,.travel-layout{grid-template-columns:1fr}
  .chapter-card{min-height:270px}
}

/* Weekend Experience V10 */
.weekend-experience{background:#f4eadf}
.weekend-heading blockquote{font-family:'Cormorant Garamond',serif;font-size:30px;font-style:italic;color:#684b3f;margin:20px auto 0}
.weekend-tabs{position:sticky;top:0;z-index:10;display:flex;justify-content:center;gap:8px;margin:0 auto 42px;padding:12px;background:rgba(255,253,249,.9);backdrop-filter:blur(10px);border:1px solid var(--line);width:max-content;max-width:100%}
.weekend-tabs a{text-decoration:none;text-transform:uppercase;letter-spacing:.13em;font-size:10px;padding:10px 14px;color:var(--red-dark)}
.day-panel{margin:0 0 52px;background:var(--paper);border:1px solid var(--line);box-shadow:0 24px 70px rgba(76,50,34,.10);overflow:hidden}
.day-image{height:340px;position:relative;background-size:cover;background-position:center;overflow:hidden}
.day-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(30,20,15,.05),rgba(30,20,15,.48))}
.image-label{position:absolute;left:28px;bottom:22px;z-index:2;color:white;text-transform:uppercase;letter-spacing:.16em;font-size:10px}
.thursday-image{background:linear-gradient(135deg,rgba(210,122,76,.12),rgba(42,72,81,.15)),radial-gradient(circle at 73% 28%,#f2c06d 0 8%,transparent 9%),linear-gradient(180deg,#92b8c3 0 48%,#5e8896 49% 62%,#d6a779 63% 100%)}
.friday-image{background:linear-gradient(90deg,rgba(55,78,83,.18),rgba(171,94,55,.18)),radial-gradient(circle at 25% 40%,#c46b4b 0 12%,transparent 13%),radial-gradient(circle at 72% 32%,#5f8f69 0 15%,transparent 16%),linear-gradient(155deg,#d8c2a4,#6f8f95)}
.saturday-image{background:linear-gradient(90deg,rgba(32,26,22,.12),rgba(42,23,18,.35)),radial-gradient(circle at 73% 21%,#f0bf68 0 7%,transparent 8%),linear-gradient(160deg,#86a8b5 0 42%,#cb805c 43% 68%,#513a31 69%)}
.sunday-image{background:radial-gradient(circle at 23% 22%,#f2c56f 0 8%,transparent 9%),linear-gradient(180deg,#cde6eb 0 48%,#76a9b2 49% 65%,#e6c8a8 66%)}
.day-content{padding:48px}
.day-title-row{display:grid;grid-template-columns:1fr 220px;gap:40px;align-items:start}
.day-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:var(--red-dark);font-weight:600}
.day-title-row h3{font-size:54px}
.day-tagline{font-family:'Cormorant Garamond',serif;font-size:23px;color:#6c5e56}
.temperature-card{padding:22px;background:#f7efe5;border:1px solid var(--line);text-align:center}
.temperature-card span,.temperature-card small{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:9px;color:#75685f}
.temperature-card strong{display:block;font-family:'Cormorant Garamond',serif;font-size:48px;line-height:1.05;color:var(--red)}
.event-sequence{margin:36px 0;display:grid;gap:18px}
.event-step{display:grid;grid-template-columns:120px 1fr;gap:28px;padding:25px 0;border-top:1px solid var(--line)}
.event-step time{font-family:'Cormorant Garamond',serif;font-size:30px;color:var(--red-dark)}
.event-step h4,.option-card h4,.morning-card h4,.party-card h4,.farewell-card h4{font-family:'Cormorant Garamond',serif;font-size:34px;margin:0}
.essentials-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:28px 0}
.essentials-grid>div{padding:18px;background:#f8f2e9;border:1px solid var(--line)}
.essentials-grid span,.option-facts span{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:9px;color:#81736a}
.essentials-grid strong,.essentials-grid small{display:block}
.essentials-grid small{color:#73685f}
.day-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.button.outline{background:transparent;color:var(--red-dark)}
.details-toggle{border:0;background:transparent;color:var(--red-dark);text-transform:uppercase;letter-spacing:.12em;font-size:10px;text-decoration:underline;cursor:pointer}
.details-panel{display:none;margin-top:20px;padding:20px;background:#f7efe5;border-left:3px solid var(--gold)}
.details-panel.open{display:block}
.friday-options{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:36px}
.option-card{padding:30px;background:#f8f2e9;border:1px solid var(--line)}
.option-heading{display:flex;gap:16px;align-items:center;margin-bottom:24px}
.option-letter{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--red-dark);color:white;font-family:'Cormorant Garamond',serif;font-size:25px}
.option-heading p{margin:0;text-transform:uppercase;letter-spacing:.13em;font-size:9px;color:var(--red-dark)}
.transport-card{display:grid;grid-template-columns:74px 1fr;gap:18px;align-items:center;margin:22px 0;padding:20px;background:white;border:1px solid var(--line)}
.transport-icon{display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:#e5d2bb;font-size:10px;letter-spacing:.12em;font-weight:600}
.transport-card small,.transport-card strong{display:block}
.transport-card strong{font-family:'Cormorant Garamond',serif;font-size:27px;color:var(--red-dark)}
.transport-card p{margin:4px 0 0}
.route-list{list-style:none;margin:25px 0;padding:0}
.route-list li{display:grid;grid-template-columns:36px 1fr;gap:15px;padding:13px 0;border-bottom:1px solid var(--line)}
.route-list li>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#ead8c4;color:var(--red-dark);font-weight:600}
.route-list strong,.route-list small{display:block}
.option-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.option-facts.stacked{grid-template-columns:1fr 1fr}
.option-facts>div{padding:15px;background:white;border:1px solid var(--line)}
.option-facts strong{display:block;font-size:13px}
.option-description{font-family:'Cormorant Garamond',serif;font-size:21px}
.saturday-flow{margin-top:35px}
.morning-card,.party-card,.farewell-card{padding:34px;border:1px solid var(--line);background:#f8f2e9}
.time-label{color:var(--red-dark);text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:600}
.mini-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}
.mini-facts span{padding:14px;background:white;border:1px solid var(--line)}
.golden-hour-divider{display:flex;align-items:center;gap:20px;margin:32px 0;color:#8f6c3d;text-transform:uppercase;letter-spacing:.16em;font-size:10px}
.golden-hour-divider:before,.golden-hour-divider:after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.party-card{background:linear-gradient(145deg,#3a2a25,#5c352d);color:white;border:0}
.party-card .time-label,.party-card h4{color:#ffd2bb}
.party-card p{color:#f0e5dc}
.party-transport{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.16)}
.party-transport .transport-icon{background:#b78a4d;color:white}
.party-transport strong{color:#ffd2bb}
.party-essentials>div{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.13)}
.party-essentials span,.party-essentials small{color:#d9c9bf}
.party-card .button.primary{background:#b78a4d;border-color:#b78a4d}
.farewell-card{margin-top:30px}
.weekend-closing{text-align:center;padding:35px;background:rgba(255,255,255,.55);border:1px solid var(--line)}
.weekend-closing div{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.weekend-closing a{color:var(--red-dark);text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:10px;border-bottom:1px solid var(--gold);padding:6px}
@media(max-width:900px){.day-title-row,.friday-options{grid-template-columns:1fr}.temperature-card{max-width:250px}.essentials-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.day-content{padding:28px 20px}.day-image{height:240px}.day-title-row h3{font-size:43px}.event-step{grid-template-columns:1fr;gap:5px}.essentials-grid,.option-facts,.option-facts.stacked,.mini-facts{grid-template-columns:1fr}.weekend-tabs{overflow:auto;justify-content:flex-start;width:100%}}


/* Stay & Arrival Concierge V11 */
.stay-experience{background:#f6efe6}
.stay-hero{display:grid;grid-template-columns:1.05fr .95fr;min-height:560px;background:#fffdf9;border:1px solid var(--line);box-shadow:0 22px 65px rgba(65,43,31,.10);overflow:hidden}
.stay-copy{padding:70px 58px;display:flex;flex-direction:column;justify-content:center}
.stay-copy h2{font-size:clamp(58px,7vw,92px)}
.stay-lead{font-family:'Cormorant Garamond',serif;font-size:25px;line-height:1.45;color:#66584f;max-width:600px}
.stay-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}
.stay-visual{position:relative;overflow:hidden;background:linear-gradient(180deg,#a9ced7 0 52%,#6fa1ad 53% 70%,#d7b389 71% 100%)}
.stay-sun{position:absolute;width:120px;height:120px;border-radius:50%;background:#f7d28a;right:14%;top:12%;box-shadow:0 0 70px rgba(247,210,138,.7)}
.stay-ocean{position:absolute;left:0;right:0;bottom:0;height:38%;background:linear-gradient(180deg,#79a7b0,#4d8391)}
.stay-building{position:absolute;left:15%;right:8%;bottom:18%;height:42%;background:linear-gradient(120deg,#f1ede7,#d7d0c7);clip-path:polygon(0 35%,18% 22%,18% 10%,48% 10%,48% 24%,74% 24%,74% 0,100% 0,100% 100%,0 100%)}
.stay-building:after{content:"";position:absolute;inset:14% 8% 10%;background:repeating-linear-gradient(90deg,rgba(82,115,122,.35) 0 8px,transparent 8px 25px)}
.stay-palms{position:absolute;left:7%;bottom:14%;width:160px;height:280px;background:linear-gradient(90deg,transparent 47%,#6c4a32 48% 52%,transparent 53%)}
.stay-palms:before,.stay-palms:after{content:"";position:absolute;left:22%;top:0;width:58%;height:32%;background:#597455;clip-path:polygon(50% 50%,0 20%,42% 45%,8% 65%,44% 55%,20% 95%,49% 59%,70% 96%,57% 55%,100% 69%,61% 46%,95% 18%)}
.stay-palms:after{left:62%;top:20%;transform:scale(.7)}
.arrival-strip{display:grid;grid-template-columns:repeat(4,1fr);margin:26px 0;background:#382923;color:white}
.arrival-strip>div{padding:25px;border-right:1px solid rgba(255,255,255,.14)}
.arrival-strip>div:last-child{border-right:0}
.arrival-strip span,.arrival-strip small{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:9px;color:#d6c7bd}
.arrival-strip strong{display:block;font-family:'Cormorant Garamond',serif;font-size:24px;color:#ffd6bf}
.stay-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.stay-card{position:relative;padding:35px;background:#fffdf9;border:1px solid var(--line);min-height:230px}
.stay-card-number{display:block;font-family:'Cormorant Garamond',serif;font-size:48px;color:rgba(158,59,44,.20)}
.stay-card h3{font-size:31px;margin-top:25px}
.stay-card p{color:#71665e}
.good-to-know{margin-top:65px;padding:45px;background:#e3eceb;border:1px solid rgba(73,103,105,.16)}
.good-to-know-heading{text-align:center;margin-bottom:30px}
.know-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.know-grid article{padding:24px;background:rgba(255,255,255,.75);border:1px solid rgba(255,255,255,.9)}
.know-grid span{display:block;text-transform:uppercase;letter-spacing:.13em;font-size:9px;color:var(--red-dark)}
.know-grid strong{display:block;font-family:'Cormorant Garamond',serif;font-size:25px;margin:8px 0}
.travel-help{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center;margin-top:60px;padding:45px;background:#fffdf9;border:1px solid var(--line)}
.contact-cards{display:grid;gap:12px}
.contact-cards a{display:block;padding:18px 20px;background:#f7efe5;border:1px solid var(--line);text-decoration:none;color:var(--ink)}
.contact-cards span{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:9px;color:var(--red-dark)}
.contact-cards strong{display:block;margin-top:4px}
@media(max-width:900px){
  .stay-hero,.travel-help{grid-template-columns:1fr}
  .stay-visual{min-height:380px}
  .arrival-strip,.know-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:650px){
  .stay-copy{padding:48px 24px}
  .stay-grid,.arrival-strip,.know-grid{grid-template-columns:1fr}
  .arrival-strip>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}
  .stay-visual{min-height:300px}
}
