:root{--ink:#0c3439;--deep:#082a2e;--gold:#dab572;--paper:#fbfaf5;--muted:#586666;--line:#ced6d2;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea,summary{outline-offset:5px}button{cursor:pointer}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.07}h1{font-size:clamp(3.6rem,5.8vw,6rem);letter-spacing:-.045em}h2{font-size:clamp(2.8rem,4vw,4.5rem);letter-spacing:-.04em}h3{font-size:1.8rem;line-height:1.2}em{font-weight:400;color:inherit}header{height:100px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 5%;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:14px;font-size:15px;letter-spacing:.17em}.brand small{display:block;font-size:10px;letter-spacing:.15em;margin-top:2px}.monogram{display:grid;place-items:center;border:1px solid #a17b38;border-radius:40px 40px 0 0;height:52px;width:43px;font-family:var(--serif);font-size:20px;letter-spacing:-.1em;color:#866321}nav{display:flex;gap:30px;font-size:14px}nav a:hover,.text-link:hover{color:#936928}.header-actions{display:flex;align-items:center;gap:24px}.languages{display:flex;gap:7px;align-items:center;font-size:13px}.languages button{border:0;background:none;color:var(--muted);padding:6px}.languages button.active{color:var(--ink);text-decoration:underline;text-underline-offset:6px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:13px 26px;background:var(--ink);color:white;border:1px solid transparent;font-size:14px;letter-spacing:.025em;transition:background .2s}.button:hover{background:#225258}.button.gold{background:var(--gold);color:var(--deep)}.button.gold:hover{background:#efcd90}.button.small{min-height:42px;padding:8px 20px}.hero{padding:64px 5% 60px;display:grid;grid-template-columns:1fr 1.03fr;gap:7%;align-items:center;max-width:1600px;margin:auto}.hero-copy{padding:12px 0}.eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:26px;font-weight:600}.hero h1 em{color:#9a7338}.hero-intro{max-width:430px;color:var(--muted);margin:27px 0 30px;font-size:17px;line-height:1.8}.text-link{font-size:14px;border-bottom:1px solid;padding-bottom:4px;display:inline-block}.hero .text-link{margin-left:22px}.hero-location{margin-top:53px;display:flex;gap:24px;font-size:10px;letter-spacing:.15em}.hero-visual{position:relative;height:600px;border-radius:250px 250px 2px 2px;overflow:hidden;background:#b8c7c3}.hero-visual:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#05282c80);pointer-events:none}.photo-tag{position:absolute;bottom:50px;left:30px;right:30px;color:#fff;text-align:center;font-family:var(--serif);font-style:italic;font-size:24px;z-index:1}.hero-visual figcaption{position:absolute;bottom:15px;left:20px;right:20px;text-align:center;color:white;z-index:2;font-size:12px}.amenity-strip{background:var(--ink);color:white;display:flex;justify-content:space-around;gap:20px;flex-wrap:wrap;padding:26px 5%;font-size:13px;letter-spacing:.035em}.amenity-strip span:before{content:'✧';color:var(--gold);margin-right:14px}.section{max-width:1500px;padding:100px 8%;margin:auto}.intro{display:grid;grid-template-columns:1fr 1.1fr;gap:10%}.intro .lead{font-family:var(--serif);font-size:25px;line-height:1.5;margin-bottom:22px}.intro-text>p:not(.lead):not(.signature){color:var(--muted)}.signature{margin-top:32px;font:italic 28px var(--serif)}.signature span{display:block;font:12px Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase;margin-top:12px}.stay{background:#eef1ed;max-width:none}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:60px}.section-heading>p{max-width:310px;color:var(--muted)}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:62px}.experience-grid article{border-top:1px solid #aebeba;padding-top:24px}.number{display:block;color:#927038;font-family:var(--serif);font-size:21px;margin-bottom:26px}.experience-grid h3{margin-bottom:20px}.experience-grid p{color:var(--muted);margin-bottom:32px;max-width:320px}.detail{font-size:11px;letter-spacing:.1em}.location{display:grid;grid-template-columns:1fr 1fr;gap:10%}.location-title>p:not(.eyebrow){margin:26px 0;max-width:370px;color:var(--muted)}.places article{padding:25px 0;border-bottom:1px solid var(--line)}.places article:first-child{padding-top:0}.places span{font-size:11px;letter-spacing:.13em;color:#8b6b36}.places h3{margin:12px 0}.places p{color:var(--muted)}.practical{border-top:1px solid var(--line);padding-top:65px}.practical h2{font-size:2.8rem}.practical-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;margin:40px 0}.practical-grid span{display:block;font-size:13px;color:var(--muted);margin-bottom:12px}.practical-grid strong{font:24px var(--serif)}details{border-top:1px solid var(--line);padding-top:18px}summary{cursor:pointer;font-size:14px}details p{max-width:850px;margin-top:20px;color:var(--muted)}.enquiry{max-width:none;background:var(--ink);color:white;display:grid;grid-template-columns:1fr 1fr;gap:10%}.enquiry .eyebrow{color:var(--gold)}.enquiry h2{font-size:clamp(2.7rem,4vw,4.2rem)}.enquiry>div>p:not(.eyebrow){margin-top:25px;max-width:410px;color:#cfddda}.direct-contact{display:block;margin-top:36px}.direct-contact span{display:block;font-size:13px;color:var(--gold)}.direct-contact strong{font-weight:400;font-size:22px}form label{display:block;font-size:13px;margin-bottom:20px}form label span{display:block;margin-bottom:8px}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}input,textarea{width:100%;background:#ffffff08;color:white;border:1px solid #638080;border-radius:0;padding:12px;min-height:50px;color-scheme:dark}textarea{resize:vertical}form .button{width:100%}.form-note{font-size:12px;color:#c9d7d5;margin-top:16px;line-height:1.6}.form-error{color:#ffe0b1;font-size:14px;margin-bottom:16px}.form-error:empty{display:none}footer{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:36px 5%}.footer-brand{font-family:var(--serif);font-size:26px}footer p{font-size:10px;letter-spacing:.1em}footer span,footer button{font-size:12px}footer button{background:none;border:0;color:var(--ink);text-decoration:underline}dialog{border:0;background:var(--paper);color:var(--ink);padding:50px;max-width:600px;width:calc(100% - 30px)}dialog::backdrop{background:#082a2eb0}dialog h2{font-size:32px;margin-bottom:25px}.dialog-close{position:absolute;top:10px;right:14px;background:none;border:0;font-size:30px;color:var(--ink)}.skip{position:fixed;top:-100px;left:10px;padding:12px;background:white;z-index:10}.skip:focus{top:10px}@media(min-width:1600px){.stay,.enquiry{padding-left:calc((100vw - 1250px)/2);padding-right:calc((100vw - 1250px)/2)}}@media(max-width:1000px){nav{display:none}.hero{gap:5%;padding-top:45px}.hero-visual{height:520px}.hero .text-link{display:table;margin:20px 0 0}.section{padding:75px 6%}.experience-grid{gap:25px}.brand small{font-size:9px}.header-actions{gap:12px}}@media(max-width:650px){header{height:85px;padding:0 5%;gap:10px}.brand{font-size:12px;gap:10px;letter-spacing:.1em}.brand small{font-size:8px}.monogram{width:32px;height:42px;font-size:16px}.header-actions .button{display:none}.hero{grid-template-columns:1fr;padding:40px 6% 35px;gap:35px}h1{font-size:3.6rem}.hero-intro{font-size:16px;margin-top:22px}.hero-location{margin-top:28px;font-size:9px}.hero-visual{height:440px;border-radius:200px 200px 0 0}.hero .text-link{display:inline-block;margin:0 0 0 18px}.photo-tag{font-size:20px}.amenity-strip{display:grid;grid-template-columns:1fr 1fr;padding:22px 6%;gap:13px;font-size:11px}.amenity-strip span:before{margin-right:8px}.section{padding:60px 7%}.intro,.location,.enquiry{grid-template-columns:1fr;gap:35px}.section-heading{display:block}.section-heading>p{margin-top:25px}.experience-grid{grid-template-columns:1fr;gap:32px;margin-top:35px}.number{margin-bottom:13px}.experience-grid p{max-width:none;margin-bottom:20px}.experience-grid h3{margin-bottom:13px}.practical-grid{grid-template-columns:1fr 1fr;gap:30px}.practical h2{font-size:2.3rem}.enquiry{padding-top:60px;padding-bottom:60px}.field-pair{gap:12px}input{padding:10px 7px;font-size:15px}footer{display:grid;grid-template-columns:1fr auto;gap:15px;padding:28px 7%}footer p{grid-column:1/-1;grid-row:2}dialog{padding:40px 25px}.eyebrow{font-size:11px;margin-bottom:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

.pool-panorama{position:relative;height:540px;margin:0 5%;overflow:hidden}.pool-panorama img{object-position:center 55%}.pool-panorama figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#082a2eba);padding:90px 35px 30px;color:white;font:italic 30px var(--serif)}@media(max-width:650px){.pool-panorama{height:320px;margin:0}.pool-panorama figcaption{font-size:22px;padding-bottom:25px}}

header{height:166px}.brand{flex-shrink:0}.brand-logo{width:146px;height:146px;object-fit:contain}.footer-logo{width:112px;height:112px;object-fit:contain}@media(max-width:650px){header{height:126px}.brand-logo{width:110px;height:110px}.footer-logo{width:96px;height:96px}}

.hero h1{font-size:clamp(2.5rem,4.3vw,4.5rem)}@media(max-width:650px){.hero h1{font-size:clamp(2.3rem,9vw,3.4rem)}}

.hero-capacity{margin-top:22px;font-size:17px;font-weight:600;letter-spacing:.025em}.hero-intro{margin-top:20px}@media(max-width:650px){.hero-capacity{font-size:16px;margin-top:18px}}

.gallery{padding-top:80px;padding-bottom:80px}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:40px}.gallery-grid figure{min-width:0}.gallery-photo{display:block;width:100%;height:330px;padding:0;border:0;background:#e8e3d8;overflow:hidden}.gallery-photo img{transition:transform .25s}.gallery-photo:hover img{transform:scale(1.03)}.gallery-grid figcaption{font-size:14px;margin-top:10px;color:var(--muted)}.photo-dialog{max-width:1100px;width:calc(100% - 32px);padding:46px 16px 16px;background:var(--deep);overflow:hidden}.photo-dialog .dialog-close{color:white;min-width:44px;min-height:44px;top:0;right:6px}.photo-dialog img{height:auto;max-height:80vh;width:100%;object-fit:contain}@media(max-width:1000px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.gallery{padding-top:60px;padding-bottom:60px}.gallery-grid{gap:18px 12px;margin-top:30px}.gallery-photo{height:220px}.gallery-grid figcaption{line-height:1.4}.photo-dialog{width:calc(100% - 16px);padding:46px 8px 8px}}@media(prefers-reduced-motion:reduce){.gallery-photo img{transition:none}}

/* Villa Azahara — gilded Andalusian edition */
:root{--ink:#123d40;--deep:#062b2e;--gold:#e4c17c;--paper:#fffdf7;--muted:#516264;--line:#d8cfba}
header{height:132px;background:#fffdf7;border-bottom:1px solid #b3965b;position:relative;z-index:2}header .brand-logo{height:118px;width:118px}nav{gap:26px}nav a{letter-spacing:.04em}header .button{border:1px solid #c5a264}.button{border-radius:2px}.button.gold{background:linear-gradient(115deg,#f2d89e,#d9af62);box-shadow:0 5px 24px #00000020}.button.gold:hover{background:#f5dda9}.hero{max-width:none;padding:70px 7% 75px;background:linear-gradient(90deg,#052b2ed9 0%,#052b2e80 47%,#062b2e26 100%),url('assets/andalusian-background.png') center/cover;color:#fffdf7;gap:8%;grid-template-columns:1fr 1fr;min-height:720px}.hero .eyebrow{color:var(--gold);letter-spacing:.22em}.hero h1{font-size:clamp(3.6rem,5.3vw,5.7rem);letter-spacing:-.035em;line-height:1.08}.hero h1 em{color:#efd297}.hero-intro{color:#edf1e9;font-size:17px}.hero-capacity{display:inline-block;padding:8px 0;border-top:1px solid #cfad6970;border-bottom:1px solid #cfad6970;font-size:14px;letter-spacing:.09em;color:#f2dcaf}.hero-location{flex-direction:column;gap:4px;margin-top:30px;font-size:12px;letter-spacing:.06em;color:#efdbb4}.hero-visual{height:540px;border:1px solid #e6c384;border-radius:260px 260px 8px 8px;box-shadow:0 20px 80px #0007;outline:1px solid #d7b36b66;outline-offset:10px}.hero-visual img{object-position:center}.hero .text-link:hover{color:#f7dc9f}.photo-tag{font-size:23px}.amenity-strip{background:#062b2e;border-top:1px solid #cfad694d;border-bottom:1px solid #cfad694d;padding:27px 5%;color:#f0e1c4}.intro{background:#fffdf7}.intro h2 em,.stay h2 em,.location h2 em{color:#946b2e}.stay{background:#f2eee3;border-top:1px solid #d8cfba;border-bottom:1px solid #d8cfba}.experience-grid{grid-template-columns:1fr 1fr;gap:65px}.experience-grid article{border-top:1px solid #b89b60}.experience-grid h3{font-size:2rem}.experience-grid p{max-width:440px}.pool-panorama{margin:0;height:590px}.gallery{max-width:none;background:#062b2e;color:#fffdf7}.gallery .eyebrow{color:var(--gold)}.gallery-grid figcaption{color:#ead9b6}.gallery-photo{border:1px solid #bea166;box-shadow:0 10px 30px #0004}.gallery-grid{gap:34px 26px}.gallery-photo img{transition:transform .35s}.location{grid-template-columns:1.2fr .8fr;gap:12%;padding-bottom:60px}.location-title>p:not(.eyebrow){max-width:500px}.destination-facts{display:flex;flex-direction:column;justify-content:center;gap:28px}.destination-facts>div{border-top:1px solid #bda168;padding:23px 0}.destination-facts span{display:block;font-size:14px;color:var(--muted);margin-bottom:12px}.destination-facts strong{font:30px var(--serif);letter-spacing:.05em}.attractions{padding-top:20px}.attractions-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.attraction{border:1px solid #d1bb8d;background:linear-gradient(150deg,#fffdf8,#f3eee2);padding:30px 25px;display:flex;flex-direction:column}.attraction-label{font-size:11px;color:#866224;letter-spacing:.16em;margin-bottom:24px}.attraction h3{font-size:1.8rem;margin-bottom:17px}.attraction p{color:var(--muted);margin-bottom:27px;flex:1}.attraction .text-link{align-self:flex-start;font-size:13px}.nearby-extra{font-size:14px;color:var(--muted);margin-top:30px}.enquiry{background:linear-gradient(90deg,#052b2ef5,#052b2eed),url('assets/andalusian-background.png') center/cover}.enquiry h2 em{color:#efd297}footer{background:#fffdf7;border-top:1px solid #c4a25f}.eyebrow{font-size:13px}.detail,.attraction-label{font-size:12px}.hero-location span{font-size:12px}.brand-logo,.footer-logo{mix-blend-mode:multiply}@media(min-width:1600px){.hero{padding-left:calc((100vw - 1350px)/2);padding-right:calc((100vw - 1350px)/2)}.gallery{padding-left:calc((100vw - 1260px)/2);padding-right:calc((100vw - 1260px)/2)}}@media(max-width:1000px){.hero{gap:6%;padding:60px 6%}.hero h1{font-size:3.8rem}.hero-visual{height:510px}.attractions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.location{gap:7%}.hero .text-link{margin-left:0;display:table;margin-top:20px}}@media(max-width:650px){header{height:106px}.brand-logo,header .brand-logo{width:92px;height:92px}.hero{padding:45px 7% 50px;grid-template-columns:1fr;gap:40px;min-height:auto;background-position:30% center}.hero h1{font-size:clamp(2.9rem,11vw,3.9rem)}.hero-intro{font-size:16px}.hero-visual{height:420px;outline-offset:6px}.hero .text-link{display:inline-block;margin:0 0 0 16px}.hero-location{margin-top:24px}.hero .eyebrow{font-size:12px}.experience-grid{grid-template-columns:1fr;gap:35px}.pool-panorama{height:360px}.location{grid-template-columns:1fr;padding-bottom:35px;gap:30px}.destination-facts{gap:14px}.destination-facts strong{font-size:25px}.attractions{padding-top:10px}.attractions-grid{grid-template-columns:1fr;gap:16px}.attraction{padding:26px}.attraction-label{margin-bottom:16px}.attraction h3{font-size:1.9rem}.gallery-grid{gap:22px 12px}.gallery-photo{height:200px}.enquiry{background-position:30% center}.eyebrow{font-size:12px}.photo-tag{font-size:21px}}@media(prefers-reduced-motion:reduce){.gallery-photo img{transition:none}}

/* Flowing calligraphy and softly layered Andalusian ornament */
@font-face{font-family:'Allura';src:url('assets/fonts/allura.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
h1,h2,h3,.signature,.pool-panorama figcaption,.photo-tag{font-family:'Allura',cursive;font-weight:400;font-style:normal;letter-spacing:0;line-height:1.17}
h1 em,h2 em{font-style:normal}h2{font-size:clamp(3.7rem,5.4vw,5.8rem)}h3,.experience-grid h3,.attraction h3{font-size:2.65rem;line-height:1.2}.hero h1{font-size:clamp(4.5rem,6.8vw,7rem);line-height:1.1;letter-spacing:0}.enquiry h2{font-size:clamp(3.8rem,5.5vw,5.8rem)}.practical h2{font-size:4rem}.signature{font-size:2.8rem}.signature span{font-family:Arial,sans-serif}.photo-tag{font-size:2.25rem}.pool-panorama figcaption{font-size:2.8rem}.intro .lead{font-style:italic;font-size:1.65rem;line-height:1.6}.intro-text>p:not(.signature),.section-heading>p,.experience-grid p,.location-title>p:not(.eyebrow),.attraction p,.enquiry>div>p:not(.eyebrow){font-family:Georgia,'Times New Roman',serif;line-height:1.8;font-size:1.0625rem}
.intro,.stay,.location,.attractions,.practical{background-image:linear-gradient(#fffdf7d9,#fffdf7d9),url('assets/andalusian-motif.png');background-size:auto,700px;background-position:center;background-repeat:repeat}.stay{background-image:linear-gradient(#f2eee3cf,#f2eee3cf),url('assets/andalusian-motif.png')}.attraction{background:linear-gradient(150deg,#fffdf8d9,#f3eee2d9)}.hero-copy{position:relative;isolation:isolate}.hero-copy::before{content:'';position:absolute;inset:-25px -15px;z-index:-1;pointer-events:none;background:url('assets/andalusian-motif.png') center/650px;opacity:.06;mix-blend-mode:screen}.enquiry{position:relative;isolation:isolate}.enquiry::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:url('assets/andalusian-motif.png') center/700px;opacity:.045;mix-blend-mode:screen}.attraction-label,.eyebrow,.detail,.hero-capacity{font-family:Arial,sans-serif}
@media(max-width:1000px){.hero h1{font-size:5.2rem}.enquiry h2{font-size:4.2rem}}@media(max-width:650px){.hero h1{font-size:clamp(3.9rem,15vw,5.2rem);line-height:1.12}.hero{padding-top:42px}h2{font-size:clamp(3.2rem,12vw,4.2rem);line-height:1.17}.enquiry h2{font-size:3.7rem}.practical h2{font-size:3.3rem}h3,.experience-grid h3,.attraction h3{font-size:2.8rem}.photo-tag{font-size:1.9rem}.pool-panorama figcaption{font-size:2.15rem}.intro .lead{font-size:1.45rem}.intro,.stay,.location,.attractions,.practical{background-size:auto,520px}.hero-copy::before{inset:-10px}.hero-capacity{font-size:14px}}
.nearby-map{margin-top:45px;border:1px solid #bda168;background:#fffdf7b8;overflow:hidden}.map-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 28px}.map-heading h3{font-size:2.7rem}.map-heading .button{flex-shrink:0}.nearby-map iframe{display:block;width:100%;height:400px;border:0;background:#eae7df}@media(max-width:650px){.nearby-map{margin-top:32px}.map-heading{display:block;padding:22px}.map-heading h3{font-size:2.5rem;margin-bottom:16px}.nearby-map iframe{height:320px}.map-heading .button{width:100%}}
/* Small destination portraits beside the nearby recommendations. */
.attractions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.attraction-heading{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:22px;min-width:0}.attraction-heading h3{margin:0;flex:1;min-width:0;font-size:2.65rem;overflow-wrap:break-word}.attraction-thumbnail{width:108px;height:108px;flex:0 0 108px;object-fit:cover;border:1px solid #c0a16a;border-radius:54px 54px 4px 4px;box-shadow:0 4px 12px #092e3014}.photo-credits{margin-top:22px;border-top:1px solid #d1bb8d;padding-top:14px}.photo-credits summary{font-size:12px}.photo-credits p{font:12px/1.7 Arial,sans-serif;margin:12px 0 0}.photo-credits a{text-decoration:underline}@media(max-width:650px){.attractions-grid{grid-template-columns:1fr}.attraction-heading{gap:16px}.attraction-heading h3{font-size:2.5rem}.attraction-thumbnail{width:94px;height:94px;flex-basis:94px}}@media(max-width:360px){.attraction-thumbnail{width:78px;height:78px;flex-basis:78px}.attraction-heading h3{font-size:2.2rem}}
.attraction-thumb-figure{flex:0 0 108px;max-width:108px}.attraction-thumb-figure figcaption{font:12px/1.4 Arial,sans-serif;color:var(--muted);text-align:center;margin-top:6px}@media(max-width:650px){.attraction-thumb-figure{flex-basis:94px;max-width:94px}}@media(max-width:360px){.attraction-thumb-figure{flex-basis:78px;max-width:78px}}
.attraction-thumbnail[src$="marina-v2.jpg"]{object-position:25% center}
