:root{--ink:#273a31;--muted:#64746b;--accent:#a76b43;--paper:#f7f5ee;--line:#dce4d8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}a{color:inherit}button,input,textarea{font:inherit}button{cursor:pointer}.wrap{width:min(1160px,90%);margin:auto}.header{min-height:88px;padding:12px 5%;display:flex;align-items:center;justify-content:space-between;gap:24px;background:#faf9f4}.brand{text-decoration:none;display:flex;align-items:center;gap:10px;white-space:nowrap;letter-spacing:.13em;font-weight:800;font-size:16px}.brand-symbol{font-size:36px;color:#8d9b6b;font-weight:400}.brand small,footer small{display:block;font-size:8px;letter-spacing:.16em;margin-top:5px}.header nav{display:flex;align-items:center;gap:28px}.header nav a{text-decoration:none;font-size:13px;font-weight:650;white-space:nowrap}.header .nav-contact{border:1px solid #aebdb0;border-radius:25px;padding:10px 17px}.hero{height:min(720px,76vh);min-height:520px;position:relative;color:white}.hero>img{height:100%;width:100%;object-fit:cover;object-position:center 53%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(19,34,25,.86),rgba(19,34,25,.12))}.hero-content{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}h1,h2,h3{font-family:Georgia,serif;font-weight:400;letter-spacing:-.035em}h1,h2{margin:0;line-height:1.08}h1{font-size:clamp(52px,6.6vw,90px)}h2{font-size:clamp(38px,4.6vw,63px)}h1 em,h2 em,h3 em{font-weight:400}.hero-content>p:not(.eyebrow){font-size:17px;line-height:1.7;max-width:430px}.eyebrow{font-size:11px;letter-spacing:.19em;font-weight:800;color:var(--accent);margin:0 0 18px}.eyebrow.light{color:#efdfc5}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.button{border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:48px;padding:13px 19px;border-radius:3px;text-decoration:none;font-size:13px;font-weight:750}.cream{background:#f9f7ee;color:var(--ink)}.transparent{background:transparent;color:#fff;border-color:#fff9}.dark{background:var(--ink);color:white}.hero-side{position:absolute;bottom:26px;right:5%;font-size:10px;letter-spacing:.2em}.intro{padding:100px 0;display:grid;grid-template-columns:1fr 1fr;gap:10%}.intro p,.section-heading>p,.house-copy>p,.common p,.environment p,.contact p{line-height:1.75;color:var(--muted)}.intro .lead{font:21px/1.55 Georgia,serif;color:var(--ink);margin-top:0}.text-link{color:#905235;font-size:13px;font-weight:750;text-decoration:none}.gallery-link{border:0;padding:0;background:none}.section{padding:96px 0}.houses{padding-top:10px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:48px}.section-heading>p{max-width:340px;margin:0}.house{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-bottom:22px;background:#fff;border:1px solid #e1e7dd}.house-photo{border:0;padding:0;min-height:400px;position:relative;overflow:hidden;background:#dce3d7}.house-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .55s}.house-photo:hover img{transform:scale(1.04)}.house-photo span{position:absolute;bottom:20px;left:20px;background:#203a30ee;color:white;font-size:12px;font-weight:700;padding:11px 14px}.house-copy{padding:clamp(24px,4vw,46px);align-self:center}.house-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font-size:10px;font-weight:800;letter-spacing:.14em;color:var(--accent)}.capacity{padding:8px 11px;background:#edf2e8;color:#526650;letter-spacing:0;font-size:12px;border-radius:3px}.house h3{font-size:38px;margin:22px 0 8px}.house-copy>p{font-size:14px}.room-list{list-style:none;padding:0;margin:20px 0}.room-list li{border-top:1px solid #e4e9e1;padding:11px 0;display:grid;grid-template-columns:1fr 1.15fr;gap:12px;font-size:13px;line-height:1.5}.room-list li:last-child{border-bottom:1px solid #e4e9e1}.room-list span{color:var(--muted)}.reverse .house-photo{order:2}.price-note{color:var(--muted);font-size:13px;line-height:1.6;margin:22px 0 0}.amenities{background:#e8eee4}.amenity-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #cfdbcd;border-left:1px solid #cfdbcd}.amenity-grid>div{min-height:92px;padding:19px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;border-right:1px solid #cfdbcd;border-bottom:1px solid #cfdbcd;font-size:13px}.amenity-grid span{font-size:24px;color:var(--accent);width:27px}.amenity-grid small{color:var(--muted);width:100%;padding-left:37px;margin-top:-10px}.common{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7%;margin-top:70px}.common>img{width:100%;height:340px;object-fit:cover}.common h3,.contact h3{font-size:32px;margin:0 0 18px}.common p{font-size:14px}.environment{background:#263d31;color:white}.environment-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.environment p:not(.eyebrow){color:#d6e2d7;max-width:480px}.environment img{width:100%;height:390px;object-fit:cover}.environment .button{margin-top:15px}.history details{border-top:1px solid #ced8cc;border-bottom:1px solid #ced8cc}.history summary{padding:22px 0;cursor:pointer;display:flex;justify-content:space-between;font-weight:750;list-style:none}.history summary span{font-size:22px}.history-text{max-width:820px;padding:0 0 25px;color:#53665a;line-height:1.85}.history-text h3{font-size:25px;color:var(--ink)}.contact{background:#e8eee4}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:20px;align-items:start}.contact-card,.form{background:white;border:1px solid #dbe4d9;padding:35px}.contact-card>a{display:block;margin-top:15px;font-size:20px;font-family:Georgia,serif;text-decoration:none}.contact-card>a.mail{font:700 13px system-ui;overflow-wrap:anywhere}.contact-card>a.map{font:700 13px system-ui;color:#905235;margin-top:25px}.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form label{display:block;font-size:13px;font-weight:700}.form label:nth-child(n+3){grid-column:1/-1}.form label span{font-weight:400;color:var(--muted)}.form input:not([type=checkbox]),.form textarea{width:100%;display:block;padding:12px;margin-top:7px;background:#fcfcfa;border:1px solid #cbd8cc;border-radius:3px}.form textarea{resize:vertical}.form .privacy{display:flex;gap:9px;align-items:start;font-weight:400;line-height:1.5}.form .privacy input{margin:3px 0 0}.trap{position:absolute;left:-9999px}.status{margin:0;grid-column:1/-1;font-size:13px}.form button{justify-self:start}footer{background:#1c3026;color:#ecf1eb;padding:35px 0}.footer{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:12px}.footer strong{letter-spacing:.15em}.footer a{color:inherit}dialog{width:100vw;height:100dvh;max-width:none;max-height:none;border:0;padding:0;background:#10231df7;color:white}dialog::backdrop{background:#000c}.viewer-top{position:absolute;top:25px;left:5%;right:5%;display:flex;justify-content:space-between;align-items:center}.viewer-top button,.arrow{border:0;background:transparent;color:white;font-size:26px}.arrow{position:absolute;top:50%;font-size:48px;z-index:2}.prev{left:3%}.next{right:3%}dialog figure{height:100%;margin:0;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:70px 10% 48px}dialog figure img{width:auto;height:auto;max-width:min(100%,1600px);max-height:calc(100dvh - 160px);object-fit:contain}figcaption{font-size:13px;margin-top:14px;text-align:center;color:#ddd}a:focus-visible,button:focus-visible{outline:3px solid #bd8058;outline-offset:3px}@media(max-width:750px){.header{flex-wrap:wrap;gap:12px}.header nav{width:100%;overflow:auto;gap:20px;padding-bottom:5px}.hero{min-height:480px}.intro,.environment-grid,.common,.contact-grid{grid-template-columns:1fr;gap:28px}.intro{padding:70px 0}.section{padding:70px 0}.houses{padding-top:0}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:20px}.house{grid-template-columns:1fr}.house-photo{min-height:270px}.reverse .house-photo{order:0}.house-copy{padding:25px}.amenity-grid{grid-template-columns:repeat(2,1fr)}.common img{height:260px}.environment img{height:270px}.footer{align-items:flex-start;flex-direction:column}.contact-card,.form{padding:25px}.form-fields{grid-template-columns:1fr}.form label{grid-column:1/-1}.hero-side{display:none}}
@media(max-width:390px){.room-list li{grid-template-columns:1fr;gap:2px}.amenity-grid>div{padding:13px}.brand{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

.brand img{display:block;width:145px;height:58px;object-fit:contain;mix-blend-mode:multiply}.brand-location{border-left:1px solid #dce3d7;padding-left:12px;font-size:9px;letter-spacing:.13em;color:#66786c}@media(max-width:390px){.brand img{width:120px;height:50px}.brand-location{font-size:8px}}
.archive-title{font-size:clamp(42px,5vw,64px)}.archive-intro{color:var(--muted);margin-bottom:40px}.archive-list{max-width:900px}.archive-list details{border-top:1px solid #ced8cc}.archive-list details:last-child{border-bottom:1px solid #ced8cc}.archive-list summary{cursor:pointer;list-style:none;padding:20px 0;font-weight:700}.archive-list summary::after{content:'＋';float:right;color:var(--accent)}.archive-body{max-width:800px;padding:0 0 25px;color:#53665a;line-height:1.8}.archive-date{color:var(--accent);font-size:12px;font-weight:700}

.archive-list summary small{display:block;margin-top:6px;color:var(--muted);font-size:12px;font-weight:500}.archive-list summary::after{position:absolute;right:0;top:20px}.archive-list summary{position:relative;padding-right:32px}

.contact-direct{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}.contact-details .map{display:inline-block;font-size:13px;font-weight:700;color:#905235;margin-top:12px;text-decoration:none}.contact-label{font-size:11px;font-weight:800;letter-spacing:.16em;margin:0 0 12px!important}.contact-phone{display:block;width:max-content;max-width:100%;margin:14px 0;text-decoration:none;font:24px Georgia,serif}.contact-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.contact-action{display:inline-flex;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:10px 15px;border:1px solid #b9cabe;border-radius:5px;color:#385c4b;font-size:14px;font-weight:700;text-decoration:none;transition:background-color .2s}.contact-action svg{width:21px;height:21px;flex:none}.contact-action.whatsapp{background:#167b46;border-color:#167b46;color:#fff}.contact-action.whatsapp:hover{background:#116439}.contact-action.email:hover{background:#eef4ee}.contact-email{display:inline-block;margin-top:16px;font-size:13px;color:#526b5d;overflow-wrap:anywhere}@media(max-width:750px){.contact-direct{grid-template-columns:1fr;gap:24px}}@media(max-width:380px){.contact-action{width:100%}}

.archive-images{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;margin:24px 0}.archive-images button{border:0;padding:0;height:110px;overflow:hidden;background:#e3e9df}.archive-images img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.archive-images button:hover img{transform:scale(1.04)}.archive-links{display:grid;gap:10px;margin:20px 0;font-size:13px;overflow-wrap:anywhere}.archive-links a{color:#905235;font-weight:700}

.history-photo{margin:25px 0}.history-photo img{display:block;max-width:100%;height:auto}.history-photo figcaption{color:var(--muted);text-align:left;font-size:12px;margin-top:8px}

.contact-details .route-links{font-size:13px;line-height:1.8;margin-top:18px}.route-links a{color:#905235;font-weight:650}
:root{--ink:#23343b;--muted:#61747b;--accent:#ac6750;--paper:#f8f7f3;--line:#dce2e1}.brand img{width:112px;height:64px}.hero-shade{background:linear-gradient(90deg,rgba(19,32,39,.88),rgba(19,32,39,.12))}.amenities,.contact{background:#e9eeeb}.environment{background:#263b42}.house-photo img{object-position:center}.stay-info{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:38px}.stay-info>div,.access-note{background:#fff;border:1px solid #dce2e1;padding:30px}.stay-info h3,.location-grid h3{font-size:26px;margin:0 0 14px}.stay-info p,.location-grid p{color:var(--muted);line-height:1.75;font-size:14px}.location-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:8%;align-items:start}.travel-list p{padding-bottom:14px;border-bottom:1px solid #dce2e1}.travel-list b{color:var(--ink)}.access-note{background:#eef1eb}.madrid-hero{height:410px;position:relative;color:white}.madrid-hero:after{content:'';position:absolute;inset:0;background:#14283199}.madrid-hero img{width:100%;height:100%;object-fit:cover}.madrid-hero>div{position:absolute;z-index:1;left:5%;top:50%;transform:translateY(-50%)}.madrid-hero p:not(.eyebrow){font-size:16px}.legal-page{max-width:850px;padding:80px 0;line-height:1.8}.legal-page h1{font-size:clamp(42px,5vw,64px)}.legal-page h2{font-size:27px;margin-top:38px}.legal-page p{color:var(--muted)}@media(max-width:750px){.stay-info,.location-grid{grid-template-columns:1fr}.madrid-hero{height:340px}}

.cervantes-quote{margin:22px 0;padding-left:16px;border-left:2px solid #bc8269;color:#61747b;font:italic 15px/1.6 Georgia,serif}.environment a:not(.button){color:#edf3ec}.location-grid .route-links{font-size:13px}

.city-gallery{margin:0 0 32px}
@media(max-width:750px){.header nav{overflow:visible;flex-wrap:wrap;gap:10px 16px;padding:0 0 5px}.header nav a{font-size:12px}.header .nav-contact{padding:7px 12px}}
.contact-action.email{background:#304b56;border-color:#304b56;color:#fff}.contact-action.email:hover{background:#1f3943;border-color:#1f3943}

.directions{margin-top:24px;max-width:440px}.directions label{display:block;font-size:13px;font-weight:700;margin-bottom:9px}.directions>div{display:flex;gap:8px}.directions input{min-width:0;flex:1;padding:12px;border:1px solid #bfcbbf;background:white}.directions button{padding:12px 14px;background:transparent;border:1px solid #a5b5a7;white-space:nowrap}.contact-social{display:block;width:max-content;margin-top:20px;color:#905235;font-size:13px;font-weight:700;text-decoration:none}
