*{box-sizing:border-box}
:root{--cream:#f4f0e8;--ink:#171717;--blue:#1f7b9e;--muted:#6b655e;--line:#d9d2c8}
html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif}a{color:inherit}
.site-header{position:fixed;z-index:50;top:0;left:0;right:0;height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;background:rgba(244,240,232,.9);backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,0,0,.05)}
.header-logo img{width:110px;height:36px;object-fit:contain;object-position:left center;display:block}.header-actions{display:flex;align-items:center;gap:18px;font-size:13px}.header-actions a{text-decoration:none}.header-actions button{border:0;background:transparent;font:inherit;cursor:pointer}.book-pill{background:var(--ink);color:white;padding:10px 16px;border-radius:999px}
.hero{min-height:100svh;padding-top:76px;display:grid;grid-template-columns:49% 51%}.hero-copy{padding:8vh 6vw 6vh 8vw;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:11px;letter-spacing:2.5px;color:var(--blue);margin:0 0 22px}.hero h1{font-family:"Playfair Display",serif;font-size:clamp(58px,7vw,106px);font-weight:500;line-height:.92;margin:0}.lead{font-size:17px;margin:28px 0}.hero-buttons{display:flex;gap:12px}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;padding:14px 23px;border-radius:999px;font-size:14px;font-weight:600}.btn-dark{background:var(--ink);color:white}.btn-line{border:1px solid var(--ink)}
.hero-visual{background:linear-gradient(90deg,var(--cream) 0%,rgba(244,240,232,.56) 8%,transparent 25%),url("/cavo-site/images/hero.jpg") 46% center/cover no-repeat;min-height:calc(100svh - 76px)}
.identity-strip{text-align:center;padding:50px 8vw 72px}.identity-strip img{width:min(880px,90vw)}.identity-strip span{display:block;margin-top:-7px;font-family:"Playfair Display",serif;font-style:italic;font-size:25px;color:var(--blue)}
.section{padding:105px 8vw}.number{font-size:11px;letter-spacing:2px;color:var(--blue)}.manifesto{display:grid;grid-template-columns:1.15fr 1fr;gap:10vw}.manifesto h2,.booking h2,.location h2,.atmosphere h2,.restaurant-text h2{font-family:"Playfair Display",serif;font-size:clamp(48px,6vw,88px);font-weight:500;line-height:.96;margin:22px 0 0}.manifesto-copy{padding-top:35px}.manifesto-copy p,.booking-copy p,.atmosphere-copy p,.restaurant-text p{font-size:18px;line-height:1.75;color:#4e4944}
.architecture{position:relative;height:88vh;overflow:hidden;background:#ddd}.architecture-main{position:absolute;inset:0;background:url("/cavo-site/images/architecture.jpg") center/cover no-repeat}.architecture-main:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,15,15,.55),rgba(15,15,15,.05) 60%)}.architecture-copy{position:absolute;left:8vw;bottom:10vh;color:white}.architecture-copy span,.night-copy span,.video-overlay span{font-size:11px;letter-spacing:2px}.architecture-copy h2,.night-copy h2,.video-overlay h2{font-family:"Playfair Display",serif;font-size:clamp(50px,7vw,96px);font-weight:500;line-height:.95;margin:15px 0 0}
.words{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.words div{font-family:"Playfair Display",serif;font-size:clamp(50px,8.8vw,128px);line-height:1;padding:25px 8vw;border-bottom:1px solid var(--line)}.words div:last-child{border:0}
.restaurant-editorial{display:grid;grid-template-columns:1.2fr .8fr;gap:7vw;align-items:center;overflow:hidden}.restaurant-soft{height:70vh;background:linear-gradient(rgba(244,240,232,.22),rgba(244,240,232,.22)),url("/cavo-site/images/restaurant-soft.jpg") center/cover no-repeat;transform:rotate(-1.4deg) scale(1.05);clip-path:polygon(3% 0,100% 3%,97% 100%,0 96%);filter:saturate(.75);box-shadow:0 24px 60px rgba(0,0,0,.08)}
.night-section{height:90vh;position:relative;background:#111}.night-image{position:absolute;inset:0;background:url("/cavo-site/images/restaurant-night.jpg") center/cover no-repeat;filter:brightness(.62)}.night-copy{position:absolute;left:8vw;bottom:9vh;color:white}
.video-section{height:92vh;position:relative;background:#111;overflow:hidden}.video-section video{width:100%;height:100%;object-fit:cover;filter:brightness(.68)}.video-overlay{position:absolute;left:8vw;bottom:9vh;color:white}
.atmosphere{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:center}.people-photo{min-height:78vh;background:url("/cavo-site/images/people.jpg") center 30%/cover no-repeat}
.booking{display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:end}.booking-copy{border-top:1px solid var(--line);padding-top:28px}.booking-copy p{margin:0 0 28px}
.instagram{background:#fff}.instagram-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:35px}.instagram-head h2{font-family:"Playfair Display",serif;font-size:clamp(44px,5vw,72px);font-weight:500;margin:15px 0 0}.instagram-head a{text-decoration:none;font-size:14px}.ig-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.ig-grid img{width:100%;aspect-ratio:1;object-fit:cover;display:block;transition:.35s}.ig-grid a:hover img{transform:scale(.985);opacity:.88}
.location{display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:#fff}.details{display:grid;gap:22px;margin:42px 0}.details span{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted)}.details p{margin:7px 0 0;line-height:1.6}.details a{text-decoration:none}.location-visual{min-height:650px;background:url("/cavo-site/images/building.jpg") center/cover no-repeat}
footer{background:var(--ink);color:white;padding:85px 8vw 25px}.brand-connection{display:grid;grid-template-columns:1fr minmax(240px,430px) 1fr;gap:40px;align-items:center}.brand-cell{text-align:center}.brand-cell img{max-height:90px;max-width:245px;object-fit:contain}.brand-cell .carmo{max-height:78px}.rope-cell{text-align:center}.rope-cell img{width:100%}.rope-cell span{display:block;font-family:"Playfair Display",serif;font-style:italic;font-size:23px;color:#c7b18e}.collection{text-align:center;font-size:10px;letter-spacing:3px;color:#999;margin:38px 0 0}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.13);margin-top:55px;padding-top:20px;font-size:11px;color:#999}.footer-bottom a{text-decoration:none}
@media(max-width:900px){.site-header{height:68px;padding:0 18px}.header-logo img{width:96px}.header-actions{gap:10px}.header-actions>a:first-child{display:none}.hero{grid-template-columns:1fr;padding-top:68px}.hero-copy{padding:70px 20px 48px}.hero h1{font-size:56px}.hero-visual{min-height:65vh;background-position:center}.section{padding:78px 20px}.manifesto,.restaurant-editorial,.atmosphere,.booking,.location{grid-template-columns:1fr;gap:45px}.restaurant-soft{height:58vh}.architecture,.night-section,.video-section{height:72vh}.words div{padding:22px 20px}.ig-grid{grid-template-columns:1fr 1fr}.location-visual{min-height:58vh}.brand-connection{grid-template-columns:1fr;gap:28px}.rope-cell img{max-width:420px}.footer-bottom{flex-direction:column;gap:10px;text-align:center}}
@media(max-width:520px){.hero h1{font-size:50px}.hero-buttons .btn{flex:1}.identity-strip{padding:38px 20px 52px}.identity-strip span{font-size:20px}.ig-grid{grid-template-columns:1fr}.instagram-head{align-items:flex-start;flex-direction:column;gap:16px}.restaurant-soft{transform:rotate(-1deg) scale(1.04)}}

/* V6 — hero rebuilt: real CAVO/Alfama photo + genuinely graduated diagonal blend */
.hero{
  position:relative;
  overflow:hidden;
  min-height:100svh;
  padding-top:76px;
  display:block;
  background:var(--cream);
}
.hero-copy{
  position:relative;
  z-index:4;
  width:53%;
  min-height:calc(100svh - 76px);
  padding:7vh 5vw 6vh 8vw;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.hero-visual{
  position:absolute;
  z-index:1;
  top:76px;
  right:0;
  bottom:0;
  left:38%;
  min-height:0;
  margin:0;
  background:url("/cavo-site/images/hero-v6.jpg") 58% 48%/cover no-repeat;
  filter:saturate(.82) contrast(.94) brightness(1.05);
  clip-path:polygon(14% 0,100% 0,100% 100%,0 100%);
  -webkit-mask-image:linear-gradient(102deg,transparent 0%,rgba(0,0,0,.08) 5%,rgba(0,0,0,.30) 11%,rgba(0,0,0,.68) 18%,#000 27%,#000 100%);
  mask-image:linear-gradient(102deg,transparent 0%,rgba(0,0,0,.08) 5%,rgba(0,0,0,.30) 11%,rgba(0,0,0,.68) 18%,#000 27%,#000 100%);
}
.hero:after{
  content:"";
  position:absolute;
  z-index:3;
  pointer-events:none;
  top:76px;
  bottom:0;
  left:35%;
  width:23%;
  background:linear-gradient(103deg,var(--cream) 0%,rgba(244,240,232,.96) 17%,rgba(244,240,232,.68) 39%,rgba(244,240,232,.26) 65%,rgba(244,240,232,0) 100%);
  clip-path:polygon(0 0,70% 0,100% 100%,0 100%);
}
/* diagonal continuation into the next strip, not a horizontal guillotine */
.identity-strip{
  position:relative;
  z-index:6;
  margin-top:-5.5vw;
  padding-top:10vw;
  background:var(--cream);
  clip-path:polygon(0 7vw,100% 0,100% 100%,0 100%);
}
/* the old empty-terrace image is kept only later, softened/editorial */
.restaurant-soft{
  background-image:linear-gradient(rgba(244,240,232,.34),rgba(244,240,232,.34)),url("/cavo-site/images/restaurant-soft.jpg");
  background-position:center 45%;
  transform:rotate(-1.4deg) scale(1.045);
  clip-path:polygon(5% 0,100% 4%,96% 100%,0 94%);
  filter:saturate(.66) contrast(.91) brightness(1.07);
}
@media(max-width:900px){
  .hero{padding-top:68px}
  .hero-copy{width:100%;min-height:64svh;padding:60px 20px 42px;background:linear-gradient(180deg,var(--cream) 0%,rgba(244,240,232,.98) 74%,rgba(244,240,232,.75) 100%)}
  .hero-visual{position:relative;top:auto;left:auto;right:auto;bottom:auto;height:63vh;clip-path:polygon(0 7%,100% 0,100% 100%,0 94%);-webkit-mask-image:none;mask-image:none;background-position:center 52%}
  .hero:after{display:none}
  .identity-strip{margin-top:-5vh;padding-top:10vh;clip-path:polygon(0 6vh,100% 0,100% 100%,0 100%)}
}
