@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');
:root{--ink:#183331;--navy:#173f42;--sand:#f4efe7;--cream:#fbf9f5;--coral:#e9785f;--muted:#70807d;--line:#dbe2dc}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:15px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}.site-header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:var(--cream);position:relative;z-index:2}.brand{display:flex;align-items:center;gap:10px;color:var(--ink)}.brand-mark{display:grid;place-items:center;width:35px;height:35px;background:var(--coral);color:#fff;font-size:11px;letter-spacing:.1em;font-weight:700;border-radius:50%}.brand strong,.brand em{display:block;line-height:1.05;font-size:15px}.brand em{font-family:'Playfair Display',serif;font-size:13px;font-style:italic;font-weight:500;margin-top:4px}.desktop-nav{display:flex;gap:34px;color:#5d706d;font-size:13px}.desktop-nav a:hover{color:var(--coral)}.header-cta{font-weight:600;font-size:12px;padding:11px 16px;border:1px solid var(--ink);border-radius:30px}.header-cta span{color:var(--coral);margin-left:7px}.hero{height:min(760px,calc(100vh - 78px));min-height:610px;position:relative;color:#fff;overflow:hidden}.hero-image,.hero-wash{position:absolute;inset:0}.hero-image{background:url('images/img_9793.jpeg') center 52%/cover}.hero-wash{background:linear-gradient(90deg,rgba(10,39,42,.78),rgba(10,39,42,.2) 65%,rgba(10,39,42,.05))}.hero-content{position:absolute;left:9vw;top:50%;transform:translateY(-50%);max-width:560px}.eyebrow{color:var(--coral);font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;margin:0 0 17px}.eyebrow.light{color:#ffd4c7}.hero h1{font-size:clamp(52px,7.2vw,104px);font-weight:500;line-height:.98;letter-spacing:-.055em;margin:0 0 25px}.hero h1 i,h1 i,h2 i{font-family:'Playfair Display',Georgia,serif;font-weight:500;letter-spacing:-.04em}.hero-copy{font-size:17px;max-width:390px;color:#e5eeea;margin:0 0 31px}.hero-actions{display:flex;align-items:center;gap:28px}.button{display:inline-flex;align-items:center;justify-content:center;gap:17px;border:0;border-radius:30px;padding:14px 21px;font-size:12px;font-weight:700;cursor:pointer;transition:.2s}.button span{font-size:18px;line-height:0}.button-coral{background:var(--coral);color:#fff}.button-coral:hover{background:#d8614b;transform:translateY(-2px)}.button-outline{border:1px solid var(--ink);background:transparent}.button-outline:hover{background:var(--ink);color:#fff}.button-dark{background:var(--ink);color:#fff;width:100%;margin-top:5px}.button-dark:hover{background:var(--coral)}.text-link{display:inline-flex;gap:14px;align-items:center;font-size:12px;font-weight:700;border-bottom:1px solid var(--coral);padding-bottom:5px}.text-link span{font-size:17px;color:var(--coral)}.text-link.light{color:#fff;border-color:#e99884}.hero-note{position:absolute;right:6vw;bottom:36px;display:flex;align-items:center;gap:13px;color:#d6e5df;font-size:10px;letter-spacing:.13em;text-transform:uppercase}.note-line{width:60px;height:1px;background:#d6e5df;opacity:.7}.hero-note span:first-child{color:#fff;font-size:14px}.section-shell{max-width:1160px;margin:auto;padding-left:6vw;padding-right:6vw}.intro{padding-top:135px;padding-bottom:140px;display:grid;grid-template-columns:1.05fr 1fr;gap:9vw}.intro h2,.feature-content h2,.gallery h2,.roquetas h2,.contact h2{font-size:clamp(38px,5vw,66px);font-weight:500;letter-spacing:-.06em;line-height:1.02;margin:0}.intro-copy{padding-top:17px;max-width:440px}.lead{font-family:'Playfair Display',serif;font-size:23px;line-height:1.35;margin:0 0 24px}.intro-copy>p:not(.lead){color:var(--muted);margin-bottom:27px}.feature-band{background:var(--sand);display:grid;grid-template-columns:1fr 1fr;min-height:655px}.feature-photo{background:url('images/img_9806.jpeg') center/cover;min-height:450px}.feature-content{padding:105px 10vw 90px 8vw}.feature-content>p:not(.eyebrow),.roquetas-content>p:not(.eyebrow),.contact-copy>p:not(.eyebrow){color:var(--muted);max-width:390px;margin:26px 0 36px}.amenities{display:grid;grid-template-columns:1fr 1fr;gap:28px 25px;margin-top:52px}.amenities>div{display:grid;grid-template-columns:28px 1fr;column-gap:9px}.amenity-icon{grid-row:span 2;color:var(--coral);font-size:21px}.amenities strong{font-size:12px}.amenities small{color:var(--muted);font-size:11px}.gallery{padding-top:135px;padding-bottom:140px}.section-topline{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:16px;margin-bottom:43px}.section-topline .eyebrow{margin:0}.section-topline span,.gallery-header p,.gallery-more>span{font-size:11px;color:var(--muted)}.gallery-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:45px}.gallery-header p{max-width:280px;margin:0 0 4px}.gallery-grid{display:grid;grid-template-columns:1.32fr .68fr .68fr;grid-template-rows:250px 250px;gap:13px}.gallery-card{position:relative;border:0;padding:0;overflow:hidden;background:#ddd;cursor:pointer}.gallery-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery-card:hover img{transform:scale(1.04)}.gallery-card-large{grid-row:span 2}.gallery-card-wide{grid-column:2 / span 2}.image-label{position:absolute;bottom:18px;left:20px;color:#fff;font-size:11px;text-shadow:0 1px 10px rgba(0,0,0,.35)}.image-label b{font-size:17px;margin-left:10px}.gallery-more{display:flex;align-items:center;gap:24px;margin-top:28px}.roquetas{background:var(--navy);color:#fff;display:grid;grid-template-columns:1fr 1fr;min-height:685px}.roquetas-image{background:url('images/img_9791.jpeg') center/cover;min-height:500px}.roquetas-content{padding:110px 8vw}.roquetas-content>p:not(.eyebrow){color:#c2d5d0}.places{border-top:1px solid rgba(255,255,255,.25);margin:32px 0 37px}.places>div{display:grid;grid-template-columns:45px 1fr;grid-template-rows:auto auto;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.18)}.places strong{grid-row:span 2;color:#ffad98;font-size:11px}.places span{font-size:12px;font-weight:700}.places small{font-size:11px;color:#abc3be}.quote-section{text-align:center;padding-top:135px;padding-bottom:135px}.quote-mark{font-family:'Playfair Display',serif;color:var(--coral);font-size:68px;line-height:.45}.quote-section blockquote{font-family:'Playfair Display',serif;font-size:clamp(32px,5vw,59px);line-height:1.08;margin:0;letter-spacing:-.05em}.quote-caption{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-top:26px}.contact{border-top:1px solid var(--line);padding-top:112px;padding-bottom:125px;display:grid;grid-template-columns:1fr 1fr;gap:10vw}.contact-copy>p:not(.eyebrow){max-width:350px}.contact-details{display:grid;grid-template-columns:25px 1fr;gap:7px 8px;margin-top:42px;font-size:12px}.contact-details span:nth-of-type(2){color:var(--coral);font-size:16px}.booking-form{background:#fff;border:1px solid var(--line);padding:32px;box-shadow:0 12px 40px rgba(20,58,55,.05)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:17px}.booking-form label{display:block;font-size:11px;font-weight:700;margin-bottom:18px}.booking-form input,.booking-form textarea{display:block;width:100%;border:0;border-bottom:1px solid var(--line);padding:10px 0;font:inherit;font-size:13px;color:var(--ink);background:transparent;outline:0;border-radius:0}.booking-form input:focus,.booking-form textarea:focus{border-color:var(--coral)}.booking-form textarea{resize:vertical}.form-status{color:var(--coral);font-size:11px;min-height:18px;margin:12px 0 0}.site-footer{display:flex;justify-content:space-between;align-items:center;background:#e9eee8;padding:27px 5vw;color:var(--muted);font-size:10px}.site-footer .brand{color:var(--ink)}.site-footer>p{margin:0;font-family:'Playfair Display',serif;font-style:italic;font-size:13px}.lightbox{position:fixed;inset:0;background:rgba(10,31,31,.93);z-index:10;display:none;align-items:center;justify-content:center;flex-direction:column;padding:30px}.lightbox.is-open{display:flex}.lightbox img{max-width:min(90vw,1100px);max-height:78vh;object-fit:contain}.lightbox p{color:#fff;font-size:12px;margin:15px 0 0}.lightbox-close{position:absolute;top:19px;right:30px;border:0;background:none;color:#fff;font-size:39px;font-weight:200;cursor:pointer}
@media(max-width:800px){.site-header{height:70px;padding:0 22px}.desktop-nav{display:none}.header-cta{padding:9px 12px;font-size:10px}.hero{min-height:640px;height:calc(100vh - 70px)}.hero-content{left:25px;right:25px}.hero h1{font-size:59px}.hero-copy{font-size:15px}.hero-note{right:25px;bottom:22px}.intro,.feature-band,.roquetas,.contact{grid-template-columns:1fr}.intro{padding-top:90px;padding-bottom:95px;gap:40px}.intro-copy{padding:0}.feature-photo,.roquetas-image{min-height:360px}.feature-content,.roquetas-content{padding:76px 25px 82px}.amenities{margin-top:38px}.gallery{padding-top:90px;padding-bottom:90px}.gallery-header{display:block;margin-bottom:30px}.gallery-header p{margin-top:22px}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:210px 165px 210px}.gallery-card-large{grid-row:span 1;grid-column:span 2}.gallery-card-wide{grid-column:span 2}.gallery-more{display:block}.gallery-more>span{display:block;margin-top:14px}.quote-section{padding-top:90px;padding-bottom:90px}.contact{gap:50px;padding-top:85px;padding-bottom:90px}.booking-form{padding:23px}.site-footer{display:grid;gap:17px;padding:25px}.site-footer>p{margin:0}.site-footer>span{font-size:9px}.form-row{gap:12px}}
