:root{--color-terracotta:#D35400;--color-terracotta-hover:#B84700;--color-terracotta-subtle:rgba(211,84,0,0.08);--color-terracotta-glow:rgba(211,84,0,0.25);--color-sand:#F7F3EB;--color-sand-light:#FDFBF7;--color-sand-muted:#EAE4D5;--color-sand-dark:#DDD4C0;--color-ocean:#0C2B35;--color-ocean-deep:#071C23;--color-ocean-surface:#133D4A;--color-ocean-subtle:rgba(12,43,53,0.06);--color-sage:#4E6E58;--color-sage-light:#70947B;--color-sage-subtle:rgba(78,110,88,0.12);--color-charcoal:#1A1D20;--color-charcoal-light:#2C3238;--color-charcoal-muted:#485058;--color-charcoal-subtle:rgba(26,29,32,0.06);--color-white:#FFFFFF;--color-white-translucent:rgba(255,255,255,0.85);--color-sand-border:rgba(26,29,32,0.09);--color-teal-dark:#0C2B35;--color-sage-dark:#4E6E58;--color-terracotta-light:#F8B179;--space-xxl:clamp(4rem,8vw,7.5rem);--text-2xl:clamp(1.75rem,2.8vw + 0.4rem,2.9rem);--text-xl:clamp(1.3rem,1.8vw + 0.2rem,2rem);--text-lg:clamp(1.05rem,0.5vw + 0.95rem,1.25rem);--glass-bg-light:rgba(247,243,235,0.82);--glass-bg-card:rgba(255,255,255,0.65);--glass-bg-ocean:rgba(12,43,53,0.85);--glass-border-light:rgba(255,255,255,0.45);--glass-border-subtle:rgba(26,29,32,0.08);--glass-border-dark:rgba(255,255,255,0.12);--glass-blur:blur(18px);--glass-blur-heavy:blur(28px);--shadow-sm:0 2px 8px rgba(12,43,53,0.04);--shadow-md:0 10px 30px -10px rgba(12,43,53,0.08);--shadow-lg:0 24px 48px -12px rgba(12,43,53,0.12);--shadow-xl:0 35px 70px -15px rgba(12,43,53,0.18);--shadow-terracotta:0 14px 32px -8px rgba(211,84,0,0.35);--shadow-inner-soft:inset 0 1px 2px rgba(255,255,255,0.6);--font-serif:'Plus Jakarta Sans',system-ui,-apple-system,BlinkMacSystemFont,sans-serif;--font-sans:'Plus Jakarta Sans',system-ui,-apple-system,BlinkMacSystemFont,sans-serif;--text-display:clamp(2.8rem,6.5vw + 0.8rem,5.8rem);--text-h1:clamp(2.2rem,4.2vw + 0.6rem,4.2rem);--text-h2:clamp(1.75rem,2.8vw + 0.4rem,2.9rem);--text-h3:clamp(1.3rem,1.8vw + 0.2rem,2rem);--text-h4:clamp(1.1rem,1.2vw + 0.1rem,1.45rem);--text-body-lg:clamp(1.05rem,0.5vw + 0.95rem,1.25rem);--text-body:clamp(0.9375rem,0.2vw + 0.88rem,1.0625rem);--text-sm:clamp(0.8125rem,0.15vw + 0.78rem,0.9rem);--text-xs:clamp(0.72rem,0.1vw + 0.68rem,0.8rem);--space-xs:clamp(0.25rem,0.5vw,0.5rem);--space-sm:clamp(0.5rem,1vw,0.875rem);--space-md:clamp(1rem,2vw,1.5rem);--space-lg:clamp(1.75rem,3vw,2.5rem);--space-xl:clamp(2.75rem,5vw,4.5rem);--space-2xl:clamp(4rem,8vw,7.5rem);--space-3xl:clamp(6rem,12vw,11rem);--container-max:1380px;--container-wide:1540px;--container-narrow:1040px;--gutter:clamp(1.25rem,3.5vw,3rem);--radius-xs:4px;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-xl:36px;--radius-pill:9999px;--ease-awwwards:cubic-bezier(0.16,1,0.3,1);--ease-snappy:cubic-bezier(0.22,1,0.36,1);--transition-fast:200ms var(--ease-snappy);--transition-smooth:450ms var(--ease-awwwards);--transition-slow:750ms var(--ease-awwwards);--z-negative:-1;--z-elevated:10;--z-sticky:100;--z-overlay:500;--z-drawer:800;--z-modal:900;--z-toast:1000}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{font-size:16px;scroll-behavior:smooth;scroll-padding-top:100px;background-color:var(--color-sand);color:var(--color-charcoal);text-rendering:optimizeLegibility;overflow-x:clip;max-width:100%}body{font-family:var(--font-sans);font-size:var(--text-body);line-height:1.65;font-weight:400;background-color:var(--color-sand);color:var(--color-charcoal);overflow-x:clip;max-width:100%;position:relative}img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}img{aspect-ratio:attr(width) / attr(height)}.aspect-16-9,.hero-bg-image,.timeline-image-preview img,.riad-banner-media img,.room-media-box img,.insta-tile img,#modal-room-img{aspect-ratio:1376 / 768}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}a{color:inherit;text-decoration:none;transition:color var(--transition-fast)}ul,ol{list-style:none}::selection{background-color:var(--color-terracotta);color:var(--color-white)}h1,h2,h3,h4,.font-serif{font-family:var(--font-serif);font-weight:700;line-height:1.15;color:var(--color-ocean);text-wrap:balance;overflow-wrap:break-word}h1,.text-h1{font-size:var(--text-h1);letter-spacing:-0.015em}h2,.text-h2{font-size:var(--text-h2);letter-spacing:-0.01em}h3,.text-h3{font-size:var(--text-h3);letter-spacing:0}h4,.text-h4{font-size:var(--text-h4);letter-spacing:0.01em}.font-display{font-family:var(--font-serif);font-size:var(--text-display);font-weight:400;line-height:1.05;letter-spacing:-0.025em}.text-lead{font-size:var(--text-body-lg);line-height:1.7;color:var(--color-charcoal-muted);font-weight:400}.text-muted{color:var(--color-charcoal-muted)}.text-terracotta{color:var(--color-terracotta)}.text-ocean{color:var(--color-ocean)}.text-sage{color:var(--color-sage)}.text-uppercase{text-transform:uppercase;letter-spacing:0.14em;font-size:var(--text-xs);font-weight:600}.container{width:100%;max-width:var(--container-max);margin-left:auto;margin-right:auto;padding-left:var(--gutter);padding-right:var(--gutter)}.container-wide{width:100%;max-width:var(--container-wide);margin-left:auto;margin-right:auto;padding-left:var(--gutter);padding-right:var(--gutter)}.container-narrow{width:100%;max-width:var(--container-narrow);margin-left:auto;margin-right:auto;padding-left:var(--gutter);padding-right:var(--gutter)}.section{padding-top:var(--space-2xl);padding-bottom:var(--space-2xl);position:relative}.section-dark{background-color:var(--color-ocean);color:var(--color-sand)}.section-dark h1,.section-dark h2,.section-dark h3,.section-dark h4{color:var(--color-white)}.section-dark .text-muted{color:rgba(247,243,235,0.7)}.section-header{margin-bottom:var(--space-xl)}.section-header.text-center{text-align:center;max-width:780px;margin-left:auto;margin-right:auto}.section-eyebrow{display:inline-flex;align-items:center;gap:0.5rem;font-family:var(--font-sans);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:0.16em;color:var(--color-terracotta);margin-bottom:var(--space-xs)}.section-eyebrow::before{content:'';display:inline-block;width:18px;height:2px;background-color:var(--color-terracotta)}.section-title{margin-bottom:var(--space-sm)}.section-desc{font-size:var(--text-body-lg);color:var(--color-charcoal-muted);max-width:620px}.section-dark .section-desc{color:rgba(247,243,235,0.75)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.625rem;padding:0.875rem 1.85rem;border-radius:var(--radius-pill);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600;line-height:1;letter-spacing:0.02em;text-decoration:none;transition:transform var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);white-space:nowrap;user-select:none;will-change:transform}.btn:active{transform:scale(0.98)}.btn-primary{background-color:var(--color-terracotta);color:var(--color-white);box-shadow:var(--shadow-terracotta)}.btn-primary:hover{background-color:var(--color-terracotta-hover);transform:translateY(-2px);box-shadow:0 18px 36px -8px rgba(211,84,0,0.45)}.btn-secondary{background-color:var(--color-ocean);color:var(--color-sand);box-shadow:var(--shadow-md)}.btn-secondary:hover{background-color:var(--color-ocean-surface);color:var(--color-white);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-outline-dark{background:transparent;color:var(--color-ocean);border:1.5px solid rgba(12,43,53,0.3)}.btn-outline-dark:hover{border-color:var(--color-ocean);background-color:var(--color-ocean);color:var(--color-white);transform:translateY(-2px)}.btn-outline-white{background:rgba(255,255,255,0.12);backdrop-filter:blur(10px);color:var(--color-white);border:1.5px solid rgba(255,255,255,0.4)}.btn-outline-white:hover{background-color:var(--color-white);color:var(--color-ocean);border-color:var(--color-white);transform:translateY(-2px);box-shadow:0 10px 25px rgba(0,0,0,0.2)}.btn-whatsapp{background-color:#25D366;color:var(--color-white);box-shadow:0 10px 25px -5px rgba(37,211,102,0.4)}.btn-whatsapp:hover{background-color:#20BA5A;transform:translateY(-2px);box-shadow:0 16px 32px -6px rgba(37,211,102,0.5)}.btn-sm{padding:0.625rem 1.25rem;font-size:var(--text-xs)}.btn-lg{padding:1.15rem 2.25rem;font-size:var(--text-body)}.btn-icon{width:44px;height:44px;min-width:44px;min-height:44px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-pill)}.pill{display:inline-flex;align-items:center;gap:0.4rem;padding:0.4rem 0.9rem;border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:600;letter-spacing:0.04em;line-height:1.2;white-space:nowrap}.pill-terracotta{background-color:var(--color-terracotta-subtle);color:var(--color-terracotta);border:1px solid rgba(211,84,0,0.2)}.pill-ocean{background-color:var(--color-ocean-subtle);color:var(--color-ocean);border:1px solid rgba(12,43,53,0.15)}.pill-sage{background-color:var(--color-sage-subtle);color:var(--color-sage);border:1px solid rgba(78,110,88,0.25)}.pill-glass{background-color:rgba(255,255,255,0.25);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--color-white);border:1px solid rgba(255,255,255,0.35);box-shadow:0 4px 15px rgba(0,0,0,0.08)}.pill-glass-dark{background-color:rgba(12,43,53,0.65);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--color-sand);border:1px solid rgba(255,255,255,0.12)}.glass-card{background:var(--glass-bg-card);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:transform var(--transition-smooth),box-shadow var(--transition-smooth),border-color var(--transition-smooth)}.glass-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl);border-color:rgba(255,255,255,0.8)}.glass-card-dark{background:var(--glass-bg-ocean);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border-dark);border-radius:var(--radius-lg);color:var(--color-sand)}:focus-visible{outline:2px solid var(--color-terracotta);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}body.no-scroll{overflow:hidden;height:100vh}