@font-face{font-family:Cormorant;src:url('assets/cormorant-garamond-normal-400.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Cormorant;src:url('assets/cormorant-garamond-italic-400.ttf') format('truetype');font-style:italic;font-weight:400;font-display:swap}@font-face{font-family:DM;src:url('assets/dm-sans-normal-400.ttf') format('truetype');font-weight:400;font-display:swap}
:root{--paper:#faf7f0;--ink:#343c31;--clay:#824933;--line:#dcd8cd;--muted:#67695e;--serif:Cormorant,Georgia,serif;--sans:DM,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--clay);outline-offset:6px}button{color:inherit}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400;font-family:var(--serif);line-height:1.05}h2{font-size:clamp(40px,4.3vw,61px);letter-spacing:-1.7px}h3{font-size:35px;letter-spacing:-.8px}em{font-weight:400}button{border:0}.wrap{max-width:1380px;margin:auto;padding-left:72px;padding-right:72px}.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:2.1px;line-height:1.7}.skip{position:fixed;left:15px;top:-100px;background:white;padding:12px;z-index:10}.skip:focus{top:10px}.review-bar{background:#e9e6dc;display:flex;justify-content:space-between;padding:6px 40px;font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:#66695e}header{height:108px;display:flex;align-items:center;justify-content:space-between;padding:0 42px;gap:25px}.brand{font-family:var(--serif);font-size:33px;letter-spacing:-.8px;line-height:1.1;white-space:nowrap}.brand i{font-size:24px}.brand span{display:block;font-family:var(--sans);font-size:8px;letter-spacing:3px;line-height:2.5;text-align:center;margin-top:3px}nav{display:flex;gap:32px;font-size:12px}nav a{padding:10px 0}nav a:hover{color:var(--clay)}.header-actions{display:flex;align-items:center;gap:25px}.language{background:none;border-bottom:1px solid var(--ink);font-size:11px;padding:5px 0;min-width:24px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--clay);color:var(--paper);min-height:52px;padding:15px 23px;font-size:12px;transition:background .2s,transform .2s}.button:hover{background:#653724;transform:translateY(-2px)}.button span{font-size:18px;line-height:1}.button.small{min-height:44px;padding:11px 18px}.button.cream{background:var(--paper);color:var(--ink)}.button.cream:hover{background:#ede5d8}.hero{position:relative;min-height:650px;height:calc(100svh - 137px);max-height:820px;color:var(--paper);isolation:isolate;overflow:hidden}.hero-photo{position:absolute;inset:0;height:100%;object-position:50% 44%;z-index:-3}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(21,29,26,.68),rgba(27,29,22,.21) 64%,rgba(27,29,22,.10)),linear-gradient(0deg,rgba(25,28,20,.4),transparent 24%);z-index:-2}.hero-content{padding:65px 7% 125px;max-width:740px}.hero .eyebrow{font-size:10px;letter-spacing:2.2px}.hero h1{font-size:clamp(68px,6.6vw,94px);letter-spacing:-1.5px;line-height:.96;margin:25px 0}.hero h1 em{color:#f7dfb5}.hero-description{font-size:14px;line-height:1.75;margin:0 0 25px;color:#f6f0e5}.hero-foot{position:absolute;left:7%;right:5%;bottom:26px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.8px;align-items:center}.hero-foot a{font-size:11px}.hero-foot a span{font-size:21px;margin-left:12px}.hero-stamp{position:absolute;right:6%;top:55%;width:120px;height:120px;border:1px solid #f7efdb99;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(9deg);gap:8px}.hero-stamp span{font-size:7px;letter-spacing:1.5px}.hero-stamp svg{width:66px;height:28px}.intro{text-align:center;padding-top:82px;padding-bottom:78px;max-width:820px}.intro h2{margin:18px 0 24px}.intro>p:last-child{font-size:14px;color:var(--muted);max-width:570px;margin:auto;line-height:1.85}.hotels{padding-top:16px;padding-bottom:65px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:36px}.section-heading .eyebrow{margin-bottom:15px}.section-heading h2{font-size:51px}.section-heading>p{font-size:12px;line-height:1.7;color:var(--muted);padding-bottom:3px}.hotel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.hotel-picture{height:300px;position:relative;overflow:hidden;margin-bottom:22px}.hotel-picture img{height:100%;transition:transform .6s}.hotel:hover .hotel-picture img{transform:scale(1.03)}.hotel-picture>span{position:absolute;bottom:0;left:0;background:var(--paper);font-size:9px;letter-spacing:1px;padding:10px 15px 5px 0;text-transform:uppercase}.hotel-picture>span i{font-family:var(--serif);font-size:15px;padding:0 8px}.hotel>.eyebrow{font-size:8px;letter-spacing:1.5px;color:var(--clay);margin-bottom:10px}.hotel h3{font-size:33px;margin-bottom:14px}.hotel-copy{font-size:12px;line-height:1.85;color:var(--muted);min-height:113px}.hotel-bottom{margin-top:20px;padding-top:17px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px}.text-button{background:none;padding:0 0 4px;border-bottom:1px solid var(--ink);font-size:12px;display:inline-flex;align-items:center;gap:22px}.text-button span{font-size:19px;line-height:1.2}.text-button:hover{color:var(--clay);border-color:var(--clay)}.hotel-bottom>a{font-size:10px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}.hotel-note{font-size:10px;line-height:1.8;color:var(--muted);margin-top:30px;max-width:750px}.planner{display:grid;grid-template-columns:1fr 1fr;background:#edeade;min-height:570px}.planner-photo{position:relative;min-height:100%}.planner-photo>img{height:100%;position:absolute;object-position:45% 50%}.planner-photo>span{position:absolute;bottom:0;left:0;right:0;padding:55px 34px 22px;background:linear-gradient(transparent,#19252380);color:white;font-size:10px;letter-spacing:.6px}.planner-copy{padding:65px 14% 65px 12%;align-self:center}.planner-copy h2{font-size:79px;line-height:.94;margin:18px 0 25px}.planner-copy h2 em{color:var(--clay)}.planner-lead{font-family:var(--serif);font-size:27px;line-height:1.15;margin-bottom:14px}.planner-copy>p:not(.eyebrow):not(.planner-lead){font-size:12px;line-height:1.9;color:var(--muted)}.planner-topics{display:flex;flex-wrap:wrap;gap:7px 16px;margin:25px 0 28px;border-top:1px solid #d5d2c5;padding-top:14px;font-size:9px}.planner-topics span+span:before{content:'·';margin-right:16px}.planner-copy>.button{font-size:11px}.closing{position:relative;overflow:hidden;text-align:center;padding-top:75px;padding-bottom:85px}.closing h2{margin:18px 0;font-size:66px}.closing>p:not(.eyebrow){color:var(--muted);font-size:13px;margin-bottom:24px}.flower{position:absolute;right:8%;top:100px;font-family:Georgia,serif;font-size:140px;line-height:1;color:#a9774e33;transform:rotate(15deg);z-index:-1}footer{border-top:1px solid var(--line);padding:36px 48px 22px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:28px}footer .brand{font-size:28px}footer .brand i{font-size:20px}footer .brand span{font-size:7px}footer>p{font-size:11px}footer>p>span{padding:0 12px;color:#9b978a}.footer-bottom{border-top:1px solid var(--line);padding-top:19px;display:flex;justify-content:space-between;gap:12px;width:100%;font-size:9px;color:var(--muted)}.footer-bottom>a{text-decoration:underline;text-underline-offset:3px}dialog{width:min(570px,calc(100% - 32px));padding:44px 42px 35px;border:1px solid var(--line);background:var(--paper);color:var(--ink);max-height:90svh;box-shadow:0 20px 100px #0003}dialog::backdrop{background:#18281fd1;backdrop-filter:blur(4px)}dialog h2{font-size:41px;line-height:1.05;margin:14px 0}dialog .close{background:transparent;font-size:29px;position:absolute;right:14px;top:5px;line-height:1;padding:8px}.form-note{font-size:11px;line-height:1.6;color:var(--muted);margin-bottom:22px}form{display:flex;flex-direction:column;gap:15px}label{font-size:10px;letter-spacing:.3px;display:flex;flex-direction:column;gap:6px}input,textarea,select{width:100%;border:1px solid #c9c7bb;border-radius:0;color:var(--ink);background:#fffdf8;padding:11px 12px;font-size:13px;min-height:42px}textarea{resize:vertical}input:focus,textarea:focus,select:focus{outline:1px solid var(--clay);border-color:var(--clay)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}form>.button{margin-top:4px}#inquiry-summary{white-space:pre-wrap;overflow-wrap:anywhere;font-family:var(--sans);font-size:13px;line-height:1.85;padding:20px;background:#eeebdf;border-left:2px solid var(--clay)}.result-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:24px}.result-actions>#whatsapp-inquiry{flex-basis:100%}#copy-status{font-size:11px;margin-top:12px}.source-content{max-width:850px;margin:60px auto;padding:0 30px}.source-content h1{font-size:55px;margin-bottom:25px}.source-content h2{font-size:32px;margin:30px 0 15px}.source-content p,.source-content li{font-size:14px;color:var(--muted)}.source-content a{text-decoration:underline;text-underline-offset:3px}
@media(min-width:1500px){.hero-content{padding-left:max(7%,calc((100vw - 1210px)/2))}.hero-foot{left:max(7%,calc((100vw - 1210px)/2))}.planner{max-width:1600px;margin:auto}}
@media(max-width:1050px){.wrap{padding-left:40px;padding-right:40px}header{padding:0 30px}nav{gap:20px}.header-actions{gap:15px}.hotel-grid{gap:22px}.hotel-picture{height:245px}.hotel h3{font-size:28px}.hotel-copy{min-height:135px}.section-heading h2{font-size:46px}.planner-copy{padding:48px 10%}.planner-copy h2{font-size:70px}.hero h1{font-size:79px}.hero-content{padding-top:67px}}
@media(max-width:760px){.review-bar{padding:6px 20px;font-size:8px;letter-spacing:1px}header{height:88px;padding:0 20px;gap:12px}.brand{font-size:27px}.brand i{font-size:20px}.brand span{font-size:6px;letter-spacing:2.4px}.header-actions{gap:15px}header nav,header .button{display:none}.language{padding:12px 5px}.hero{min-height:625px;height:calc(90svh - 112px);max-height:760px}.hero-content{padding:63px 25px 95px;max-width:500px}.hero .eyebrow{font-size:8px;letter-spacing:1.6px;max-width:275px}.hero h1{font-size:73px;letter-spacing:-1px;margin:28px 0 24px;line-height:.98}.hero-description{font-size:13px}.hero .button{font-size:11px}.hero-photo{object-position:53% 45%}.hero-shade{background:linear-gradient(90deg,#15251fcc,#17251e40),linear-gradient(0deg,#18281f88,transparent 35%)}.hero-stamp{display:none}.hero-foot{left:25px;right:25px;bottom:20px;font-size:8px;line-height:1.5}.hero-foot>span{max-width:180px}.hero-foot a{font-size:9px}.hero-foot a span{margin-left:5px}.wrap{padding-left:25px;padding-right:25px}.intro{padding-top:57px;padding-bottom:58px}h2{font-size:41px;letter-spacing:-1px}.intro h2{margin:15px 0 21px}.intro>p:last-child{font-size:12px;line-height:1.9;max-width:480px}.hotels{padding-top:0;padding-bottom:45px}.section-heading{display:block;margin-bottom:29px}.section-heading h2{font-size:40px;max-width:350px}.section-heading>p{font-size:11px;margin-top:18px}.section-heading>p br{display:none}.hotel-grid{grid-template-columns:1fr;gap:40px}.hotel-picture{height:330px;margin-bottom:20px}.hotel h3{font-size:36px;margin-bottom:12px}.hotel-copy{min-height:0;font-size:13px;line-height:1.8}.hotel-bottom{margin-top:17px;padding-top:15px}.hotel>.eyebrow{font-size:9px}.hotel-bottom>a{font-size:11px}.hotel-note{font-size:10px;margin-top:25px}.planner{grid-template-columns:1fr}.planner-photo{min-height:350px}.planner-copy{padding:42px 30px 48px}.planner-copy h2{font-size:72px}.planner-copy>p:not(.eyebrow):not(.planner-lead){font-size:13px;max-width:480px}.planner-topics{font-size:10px}.planner-copy>.button{font-size:12px;gap:22px}.closing{padding-top:52px;padding-bottom:56px}.closing h2{font-size:50px}.closing>p:not(.eyebrow){font-size:12px;max-width:300px;margin:0 auto 22px}.flower{right:-30px;top:90px;font-size:110px}.closing .eyebrow{font-size:9px}footer{padding:30px 25px 20px;display:block;text-align:center}footer .brand{display:inline-block}footer>p{font-size:10px;margin:26px auto;max-width:290px}footer>p>span{padding:0 5px}.footer-bottom{display:flex;flex-direction:column;font-size:8px}dialog{padding:38px 23px 28px}dialog h2{font-size:36px}.form-row{gap:12px}.result-actions{gap:20px}.source-content h1{font-size:42px}}
@media(max-width:370px){.hero h1{font-size:65px}.hero-content{padding-left:20px;padding-right:20px}.hero{min-height:610px}.hotel-picture{height:280px}.planner-copy{padding-left:25px;padding-right:25px}.planner-topics{gap:7px 10px}.planner-topics span+span:before{margin-right:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Rocio portrait and wedding feature */
.planner-photo.portrait{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:36px 50px 28px;min-height:0;background:#dfdacc}
.planner-photo.portrait>img{position:static;height:auto;width:300px;max-width:100%;object-fit:contain;aspect-ratio:1;box-shadow:0 0 0 12px #f5f0e5,0 16px 42px #39423220}
.portrait-credit{font-size:9px;letter-spacing:.5px;margin-top:27px;text-decoration:underline;text-underline-offset:3px}
.portfolio{display:grid;grid-template-columns:.92fr 1fr 1fr;gap:24px;padding-top:65px;padding-bottom:35px;align-items:center}
.portfolio-copy{padding-right:25px}.portfolio-copy h2{font-size:52px;line-height:1.03;margin:18px 0 20px}
.portfolio-copy>p:not(.eyebrow){font-size:12px;color:var(--muted);line-height:1.85;margin-bottom:22px}
.portfolio figure{margin:0;align-self:start}.portfolio figure img{aspect-ratio:4/5;height:auto;object-fit:contain}
.portfolio figcaption{font-size:9px;color:var(--muted);line-height:1.7;margin-top:12px}
.portfolio-note{grid-column:1/-1;font-size:9px;line-height:1.8;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:28px}
@media(max-width:1050px){.planner-photo.portrait{padding:30px}.portfolio-copy h2{font-size:44px}.portfolio-copy{padding-right:5px}.portfolio{gap:20px}}
@media(max-width:760px){.planner-photo.portrait{padding:45px 35px 30px}.planner-photo.portrait>img{max-height:300px;width:300px}.portrait-credit{font-size:9px}.portfolio{grid-template-columns:1fr 1fr;gap:18px;padding-top:45px;padding-bottom:0}.portfolio-copy{grid-column:1/-1;padding-right:0;max-width:500px}.portfolio-copy h2{font-size:43px}.portfolio-copy h2 br{display:none}.portfolio-copy>p:not(.eyebrow){font-size:12px}.portfolio-copy .text-button{margin-bottom:12px}.portfolio figcaption{font-size:9px}.portfolio-note{font-size:9px}}
