:root{
  --navy:#0f2844;--navy2:#071827;--gold:#b78942;--gold2:#ddb86f;--cream:#f7f3eb;
  --ink:#18222d;--muted:#6e7780;--line:#ded9cf;--white:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:#fff;line-height:1.6}
a{color:inherit}
.wrap{width:min(1180px,calc(100% - 40px));margin:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(15,40,68,.09)}
.header-inner{display:flex;align-items:center;gap:30px;min-height:92px}
.brand{display:block;width:260px;max-width:33%;text-decoration:none}
.brand-mark{display:block;width:100%;height:auto}
nav{display:flex;gap:25px;margin-left:auto}
nav a{text-decoration:none;font-size:13px;font-weight:600;letter-spacing:.04em;color:#374250}
nav a:hover{color:var(--gold)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 26px;border:0;background:var(--gold);color:white;text-decoration:none;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:.2s}
.btn:hover{background:#9f7130;transform:translateY(-1px)}
.btn-small{min-height:42px;padding:0 18px;font-size:13px}
.hero{position:relative;min-height:710px;background:
  radial-gradient(circle at 70% 35%,rgba(221,184,111,.25),transparent 25%),
  linear-gradient(115deg,#071827 0%,#0f2844 48%,#5b6570 100%);
  color:white;display:flex;align-items:center;overflow:hidden}
.hero:after{content:"";position:absolute;inset:0;background:
  linear-gradient(135deg,transparent 0 58%,rgba(255,255,255,.05) 58% 59%,transparent 59%),
  linear-gradient(25deg,transparent 0 70%,rgba(183,137,66,.14) 70% 71%,transparent 71%);
}
.hero-overlay{position:absolute;inset:auto -120px -230px auto;width:650px;height:650px;border:1px solid rgba(221,184,111,.25);border-radius:50%;box-shadow:0 0 0 90px rgba(255,255,255,.02),0 0 0 180px rgba(255,255,255,.015)}
.hero-content{position:relative;z-index:2;padding:110px 0 160px}
.eyebrow{margin:0 0 15px;color:var(--gold);font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase}
.hero h1,.section h2{font-family:"Cormorant Garamond",Georgia,serif;line-height:.95;margin:0;color:inherit}
.hero h1{font-size:clamp(64px,9vw,112px);font-weight:600;max-width:820px;letter-spacing:-.035em}
.hero h1 em{color:var(--gold2);font-weight:500}
.hero-copy{max-width:640px;font-size:19px;color:#d6dde4;margin:30px 0}
.hero-actions{display:flex;gap:28px;align-items:center}
.text-link{text-decoration:none;font-weight:700}
.text-link span{color:var(--gold);margin-left:7px}
.hero-card{position:absolute;z-index:3;bottom:0;right:0;display:grid;grid-template-columns:repeat(4,1fr);background:white;color:var(--navy);min-width:min(760px,70%);box-shadow:0 -12px 40px rgba(0,0,0,.12)}
.hero-card div{padding:26px 24px;border-left:1px solid #ece9e2}
.hero-card span{display:block;font-family:"Cormorant Garamond",Georgia,serif;font-size:30px;font-weight:700}
.hero-card small{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.11em}
.section{padding:105px 0}
.intro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:80px;align-items:start}
.section h2{font-size:clamp(46px,6vw,72px);font-weight:600;color:var(--navy)}
.intro-copy{font-size:18px}
.muted{color:var(--muted)}
.gallery{margin-top:70px;display:grid;grid-template-columns:1.6fr 1fr 1fr;grid-template-rows:260px 260px;gap:12px}
.photo{position:relative;overflow:hidden;background:
  linear-gradient(145deg,rgba(255,255,255,.04),rgba(0,0,0,.22)),
  linear-gradient(120deg,#607182,#9e8a6d);
}
.photo:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 20%,rgba(255,255,255,.25),transparent 30%)}
.photo span{position:absolute;left:18px;bottom:15px;color:white;font-size:12px;letter-spacing:.08em;text-transform:uppercase;background:rgba(7,24,39,.65);padding:7px 10px}
.photo-main{grid-row:1/3;background:linear-gradient(135deg,#20384e,#8a765d)}
.photo-a{background:linear-gradient(140deg,#366477,#b1a17f)}
.photo-b{background:linear-gradient(140deg,#4e4b46,#ae9b82)}
.photo-c{background:linear-gradient(140deg,#6e6255,#d2c3ab)}
.photo-d{background:linear-gradient(140deg,#3e4c59,#988b7c)}
.amenities{background:var(--cream)}
.center{text-align:center}
.amenity-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:55px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.amenity-grid article{padding:38px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.48)}
.amenity-grid h3{font-family:"Cormorant Garamond",Georgia,serif;color:var(--navy);font-size:28px;margin:15px 0 8px}
.amenity-grid p{margin:0;color:var(--muted);font-size:14px}
.icon{font-size:30px;color:var(--gold)}
.booking{background:#fff}
.booking-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}
.booking-copy{padding-top:25px}
.booking-copy p{font-size:17px}
.legend{display:flex;flex-wrap:wrap;gap:16px;margin:30px 0;font-size:12px;color:var(--muted)}
.legend span{display:flex;align-items:center;gap:7px}
.dot{width:10px;height:10px;border-radius:50%;display:inline-block}
.available{background:#e9e4da;border:1px solid #cfc8bb}
.unavailable{background:#c7cbd0}
.selected{background:var(--gold)}
.selected-summary{border-left:3px solid var(--gold);padding:13px 16px;background:var(--cream);font-weight:600;color:var(--navy)}
.calendar-panel{border:1px solid var(--line);padding:26px;background:#fff}
.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.calendar-toolbar h3{margin:0;font-family:"Cormorant Garamond",Georgia,serif;font-size:31px;color:var(--navy)}
.calendar-toolbar button{width:44px;height:44px;border:1px solid var(--line);background:white;color:var(--navy);cursor:pointer;font-size:18px}
.weekdays,.calendar{display:grid;grid-template-columns:repeat(7,1fr)}
.weekdays span{text-align:center;font-size:10px;font-weight:800;color:#8a9198;letter-spacing:.08em;text-transform:uppercase;padding:8px 0}
.day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:1px solid transparent;background:white;font:inherit;cursor:pointer;color:var(--ink)}
.day:hover:not(:disabled){border-color:var(--gold)}
.day.other{color:#c3c7cb}
.day.past,.day:disabled{color:#c9cdd1;cursor:not-allowed;text-decoration:line-through}
.day.blocked{background:#f1f2f3;color:#a2a8ad;text-decoration:line-through}
.day.selected{background:var(--gold);color:white;font-weight:800}
.day.inrange{background:#f2e8d7}
.reservation-card{margin-top:80px;padding:55px;background:var(--navy);color:white;display:grid;grid-template-columns:.65fr 1.35fr;gap:55px}
.reservation-card h2{color:white;font-size:54px}
.reservation-card .muted{color:#c8d0d7}
form{background:white;color:var(--ink);padding:30px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
label{display:grid;gap:7px;font-size:12px;font-weight:800;letter-spacing:.04em;color:#44505c}
input,select,textarea{width:100%;border:1px solid #d9d8d4;background:#fff;padding:12px 13px;font:inherit;font-size:16px;color:#1c2732;border-radius:0}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(183,137,66,.25);border-color:var(--gold)}
.full{grid-column:1/-1}
.hidden{display:none}
form .btn{margin-top:22px;width:100%}
.fine-print{font-size:11px;color:#7c8389;margin:12px 0 0;text-align:center}
.rules{background:var(--navy2);color:white}
.rules h2{color:white}
.rules-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}
.rules-grid>div:first-child>p:last-child{color:#c6d0d7;max-width:430px}
.rule-list{border-top:1px solid rgba(255,255,255,.15)}
.rule-list div{display:grid;grid-template-columns:70px 1fr;gap:18px;padding:25px 0;border-bottom:1px solid rgba(255,255,255,.15)}
.rule-list span{color:var(--gold);font-weight:800}
.rule-list p{margin:0;color:#c6d0d7}
.rule-list strong{color:white}
.cta{padding:75px 0;background:var(--cream)}
.cta-inner{display:flex;align-items:end;justify-content:space-between;gap:30px}
footer{background:#06131f;color:#bdc7ce;padding:60px 0 28px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:45px}
.footer-brand{font-family:"Cormorant Garamond",Georgia,serif;color:white;font-size:34px;font-weight:700}
.footer-brand span{font-size:20px;letter-spacing:.1em}
footer strong{display:block;color:white;font-size:12px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:8px}
footer a{display:block;color:#bdc7ce;text-decoration:none;font-size:14px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:40px;padding-top:22px;font-size:11px}
@media(max-width:900px){
  nav{display:none}.brand{max-width:55%;width:220px}.header-inner{min-height:78px}.header-inner .btn{margin-left:auto}
  .hero{min-height:650px}.hero-content{padding:85px 0 140px}.hero-card{left:0;right:0;min-width:0;width:100%;grid-template-columns:repeat(4,1fr)}
  .intro-grid,.booking-grid,.reservation-card,.rules-grid{grid-template-columns:1fr;gap:35px}
  .gallery{grid-template-columns:1fr 1fr;grid-template-rows:300px 210px 210px}.photo-main{grid-column:1/-1;grid-row:auto}
  .amenity-grid{grid-template-columns:1fr 1fr}.reservation-card{padding:36px}.footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .wrap{width:min(100% - 28px,1180px)}.section{padding:75px 0}.site-header .btn-small{display:none}
  .brand{max-width:75%;width:230px}.hero{min-height:640px}.hero h1{font-size:60px}.hero-copy{font-size:16px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}
  .hero-card{grid-template-columns:1fr 1fr}.hero-card div{padding:15px 16px}.hero-card span{font-size:24px}
  .gallery{grid-template-columns:1fr;grid-template-rows:280px repeat(4,180px)}.photo-main{grid-column:auto}
  .amenity-grid{grid-template-columns:1fr}.amenity-grid article{padding:28px}
  .calendar-panel{padding:14px}.calendar-toolbar h3{font-size:26px}.day{font-size:13px}
  .reservation-card{width:100%;padding:28px 18px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}form{padding:22px 16px}
  .cta-inner{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr}
}
.photo-a{background-size:cover;background-position:center}

/* M&P property photography */
.hero{background-size:cover;background-position:center 48%;}
.property-gallery{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(4,280px);}
.property-gallery .photo{background-size:cover;background-position:center;}
.property-gallery .photo-main{grid-column:span 2;grid-row:span 2;}
.property-gallery .photo-wide{grid-column:span 2;}
@media(max-width:900px){.property-gallery{grid-template-columns:1fr 1fr;grid-template-rows:none}.property-gallery .photo{min-height:240px}.property-gallery .photo-main{grid-column:1/-1;grid-row:auto;min-height:430px}.property-gallery .photo-wide{grid-column:1/-1;min-height:320px}}
@media(max-width:600px){.property-gallery{grid-template-columns:1fr;grid-template-rows:none}.property-gallery .photo,.property-gallery .photo-main,.property-gallery .photo-wide{grid-column:auto;min-height:260px}.property-gallery .photo-main{min-height:330px}}


/* Photo brightness tuning */
.property-gallery .photo{background-color:rgba(255,255,255,.26);background-blend-mode:screen;}
.property-gallery .photo:before{background:linear-gradient(rgba(255,255,255,.16),rgba(255,255,255,.16));}
.property-gallery .photo span{z-index:2;}
.hero:before{content:"";position:absolute;inset:0;background:rgba(255,255,255,.14);z-index:1;pointer-events:none;}
.hero:after{z-index:1;}
.hero-overlay{z-index:1;}

/* Photo clarity tuning: brighter with added crispness */
.property-gallery .photo{
  background-blend-mode:screen;
  image-rendering:auto;
}
.property-gallery .photo:before{
  background:linear-gradient(rgba(255,255,255,.10),rgba(255,255,255,.10));
}
.hero:before{background:rgba(255,255,255,.10);}


/* Property video tour */
.video-tour{background:#f7f4ee}
.video-tour-head{display:grid;grid-template-columns:1.1fr .9fr;gap:42px;align-items:end;margin-bottom:28px}
.video-tour-head h2{margin-bottom:0}
.video-tour-head .muted{max-width:560px;margin:0 0 6px auto}
.video-shell{border-radius:22px;overflow:hidden;background:#081827;box-shadow:0 20px 50px rgba(7,24,39,.18);border:1px solid rgba(183,137,66,.25)}
.video-shell video{display:block;width:100%;height:auto;max-height:72vh;background:#000}
@media (max-width:760px){.video-tour-head{grid-template-columns:1fr;gap:10px}.video-tour-head .muted{margin:0}.video-shell{border-radius:14px}}
