:root{--forest:#153d35;--forest-dark:#0c2924;--gold:#c99b55;--cream:#f5f0e6;--paper:#fffdf8;--ink:#172520;--muted:#68736e;--line:rgba(23,37,32,.14);--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.5}img{display:block;width:100%;object-fit:cover}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.container{width:min(1180px,calc(100% - 48px));margin-inline:auto}.skip-link{position:fixed;top:-100px;left:20px;z-index:99;background:#fff;padding:12px}.skip-link:focus{top:20px}.announcement{padding:8px 20px;background:var(--forest-dark);color:#dcd5c7;text-align:center;font-size:11px;letter-spacing:.06em}.site-header{height:80px;position:relative;z-index:20;background:var(--paper);border-bottom:1px solid var(--line)}.nav-wrap{height:100%;display:flex;align-items:center;gap:42px}.logo{display:flex;align-items:center;gap:13px;font:600 21px/1 var(--serif)}.logo small{display:block;margin-top:6px;font:600 7px/1 var(--sans);letter-spacing:.22em;color:var(--muted)}.logo-mark{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--gold);color:var(--gold);font:600 20px var(--serif);transform:rotate(45deg)}.logo-mark::first-letter{transform:rotate(-45deg)}.main-nav{display:flex;gap:28px;margin-left:auto;font-size:12px;font-weight:600}.main-nav a{padding:31px 0;border-bottom:2px solid transparent}.main-nav a:hover{border-color:var(--gold)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 25px;border:0;background:var(--forest);color:#fff;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}.button-small{min-height:42px;padding:0 18px}.button-gold{background:var(--gold);color:var(--forest-dark)}.menu-toggle{display:none;margin-left:auto;border:0;background:none}.hero{height:680px;position:relative;display:flex;align-items:center;color:#fff;overflow:hidden}.hero>img,.hero-shade{position:absolute;inset:0;height:100%}.hero>img{object-position:center 48%}.hero-shade{background:linear-gradient(90deg,rgba(5,20,17,.87) 0%,rgba(5,20,17,.56) 48%,rgba(5,20,17,.14) 100%)}.hero-content{position:relative;z-index:2;padding-bottom:50px}.kicker{margin:0 0 17px;color:var(--gold);font-size:10px;font-weight:700;letter-spacing:.23em;text-transform:uppercase}.kicker:before{content:"";display:inline-block;width:36px;height:1px;margin:0 12px 3px 0;background:currentColor}.light{color:#fff}.hero h1,.section h2,.cta h2{margin:0;font:500 clamp(48px,6vw,82px)/1 var(--serif);letter-spacing:-.025em}.hero h1 em,.section h2 em{color:#e8c993;font-weight:500}.hero-copy{max-width:560px;margin:25px 0 33px;color:rgba(255,255,255,.8);font-size:16px;line-height:1.75}.hero-actions{display:flex;align-items:center;gap:28px}.text-button{display:inline-flex;align-items:center;gap:18px;padding-bottom:4px;border-bottom:1px solid;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.hero-side{position:absolute;right:25px;bottom:110px;z-index:2;display:flex;align-items:center;gap:16px;writing-mode:vertical-rl;font-size:9px;letter-spacing:.2em}.hero-side span{height:50px;width:1px;background:#fff}.booking-panel{position:relative;z-index:5;margin-top:-60px}.booking-form{min-height:120px;display:grid;grid-template-columns:1.2fr repeat(4,1fr) .9fr;align-items:stretch;background:#fff;box-shadow:0 20px 50px rgba(14,35,29,.18)}.booking-title,.booking-form label{display:flex;flex-direction:column;justify-content:center;padding:18px 25px;border-right:1px solid var(--line)}.booking-title span,.booking-form label span{margin-bottom:8px;color:var(--muted);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.15em}.booking-title strong{font:500 22px var(--serif)}.booking-form input,.booking-form select{width:100%;border:0;outline:0;background:none;color:var(--ink);font-size:13px}.booking-form .button{margin:22px}.section{padding-top:115px;padding-bottom:115px}.about{display:grid;grid-template-columns:1.1fr .9fr;gap:95px;align-items:center}.about-images{height:570px;position:relative}.image-main{width:82%;height:490px}.image-small{width:43%;height:245px;position:absolute;right:0;bottom:0;border:10px solid var(--paper)}.image-badge{width:112px;height:112px;position:absolute;z-index:2;right:10%;top:35px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;background:var(--gold);color:var(--forest-dark)}.image-badge strong{font:600 25px var(--serif)}.image-badge span{font-size:9px;text-transform:uppercase}.about-copy h2,.section-heading h2,.facility-heading h2,.location-copy h2{font-size:clamp(40px,4.2vw,62px)}.about-copy>p,.section-heading>p,.facility-heading>p,.location-copy>p{color:var(--muted);line-height:1.8}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:35px 0}.stats div{padding-top:17px;border-top:1px solid var(--line)}.stats strong,.stats span{display:block}.stats strong{font:500 25px var(--serif)}.stats span{color:var(--muted);font-size:10px}.rooms{background:var(--cream)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:48px}.section-heading>p{max-width:400px}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.room-card{background:#fff;box-shadow:0 9px 25px rgba(20,42,35,.06);transition:.25s}.room-card:hover{transform:translateY(-6px)}.room-visual{height:270px;position:relative;background-size:cover;background-position:center}.room-one{background-image:linear-gradient(rgba(10,35,29,.1),rgba(10,35,29,.25)),url("../images/reception-front.jpeg")}.room-two{background-image:linear-gradient(rgba(10,35,29,.1),rgba(10,35,29,.25)),url("../images/lobby-wide.jpeg")}.room-three{background-image:linear-gradient(rgba(10,35,29,.1),rgba(10,35,29,.25)),url("../images/reception-wide.jpeg")}.room-visual span{position:absolute;top:18px;left:18px;padding:7px 10px;background:var(--gold);font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.room-body{padding:25px}.room-meta{display:flex;gap:18px;color:var(--muted);font-size:9px;text-transform:uppercase}.room-body h3{margin:12px 0 8px;font:500 27px var(--serif)}.room-body p{min-height:52px;color:var(--muted);font-size:12px;line-height:1.65}.room-bottom{display:flex;justify-content:space-between;padding-top:17px;border-top:1px solid var(--line);font-size:11px}.room-bottom a{font-weight:700;text-transform:uppercase}.facilities{display:grid;grid-template-columns:.8fr 1.6fr;gap:80px}.facility-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.facility{min-height:220px;position:relative;padding:30px 24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.facility b{position:absolute;right:15px;top:12px;color:#b7bdb9;font-size:9px}.facility-icon{color:var(--gold);font-size:25px}.facility h3{margin:18px 0 8px;font:500 18px var(--serif)}.facility p{margin:0;color:var(--muted);font-size:11px;line-height:1.6}.gallery{background:var(--forest);color:#fff}.gallery .section-heading>p{color:rgba(255,255,255,.6)}.gallery-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;grid-template-rows:250px 250px;gap:8px}.gallery-grid figure{position:relative;margin:0;overflow:hidden}.gallery-grid img{height:100%;transition:.5s}.gallery-grid figure:hover img{transform:scale(1.035)}.gallery-large{grid-row:1/3}.gallery-wide{grid-column:2/4}.gallery-grid figcaption{position:absolute;left:18px;bottom:15px;padding:7px 10px;background:rgba(10,34,29,.8);font-size:9px;text-transform:uppercase;letter-spacing:.12em}.location{display:grid;grid-template-columns:1.2fr .8fr;gap:85px;align-items:center}.map-placeholder{height:500px;position:relative;display:grid;place-items:center;background:#e8e5dc;overflow:hidden}.map-lines{position:absolute;inset:-100px;background:repeating-linear-gradient(31deg,transparent 0 64px,rgba(62,84,75,.12) 65px 68px),repeating-linear-gradient(125deg,transparent 0 95px,rgba(62,84,75,.12) 96px 99px)}.map-pin{z-index:1;width:58px;height:58px;display:grid;place-items:center;border:8px solid rgba(255,255,255,.8);border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--forest);color:#fff;font:600 20px var(--serif)}.map-placeholder small{position:absolute;bottom:25px;z-index:1;padding:8px 12px;background:#fff}.location-copy ul{padding:0;margin:30px 0;list-style:none}.location-copy li{display:flex;flex-direction:column;padding:13px 0;border-bottom:1px solid var(--line)}.location-copy li span{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.12em}.location-copy li strong{margin-top:4px;font-size:12px}.disabled{opacity:.55;pointer-events:none}.cta{padding:100px 20px;background:linear-gradient(rgba(8,30,24,.86),rgba(8,30,24,.86)),url("../images/hotel-exterior.jpeg") center/cover;color:#fff;text-align:center}.cta h2{font-size:clamp(42px,5vw,66px)}.cta p{margin:18px auto 28px;color:rgba(255,255,255,.7)}.footer{padding-top:70px;background:var(--forest-dark);color:#fff}.footer-grid{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:60px;padding-bottom:55px}.footer .logo small{color:rgba(255,255,255,.45)}.footer-brand p,.footer-grid div>p{max-width:300px;color:rgba(255,255,255,.55);font-size:12px}.footer h4{margin:0 0 20px;color:var(--gold);font-size:10px;text-transform:uppercase;letter-spacing:.16em}.footer-grid div>a:not(.logo):not(.text-button),.footer-grid div>span{display:block;margin:10px 0;color:rgba(255,255,255,.65);font-size:12px}.footer-bottom{display:flex;justify-content:space-between;padding:22px 0;border-top:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.4);font-size:10px}.back-top{width:42px;height:42px;position:fixed;z-index:15;right:22px;bottom:22px;border:0;background:var(--gold);opacity:0;pointer-events:none;transition:.25s}.back-top.visible{opacity:1;pointer-events:auto}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}
@media(max-width:980px){.main-nav{display:none;position:absolute;left:0;right:0;top:80px;padding:24px;background:#fff;box-shadow:0 20px 25px rgba(0,0,0,.1)}.main-nav.open{display:flex;flex-direction:column;gap:4px}.main-nav a{padding:12px}.menu-toggle{width:42px;height:42px;flex:0 0 42px;display:grid;place-content:center;padding:0;border:1px solid var(--line);cursor:pointer}.menu-toggle span{display:block;width:21px;height:2px;margin:3px 0;background:var(--ink)}.desktop-book{display:none}.booking-form{grid-template-columns:repeat(2,1fr)}.booking-title{grid-column:1/3}.booking-form .button{grid-column:1/3}.about{gap:40px}.facilities{grid-template-columns:1fr}.footer-grid{grid-template-columns:1.5fr 1fr 1fr}.footer-grid>div:last-child{grid-column:2/4}}
@media(max-width:700px){.container{width:min(100% - 32px,1180px)}.announcement{font-size:9px}.site-header{height:70px}.logo{font-size:18px}.logo-mark{width:32px;height:32px}.main-nav{top:70px}.hero{height:620px}.hero>img{object-position:60% center}.hero-content{padding-bottom:100px}.hero h1{font-size:50px}.hero-copy{font-size:13px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-side{display:none}.booking-panel{margin-top:-72px}.booking-form{display:grid;grid-template-columns:1fr 1fr}.booking-title{grid-column:1/3;padding:20px}.booking-form label{padding:15px}.booking-form .button{margin:12px}.section{padding-top:80px;padding-bottom:80px}.about{grid-template-columns:1fr}.about-images{height:430px}.image-main{height:370px}.image-small{height:180px}.section-heading{display:block}.section-heading>p{margin-top:20px}.room-grid{grid-template-columns:1fr}.room-visual{height:250px}.facilities{gap:35px}.facility-grid{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:260px 180px 220px}.gallery-large{grid-column:1/3;grid-row:auto}.gallery-wide{grid-column:1/3}.location{grid-template-columns:1fr;gap:45px}.map-placeholder{height:360px}.footer-grid{grid-template-columns:1fr 1fr;gap:40px}.footer-brand{grid-column:1/3}.footer-grid>div:last-child{grid-column:auto}.footer-bottom{line-height:1.7;flex-direction:column}.stats{gap:10px}.stats strong{font-size:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}

/* Current room catalogue and real hotel location */
.room-one{background-image:linear-gradient(rgba(10,35,29,.05),rgba(10,35,29,.2)),url("../images/master-bed.jpeg")}
.room-two{background-image:linear-gradient(rgba(10,35,29,.05),rgba(10,35,29,.2)),url("../images/single-double-bed.jpeg")}
.room-grid-two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:850px;margin-inline:auto}
.map-embed{height:500px;position:relative;background:#e8e5dc;overflow:hidden}
.map-embed iframe{width:100%;height:100%;border:0;filter:saturate(.8) contrast(.95)}
@media(max-width:700px){.room-grid-two{grid-template-columns:1fr}.map-embed{height:360px}}

.room-grid-four{grid-template-columns:repeat(2,minmax(0,1fr));max-width:920px;margin-inline:auto}
.room-four{background-image:linear-gradient(145deg,#285e5c,#173f42)}
.room-placeholder{display:grid;place-items:center;background-image:linear-gradient(145deg,#477b77,#214b4b)}
.room-placeholder b{max-width:170px;color:rgba(255,255,255,.85);font-family:var(--sans);font-size:14px;font-weight:500;text-align:center}
.room-bottom strong small{color:var(--muted);font-family:var(--sans);font-size:10px;font-weight:500}
.room-bottom strong{font-family:"Noto Sans Bengali",var(--sans);font-variant-numeric:tabular-nums;letter-spacing:.025em}
.room-bottom a{color:var(--forest-dark)}
@media(max-width:700px){.room-grid-four{grid-template-columns:1fr}}

/* ৬০% হালকা ভিত্তি, ৩০% শান্ত নীল-সবুজ, ১০% উষ্ণ কার্যকরী রং */
:root{
  --forest:#245a58;
  --forest-dark:#173f42;
  --gold:#d88a3d;
  --cream:#f3eee4;
  --paper:#fffdf8;
  --ink:#214b4b;
  --muted:#647a78;
  --line:rgba(33,75,75,.15);
  --serif:"Tiro Bangla","Noto Serif Bengali",Georgia,serif;
  --sans:"Hind Siliguri","Noto Sans Bengali",Arial,sans-serif
}
body{background:var(--paper)}
.logo-mark{border-color:var(--forest);color:var(--forest)}
.kicker{color:#377476}
.hero .kicker,.gallery .kicker,.cta .kicker{color:#dbe9e6}
.hero h1 em,.section h2 em{color:#79aaa5}
.button,.button-gold{background:var(--gold);color:#2b241d}
.text-button{color:var(--forest-dark)}
.hero .text-button,.footer .text-button{color:#fff}
.image-badge,.room-visual span{background:#4f8580;color:#fff}
.back-top{background:var(--gold);color:#2b241d}

/* বাংলা অক্ষরের জন্য পরিশীলিত টাইপোগ্রাফি */
body{font-size:16px}
.logo{font-family:var(--serif);font-weight:400;letter-spacing:0}
.logo small,.announcement,.main-nav,.button,.kicker,.booking-title span,
.booking-form label span,.room-meta,.facility b,.gallery-grid figcaption,
.location-copy li span,.footer h4{font-family:var(--sans);letter-spacing:.025em}
.hero h1,.section h2,.cta h2,.booking-title strong,.room-body h3,
.stats strong,.image-badge strong{font-family:var(--serif);font-weight:400}
.hero h1{line-height:1.12}
.section h2,.cta h2{line-height:1.2}
.booking-title strong{font-size:27px;line-height:1.35}
.booking-form input,.booking-form select{font-family:var(--sans);font-size:15px}
.booking-form label span,.booking-title span{font-size:11px;font-weight:600}
.button{font-family:var(--sans);font-size:13px;letter-spacing:.015em}
.main-nav{font-size:14px}
.room-body h3{font-size:29px;line-height:1.35}

/* সহজে চোখে পড়ার জন্য মূল বুকিং বাটন */
.hero-book-now,.book-now-nav{position:relative;font-size:15px!important;letter-spacing:.01em!important;box-shadow:0 10px 25px rgba(218,139,49,.38);animation:book-now-glow 2.2s ease-in-out infinite}
.hero-book-now{min-height:58px;padding-inline:30px;gap:12px;border:2px solid rgba(255,255,255,.65)}
.hero-book-now span{font-size:20px;line-height:1}
.book-now-nav{border:1px solid rgba(255,255,255,.35)}
.hero-book-now:hover,.book-now-nav:hover{transform:translateY(-2px);filter:brightness(1.06)}
@keyframes book-now-glow{0%,100%{box-shadow:0 10px 25px rgba(218,139,49,.38)}50%{box-shadow:0 12px 34px rgba(255,205,115,.68)}}
@media(max-width:700px){.hero-book-now{width:100%;min-height:60px;font-size:16px!important}.hero-actions{width:100%}.hero-copy{max-width:370px}}

/* ব্র্যান্ডিং ও সহজে পড়া যায় এমন বাংলা font stack */
:root{--sans:"SutonnyMJ","Hind Siliguri","Noto Sans Bengali",sans-serif;--serif:"SutonnyMJ","Tiro Bangla","Noto Sans Bengali",serif}
.logo{gap:11px;font-family:var(--sans);letter-spacing:0}
.brand-logo{width:51px;height:51px;flex:0 0 51px;object-fit:contain}
.brand-copy{display:flex;flex-direction:column;gap:5px;white-space:nowrap}
.brand-copy strong{color:var(--forest-dark);font:700 23px/1 var(--serif);letter-spacing:-.03em}
.brand-copy small{display:block;margin:0;color:#72817d;font:600 9px/1 var(--sans);letter-spacing:.045em}
.footer .brand-logo{padding:3px;border-radius:9px;background:#f8f3e8}
.footer .brand-copy strong{color:#fff}.footer .brand-copy small{color:rgba(255,255,255,.58)}
.announcement a,.footer-brand p a{color:inherit;text-decoration:underline;text-underline-offset:3px}
@media(max-width:700px){.brand-logo{width:42px;height:42px;flex-basis:42px}.brand-copy strong{font-size:20px}.brand-copy small{font-size:8px}}
.facility h3{font-family:var(--serif);font-size:20px;line-height:1.4}
.about-copy>p,.section-heading>p,.facility-heading>p,.location-copy>p,
.room-body p,.facility p{font-size:14px}
