
:root{--ink:#252a25;--muted:#626b61;--olive:#607152;--line:#dedfd4;--cream:#f7f6f1;--paper:#fffefa}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit}img{max-width:100%}.wrap{width:min(1180px,calc(100% - 48px));margin-inline:auto}.draft{padding:9px;background:#e3dbc3;text-align:center;color:#394331;text-transform:uppercase;letter-spacing:.17em;font-size:10px;font-weight:700}.mast{background:#181c1b;color:#f1ede4}.top{min-height:105px;display:flex;align-items:center;justify-content:space-between}.logo{width:160px;display:block;filter:brightness(1.23)}.nav{display:flex;gap:23px;align-items:center;font-size:11px;font-weight:700;letter-spacing:.13em}.nav a{text-decoration:none;white-space:nowrap}.nav a:hover,.nav a:focus-visible{text-decoration:underline}h1,h2,h3,.card strong{font-family:Georgia,'Times New Roman',serif;font-weight:400}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:#778760;font-weight:700;font-size:11px}.intro{padding:76px 0 41px;display:grid;grid-template-columns:1fr 350px;gap:30px;align-items:end;border-bottom:1px solid #d8dbcf}.intro h1{font-size:clamp(48px,6.2vw,82px);letter-spacing:-.045em;line-height:1.04;margin:18px 0 0}.intro h1 em{color:#7b8866;font-weight:400}.intro p{font-size:16px;line-height:1.65;color:var(--muted);margin:0 0 5px}.sectionline{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:37px 0 20px}.sectionline h2{font-size:29px;margin:0}.sectionline span{color:#767d72;font-size:13px}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding-bottom:85px}.card{display:block;border:1px solid var(--line);background:var(--paper);text-decoration:none;transition:transform .2s,box-shadow .2s}.card:hover,.card:focus-visible{transform:translateY(-4px);box-shadow:0 16px 26px #20251b17;outline-color:var(--olive)}.photo{height:245px;display:block;overflow:hidden;position:relative;background:#daddcf}.photo::after{content:"";position:absolute;inset:0;background:rgba(224,185,128,.055);pointer-events:none}.photo img{display:block;width:100%;height:100%;object-fit:cover;filter:brightness(var(--bright,1)) saturate(var(--sat,.86)) sepia(var(--sepia,.08)) contrast(.98);transition:transform .3s}.card:hover img{transform:scale(1.035)}.card-copy{min-height:113px;padding:20px 21px;display:flex;align-items:end;justify-content:space-between;gap:8px}.card small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.17em;color:#73845b;font-weight:700;margin-bottom:8px}.card strong{display:block;font-size:25px;line-height:1.14}.arrow{font-size:24px;color:var(--olive)}.note{background:#e9e9df;color:#586052;padding:22px 0;font-size:13px;line-height:1.6}.foot{background:#181c1b;color:#ece9db;padding:29px 0;font-size:13px;line-height:1.8}.foot a{color:#d9cfaa}.back{display:inline-flex;align-items:center;gap:8px;margin:28px 0 23px;color:#52654c;font-size:13px;font-weight:700;text-decoration:none}.back:hover{text-decoration:underline}.detail-hero{display:grid;grid-template-columns:47% 53%;min-height:440px;background:#efefe8}.detail-photo{display:block;position:relative;min-height:440px;overflow:hidden}.detail-photo::after{content:"";position:absolute;inset:0;background:rgba(224,185,128,.055);pointer-events:none}.detail-photo img{display:block;width:100%;height:100%;object-fit:cover;position:absolute;inset:0;filter:brightness(var(--bright,1)) saturate(var(--sat,.86)) sepia(var(--sepia,.08)) contrast(.98)}.detail-intro{padding:clamp(34px,5vw,72px);align-self:center}.detail-intro h1{font-size:clamp(42px,5vw,69px);line-height:1.05;letter-spacing:-.04em;margin:17px 0 22px}.detail-intro p{font-size:17px;line-height:1.7;color:#566155;max-width:530px}.pill{display:inline-block;border:1px solid #bfc8b3;border-radius:22px;color:#52654c;padding:8px 13px;margin-top:14px;font-size:12px;font-weight:700}.detail-content{padding:62px 0 80px;display:grid;grid-template-columns:minmax(0,1.52fr) minmax(285px,.75fr);gap:clamp(45px,7vw,105px)}.detail-content h2{font-size:clamp(31px,3.5vw,41px);margin:0 0 15px}.detail-content h3{font-size:27px;margin:42px 0 13px}.lead{color:var(--muted);line-height:1.6;margin:0 0 25px}.rates{width:100%;border-collapse:collapse;background:#fffefa;font-size:14px}.rates th,.rates td{text-align:left;padding:16px 17px;border-bottom:1px solid #e3e4d9}.rates th{background:#e8ebdf;color:#526349;font-size:12px;letter-spacing:.06em}.rates td:not(:first-child){font-weight:700;color:#405b43;white-space:nowrap}.rates tr:last-child td{border-bottom:none}.list{margin:0;padding-left:20px;color:#4c564e;line-height:1.7;font-size:14px}.list li{margin:0 0 8px;padding-left:3px}.callout{background:#eeefe6;border-left:3px solid #80916c;padding:16px 19px;margin:23px 0;color:#4d5a49;font-size:13px;line-height:1.65}.side{border-top:3px solid #7b8c67;padding-top:19px}.side h2{font-size:30px}.side h3{margin-top:37px}.addons{list-style:none;padding:0;margin:0}.addons li{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.45;color:#4c564e}.addons strong{color:#405b43;white-space:nowrap}.cta{display:block;text-align:center;background:#435b43;color:white;text-decoration:none;font-weight:700;padding:16px 17px;margin-top:37px;font-size:14px}.cta:hover{background:#344d36}.fine{font-size:12px;line-height:1.6;color:#747a70}.next{border-top:1px solid #d9dbd1;padding:30px 0 60px;display:flex;justify-content:space-between;gap:20px;font-size:13px;color:#53624f}.next a{text-decoration:none;font-weight:700}.next a:hover{text-decoration:underline}
@media(max-width:800px){.wrap{width:calc(100% - 32px)}.top{display:grid;justify-items:center;gap:15px;padding:17px 0}.logo{width:180px}.nav{justify-content:space-between;width:100%;gap:7px;font-size:clamp(9px,2.5vw,12px);letter-spacing:.02em}.intro{grid-template-columns:1fr;padding-top:51px;gap:20px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-hero{grid-template-columns:1fr}.detail-photo{min-height:350px}.detail-intro{padding:38px}.detail-content{grid-template-columns:1fr;gap:42px;padding-top:48px}.side{max-width:none}}
@media(max-width:520px){.intro{padding-top:43px}.intro h1{font-size:48px}.gallery{grid-template-columns:1fr;gap:17px;padding-bottom:52px}.photo{height:230px}.card-copy{min-height:84px}.sectionline span{max-width:110px;text-align:right}.detail-photo{min-height:265px}.detail-intro{padding:28px}.detail-intro h1{font-size:42px}.rates th,.rates td{padding:13px 8px;font-size:12px}.detail-content h2{font-size:32px}}

:root{--ink:#352b2c;--muted:#766a6d;--olive:#71394a;--line:#e8dddc;--cream:#fbf8f4;--paper:#fff}
body{background:#fbf8f4;color:#352b2c}a:focus-visible{outline:2px solid #71394a;outline-offset:4px}
.draft{background:#f1e4e7;color:#71394a}.mast{background:#171819}.nav{color:#d8c7a7}
.villa-mast{background:#fff9f6;border-bottom:1px solid #e8dddc}.villa-mast-inner{min-height:89px;display:flex;align-items:center;justify-content:space-between;gap:20px}.villa-brand{color:#71394a;text-decoration:none;font:400 1.6rem/1.05 Georgia,serif}.villa-brand small{display:block;text-transform:uppercase;letter-spacing:.22em;color:#a78388;font:600 .58rem Arial,sans-serif;margin-top:6px}.villa-links{display:flex;gap:26px;align-items:center;font-size:.88rem}.villa-links a{text-decoration:none}.villa-links a:last-child{border:1px solid #bd9aa1;border-radius:30px;padding:10px 16px;color:#71394a;font-weight:700}
.eyebrow{color:#9c5366}.intro{background:linear-gradient(100deg,#f9efeb,#fcefeb 55%,#f5e4e5);padding:62px 35px 58px;margin-top:28px;border:1px solid #eadcdb}.intro h1 em{color:#71394a}.intro p,.sectionline span{color:#766a6d}
.sectionline h2,.detail-content h2,.detail-content h3{color:#352b2c}
.card{background:#fff;border-color:#e8dddc}.card:hover,.card:focus-visible{background:#fff;box-shadow:0 16px 26px #352b2c1c}.card small{color:#9c5366}.card strong{color:#352b2c}.arrow{color:#71394a}
.note{background:#f2e8e5;color:#695b5f;border-top:1px solid #e8dddc}.foot{background:#171819;color:#c8c0b8}
.back,.next a{color:#71394a}.detail-hero{background:linear-gradient(100deg,#f9efeb,#fcefeb)}.detail-intro p{color:#65575a}.pill{border-color:#bd9aa1;color:#71394a}
.lead,.list{color:#67595c}.rates{background:#fff;color:#352b2c;border:1px solid #e8dddc}.rates th{background:#f2e8e5;color:#71394a}.rates th,.rates td{border-color:#e8dddc}.rates td:not(:first-child){color:#71394a}
.callout{background:#f7eeeb;border-color:#9c5366;color:#695b5f}.side{border-color:#9c5366}.addons li{border-color:#e8dddc;color:#67595c}.addons strong{color:#71394a}
.cta{background:#71394a;color:white}.cta:hover{background:#57283a;color:white}.fine{color:#766a6d}.next{border-color:#e8dddc}
@media(max-width:800px){.villa-mast-inner{padding:15px 0}.villa-brand{font-size:1.45rem}.intro{padding:46px 25px}}
@media(max-width:520px){.villa-mast-inner{min-height:76px}.villa-brand{font-size:1.3rem}.villa-links{font-size:.8rem;gap:12px}.villa-links a:last-child{padding:8px 12px}.intro{margin-top:17px;padding:42px 18px 36px}}

/* Full-width pink band; desktop height and mobile rhythm match the store. */
.villa-page .top{background:#fff9f6;color:#71394a;border-bottom:1px solid #e8dddc}
.villa-page .top.wrap{max-width:1160px;width:100%;padding:10px 36px;min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.villa-page .top .logo{width:155px;filter:brightness(1.38)}
.villa-page .category-nav{display:flex;gap:12px;align-items:center;color:#71394a;font-size:.72rem;font-weight:600;letter-spacing:.15em}
.villa-page .category-nav a{text-decoration:none}
.villa-page .category-nav .dot{color:#b26468}
.villa-hero{position:relative;overflow:hidden;background:linear-gradient(100deg,#f9efeb,#fcefeb 55%,#f5e4e5)}
.villa-hero .villa-shell{max-width:1190px;margin:auto;padding:0 30px;min-height:490px;display:flex;align-items:center;position:relative}
.villa-hero-copy{position:relative;z-index:1;width:65%;max-width:770px;padding:76px 0}
.villa-hero h1{font:400 clamp(2.4rem,5.4vw,4.6rem)/1.08 Georgia,serif;letter-spacing:-.035em;margin:14px 0 18px}
.villa-hero h1 em{color:#71394a;font-weight:400}
.villa-hero p{color:#65575a;line-height:1.7;max-width:570px;font-size:1.02rem}
.villa-hero-photo{position:absolute;right:0;top:0;width:28%;height:100%;object-fit:cover;object-position:53% 45%;-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 24%);mask-image:linear-gradient(to right,transparent 0%,#000 24%)}
.villa-hero-button{display:inline-block;background:#71394a;color:white;text-decoration:none;font-weight:700;padding:15px 25px;margin-top:3px}
.villa-hero-button:hover{background:#57283a}
.villa-section{padding-top:42px}
.villa-page .site-shortcuts a{border-color:#bd9aa1;background:#fff9f6;color:#71394a}
@media(max-width:900px){
  .villa-hero{display:flex;flex-direction:column}
  .villa-hero .villa-shell{min-height:0;display:flex;flex-direction:column;align-items:stretch}
  .villa-hero .villa-shell{order:1}
  .villa-hero-copy{width:100%;max-width:700px;padding:48px 0 8px}
  .villa-hero-photo{position:relative;order:2;align-self:flex-end;top:auto;right:auto;width:min(75%,500px);height:330px;margin-top:-12px;object-position:50% 55%;-webkit-mask-image:linear-gradient(135deg,transparent 0%,#000 29%);mask-image:linear-gradient(135deg,transparent 0%,#000 29%)}
}
@media(max-width:700px){
  .villa-page .top.wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;padding:16px 16px 20px;min-height:0;width:100%;max-width:none}
  .villa-page .top .logo{width:180px;max-width:45vw}
  .villa-page .category-nav{justify-content:space-between;gap:5px;width:100%;max-width:none;flex-wrap:nowrap;white-space:nowrap;font-size:clamp(.54rem,2.4vw,.78rem);letter-spacing:.02em}
  .villa-page .category-nav .dot{display:none}
}
@media(max-width:650px){
  .villa-hero .villa-shell{padding:0 18px}
  .villa-hero-copy{padding:42px 0 4px}
  .villa-hero-photo{height:285px;margin-right:-18px}
  .villa-section{padding-top:32px}
}
