:root{
  --cream:#F6F3EC; --sand:#EDE5DB; --tan:#B9A794; --ink:#33302D;
  --card:#EAE3DA; --arrow:#6E6A63; --footer:#342F2C;
  --radius:10px;
}
html{scroll-behavior:smooth}
body{font-family:'Roboto',sans-serif;color:var(--ink);background:var(--cream);font-size:1.05rem;line-height:1.6}
h1,h2,h3,h4,.btn,.navbar{font-family:'Poppins',sans-serif}
h2{font-weight:400;font-size:clamp(2rem,4.2vw,3.6rem);line-height:1.15;letter-spacing:-.01em}
h4{font-weight:400;font-size:2rem}
a{color:inherit}

/* header */
.site-header{background:#fff;border-bottom:1px solid #222;position:relative;z-index:10}
.navbar-brand img{height:99px;width:auto;display:block}
.nav-link{color:var(--ink)!important;font-family:'Roboto',sans-serif;font-size:1.1rem}
.nav-link:hover,.nav-link.active{text-decoration:underline;text-underline-offset:6px}

/* hero */
.hero{position:relative;min-height:83vh;background-size:cover;background-position:center}
.hero-overlay{position:absolute;inset:0;background:rgba(0,0,0,.56)}
.hero-title{font-weight:700;font-size:clamp(2.8rem,7vw,5.6rem);line-height:1.3;color:#F6F3EC}
.hero-tag{margin:1.6rem 0 1.2rem;font-weight:700;font-size:1.4rem}
.hero-tag span{background:rgba(118,118,118,.3);padding:3px 0;border-bottom:2px solid #F6F3EC}

/* buttons */
.btn-outline-site{border:1px solid var(--ink);color:var(--ink);border-radius:10px;padding:1.05rem 2.6rem;font-weight:400;font-size:1.1rem;min-width:240px;background:transparent}
.btn-outline-site:hover{background:var(--ink);color:#fff}
.btn-light-outline{border-color:rgba(255,255,255,.7);color:#fff;min-width:270px;padding:1.2rem 1.5rem}
.btn-light-outline:hover{background:#fff;color:var(--ink)}

/* sections */
.sec{padding:clamp(3rem,7vw,6.5rem) 0}
.sec-tan{background:var(--tan)} .sec-sand{background:var(--sand)} .sec-cream{background:var(--cream)}
.img-round{border-radius:var(--radius);display:block}
.feature{margin-bottom:1.5rem;font-size:1.1rem}

/* gallery */
.gallery-main{border-radius:2px;background:#000}
.gallery-main .carousel-item{aspect-ratio:3/2}
.gallery-main img{width:100%;height:100%;object-fit:cover;display:block}
.gal-arrow{width:8%;background:rgba(0,0,0,.2);height:96px;top:50%;transform:translateY(-50%);bottom:auto;opacity:1}
.thumbs{display:flex;gap:0;overflow-x:auto;scrollbar-width:none}
.thumbs::-webkit-scrollbar{display:none}
.thumb{flex:0 0 auto;width:120px;height:80px;padding:0;border:0;background:none;opacity:.55;transition:opacity .2s}
.thumb.active,.thumb:hover{opacity:1}
.thumb img{width:100%;height:100%;object-fit:cover;display:block}

/* reviews */
.review-card{background:var(--card);max-width:650px;padding:1.5rem 1.6rem 3.2rem}
.review-text{font-family:'Poppins',sans-serif;font-size:1.2rem;line-height:1.35;margin:.5rem 0 0}
.round-arrow{width:80px;height:80px;border-radius:50%;border:0;background:var(--arrow);display:grid;place-items:center;cursor:pointer;transition:background .2s}
.round-arrow:hover{background:var(--ink)}

/* footer */
.site-footer{background:var(--footer);color:#fff;padding-top:2.5rem}
.site-footer a{color:#fff}
.site-footer .col-6 a{color:#cdb9a3}
.footer-logo{width:min(230px,60%);height:auto}
.site-footer h4{font-size:2rem}

@media(max-width:767.98px){
  .navbar-brand img{height:70px}
  .btn-outline-site{min-width:0;width:100%}
  .round-arrow{width:64px;height:64px}
  .site-header .navbar-nav{padding:1rem 0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.carousel-item{transition:none}}
