:root{--ink:#111210;--black:#0d0f0e;--cream:#f1eee8;--paper:#e9e4db;--muted:#9f9c95;--ruby:#bd3029;--ruby-bright:#d9493c;--line:rgba(255,255,255,.2);--display:'Manrope','DM Sans','Segoe UI',sans-serif;--serif:var(--display);--sans:'DM Sans','Manrope','Segoe UI',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--black);color:#f5f1e9;font-family:var(--sans);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #e65245;outline-offset:3px}[hidden]{display:none!important}::selection{background:#b5352b;color:#fff}.container{width:min(1390px,calc(100% - 112px));margin-inline:auto}.eyebrow,.section-number{font-size:11px;font-weight:600;letter-spacing:.22em;line-height:1.6}.section-number{color:#7d7770}.section-number.light{color:#c8c1b9}.eyebrow.dark{color:#575850}.section-cream{background:var(--cream);color:var(--ink)}h1,h2,h3,p{margin-top:0}h1,h2{font-weight:400}h1 i,h2 i{font-family:var(--serif);font-weight:400}p{line-height:1.8}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;border:1px solid transparent;padding:16px 20px;min-height:50px;font-size:11px;font-weight:700;letter-spacing:.13em;text-align:left;transition:background .25s,border-color .25s,transform .25s}.btn:hover{transform:translateY(-2px)}.btn-red{background:var(--ruby);color:white}.btn-red:hover{background:#dc4538}.btn-large{min-height:58px;padding:19px 25px;min-width:225px}.btn-outline{border-color:rgba(255,255,255,.5);background:transparent;color:white}.btn-outline:hover{background:white;color:var(--ink)}.btn-dark{background:#171917;color:#fff}.btn-dark:hover{background:#30332e}.btn-cream{background:var(--cream);color:var(--ink)}.btn-cream:hover{background:white}.btn-text{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;border:0;border-bottom:1px solid currentColor;padding:13px 0;background:transparent;color:inherit;font-size:11px;font-weight:600;letter-spacing:.12em;transition:gap .2s}.btn-text:hover{gap:32px}.dark-text{color:#31332f}
/* The opening destination choice */
.gateway{min-height:100svh;position:relative;display:flex;flex-direction:column;background:#111210;isolation:isolate}.gateway-head,.gateway-foot{position:absolute;left:0;right:0;z-index:5;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.gateway-head{top:0;padding:30px 44px}.gateway-foot{bottom:0;padding:20px 44px;font-size:10px;letter-spacing:.2em;color:rgba(255,255,255,.75)}.gateway-head>span{font-size:12px;font-weight:600;letter-spacing:.26em}.gateway-head button{pointer-events:auto}.language-toggle{border:0;background:none;color:inherit;font-size:11px;font-weight:700;letter-spacing:.16em;padding:14px 8px}.language-toggle:hover{color:#f08074}.gateway-heading{position:absolute;top:104px;left:50%;z-index:5;transform:translateX(-50%);text-align:center;pointer-events:none;white-space:nowrap}.gateway-heading .eyebrow{color:#e3dbd2}.gateway-heading h1{margin:7px 0 4px;font-family:var(--serif);font-size:clamp(44px,5.5vw,86px);letter-spacing:-.035em;line-height:1.1}.gateway-heading h1 i{font-style:italic;color:#e6aaa0}.gateway-heading p{margin:0;color:rgba(255,255,255,.8);font-size:13px}.gateway-grid{display:grid;grid-template-columns:1fr 1fr;min-height:100svh}.gateway-card{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;min-height:100svh;padding:30px 55px 38px;border:0;color:white;text-align:left;background:#152123;isolation:isolate}.gateway-card::before{content:"";position:absolute;inset:0;z-index:-3;transition:transform 1.2s ease,filter .6s}.gateway-card:hover::before{transform:scale(1.07)}.gateway-istanbul::before{background:url('media/ruby-01.webp') center/cover no-repeat;filter:brightness(.65)}.gateway-mare::before{background:radial-gradient(ellipse at 80% 85%,#326d7b 0%,transparent 35%),radial-gradient(ellipse at 25% 45%,#17424a 0%,transparent 48%),linear-gradient(150deg,#122e39 0%,#0b151b 64%,#021216 100%)}.gateway-card-overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(5,7,7,.62) 0%,rgba(5,7,7,.06) 39%,rgba(5,7,7,.75) 100%)}.gateway-card:first-child:after{content:"";position:absolute;right:0;top:0;bottom:0;width:1px;background:rgba(255,255,255,.3)}.mare-shimmer{position:absolute;inset:28% -20% -20%;z-index:-2;opacity:.7;background:repeating-radial-gradient(ellipse at 50% 85%,transparent 0 22px,rgba(184,218,216,.075) 24px 26px,transparent 28px 47px);transform:perspective(450px) rotateX(43deg);animation:mareDrift 13s ease-in-out infinite alternate}@keyframes mareDrift{from{transform:perspective(450px) rotateX(43deg) translateY(10px)}to{transform:perspective(450px) rotateX(43deg) translateY(-32px)}}.card-top{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2;font-size:11px;letter-spacing:.2em;opacity:.84}.card-top span{font-size:20px}.card-center{display:flex;flex-direction:column;position:relative;z-index:2;margin-top:30vh}.card-kicker{font-size:12px;letter-spacing:.28em}.card-center strong{font-family:var(--serif);font-size:clamp(66px,7.5vw,128px);font-weight:400;line-height:.93;letter-spacing:-.055em;margin:18px 0}.card-center strong i{font-weight:400}.card-caption{font-size:13px;letter-spacing:.07em;color:#e9e0d9}.card-bottom{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2;padding-top:27px;border-top:1px solid rgba(255,255,255,.48);font-size:11px;font-weight:600;letter-spacing:.22em}.circle-arrow{width:42px;height:42px;border:1px solid rgba(255,255,255,.8);border-radius:100%;display:grid;place-items:center;font-size:22px;transition:background .2s,color .2s}.gateway-card:hover .circle-arrow{background:#fff;color:#111}.gateway-card:focus-visible{outline-offset:-4px}
/* City header */
.site-header{position:fixed;z-index:40;top:0;left:0;right:0;height:92px;display:flex;align-items:center;gap:48px;padding:0 47px;border-bottom:1px solid rgba(255,255,255,.2);transition:background .25s,height .25s,border .25s}.site-header.scrolled{height:76px;background:rgba(13,15,14,.97);border-color:rgba(255,255,255,.12);backdrop-filter:blur(16px)}.header-logo{display:block;width:125px;flex:none}.header-logo img{width:100%;filter:brightness(1.2)}.header-nav{display:flex;align-items:center;justify-content:center;gap:clamp(16px,2.25vw,38px);flex:1}.header-nav a{font-size:10px;font-weight:700;letter-spacing:.17em;white-space:nowrap;padding:15px 0;transition:color .2s}.header-nav a:hover{color:#fa8a7e}.header-right{display:flex;align-items:center;gap:20px}.city-switch{background:none;border:0;color:#e1dad2;font-size:9px;letter-spacing:.15em;white-space:nowrap}.city-switch:hover{color:white}.header-book{padding:13px 17px;min-height:44px;white-space:nowrap;font-size:10px;gap:20px}.mobile-menu-toggle{display:none;border:0;background:none;color:white}.mobile-nav{display:none}
/* Istanbul */
.hero{position:relative;min-height:100svh;background:#1e2622;isolation:isolate}.hero-media{position:absolute;inset:0;z-index:-3;background:url('media/ruby-01.webp') center 52%/cover no-repeat;animation:heroEase 16s ease-in-out alternate infinite}@keyframes heroEase{to{transform:scale(1.035)}}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(8,10,10,.73) 0%,rgba(9,11,11,.42) 40%,rgba(9,11,11,.08) 82%),linear-gradient(0deg,rgba(0,0,0,.55),transparent 35%,rgba(0,0,0,.32))}.hero-inner{position:relative;z-index:1;min-height:100svh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding-top:110px;padding-bottom:120px}.hero-eyebrow{font-size:11px;letter-spacing:.27em;font-weight:600;display:flex;align-items:center;gap:13px}.small-line{display:inline-block;width:36px;height:1px;background:#ea6858}.hero h1{font-family:var(--serif);font-size:clamp(66px,8vw,143px);line-height:.91;letter-spacing:-.05em;margin:32px 0}.hero h1 i{color:#fff3e9}.hero-inner>p{max-width:540px;font-size:16px;line-height:1.8;font-weight:300;color:#ebe6df}.hero-buttons{display:flex;align-items:center;gap:35px;margin-top:22px}.hero-bottom{position:absolute;left:50%;transform:translateX(-50%);bottom:35px;display:flex;align-items:center;justify-content:space-between;color:rgba(255,255,255,.8);font-size:10px;letter-spacing:.17em}.hero-bottom a{display:flex;align-items:center;gap:17px}
.intro-section{padding:145px 0 130px}.intro-layout{display:grid;grid-template-columns:31% 1fr;gap:40px}.intro-label{display:flex;flex-direction:column;justify-content:space-between;min-height:395px}.vertical-ruby{font-family:var(--serif);font-size:180px;line-height:.8;color:#c8c3b9;letter-spacing:-.07em}.vertical-ruby span{color:var(--ruby)}.intro-content{max-width:800px}.intro-content h2{font-family:var(--serif);font-size:clamp(51px,5.6vw,96px);line-height:1.06;letter-spacing:-.05em;margin:28px 0}.intro-content h2 i{color:#9d7868}.intro-content>p{font-size:17px;line-height:1.9;max-width:650px;color:#53534c}.intro-pills{display:flex;flex-wrap:wrap;gap:9px;margin-top:37px}.intro-pills span{border:1px solid #c9c4b9;border-radius:30px;font-size:10px;font-weight:700;letter-spacing:.11em;padding:10px 14px}.guide-link{margin-top:38px;display:flex;align-items:center;gap:13px;width:fit-content;border-bottom:1px solid #c0b9af;padding-bottom:12px;font-size:10px;font-weight:700;letter-spacing:.15em}.guide-mark{display:grid;place-items:center;border:1px solid #a5a19a;border-radius:100%;width:36px;height:36px;font-family:Georgia,serif;font-size:20px;color:#be3530}.guide-link>span:last-child{font-size:18px;margin-left:20px}
.split-feature{display:grid;grid-template-columns:53% 47%;min-height:750px;background:#171b19}.split-picture{position:relative;min-height:730px;overflow:hidden}.split-picture img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center;transition:transform 1.3s}.split-picture:hover img{transform:scale(1.03)}.split-picture>span{position:absolute;bottom:30px;left:40px;font-size:10px;font-weight:600;letter-spacing:.2em;text-shadow:0 1px 5px #000}.split-copy{display:flex;align-items:center;justify-content:center;padding:90px max(9%,45px)}.split-copy-inner{max-width:480px}.split-copy h2{font-family:var(--serif);font-size:clamp(52px,5.5vw,93px);letter-spacing:-.05em;line-height:1;margin:38px 0 32px}.split-copy h2 i{color:#d4ab9e}.split-copy p{font-size:16px;font-weight:300;line-height:1.95;color:#c5c0b8}.split-actions{display:flex;align-items:flex-start;flex-direction:column;gap:17px;margin-top:40px}
.menu-section{padding:138px 0 140px}.menu-heading{display:flex;justify-content:space-between;align-items:end;gap:70px;border-bottom:1px solid #c8c3ba;padding-bottom:54px}.menu-heading h2{font-family:var(--serif);font-size:clamp(55px,6.1vw,99px);line-height:1.02;letter-spacing:-.05em;margin:30px 0 0}.menu-heading h2 i{color:#9c766a}.menu-intro{max-width:380px}.menu-intro p{font-size:15px;color:#59574f;margin-bottom:25px}.pdf-links{display:flex;flex-wrap:wrap;gap:24px;font-size:10px;font-weight:700;letter-spacing:.15em}.pdf-links a{border-bottom:1px solid #5b5a55;padding-bottom:8px}.menu-tabs{display:flex;gap:37px;overflow-x:auto;white-space:nowrap;border-bottom:1px solid #c8c3ba;margin-top:43px;scrollbar-width:none}.menu-tabs::-webkit-scrollbar{display:none}.menu-tabs button{border:0;background:transparent;color:#8f8a81;padding:16px 0 22px;position:relative;font-size:11px;font-weight:700;letter-spacing:.16em}.menu-tabs button.active{color:#9e2c25}.menu-tabs button.active:after{content:"";position:absolute;bottom:-1px;height:2px;background:#b8322a;left:0;right:0}.menu-items{display:grid;grid-template-columns:1fr 1fr;column-gap:90px;padding-top:26px}.menu-item{border-bottom:1px solid #d2cdc4;padding:24px 0 23px}.menu-item-top{display:flex;justify-content:space-between;gap:25px}.menu-item h3{font-size:14px;letter-spacing:.045em;font-weight:600;line-height:1.5;margin-bottom:3px}.menu-item-price{flex:none;font-size:14px;font-weight:600;color:#992e28}.menu-item p{font-size:12px;color:#736e67;margin:0;line-height:1.65}.menu-bottom{display:flex;align-items:center;justify-content:space-between;gap:60px;margin-top:53px}.menu-bottom>span{max-width:650px;color:#817c74;font-size:11px;line-height:1.7}
.night-section{min-height:780px;display:flex;align-items:center;position:relative;isolation:isolate;overflow:hidden}.night-photo{position:absolute;inset:0;z-index:-3;background:url('media/ruby-03.webp') center 52%/cover no-repeat}.night-overlay{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(10,13,17,.85) 0%,rgba(10,13,17,.45) 45%,rgba(10,13,17,.08) 100%)}.night-content{padding:130px 0}.night-content h2{font-family:var(--serif);font-size:clamp(65px,7.7vw,128px);letter-spacing:-.05em;line-height:.97;margin:35px 0}.night-content h2 i{color:#e8c4b4}.night-content p{max-width:490px;font-size:16px;font-weight:300;color:#f1e8e2;margin-bottom:35px}.night-side{position:absolute;right:32px;top:50%;writing-mode:vertical-rl;font-size:10px;font-weight:600;letter-spacing:.2em;color:#ddd}
.private-section{padding:135px 0}.private-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:100px;align-items:end}.private-layout h2{font-family:var(--serif);font-size:clamp(55px,6.2vw,102px);line-height:1.03;letter-spacing:-.045em;margin:35px 0 0}.private-layout h2 i{color:#987669}.private-layout>div:last-child{max-width:380px}.private-layout p{font-size:16px;color:#605c55;line-height:1.9;margin-bottom:35px}
.gallery-section{background:#141816;padding:132px 0 140px}.gallery-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:58px}.gallery-title h2{font-family:var(--serif);font-size:clamp(55px,6.3vw,100px);line-height:1.06;letter-spacing:-.045em;margin:25px 0 0}.gallery-title h2 i{color:#d5a89d}.social-link{font-size:11px;font-weight:700;letter-spacing:.18em;border-bottom:1px solid #9a938f;padding-bottom:10px;margin-bottom:12px}.gallery-grid{display:grid;grid-template-columns:1.1fr .9fr .9fr;grid-template-rows:300px 300px;gap:15px}.gallery-photo{position:relative;overflow:hidden;border:0;padding:0;display:block;background:#30332e;color:white;text-align:left}.gallery-photo.big{grid-row:span 2}.gallery-photo.wide{grid-column:span 2}.gallery-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s,filter .6s;filter:brightness(.87)}.gallery-photo:hover img{transform:scale(1.04);filter:brightness(1)}.gallery-photo:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(0deg,rgba(0,0,0,.55),transparent);pointer-events:none}.gallery-photo span{position:absolute;z-index:1;left:22px;bottom:20px;font-size:10px;font-weight:700;letter-spacing:.15em}
.instagram-section{background:#d4c8b7;color:#171916;padding:100px 0}.instagram-layout{display:flex;align-items:center;justify-content:space-between;gap:50px}.instagram-layout h2{font-family:var(--serif);font-size:clamp(50px,5.2vw,84px);line-height:1.05;letter-spacing:-.04em;margin:20px 0}.instagram-layout h2 i{color:#9a6053}.instagram-layout p{max-width:460px;color:#61584f;font-size:15px}.instagram-right{display:flex;flex-direction:column;align-items:flex-end;gap:20px}.insta-glyph{font-family:Arial,sans-serif;font-size:110px;line-height:1;color:#a66c5f}
.booking-cta{padding:110px 0;background:#621d1a;background-image:radial-gradient(ellipse at 80% 40%,#a7392d 0,transparent 55%),linear-gradient(135deg,#3e1514,#681e1c)}.booking-cta-layout{display:flex;align-items:center;justify-content:space-between;gap:90px}.booking-cta h2{font-family:var(--serif);font-size:clamp(51px,5.5vw,90px);line-height:1.07;letter-spacing:-.05em;margin:25px 0}.booking-cta h2 i{color:#f7c6ba}.booking-cta p{color:#e6cec7;font-size:15px;max-width:560px}.booking-cta .btn{background:#f1ebe0;color:#401714;flex:none}.booking-cta .btn:hover{background:#fff}
.contact-section{padding:125px 0 145px}.contact-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:100px}.contact-layout h2{font-family:var(--serif);font-size:clamp(59px,6vw,98px);line-height:1;letter-spacing:-.045em;margin:30px 0}.contact-layout h2 i{color:#a17a6e}.contact-layout p{color:#625d55;font-size:16px;max-width:420px}.contact-cards{padding-top:28px}.contact-cards>div{display:flex;flex-direction:column;gap:12px;padding:25px 0;border-bottom:1px solid #c5bfb7}.contact-cards small{font-size:10px;font-weight:700;letter-spacing:.18em;color:#8b8278}.contact-cards a,.contact-cards strong{font-size:20px;font-weight:500;line-height:1.4;overflow-wrap:anywhere}.contact-cards a:hover{color:var(--ruby)}
.footer{background:#0d100f;color:#fff;padding:72px 0 26px}.footer-main{display:flex;justify-content:space-between;align-items:flex-start;gap:80px;padding-bottom:78px}.footer-brand img{width:170px;margin-left:-10px}.footer-brand p{font-size:13px;color:#a6a8a2;margin:7px 0}.footer-links{display:flex;gap:40px;flex-wrap:wrap}.footer-links a,.footer-links button{border:0;background:none;color:#e3ded4;font-size:10px;letter-spacing:.17em;font-weight:700}.footer-links button:hover,.footer-links a:hover{color:#f66e62}.footer-bottom{border-top:1px solid #383d39;display:flex;justify-content:space-between;gap:20px;padding-top:25px;font-size:10px;letter-spacing:.16em;color:#999e98}
/* Bodrum destination */
.mare-site{background:#0a1a1e;color:#f4ece0;min-height:100svh}.mare-header{position:absolute;z-index:4;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:20px 48px;border-bottom:1px solid #ffffff33}.mare-header>button{background:none;color:inherit;border:0;font-size:11px;font-weight:700;letter-spacing:.15em}.mare-header img{width:105px}.mare-main{min-height:100svh;position:relative;overflow:hidden;display:flex;align-items:center;background:radial-gradient(ellipse at 80% 30%,#1f5863,transparent 43%),linear-gradient(140deg,#193c44,#071317 70%);isolation:isolate}.mare-main:before{content:"";position:absolute;inset:0;z-index:-2;background:repeating-radial-gradient(ellipse at 70% 100%,transparent 0 20px,#bbdcc00b 22px 25px,transparent 28px 44px);transform:perspective(700px) rotateX(35deg) scale(1.5)}.mare-main:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#071315c2,transparent 75%)}.mare-horizon{position:absolute;right:-20%;bottom:20%;width:90%;height:1px;background:linear-gradient(90deg,transparent,#d9c5a1 40%,transparent);box-shadow:0 0 50px 17px #7b957742;transform:rotate(-9deg)}.mare-content{width:min(1280px,calc(100% - 120px));margin:auto;position:relative;z-index:1;padding:155px 0 110px}.mare-content .eyebrow{color:#d9cdb6}.mare-small{display:block;font-size:10px;letter-spacing:.22em;margin-top:40px;color:#a3c1bc}.mare-content h1{font-family:var(--serif);font-size:clamp(110px,16vw,280px);letter-spacing:-.065em;line-height:.77;margin:30px 0 50px}.mare-content h1 i{color:#b5d5d0}.mare-content p{max-width:540px;font-size:18px;font-weight:300;line-height:1.8;color:#dfebe7;margin-bottom:33px}.mare-contact{background:#e5e4db;color:#151a18;padding:120px max(calc((100% - 1280px)/2),60px);display:grid;grid-template-columns:1fr 1fr;gap:80px}.mare-contact h2{font-family:var(--serif);font-size:clamp(64px,7vw,104px);line-height:1;letter-spacing:-.05em;margin:30px 0}.mare-contact h2 i{color:#637c7b}.mare-numbers a{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:center;padding:30px 0;border-bottom:1px solid #b5bbb6}.mare-numbers a span:first-child{grid-column:1 / -1;font-size:11px;font-weight:700;letter-spacing:.16em;color:#6b7770}.mare-numbers a strong{font-size:25px;font-weight:500}.mare-numbers a:hover strong{color:#467d80}.mare-footer{display:flex;justify-content:space-between;gap:30px;background:#081619;color:#9fc0b9;padding:30px 55px;font-size:11px;letter-spacing:.1em}.mare-footer button{border:0;background:none;color:#e1ede6;font-size:11px;letter-spacing:.12em}
/* Reservation experience */
.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:22px;overflow:auto}.modal-scrim{position:fixed;inset:0;background:rgba(8,10,10,.8);backdrop-filter:blur(9px)}.modal-panel{position:relative;z-index:1;width:min(850px,100%);max-height:calc(100svh - 44px);overflow:auto;background:#f4f1eb;color:#151615;box-shadow:0 30px 90px #0008;scrollbar-width:thin}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;padding:35px 44px 27px}.modal-head h2{font-family:var(--serif);font-size:46px;line-height:1;margin:10px 0 0;letter-spacing:-.04em}.modal-close{border:1px solid #bbb5ac;background:none;color:#171915;border-radius:50%;font-size:25px;width:42px;height:42px;display:grid;place-items:center}.step-track{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid #d4cec4}.step-item{display:flex;align-items:center;gap:11px;padding:19px 25px;color:#938b80;font-size:11px;font-weight:700;letter-spacing:.09em;border-right:1px solid #d4cec4}.step-item:last-child{border-right:0}.step-item span{width:27px;height:27px;border:1px solid #bcb5ab;border-radius:50%;display:grid;place-items:center;font-size:10px}.step-item.active{color:#922c26}.step-item.active span,.step-item.done span{background:#ab342c;color:#fff;border-color:#ab342c}.modal-body{padding:32px 44px 10px;min-height:290px}.modal-body h3{font-family:var(--serif);font-size:33px;line-height:1.1;font-weight:400;margin:0 0 24px}.booking-types{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:30px}.booking-type{display:flex;flex-direction:column;align-items:flex-start;gap:9px;text-align:left;border:1px solid #ccc5bc;background:#fff0;padding:20px;min-height:130px;color:#282a27;transition:border .2s,background .2s}.booking-type:hover{border-color:#ad3c35}.booking-type.selected{border-color:#a22e29;background:#f1e6df}.booking-type .check-ring{display:grid;place-items:center;width:18px;height:18px;border:1px solid #aa9e91;border-radius:50%;font-size:10px}.booking-type.selected .check-ring{background:#a22e29;color:white;border-color:#a22e29}.booking-type strong{font-size:14px}.booking-type small{font-size:11px;color:#69645d;line-height:1.4}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px;margin-bottom:15px}.form-grid.three{grid-template-columns:1.3fr 1fr .9fr}.field{display:flex;flex-direction:column;gap:9px;font-size:11px;font-weight:700;letter-spacing:.06em;color:#5e5b54}.field input,.field select,.field textarea{background:#fff;border:1px solid #cbc4b9;border-radius:0;color:#272622;padding:13px 13px;min-height:48px;width:100%;font-size:14px;letter-spacing:0;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:#bd443a}.field textarea{resize:vertical}.field.full{grid-column:1/-1}.field select{appearance:auto}.guests-stepper{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid #cbc4b9;min-height:48px}.guests-stepper button{border:0;background:transparent;width:36px;height:45px;font-size:21px}.guests-stepper strong{font-size:15px}.form-note{color:#888177;font-size:11px;line-height:1.65;margin:12px 0}.consent{display:flex;align-items:flex-start;gap:12px;cursor:pointer;color:#55554e;font-size:12px;line-height:1.55;margin-top:18px}.consent input{width:17px;height:17px;accent-color:#a32f29;flex:none}.form-error{color:#b0231f;font-weight:600;font-size:12px;margin:18px 0}.booking-summary{border-top:1px solid #cdc5ba;margin-top:10px}.booking-summary-row{display:flex;justify-content:space-between;gap:22px;border-bottom:1px solid #d5cec4;padding:13px 0;font-size:13px}.booking-summary-row span{color:#777068}.booking-summary-row strong{text-align:right;font-weight:600;overflow-wrap:anywhere}.booking-success{padding:25px;background:#e3ebe2;border-left:3px solid #3a7352;line-height:1.7}.booking-success h3{font-size:30px;margin:0 0 10px}.booking-success p{font-size:13px;color:#4b5c4c}.booking-success strong{display:block;font-family:var(--sans);letter-spacing:.08em;font-size:12px}.modal-actions{display:flex;align-items:center;justify-content:space-between;padding:21px 44px 18px;border-top:1px solid #d4cec4;margin-top:16px;gap:20px}.modal-actions .btn{min-width:180px}.modal-back{border:0;background:none;font-size:11px;font-weight:700;letter-spacing:.16em;color:#4c4b46;padding:15px 5px}.modal-back[disabled]{opacity:.2;cursor:default}.modal-disclaimer{font-size:10px;line-height:1.7;color:#81796f;border-top:1px solid #d4cec4;padding:15px 44px 19px;margin:0}.help-links{display:flex;gap:24px;flex-wrap:wrap;margin-top:20px}.help-links a{border-bottom:1px solid #777;font-size:11px;font-weight:700;letter-spacing:.1em;padding-bottom:6px}.mobile-book-sticky{display:none}.lightbox{position:fixed;inset:0;z-index:110;background:rgba(7,8,8,.96);display:flex;align-items:center;justify-content:space-between;gap:15px;padding:60px 40px}.lightbox figure{margin:0;max-width:calc(100% - 160px);max-height:100%;display:flex;flex-direction:column;align-items:center}.lightbox figure img{max-height:calc(100svh - 155px);width:auto;object-fit:contain}.lightbox figcaption{font-size:11px;letter-spacing:.15em;color:#d7d2cb;margin-top:18px}.lightbox-close{position:absolute;top:17px;right:30px;color:white;background:none;border:0;font-size:39px}.lightbox-arrow{flex:none;width:44px;height:44px;border:1px solid #ffffff66;background:none;color:white;font-size:25px}
@media(max-width:1150px){.container{width:min(100% - 72px,1200px)}.site-header{padding:0 28px;gap:25px}.header-nav{gap:18px}.header-nav a{font-size:9px}.city-switch{display:none}.split-copy{padding:70px 55px}.menu-items{column-gap:50px}.contact-layout{gap:60px}.mare-contact{padding:90px 40px}}
@media(max-width:900px){.gateway-heading{top:90px}.gateway-grid{grid-template-columns:1fr}.gateway-card{min-height:55svh;padding:30px}.gateway-card:first-child{padding-top:210px}.gateway-card:nth-child(2){min-height:42svh}.gateway-card .card-center{margin-top:0}.gateway-card .card-center strong{font-size:80px}.gateway-card:first-child .card-center{margin-bottom:60px}.gateway-card:nth-child(2) .card-center{margin-bottom:45px}.gateway-card-overlay{background:linear-gradient(90deg,#0009,#0004)}.gateway-head{padding:22px 27px}.gateway-foot{display:none}.gateway-heading h1{font-size:65px}.gateway-heading .eyebrow{font-size:9px}.site-header{height:75px}.header-nav,.header-right>.language-toggle,.header-book{display:none}.header-right{margin-left:auto}.city-switch{display:block}.mobile-menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:42px;height:42px}.mobile-menu-toggle span{width:25px;height:1px;background:white;display:block}.mobile-nav{position:fixed;z-index:39;top:75px;left:0;right:0;bottom:0;background:#111411;display:none;flex-direction:column;padding:35px 35px;overflow-y:auto}.mobile-nav.open{display:flex}.mobile-nav a{font-family:var(--serif);font-size:44px;padding:16px 0;border-bottom:1px solid #343a35}.mobile-nav button{margin-top:25px;background:#bc342a;border:0;color:white;padding:18px;text-align:left;letter-spacing:.12em}.mobile-book-sticky{display:flex;align-items:center;justify-content:space-between;position:fixed;z-index:38;left:15px;right:15px;bottom:15px;padding:19px 22px;background:#bd3029;color:white;border:1px solid #ffffff44;font-size:11px;font-weight:700;letter-spacing:.18em;box-shadow:0 10px 40px #0006}.intro-layout{grid-template-columns:1fr}.intro-label{min-height:0}.vertical-ruby{display:none}.split-feature{grid-template-columns:1fr}.split-picture{min-height:550px}.split-copy{min-height:550px}.private-layout{grid-template-columns:1fr;gap:35px}.gallery-grid{grid-template-rows:250px 250px}.booking-cta-layout{flex-direction:column;align-items:flex-start;gap:35px}.contact-layout{grid-template-columns:1fr;gap:30px}.footer{padding-bottom:90px}.mare-contact{grid-template-columns:1fr;gap:20px}}
@media(max-width:640px){.container{width:calc(100% - 42px)}.gateway-head{padding:20px}.gateway-head>span{font-size:10px}.gateway-heading{top:95px}.gateway-heading h1{font-size:46px}.gateway-heading p{font-size:12px}.gateway-card{padding:25px 22px}.gateway-card:first-child{padding-top:215px;min-height:58svh}.gateway-card:nth-child(2){min-height:42svh;padding-top:30px}.card-top{font-size:9px}.card-center strong,.gateway-card .card-center strong{font-size:65px;margin:10px 0}.card-kicker{font-size:10px}.card-caption{font-size:12px}.card-bottom{padding-top:18px}.circle-arrow{width:34px;height:34px}.site-header{padding:0 21px}.header-logo{width:108px}.city-switch{font-size:8px}.hero{min-height:95svh}.hero-media{background-position:48% 50%}.hero-shade{background:linear-gradient(90deg,#000a,#0003),linear-gradient(0deg,#0009,transparent 45%)}.hero-inner{padding-top:110px;padding-bottom:110px;min-height:95svh}.hero-eyebrow{font-size:9px;letter-spacing:.13em}.hero h1{font-size:clamp(57px,12vw,84px);margin:25px 0;line-height:.97}.hero-inner>p{font-size:14px;max-width:340px}.hero-buttons{flex-direction:column;align-items:flex-start;gap:20px}.hero-bottom{bottom:25px;font-size:9px}.hero-bottom>span:last-child{display:none}.intro-section{padding:90px 0}.intro-content h2{font-size:clamp(51px,11vw,74px)}.intro-content>p{font-size:15px}.intro-pills span{font-size:9px}.guide-link{font-size:9px}.split-picture{min-height:430px}.split-copy{padding:80px 22px;min-height:470px}.split-copy h2{font-size:61px}.split-copy p{font-size:14px}.menu-section{padding:88px 0}.menu-heading{flex-direction:column;align-items:start;gap:25px;padding-bottom:25px}.menu-heading h2{font-size:65px}.menu-intro p{font-size:14px}.menu-tabs{gap:25px;margin-top:24px}.menu-tabs button{font-size:9px}.menu-items{grid-template-columns:1fr}.menu-item{padding:19px 0}.menu-item h3{font-size:13px}.menu-item-price{font-size:13px}.menu-bottom{flex-direction:column;align-items:flex-start;gap:24px;margin-top:35px}.night-section{min-height:670px}.night-photo{background-position:65% 50%}.night-content{padding:100px 0}.night-content h2{font-size:70px}.night-content p{font-size:14px}.night-side{display:none}.private-section{padding:90px 0}.private-layout h2{font-size:60px}.private-layout p{font-size:14px}.gallery-section{padding:90px 0}.gallery-title{align-items:flex-start;flex-direction:column;gap:25px;margin-bottom:30px}.gallery-title h2{font-size:62px}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:220px 220px 200px;gap:9px}.gallery-photo.big{grid-column:span 2;grid-row:span 1}.gallery-photo.wide{grid-column:span 2}.gallery-photo span{font-size:9px;left:13px;bottom:13px}.instagram-section{padding:70px 0}.instagram-layout{align-items:flex-start;flex-direction:column}.instagram-layout h2{font-size:63px}.instagram-right{align-items:flex-start}.insta-glyph{display:none}.booking-cta{padding:80px 0}.booking-cta h2{font-size:61px}.booking-cta p{font-size:14px}.contact-section{padding:87px 0}.contact-layout h2{font-size:68px}.contact-cards a,.contact-cards strong{font-size:17px}.footer-main{flex-direction:column;gap:40px;padding-bottom:45px}.footer-links{gap:20px}.footer-bottom{flex-direction:column}.mare-header{padding:15px 20px}.mare-header img{width:85px}.mare-header>button{font-size:9px}.mare-content{width:calc(100% - 45px);padding:160px 0 110px}.mare-content h1{font-size:118px}.mare-content p{font-size:15px}.mare-contact{padding:85px 23px}.mare-contact h2{font-size:69px}.mare-numbers a strong{font-size:19px}.mare-footer{padding:25px 23px;flex-direction:column}.modal{padding:0;display:flex;align-items:stretch}.modal-panel{width:100%;max-height:100svh;min-height:100svh}.modal-head{padding:25px 22px 19px}.modal-head h2{font-size:37px}.step-item{font-size:9px;letter-spacing:0;padding:12px 8px;gap:6px}.step-item span{width:23px;height:23px}.modal-body{padding:24px 22px 0}.modal-body h3{font-size:29px}.booking-types{grid-template-columns:1fr;gap:8px}.booking-type{min-height:0;padding:12px 16px;display:grid;grid-template-columns:20px 1fr;column-gap:12px;row-gap:2px}.booking-type .check-ring{grid-row:span 2}.booking-type small{grid-column:2}.form-grid,.form-grid.three{grid-template-columns:1fr}.field.full{grid-column:auto}.modal-actions{padding:20px 22px}.modal-actions .btn{min-width:0}.modal-disclaimer{padding:13px 22px 20px}.lightbox{padding:70px 10px;gap:4px}.lightbox figure{max-width:calc(100% - 90px)}.lightbox-arrow{width:35px;height:35px}.lightbox-close{right:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Keep the destination labels visually clear of the collection header. */
@media(min-width:901px){.gateway-card{padding-top:92px}}

/* Ruby visual identity: the original vector mark stays crisp on every surface. */
.gateway-ident{display:flex;align-items:center;gap:11px;min-width:0}
.gateway-ident img{width:120px;height:58px;display:block;object-fit:contain}
.gateway-ident small{font-size:9px;letter-spacing:.22em;line-height:1.65;font-weight:500;color:#f1e5d5;white-space:nowrap}
.gateway-head>span.gateway-ident{font-size:initial;letter-spacing:normal}
.branch-logo{display:block;width:105px;height:57px;object-fit:contain;object-position:left center;filter:drop-shadow(0 4px 18px #0004);margin-bottom:9px;transition:transform .45s ease}
.gateway-card:hover .branch-logo{transform:translateY(-4px)}
.gateway-istanbul::before{background-image:url('media/ruby-01.webp')}
.gateway-mare::before{background:url('media/ruby-mare-atmosphere-generated.webp') center 58%/cover no-repeat;filter:brightness(.74) saturate(.9)}
.gateway-mare:hover::before{filter:brightness(.82) saturate(.95)}
.gateway-mare .gateway-card-overlay{background:linear-gradient(180deg,rgba(5,14,16,.63),rgba(4,25,30,.12) 44%,rgba(4,16,19,.82))}
.intro-signature{display:block;width:186px;height:auto;object-fit:contain;object-position:left bottom;margin:100px 0 0 -18px}
.night-photo{background-image:url('media/ruby-bluehour-generated.webp');background-position:center 54%}
.night-content::before{content:"";display:block;width:130px;height:72px;margin-bottom:25px;background:url('media/ruby-logo.svg') left center/contain no-repeat;filter:drop-shadow(0 3px 8px #0005)}
.booking-cta-layout{position:relative}
.booking-cta-layout::after{content:"";display:block;position:absolute;right:0;top:-50px;width:118px;height:70px;background:url('media/ruby-logo.svg') center/contain no-repeat;opacity:.65;pointer-events:none}
.modal-head::before{content:"";width:77px;height:47px;background:url('media/ruby-logo-dark.svg') center/contain no-repeat;flex:none}

/* New editorial photo chapter: authentic Ruby frames re-lit for atmosphere. */
.editorial-section{background:#111614;color:#ede7df;padding:0 0 62px}
.editorial-grid{display:grid;grid-template-columns:1.16fr .84fr;gap:9px;padding:9px}
.editorial-figure{height:min(52vw,640px);min-height:395px;overflow:hidden;margin:0;position:relative;background:#101717}
.editorial-figure img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.1s cubic-bezier(.22,.68,0,1.01)}
.editorial-figure:hover img{transform:scale(1.035)}
.editorial-blue img{object-position:40% 50%}
.editorial-gold img{object-position:56% 50%}
.editorial-figure::after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(2,6,7,.72));pointer-events:none}
.editorial-figure figcaption{position:absolute;z-index:1;bottom:35px;left:40px;right:30px;display:flex;flex-direction:column;gap:12px}
.editorial-figure figcaption small{font-size:10px;letter-spacing:.25em;font-weight:700;color:#e6c5ae}
.editorial-figure figcaption span{font-family:var(--serif);font-size:clamp(24px,2.45vw,41px);line-height:1.14;letter-spacing:-.025em}
.editorial-foot{display:flex;align-items:center;gap:35px;padding-top:48px}
.editorial-foot p{font-size:clamp(15px,1.4vw,20px);line-height:1.7;font-weight:300;max-width:680px;margin:0 auto 0 0;color:#dcd7d1}
.editorial-asterisk{font-size:34px;line-height:1;color:#ad5046}
.editorial-foot .btn{flex:none}

/* Bodrum editorial experience; the concept photo is explicitly labelled. */
.mare-main{background:#152b30 url('media/ruby-mare-atmosphere-generated.webp') 54% center/cover no-repeat}
.mare-main:before{background:linear-gradient(90deg,rgba(5,17,20,.70) 0%,rgba(5,17,20,.2) 58%,rgba(5,17,20,.08));transform:none}
.mare-main:after{background:linear-gradient(0deg,rgba(4,18,20,.67),transparent 60%)}
.mare-content{padding-top:190px;padding-bottom:155px}
.mare-brand{display:flex;align-items:center;gap:16px;margin-bottom:30px}
.mare-brand img{width:95px;height:63px;object-fit:contain}
.mare-brand>span{display:flex;flex-direction:column;font-family:var(--serif);font-size:31px;letter-spacing:.14em;line-height:1.05}
.mare-brand small{font-family:var(--sans);font-size:9px;font-weight:700;letter-spacing:.4em;margin-top:7px}
.mare-content h1{text-shadow:0 8px 35px #07151885}
.mare-actions{display:flex;flex-wrap:wrap;align-items:center;gap:15px;margin-top:32px}
.mare-actions .btn{font-size:10px;letter-spacing:.07em;padding:20px 24px}
.mare-image-label{position:absolute;bottom:25px;right:50px;z-index:2;font-size:9px;letter-spacing:.17em;color:#fbf3e3;opacity:.83}
.mare-contact-intro{font-size:15px;line-height:1.8;max-width:365px;color:#55605b;margin-top:22px}
.mare-contact-logo{display:block;width:140px;height:auto;margin-top:35px;opacity:.9}

@media(max-width:900px){
  .gateway-ident img{width:97px;height:49px}.gateway-ident small{font-size:8px;letter-spacing:.13em}
  .gateway-card .card-center{margin-top:0}.branch-logo{width:92px;height:43px;margin-bottom:4px}
  .intro-signature{margin:18px 0 0;width:120px}
  .editorial-grid{grid-template-columns:1fr 1fr;gap:6px;padding:6px}
  .editorial-figure{min-height:310px;height:48vw}.editorial-figure figcaption{bottom:22px;left:22px;right:15px}
  .editorial-foot{gap:20px;flex-wrap:wrap;padding-top:35px}
  .mare-content{padding-top:160px;padding-bottom:120px}
  .mare-image-label{right:25px;bottom:19px}
}
@media(max-width:640px){
  .gateway-ident{gap:7px}.gateway-ident img{width:80px;height:41px}.gateway-ident small{font-size:7px;max-width:90px;white-space:normal;line-height:1.45}
  .gateway-card .card-center{margin-top:2px}.branch-logo{width:75px;height:35px;margin-bottom:0}
  .gateway-card .card-center strong{margin:6px 0;font-size:clamp(48px,15vw,65px)}
  .editorial-grid{grid-template-columns:1fr;gap:6px}
  .editorial-figure{height:65vw;min-height:290px}.editorial-figure.editorial-gold{height:65vw}
  .editorial-foot{padding-top:28px;gap:19px}.editorial-foot p{font-size:14px;flex:1 1 250px}
  .editorial-foot .btn{width:100%;justify-content:center}
  .editorial-section{padding-bottom:50px}
  .night-content::before{width:110px;height:56px;margin-bottom:14px}
  .booking-cta-layout::after{right:0;top:-64px;width:90px;height:55px}
  .mare-main{background-position:53% center}
  .mare-brand{margin-bottom:20px;gap:10px}.mare-brand img{width:75px;height:52px}.mare-brand>span{font-size:27px}
  .mare-actions{gap:12px;align-items:stretch;flex-direction:column}.mare-actions .btn{justify-content:center;text-align:center;width:100%;max-width:360px}
  .mare-image-label{font-size:7px;letter-spacing:.08em;right:17px;bottom:12px}
  .mare-contact-logo{width:125px;margin-top:24px}
}

/* v3: clear separation between destination numbers and the central headline. */
@media(min-width:901px){
  .gateway-heading{top:clamp(155px,17.5vh,205px)}
}
.gateway-heading .eyebrow{display:block}
.gateway-heading h1{margin-top:13px}

/* Dedicated Ruby Mare vector identity, faithfully traced from the supplied mark. */
.branch-logo.branch-logo-mare{width:172px;height:75px;margin-bottom:3px;object-fit:contain;object-position:left center}
.mare-header img{width:176px;height:76px;object-fit:contain}
.mare-brand{margin-bottom:6px}
.mare-brand img.mare-hero-logo{width:245px;height:auto;max-width:60vw;object-fit:contain}
.mare-contact-logo{width:310px;max-width:100%;height:auto;margin-top:25px}
.mare-footer-logo{display:block;width:125px;height:auto;max-height:66px;object-fit:contain;flex:none}
@media(max-width:900px){
  .gateway-heading{top:116px}
  .branch-logo.branch-logo-mare{width:145px;height:63px}
  .mare-header img{width:150px;height:65px}
  .mare-brand img.mare-hero-logo{width:218px;max-width:64vw;height:auto}
  .mare-contact-logo{width:275px}
  .mare-footer-logo{width:110px}
}
@media(max-width:640px){
  .gateway-heading{top:112px}
  .gateway-heading h1{margin-top:10px}
  .branch-logo.branch-logo-mare{width:123px;height:54px}
  .gateway-card:first-child{padding-top:230px}
  .mare-header img{width:125px;height:61px}
  .mare-brand img.mare-hero-logo{width:188px;max-width:69vw;height:auto}
  .mare-contact-logo{width:232px}
  .mare-footer-logo{width:94px;max-height:53px}
}

/* v4 — MICHELIN Guide recognition, without implying a Michelin star award. */
.hero{overflow:clip}
.michelin-hero-badge{position:absolute;z-index:3;right:max(3.5vw,38px);bottom:126px;display:flex;align-items:center;gap:15px;width:324px;min-height:104px;padding:14px 17px 14px 13px;background:rgba(250,248,245,.95);color:#22221f;text-decoration:none;border:1px solid rgba(255,255,255,.84);box-shadow:0 20px 55px rgba(5,8,7,.25);backdrop-filter:blur(12px);transition:transform .3s,box-shadow .3s}
.michelin-hero-badge:hover{transform:translateY(-5px);box-shadow:0 28px 60px rgba(5,8,7,.32)}
.michelin-hero-badge:focus-visible{outline:3px solid #cf253d;outline-offset:3px}
.michelin-hero-mark{display:grid;place-items:center;flex:none;width:76px;height:76px;background:#fff;border-radius:50%}
.michelin-hero-mark img{display:block;width:67px;height:67px;object-fit:contain}
.michelin-hero-copy{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}
.michelin-hero-copy small{font-size:9px;font-weight:600;letter-spacing:.18em;color:#77736b}
.michelin-hero-copy strong{font-size:13px;font-weight:700;letter-spacing:.025em;line-height:1.38}
.michelin-hero-copy em{font-style:normal;font-size:9px;letter-spacing:.15em;font-weight:700;color:#bb263a;margin-top:4px}

/* Original Ruby Istanbul venue imagery, curated in editorial chapters. */
.night-photo{background-image:url('media/ruby-night-bosphorus-sharp-v30.webp');background-position:center 50%}
.editorial-blue img{object-position:50% 53%}
.editorial-gold img{object-position:50% 52%}
.menu-photo-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:38px 0 30px}
.menu-photo-strip figure{position:relative;margin:0;aspect-ratio:1/1;min-height:0;overflow:hidden;background:#c6b8a2}
.menu-photo-strip img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .6s ease}
.menu-photo-strip figure:hover img{transform:scale(1.045)}
.menu-photo-strip figure::after{content:"";position:absolute;inset:47% 0 0;background:linear-gradient(transparent,rgba(12,15,14,.78));pointer-events:none}
.menu-photo-strip figcaption{position:absolute;z-index:1;bottom:24px;left:24px;right:15px;display:flex;flex-direction:column;gap:8px;color:white}
.menu-photo-strip figcaption span{font-size:9px;letter-spacing:.2em;font-weight:700;color:#edcbbb}
.menu-photo-strip figcaption strong{font-size:clamp(17px,1.6vw,26px);font-family:var(--serif);font-weight:400;line-height:1.16}
.menu-photo-strip+.menu-tabs{margin-top:55px}

.gallery-grid.gallery-grid-rich{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(3,265px);gap:11px}
.gallery-grid-rich .gallery-photo.big{grid-column:span 2;grid-row:span 2}
.gallery-grid-rich .gallery-photo.wide{grid-column:span 2;grid-row:auto}
.gallery-grid-rich .gallery-photo img{object-fit:cover}
.gallery-grid-rich .gallery-photo::after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#0009);pointer-events:none}
.gallery-grid-rich .gallery-photo span{z-index:2}
.gallery-grid-rich .gallery-photo:hover img{filter:brightness(.98);transform:scale(1.035)}

.instagram-photo{display:block;position:relative;width:350px;height:290px;overflow:hidden;background:#18202a;color:white}
.instagram-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.instagram-photo:hover img{transform:scale(1.045)}
.instagram-photo::after{content:"";position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#0009)}
.instagram-photo span{position:absolute;z-index:2;left:22px;bottom:17px;font-size:10px;letter-spacing:.2em;font-weight:600}

@media(max-width:1100px){
  .michelin-hero-badge{right:32px;bottom:88px;width:278px;min-height:88px;padding:10px;gap:9px}
  .michelin-hero-mark{width:64px;height:64px}.michelin-hero-mark img{width:57px;height:57px}
  .michelin-hero-copy strong{font-size:11px}
  .gallery-grid.gallery-grid-rich{grid-template-rows:repeat(3,220px)}
}
@media(max-width:900px){
  .gallery-grid.gallery-grid-rich{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:210px}
  .gallery-grid-rich .gallery-photo.big{grid-column:span 2;grid-row:span 2}
  .gallery-grid-rich .gallery-photo.wide{grid-column:span 2}
  .instagram-photo{width:320px;height:235px;max-width:100%}
  .michelin-hero-badge{right:25px;bottom:72px;width:260px;min-height:80px}
}
@media(max-width:640px){
  .michelin-hero-badge{right:20px;bottom:66px;width:218px;min-height:70px;padding:8px;gap:8px}
  .michelin-hero-mark{width:51px;height:51px}.michelin-hero-mark img{width:46px;height:46px}
  .michelin-hero-copy{gap:3px}.michelin-hero-copy small{font-size:7px}.michelin-hero-copy strong{font-size:9px}.michelin-hero-copy em{font-size:7px;margin-top:2px}
  .menu-photo-strip{gap:5px;margin:30px 0 25px}
  .menu-photo-strip figure{aspect-ratio:3/4}
  .menu-photo-strip figcaption{left:9px;bottom:12px;right:5px;gap:4px}
  .menu-photo-strip figcaption span{font-size:7px;letter-spacing:.08em}
  .menu-photo-strip figcaption strong{font-size:13px;line-height:1.15}
  .menu-photo-strip+.menu-tabs{margin-top:36px}
  .gallery-grid.gallery-grid-rich{grid-auto-rows:170px;gap:7px}
  .gallery-grid-rich .gallery-photo.big{grid-row:span 2}
  .instagram-photo{width:100%;height:230px}
}

/* v5: Ruby Mare Bodrum — true venue imagery and an editorial Aegean journey. */
.mare-main{min-height:max(800px,100svh);background:#141f21 url('media/mare-golden-hour.webp') center 51%/cover no-repeat}
.mare-main::before{display:none}
.mare-main::after{background:linear-gradient(90deg,rgba(5,17,19,.82) 0%,rgba(6,19,22,.56) 39%,rgba(8,19,22,.1) 75%),linear-gradient(0deg,rgba(3,11,13,.65),transparent 45%,rgba(4,11,13,.24))}
.mare-content{padding:175px 0 145px}
.mare-content h1{font-size:clamp(92px,12vw,186px);line-height:.81;margin:38px 0 48px;letter-spacing:-.062em;text-shadow:0 8px 38px #0003}
.mare-content h1 i{color:#f3d2bb}
.mare-content p{max-width:520px;color:#f5e9dc;font-size:17px;line-height:1.77}
.mare-actions .btn{backdrop-filter:blur(8px)}
.mare-image-label{position:absolute;right:48px;bottom:32px;z-index:2;opacity:.85;text-shadow:0 1px 10px #0008}
.mare-section-number{display:block;font-size:10px;font-weight:700;letter-spacing:.23em;line-height:1.6}
.mare-story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(35px,6vw,110px);align-items:center;padding:145px max(5%,calc((100% - 1380px)/2));background:#f0eee5;color:#19211e}
.mare-story-text{max-width:600px}
.mare-story-text .mare-section-number{color:#64756c}
.mare-story h2,.mare-gallery-header h2,.mare-invitation h2{font-family:var(--serif);font-weight:400;letter-spacing:-.055em;line-height:1.02}
.mare-story h2{font-size:clamp(62px,6vw,105px);margin:32px 0}
.mare-story h2 i{color:#8c8e79}
.mare-story p{max-width:540px;font-size:15px;line-height:1.95;color:#5a655f}
.mare-story p+p{margin-top:20px}
.mare-quiet-link{display:inline-block;border-bottom:1px solid #6d7b75;margin-top:21px;padding:14px 0;font-size:10px;font-weight:700;letter-spacing:.17em;transition:letter-spacing .25s}
.mare-quiet-link:hover{letter-spacing:.21em}
.mare-story-images{display:grid;grid-template-columns:1.15fr .85fr;gap:13px;align-items:end}
.mare-story-images figure{position:relative;margin:0;overflow:hidden;background:#a6a6a0}
.mare-story-images figure:first-child{height:550px}
.mare-story-images figure:last-child{height:375px;margin-bottom:-42px}
.mare-story-images img,.mare-editorial-card img,.mare-gallery-item img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .65s ease}
.mare-story-images figcaption{position:absolute;left:16px;bottom:16px;color:#fff;font-size:9px;font-weight:700;letter-spacing:.19em;text-shadow:0 1px 10px #000b}
.mare-editorial{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;background:#111817;padding:9px}
.mare-editorial-card{position:relative;overflow:hidden;height:760px;isolation:isolate}
.mare-editorial-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,10,11,.9) 0%,rgba(6,12,13,.5) 39%,transparent 70%);pointer-events:none}
.mare-editorial-card img{object-position:center}
.mare-editorial-card:hover img{transform:scale(1.045)}
.mare-editorial-copy{position:absolute;z-index:1;bottom:65px;left:clamp(28px,4.8vw,84px);right:clamp(28px,4.8vw,84px);color:#fff}
.mare-editorial-copy>span{font-size:10px;font-weight:700;letter-spacing:.22em;color:#f3d5b9}
.mare-editorial-copy h2{font-family:var(--serif);font-weight:400;font-size:clamp(44px,4.2vw,76px);line-height:1.04;letter-spacing:-.05em;margin:22px 0}
.mare-editorial-copy h2 i{color:#ffe5cc}
.mare-editorial-copy p{font-size:14px;line-height:1.8;color:#eee6dd;max-width:540px}
.mare-editorial-copy a{display:inline-block;margin-top:13px;padding:12px 0;border-bottom:1px solid #eee5db;font-size:10px;font-weight:700;letter-spacing:.13em}
.mare-gallery-section{background:#111b1d;color:#f3f1e9;padding:135px 0 145px}
.mare-gallery-header{width:min(1400px,calc(100% - 110px));margin:0 auto 56px;display:grid;grid-template-columns:1.05fr .9fr;column-gap:80px;align-items:end}
.mare-gallery-header>.mare-section-number{grid-column:1/-1;color:#bdd1c9;margin-bottom:24px}
.mare-gallery-header h2{font-size:clamp(70px,7.5vw,120px);margin:0}
.mare-gallery-header h2 i{color:#cba897}
.mare-gallery-header>div{max-width:410px;justify-self:end}
.mare-gallery-header p{font-size:15px;line-height:1.85;color:#c7cfc8}
.mare-gallery-header a{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.18em;border-bottom:1px solid #6f8a82;padding:12px 0;margin-top:12px}
.mare-gallery-grid{width:min(1400px,calc(100% - 110px));margin:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:300px;gap:11px}
.mare-gallery-item{min-width:0;min-height:0;position:relative;overflow:hidden;border:0;padding:0;background:#3a4a47;color:#fff;text-align:left}
.mare-gallery-item::after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#000a);pointer-events:none}
.mare-gallery-item:hover img{transform:scale(1.06)}
.mare-gallery-item span{position:absolute;z-index:1;left:21px;bottom:18px;font-size:9px;font-weight:700;letter-spacing:.17em;text-shadow:0 1px 9px #0009}
.mare-gallery-large{grid-column:span 2;grid-row:span 2}
.mare-gallery-wide{grid-column:span 2}
.mare-invitation{display:flex;justify-content:space-between;align-items:end;gap:60px;padding:120px max(5%,calc((100% - 1380px)/2));color:#f8f0e4;background:#234044;background-image:radial-gradient(circle at 80% 0%,#4c7378 0%,transparent 56%),linear-gradient(135deg,#152e33,#254045)}
.mare-invitation span{font-size:10px;letter-spacing:.22em;font-weight:700;color:#c6d8d4}
.mare-invitation h2{font-size:clamp(64px,7vw,115px);margin:23px 0}
.mare-invitation h2 i{color:#deba9f}
.mare-invitation p{max-width:600px;color:#d0e0da;font-size:15px}
.mare-invitation>.btn{flex:none}
@media(max-width:1100px){
  .mare-story{padding:95px 5%;gap:45px}.mare-story-images figure:first-child{height:470px}.mare-story-images figure:last-child{height:300px}
  .mare-editorial-card{height:650px}.mare-editorial-copy{bottom:48px}
  .mare-gallery-header,.mare-gallery-grid{width:calc(100% - 70px)}
  .mare-gallery-grid{grid-auto-rows:240px}
}
@media(max-width:900px){
  .mare-main{min-height:740px;background-position:55% 50%}
  .mare-content{padding:175px 0 110px}
  .mare-content h1{font-size:clamp(82px,14vw,135px)}
  .mare-story{grid-template-columns:1fr;gap:65px}
  .mare-story-text{max-width:700px}
  .mare-story-images{max-width:750px}
  .mare-editorial{grid-template-columns:1fr}.mare-editorial-card{height:620px}
  .mare-gallery-header{grid-template-columns:1fr;gap:15px}.mare-gallery-header>.mare-section-number{grid-column:auto}.mare-gallery-header>div{justify-self:start}
  .mare-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:250px}
  .mare-gallery-large{grid-row:span 2}.mare-gallery-wide{grid-column:span 2}
  .mare-invitation{align-items:start;flex-direction:column}
}
@media(max-width:640px){
  .mare-main{min-height:780px;background-position:55% center}
  .mare-main::after{background:linear-gradient(90deg,rgba(5,13,13,.8),rgba(8,18,19,.2)),linear-gradient(0deg,#071315ab,transparent 48%)}
  .mare-content{width:calc(100% - 44px);padding:168px 0 105px}
  .mare-content h1{font-size:clamp(78px,22vw,124px);margin:32px 0;line-height:.89}
  .mare-content p{font-size:15px}.mare-actions{margin-top:28px}
  .mare-image-label{right:22px;bottom:15px}
  .mare-story{padding:86px 22px 95px;gap:40px}
  .mare-story h2{font-size:clamp(58px,12vw,77px);margin:20px 0}
  .mare-story p{font-size:14px}
  .mare-story-images{grid-template-columns:1fr .8fr;gap:6px}
  .mare-story-images figure:first-child{height:330px}.mare-story-images figure:last-child{height:240px;margin-bottom:-18px}
  .mare-editorial{gap:6px;padding:6px}.mare-editorial-card{height:560px}
  .mare-editorial-copy{bottom:33px;left:23px;right:23px}
  .mare-editorial-copy h2{font-size:clamp(45px,10vw,60px);margin:18px 0}.mare-editorial-copy p{font-size:13px}
  .mare-gallery-section{padding:83px 0 95px}
  .mare-gallery-header,.mare-gallery-grid{width:calc(100% - 38px)}
  .mare-gallery-header{margin-bottom:28px}.mare-gallery-header h2{font-size:clamp(65px,12vw,84px)}.mare-gallery-header p{font-size:14px}
  .mare-gallery-grid{gap:6px;grid-auto-rows:170px}
  .mare-gallery-item span{font-size:8px;left:12px;bottom:12px}
  .mare-invitation{padding:92px 23px;gap:32px}.mare-invitation h2{font-size:clamp(61px,12vw,81px)}.mare-invitation p{font-size:14px}
}

/* Eight-language selection: one compact, keyboard-accessible menu on every destination. */
.language-control{position:relative;flex:none;z-index:45;pointer-events:auto}
.language-control>.language-toggle{white-space:nowrap;min-width:48px;text-align:center}
.language-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:60;width:226px;max-height:min(430px,calc(100svh - 100px));overflow-y:auto;padding:6px;background:#f5f1e9;color:#191a17;border:1px solid #d3cabf;box-shadow:0 20px 55px #0007;direction:ltr;scrollbar-width:thin}
.language-menu button{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;border:0;background:transparent;color:#232723;padding:13px 12px;text-align:left;font-family:'DM Sans','Noto Sans Arabic',sans-serif;font-size:13px;letter-spacing:0;line-height:1.35}
.language-menu button small{font-size:10px;letter-spacing:.11em;color:#8d8276}
.language-menu button:hover,.language-menu button:focus-visible{background:#e7ddd1}
.language-menu button[aria-pressed="true"]{background:#e4d5cc;color:#a3322a;font-weight:700}
.gateway-head>.language-control,.mare-header>.language-control{flex:none}

/* Arabic follows right-to-left reading without replacing Ruby's spatial photo composition. */
html[lang="ar"]{--serif:'Noto Sans Arabic','Manrope',sans-serif;--sans:'Noto Sans Arabic','DM Sans',sans-serif}
html[lang="ru"]{--serif:'Manrope','DM Sans',sans-serif;--sans:'Manrope','DM Sans',sans-serif}
html:is([lang="ar"],[lang="ru"]) .card-center strong,
html:is([lang="ar"],[lang="ru"]) .mare-content h1{font-family:'Manrope','DM Sans',sans-serif}
html[lang="ar"] h1 i,html[lang="ar"] h2 i{font-style:normal}
html[lang="ar"] .gateway-grid,html[lang="ar"] .gateway-head,
html[lang="ar"] .site-header,html[lang="ar"] .header-nav,
html[lang="ar"] .header-right,html[lang="ar"] .mare-header,
html[lang="ar"] .editorial-grid,html[lang="ar"] .mare-gallery-grid{direction:ltr}
html[lang="ar"] .gateway-heading,html[lang="ar"] .gateway-card .card-caption,
html[lang="ar"] .hero-inner,html[lang="ar"] .intro-content,
html[lang="ar"] .split-copy-inner,html[lang="ar"] .menu-heading,
html[lang="ar"] .menu-items,html[lang="ar"] .night-content,
html[lang="ar"] .private-layout,html[lang="ar"] .instagram-layout,
html[lang="ar"] .booking-cta-layout,html[lang="ar"] .contact-layout,
html[lang="ar"] .mare-content,html[lang="ar"] .mare-story-text,
html[lang="ar"] .mare-editorial-copy,html[lang="ar"] .mare-gallery-header,
html[lang="ar"] .mare-invitation,html[lang="ar"] .mare-contact,
html[lang="ar"] .modal-panel{direction:rtl;text-align:right}
html[lang="ar"] .gateway-card{direction:ltr}
html[lang="ar"] .gateway-card .card-kicker,html[lang="ar"] .gateway-card .card-caption{direction:rtl;text-align:left}
html[lang="ar"] .hero-inner{align-items:flex-start}
html[lang="ar"] .booking-type{align-items:flex-start;text-align:right}
html[lang="ar"] .booking-summary-row strong{text-align:left}
html[lang="ar"] .menu-item-top{direction:rtl}
html[lang="ar"] .modal-head,html[lang="ar"] .modal-actions{direction:rtl}
html[lang="ar"] .field input[type="email"],html[lang="ar"] .field input[type="tel"],
html[lang="ar"] .field input[type="date"],html[lang="ar"] .field select{direction:ltr;text-align:left}
html[lang="ar"] .language-toggle{direction:ltr}
html[lang="ar"] .step-item{border-right:0;border-left:1px solid #d4cec4}
html[lang="ar"] .step-item:last-child{border-left:0}
html:is([lang="fr"],[lang="es"],[lang="it"],[lang="de"],[lang="ru"],[lang="ar"]) h1,
html:is([lang="fr"],[lang="es"],[lang="it"],[lang="de"],[lang="ru"],[lang="ar"]) h2{overflow-wrap:break-word;hyphens:auto}
@media(max-width:900px){
  .header-right>.language-control{display:block}
  .language-menu{max-height:min(450px,calc(100svh - 110px))}
}
@media(max-width:640px){
  .gateway-head .language-menu,.mare-header .language-menu{right:0;width:205px}
  .header-right{gap:8px}
  .header-right>.language-control>.language-toggle{font-size:10px;padding:12px 6px;min-width:44px}
  html[lang="ar"] .gateway-heading{white-space:normal;width:min(95%,530px)}
  html[lang="ar"] .gateway-heading h1{font-size:clamp(39px,9vw,57px)}
  html:is([lang="de"],[lang="ru"]) .gateway-heading h1{font-size:clamp(36px,9vw,53px)}
  html[lang="ar"] .mare-content h1{font-size:clamp(78px,22vw,124px)}
}

/* v11 — Quiet editorial contrast: the photograph remains visible above each
   caption, then dissolves progressively into deep black behind its lettering. */
.editorial-figure::after{
  inset:0;
  background:linear-gradient(180deg,
    rgba(2,5,6,0) 0%,
    rgba(2,5,6,.03) 28%,
    rgba(2,5,6,.24) 51%,
    rgba(2,5,6,.62) 73%,
    rgba(2,5,6,.91) 100%);
}
.editorial-figure figcaption{bottom:38px;gap:13px}
.editorial-figure figcaption span{max-width:20ch;font-size:clamp(27px,2.5vw,43px);line-height:1.13}

.mare-editorial-card::after{
  background:linear-gradient(180deg,
    rgba(3,7,8,0) 0%,
    rgba(3,7,8,.02) 25%,
    rgba(3,7,8,.21) 45%,
    rgba(3,7,8,.64) 68%,
    rgba(3,7,8,.94) 100%);
}
.mare-editorial-copy{bottom:62px}
.mare-editorial-copy h2{font-size:clamp(43px,3.75vw,68px);line-height:1.07;letter-spacing:-.035em}
.mare-editorial-copy p{max-width:50ch;line-height:1.85}
.mare-editorial-copy a{border-bottom-color:rgba(255,255,255,.56)}
.mare-story-images figure::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,transparent 54%,rgba(0,0,0,.62) 100%);
}
.mare-story-images figcaption{z-index:1}

/* Destination chooser — preserve the two destinations, marks and actions;
   let photography and restrained typography carry the composition. */
.gateway-card-overlay{
  background:linear-gradient(180deg,
    rgba(3,7,8,.40) 0%,rgba(3,7,8,.10) 27%,
    rgba(3,7,8,.16) 43%,rgba(3,7,8,.52) 68%,
    rgba(3,7,8,.89) 100%);
}
.gateway-mare .gateway-card-overlay{
  background:linear-gradient(180deg,
    rgba(2,10,12,.39) 0%,rgba(2,10,12,.11) 27%,
    rgba(2,10,12,.19) 43%,rgba(2,10,12,.58) 68%,
    rgba(2,10,12,.91) 100%);
}
.gateway-heading h1{font-size:clamp(42px,4.75vw,73px);font-weight:400;letter-spacing:-.03em}
.gateway-heading .eyebrow{font-size:10px;letter-spacing:.19em;color:rgba(255,255,255,.79)}
.gateway-heading p{font-size:12px;color:rgba(255,255,255,.76)}
.card-center strong{font-size:clamp(65px,6.2vw,106px);line-height:.96;letter-spacing:-.045em;margin:14px 0 20px}
.card-kicker{font-size:10px;letter-spacing:.24em;color:rgba(255,255,255,.88)}
.card-caption{font-size:12px;letter-spacing:.045em;color:rgba(255,255,255,.88)}
.card-top{font-size:10px;letter-spacing:.19em;opacity:.79}
.card-bottom{padding-top:20px;border-top-color:rgba(255,255,255,.34);font-size:10px;letter-spacing:.18em}
.circle-arrow{width:39px;height:39px;border-color:rgba(255,255,255,.56);font-size:19px}
.gateway-card:first-child:after{background:rgba(255,255,255,.15)}

@media(max-width:900px){
  .gateway-card-overlay{
    background:linear-gradient(180deg,rgba(3,7,8,.33),rgba(3,7,8,.14) 30%,rgba(3,7,8,.83) 100%);
  }
  .gateway-mare .gateway-card-overlay{
    background:linear-gradient(180deg,rgba(2,10,12,.28),rgba(2,10,12,.14) 30%,rgba(2,10,12,.86) 100%);
  }
  .gateway-card .card-center strong{font-size:clamp(57px,8vw,79px)}
  .editorial-figure figcaption{bottom:24px}
  .mare-editorial-copy{bottom:47px}
  .mare-editorial-copy h2{font-size:clamp(40px,5vw,64px)}
}
@media(max-width:640px){
  .gateway-heading h1{font-size:clamp(38px,10vw,48px)}
  .gateway-heading .eyebrow{font-size:8px;letter-spacing:.12em}
  .gateway-heading p{font-size:11px}
  .gateway-card .card-center strong{font-size:clamp(48px,13vw,63px);margin:8px 0 10px}
  .gateway-card:first-child{padding-top:226px}
  .card-bottom{padding-top:15px}
  .circle-arrow{width:32px;height:32px}
  .editorial-figure figcaption{bottom:22px;gap:9px}
  .editorial-figure figcaption span{font-size:clamp(24px,7vw,37px)}
  .mare-editorial-copy{bottom:35px}
  .mare-editorial-copy h2{font-size:clamp(39px,9vw,55px);margin:16px 0}
}

/* v12 — Ruby İstanbul & Mare: photograph-first, quieter twin-destination design. */
.hero-media{
  background-image:url('media/ruby-istanbul-evening-hero.webp');
  background-position:center 16%;
}
.hero-shade{
  background:linear-gradient(90deg,rgba(7,12,18,.78) 0%,rgba(7,12,18,.41) 43%,rgba(7,12,18,.08) 84%),
             linear-gradient(0deg,rgba(0,0,0,.53),transparent 39%,rgba(0,0,0,.22));
}
.gateway-card{justify-content:center}
.gateway-card .card-center{margin-top:clamp(65px,10vh,130px)}
.gateway-card .card-center strong{font-size:clamp(66px,6.15vw,102px)}
.gateway-card .card-caption{margin-top:2px}
.gateway-card:focus-visible{outline:3px solid #fff;outline-offset:-8px}

/* Identical navigation structure, with the sister destination as a real logo button. */
.site-header.mare-shared-header{background:rgba(9,20,21,.13)}
.site-header.mare-shared-header.scrolled{background:rgba(9,20,21,.96)}
.mare-shared-header .header-logo{width:163px}
.mare-shared-header .header-logo img{max-height:77px;object-fit:contain;object-position:left center}
.sister-brand{display:flex;justify-content:center;align-items:center;flex:none;width:126px;height:65px;padding:0;border:0;background:transparent;color:#fff;transition:opacity .2s,transform .2s}
.sister-brand:hover{opacity:.77;transform:translateY(-2px)}
.sister-brand img{width:100%;height:100%;max-height:65px;object-fit:contain;object-position:center;filter:drop-shadow(0 2px 7px rgba(0,0,0,.18))}
.sister-brand-istanbul{width:91px}
.mare-shared-header .header-nav{gap:clamp(13px,1.7vw,30px)}
.mare-shared-header .header-right{gap:clamp(8px,1.1vw,18px)}
.mare-mobile-nav .mare-mobile-reserve{display:block;margin-top:24px;padding:18px 20px;background:var(--ruby);font-family:var(--sans);font-size:12px;text-align:center;border:0;letter-spacing:.13em}

/* Mare uses the same sunset photo in the destination picker and its main hero. */
.mare-main{
  background-image:url('media/ruby-mare-atmosphere-generated.webp');
  background-position:center 58%;
  background-size:cover;
}
.mare-main:before{background:linear-gradient(90deg,rgba(4,15,18,.75),rgba(4,15,18,.28) 55%,rgba(4,15,18,.06));transform:none}
.mare-main:after{background:linear-gradient(0deg,rgba(4,12,14,.6),transparent 58%)}

/* Editorial panels inspired by the supplied Ruby social story: colour above,
   photography below. Copy never has to compete with highlights in the photo. */
.editorial-figure{
  display:grid;
  grid-template-rows:40% minmax(0,1fr);
  height:min(54vw,700px);
  min-height:480px;
  background:#e9e3d9;
}
.editorial-figure::after{display:none}
.editorial-figure img{
  grid-row:2;
  grid-column:1;
  position:relative;
  width:100%;height:100%;min-height:0;
  object-fit:cover;
}
.editorial-figure figcaption{
  grid-row:1;grid-column:1;
  position:relative;inset:auto;
  display:flex;flex-direction:column;justify-content:center;
  gap:17px;
  padding:32px clamp(25px,4vw,73px);
  background:#f0ece5;
  color:#171e1a;
}
.editorial-gold figcaption{background:#e5dfd5}
.editorial-figure figcaption small{color:#706a63;font-size:10px}
.editorial-figure figcaption span{max-width:22ch;color:#1b201b;font-size:clamp(32px,3.15vw,55px);line-height:1.1;overflow-wrap:break-word}

.mare-editorial-card{
  display:grid;
  grid-template-rows:auto minmax(340px,1fr);
  height:auto;
  min-height:760px;
  background:#eee9e0;
}
.mare-editorial-card::after{display:none}
.mare-editorial-card img{grid-row:2;grid-column:1;width:100%;height:100%;min-height:0;object-fit:cover}
.mare-editorial-copy{
  grid-row:1;grid-column:1;
  position:relative;inset:auto;
  display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
  padding:clamp(32px,3.7vw,62px);
  background:#f0ece5;
  color:#1b211e;
}
.mare-editorial-card:nth-child(2) .mare-editorial-copy{background:#e5dfd5}
.mare-editorial-copy>span{color:#6c655c;font-size:10px}
.mare-editorial-copy h2{font-size:clamp(38px,3.35vw,64px);line-height:1.08;letter-spacing:-.035em;margin:17px 0}
.mare-editorial-copy h2 i{color:#a77a6c}
.mare-editorial-copy p{max-width:55ch;color:#4e524d;font-size:13px;line-height:1.75;margin-bottom:0}
.mare-editorial-copy a{color:#172521;border-bottom-color:#636d67;font-size:10px;margin-top:17px}

/* A cream button always carries dark lettering, including its nested label. */
.mare-invitation>.btn.btn-cream{background:#f1eee8;color:#171d1a}
.mare-invitation>.btn.btn-cream span{color:#171d1a}
.mare-invitation>.btn.btn-cream:hover{background:#fff;color:#121713}

@media(max-width:1150px){
  .sister-brand{width:110px}
  .sister-brand-istanbul{width:81px}
  .mare-shared-header .header-logo{width:140px}
}
@media(max-width:900px){
  .gateway-card .card-center{margin-top:0}
  .gateway-card:first-child{padding-top:218px}
  .gateway-card:nth-child(2){padding-top:38px}
  .mare-shared-header .header-book{display:none}
  .mare-shared-header .header-logo{width:120px}
  .sister-brand{width:101px}
  .sister-brand-istanbul{width:79px}
  .editorial-figure{height:50vw;min-height:335px}
  .editorial-figure figcaption{padding:23px}
  .editorial-figure figcaption span{font-size:clamp(26px,3.5vw,39px)}
  .mare-editorial-card{min-height:700px}
  .mare-editorial-copy{padding:43px 7%}
  .mare-editorial-copy h2{font-size:clamp(39px,6vw,63px)}
}
@media(max-width:640px){
  .hero-media{background-position:43% 14%}
  .gateway-card:first-child{padding-top:205px}
  .gateway-card:nth-child(2){padding-top:29px}
  .gateway-card .card-center{margin-top:0}
  .gateway-card .card-center strong{font-size:clamp(48px,13vw,63px)}
  .site-header.mare-shared-header{padding:0 18px;gap:9px}
  .mare-shared-header .header-logo{width:99px}
  .sister-brand{width:76px;height:51px}
  .sister-brand-istanbul{width:65px}
  .sister-brand img{max-height:51px}
  .mare-shared-header .header-right{gap:6px}
  .mare-shared-header .mobile-menu-toggle{width:34px}
  .mare-main{background-position:57% center}
  .editorial-figure,.editorial-figure.editorial-gold{height:auto;min-height:0;grid-template-rows:auto minmax(270px,52vw)}
  .editorial-figure figcaption{min-height:190px;padding:29px 26px}
  .editorial-figure figcaption span{font-size:clamp(31px,8vw,44px)}
  .mare-editorial-card{min-height:0;grid-template-rows:auto minmax(325px,68vw)}
  .mare-editorial-copy{padding:35px 26px}
  .mare-editorial-copy h2{font-size:clamp(39px,10vw,57px);margin:14px 0}
  .mare-editorial-copy p{font-size:13px}
}

/* v13 — İstanbul's opening photograph and its real candle positions.
   SVG's cover crop matches the square source photo, including on mobile. */
.gateway-istanbul::before{
  background-image:url('media/ruby-istanbul-evening-hero.webp');
  background-position:center center;
  background-size:cover;
  filter:brightness(.78) saturate(1.04);
}
.gateway-candle-lights{
  position:absolute;
  inset:0;
  z-index:1;
  width:100%;
  height:100%;
  pointer-events:none;
  mix-blend-mode:screen;
  transition:transform 1.2s ease;
}
.gateway-istanbul:hover .gateway-candle-lights{transform:scale(1.07)}
.gateway-candle-lights .candle-flicker-a{
  animation:rubyCandleFlickerA 3.8s ease-in-out infinite;
}
.gateway-candle-lights .candle-flicker-b{
  animation:rubyCandleFlickerB 4.6s ease-in-out -1.7s infinite;
}
@keyframes rubyCandleFlickerA{
  0%,100%{opacity:.63}18%{opacity:.75}38%{opacity:.58}57%{opacity:.70}76%{opacity:.61}90%{opacity:.72}
}
@keyframes rubyCandleFlickerB{
  0%,100%{opacity:.55}21%{opacity:.67}42%{opacity:.60}59%{opacity:.73}82%{opacity:.57}
}
@media(prefers-reduced-motion:reduce){
  .gateway-candle-lights .candle-flicker-a{opacity:.66}
  .gateway-candle-lights .candle-flicker-b{opacity:.62}
}

/* v14 — Private Moments: Ruby's real setting, event inspiration and B.A. Pro Events. */
.private-section{padding:0;background:#f1eee8;color:#18201e;overflow:hidden}
.private-opening{padding-top:128px;padding-bottom:104px}
.private-topline{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #c8c3ba;padding-bottom:22px}
.private-brandline{font-size:10px;font-weight:600;letter-spacing:.17em;color:#77746e;text-align:end}
.private-hero-copy{display:grid;grid-template-columns:1.16fr .84fr;gap:clamp(45px,6vw,110px);align-items:end;padding-top:36px}
.private-hero-copy h2{font-family:var(--serif);font-weight:400;font-size:clamp(65px,7.15vw,112px);line-height:1.02;letter-spacing:-.046em;margin:0}
.private-hero-copy h2 i{color:#a07f72;font-weight:400}
.private-lead{padding-bottom:7px}
.private-lead p{font-size:clamp(15px,1.18vw,18px);line-height:1.9;color:#53534f;margin-bottom:35px}
.private-lead .btn{min-width:270px}
.private-venue-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:310px 310px;gap:9px;background:#151d1b;padding:9px}
.private-venue-photo,.private-inspiration-photo{position:relative;overflow:hidden;margin:0;background:#263330}
.private-venue-photo img,.private-inspiration-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.12,1)}
.private-venue-photo:hover img,.private-inspiration-photo:hover img{transform:scale(1.035)}
.private-venue-main{grid-column:1/span 6;grid-row:1/span 2}
.private-venue-festive{grid-column:7/span 6;grid-row:1}
.private-venue-floral{grid-column:7/span 3;grid-row:2}
.private-venue-candle{grid-column:10/span 3;grid-row:2}
.private-venue-main::after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.55));pointer-events:none}
.private-venue-main figcaption{position:absolute;bottom:32px;left:38px;right:32px;z-index:1;color:#fff;font-size:12px;font-weight:600;letter-spacing:.22em;text-shadow:0 2px 8px #0006}
.private-venue-main figcaption span{font-weight:400;color:#dfd4c8}
.private-story{display:grid;grid-template-columns:1fr .65fr;gap:clamp(60px,8vw,150px);padding-top:110px;padding-bottom:88px;align-items:end}
.private-story h3{font-family:var(--serif);font-size:clamp(55px,5.55vw,89px);line-height:1.03;letter-spacing:-.04em;font-weight:400;margin:23px 0 0}
.private-story h3 i{color:#a07f72;font-weight:400}
.private-story p{font-size:16px;line-height:1.95;color:#585b56;margin:0}
.private-inspiration-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:22px;font-size:10px;letter-spacing:.18em;font-weight:600;color:#74706a}
.private-inspiration-heading span:last-child{color:#a18c80}
.private-inspiration-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:340px 340px;gap:9px;padding:9px;background:#151d1b}
.private-inspiration-photo{grid-column:span 3}
.private-inspiration-wide{grid-column:span 6}
.private-inspiration-photo:nth-child(1) img{object-position:center 56%}
.private-inspiration-photo:nth-child(3) img{object-position:center 37%}
.private-inspiration-photo:nth-child(4) img{object-position:center 34%}
.private-inspiration-photo:nth-child(6) img{object-position:center 47%}
.private-partner{padding-top:145px;padding-bottom:125px}
.private-partner-heading{display:grid;grid-template-columns:200px minmax(0,1fr);gap:clamp(42px,7vw,125px);align-items:start;padding-bottom:85px}
.private-partner-logo{width:190px;max-width:100%;height:auto;object-fit:contain;display:block}
.private-partner-heading h3{font-family:var(--serif);font-size:clamp(57px,6vw,96px);line-height:1.04;letter-spacing:-.045em;margin:19px 0 23px;font-weight:400}
.private-partner-heading h3 i{color:#a07f72;font-weight:400}
.private-partner-heading p{max-width:790px;font-size:16px;line-height:1.92;color:#585852;margin:0}
.private-services-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px}
.private-services-list article{padding:30px 0 38px;border-top:1px solid #bdb8b0;border-bottom:1px solid #d4cec4}
.private-service-index{display:inline-block;color:#a08477;font-size:11px;font-weight:600;letter-spacing:.2em;margin-bottom:24px}
.private-services-list h4{font-family:var(--serif);font-size:clamp(26px,2.25vw,35px);font-weight:400;line-height:1.18;letter-spacing:-.02em;margin:0 0 18px}
.private-services-list p{font-size:14px;line-height:1.85;color:#65635e;margin:0}
.private-all-services{display:inline-flex;align-items:center;gap:24px;margin-top:29px;border-bottom:1px solid #9e867a;padding:10px 0;font-size:11px;font-weight:700;letter-spacing:.14em;transition:gap .2s}
.private-all-services:hover{gap:34px}
.private-strengths{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;margin-top:78px;margin-bottom:105px}
.private-strengths>div{border-top:2px solid #ac9486;padding-top:22px}
.private-strengths strong{display:block;font-family:var(--serif);font-size:25px;font-weight:400;line-height:1.18;margin-bottom:12px}
.private-strengths p{font-size:13px;color:#77716b;line-height:1.85;margin:0}
.private-contact-panel{background:#1a3030;color:#f4f0e9;display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(35px,5vw,86px);padding:clamp(38px,5vw,75px)}
.private-contact-panel .eyebrow{font-size:10px;color:#b8d1d0}
.private-contact-panel h3{font-family:var(--serif);font-size:clamp(47px,4.25vw,73px);font-weight:400;letter-spacing:-.035em;line-height:1.06;margin:27px 0}
.private-contact-panel h3 i{color:#c5b5a8;font-weight:400}
.private-contact-panel p{font-size:15px;line-height:1.85;color:#d2dcda;max-width:590px;margin:0}
.private-contact-actions{align-self:center;min-width:0}
.private-phone{display:grid;grid-template-columns:1fr auto;column-gap:20px;row-gap:14px;border-top:1px solid #7d9692;border-bottom:1px solid #7d9692;padding:28px 0;color:#fff}
.private-phone>span:first-child{grid-column:1;font-size:11px;font-weight:700;letter-spacing:.17em;color:#c9d9d7}
.private-phone strong{grid-column:1;font-family:var(--serif);font-size:clamp(28px,2.55vw,44px);font-weight:400;letter-spacing:-.02em;white-space:nowrap}
.private-contact-arrow{grid-column:2;grid-row:1/span 2;align-self:center;font-size:32px;font-weight:300;transition:transform .2s}
.private-phone:hover .private-contact-arrow{transform:translate(4px,-4px)}
.private-external-links{display:flex;gap:30px;flex-wrap:wrap;padding-top:24px}
.private-external-links a{font-size:11px;letter-spacing:.14em;font-weight:700;border-bottom:1px solid #a3b9b5;padding:9px 0 12px;transition:color .2s}
.private-external-links a:hover{color:#f6c9aa}
@media(max-width:900px){
  .private-opening{padding-top:100px;padding-bottom:70px}
  .private-hero-copy,.private-story{grid-template-columns:1fr;gap:30px}
  .private-hero-copy h2{font-size:clamp(61px,9vw,86px)}
  .private-lead{max-width:680px}
  .private-venue-grid{grid-template-rows:280px 280px}
  .private-story{padding-top:82px;padding-bottom:72px}
  .private-inspiration-grid{grid-template-rows:290px 290px}
  .private-partner{padding-top:100px;padding-bottom:85px}
  .private-partner-heading{grid-template-columns:150px minmax(0,1fr);gap:35px}
  .private-partner-logo{width:145px}
  .private-partner-heading h3{font-size:clamp(50px,6vw,70px)}
  .private-services-list{gap:20px}
  .private-strengths{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}
  .private-contact-panel{grid-template-columns:1fr}
}
@media(max-width:640px){
  .private-opening{padding-top:80px;padding-bottom:65px}
  .private-topline{align-items:start;gap:15px}
  .private-brandline{max-width:180px;font-size:8px;line-height:1.6}
  .private-hero-copy{padding-top:30px}
  .private-hero-copy h2{font-size:clamp(54px,11vw,68px)}
  .private-lead p,.private-story p,.private-partner-heading p{font-size:14px}
  .private-lead .btn{width:100%;min-width:0}
  .private-venue-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:350px 210px 210px;gap:6px;padding:6px}
  .private-venue-main{grid-column:1/3;grid-row:1}
  .private-venue-festive{grid-column:1/3;grid-row:2}
  .private-venue-floral{grid-column:1;grid-row:3}
  .private-venue-candle{grid-column:2;grid-row:3}
  .private-venue-main figcaption{left:20px;bottom:19px;font-size:9px}
  .private-story{padding-top:76px;padding-bottom:58px}
  .private-story h3{font-size:clamp(50px,11vw,68px)}
  .private-inspiration-heading{font-size:8px;line-height:1.6}
  .private-inspiration-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:310px 230px 230px 310px;gap:6px;padding:6px}
  .private-inspiration-photo{grid-column:span 1}
  .private-inspiration-wide{grid-column:span 2}
  .private-partner{padding-top:90px;padding-bottom:65px}
  .private-partner-heading{display:block;padding-bottom:50px}
  .private-partner-logo{width:110px;margin-bottom:33px}
  .private-partner-heading h3{font-size:clamp(49px,10vw,65px)}
  .private-services-list{grid-template-columns:1fr;gap:0}
  .private-services-list article{padding-top:25px;padding-bottom:28px;border-bottom:0}
  .private-services-list article:last-child{border-bottom:1px solid #d4cec4}
  .private-services-list h4{font-size:29px}
  .private-strengths{grid-template-columns:1fr 1fr;gap:22px 18px;margin-top:53px;margin-bottom:70px}
  .private-strengths strong{font-size:21px}
  .private-strengths p{font-size:12px}
  .private-contact-panel{padding:32px 24px;gap:34px}
  .private-contact-panel h3{font-size:clamp(46px,9.3vw,60px)}
  .private-contact-panel p{font-size:13px}
  .private-phone strong{font-size:clamp(28px,7vw,37px)}
  .private-external-links{gap:15px}
  .private-external-links a{font-size:10px}
}

/* v15 — Modern Ruby typography: clear geometric headings and multilingual legibility.
   Preserve the original logos, colour accents, imagery and page structures. */
body{font-weight:400;font-size:15px;line-height:1.7;font-kerning:normal;text-rendering:optimizeLegibility}
h1,h2,h3,h4{font-family:var(--serif);font-optical-sizing:auto;text-wrap:balance}
:is(.gateway-heading,.gateway-card,.hero,.intro-content,.split-copy,.menu-heading,.night-content,.private-section,.gallery-title,.instagram-layout,.booking-cta,.contact-layout,.mare-site,.modal-panel) :is(h1,h2,h3,h4){font-weight:500;line-height:1.13;letter-spacing:-.038em}
:is(.gateway-heading,.gateway-card,.hero,.intro-content,.split-copy,.menu-heading,.night-content,.private-section,.gallery-title,.instagram-layout,.booking-cta,.contact-layout,.mare-site,.modal-panel) :is(h1,h2,h3,h4) i{font-family:inherit;font-style:normal;font-weight:600;letter-spacing:inherit}
.card-center strong,.editorial-figure figcaption span,.private-strengths strong,.private-phone strong,.mare-brand>span{font-family:var(--serif);font-weight:500;letter-spacing:-.025em;line-height:1.17}
.card-center strong i{font-family:inherit;font-style:normal;font-weight:600}

/* Scale generous editorial titles down to breathable, readable contemporary type. */
.gateway-heading h1{font-size:clamp(39px,4.5vw,69px);line-height:1.12;letter-spacing:-.035em}
.card-center strong{font-size:clamp(58px,5.8vw,96px);line-height:1.06;letter-spacing:-.038em}
.hero h1{font-size:clamp(57px,6.35vw,111px);line-height:1.08;letter-spacing:-.046em}
.intro-content h2{font-size:clamp(44px,4.9vw,80px)}
.split-copy h2{font-size:clamp(44px,5vw,83px)}
.menu-heading h2{font-size:clamp(45px,5.1vw,84px)}
.night-content h2{font-size:clamp(51px,6.2vw,102px)}
.gallery-title h2{font-size:clamp(45px,5.15vw,85px)}
.instagram-layout h2{font-size:clamp(43px,4.7vw,77px)}
.booking-cta h2{font-size:clamp(43px,4.75vw,79px)}
.contact-layout h2{font-size:clamp(47px,5vw,84px)}
.mare-content h1{font-size:clamp(82px,11.2vw,174px);line-height:1.01;letter-spacing:-.052em}
.mare-story h2{font-size:clamp(46px,5.35vw,86px)}
.mare-gallery-header h2{font-size:clamp(50px,6.1vw,98px)}
.mare-invitation h2{font-size:clamp(47px,5.6vw,91px)}
.mare-contact h2{font-size:clamp(45px,5.5vw,87px)}
.mare-editorial-copy h2{font-size:clamp(36px,3.2vw,56px)}
.editorial-figure figcaption span{font-size:clamp(23px,2.4vw,39px);line-height:1.24}
.modal-head h2{font-size:clamp(33px,3.75vw,44px)}
.modal-body h3{font-size:clamp(26px,2.6vw,33px)}

/* The new Private Moments area follows the same clear hierarchy. */
.private-hero-copy h2{font-size:clamp(48px,5.6vw,91px)}
.private-story h3{font-size:clamp(43px,4.75vw,74px)}
.private-partner-heading h3{font-size:clamp(44px,4.9vw,77px)}
.private-services-list h4{font-size:clamp(22px,1.95vw,30px);font-weight:600;line-height:1.3;letter-spacing:-.025em}
.private-strengths strong{font-size:clamp(19px,1.7vw,24px);font-weight:600;line-height:1.35}
.private-contact-panel h3{font-size:clamp(40px,3.8vw,63px)}
.private-phone strong{font-size:clamp(27px,2.45vw,39px);font-weight:600}

/* More comfortable running text and labels without making navigation crowded. */
:is(.hero-inner>p,.split-copy p,.night-content p,.mare-content p,.mare-story p,.private-lead p,.private-story p,.private-partner-heading p,.private-contact-panel p){font-weight:400;line-height:1.84}
.eyebrow,.section-number,.mare-section-number{letter-spacing:.13em;font-weight:700}
.btn,.btn-text,.pdf-links,.social-link,.private-all-services,.private-external-links a{font-size:12px;letter-spacing:.08em}
.header-nav a{font-size:11px;letter-spacing:.08em}
.language-toggle{font-size:12px;letter-spacing:.07em}
.menu-tabs button{font-size:12px;letter-spacing:.09em}
.menu-item h3{font-size:15px;line-height:1.55}
.menu-item p{font-size:13px;line-height:1.7}
.private-services-list p,.private-strengths p{line-height:1.85}
.mobile-nav a{font-family:var(--serif);font-weight:500;letter-spacing:-.025em}

/* Arabic must never inherit Latin tracking, Latin type or synthetic italics. */
html[lang="ar"]{--display:'Noto Sans Arabic','Manrope',sans-serif}
html[lang="ar"] :is(h1,h2,h3,h4,.eyebrow,.section-number,.mare-section-number,.btn,.btn-text,.header-nav a,.mobile-nav a,.card-kicker,.card-caption,.private-all-services,.private-external-links a){letter-spacing:0;hyphens:none}
html[lang="ar"] :is(h1,h2,h3,h4){line-height:1.48;text-wrap:pretty;overflow-wrap:break-word}
html[lang="ar"] :is(h1,h2,h3,h4) i{font-style:normal}
html[lang="ar"] .gateway-heading h1,html[lang="ar"] .hero h1,html[lang="ar"] .private-hero-copy h2{line-height:1.45}
html[lang="ar"] .card-center strong,html[lang="ar"] .mare-content h1{font-family:'Manrope','DM Sans',sans-serif;letter-spacing:-.035em;line-height:1.08}
html:is([lang="fr"],[lang="es"],[lang="it"],[lang="de"],[lang="ru"]) :is(h1,h2,h3,h4){overflow-wrap:break-word;hyphens:auto}

@media(max-width:900px){
  .gateway-card .card-center strong{font-size:clamp(54px,7.3vw,76px)}
  .hero h1{font-size:clamp(53px,7.5vw,83px)}
  .mare-story h2{font-size:clamp(43px,6.4vw,70px)}
  .mare-editorial-copy h2{font-size:clamp(36px,5.1vw,53px)}
  .private-hero-copy h2{font-size:clamp(47px,7.3vw,73px)}
  .private-partner-heading h3{font-size:clamp(41px,5.7vw,63px)}
}
@media(max-width:640px){
  .gateway-heading h1{font-size:clamp(35px,9vw,47px)}
  .gateway-card .card-center strong{font-size:clamp(43px,11.7vw,59px)}
  .hero h1{font-size:clamp(39px,10.25vw,61px)}
  .intro-content h2,.split-copy h2,.menu-heading h2{font-size:clamp(38px,9vw,54px)}
  .night-content h2,.gallery-title h2,.instagram-layout h2,.booking-cta h2,.contact-layout h2{font-size:clamp(41px,9.6vw,58px)}
  .mare-content h1{font-size:clamp(79px,19vw,123px)}
  .mare-story h2,.mare-gallery-header h2,.mare-invitation h2,.mare-contact h2{font-size:clamp(39px,9.1vw,55px)}
  .mare-editorial-copy h2{font-size:clamp(34px,8vw,48px)}
  .private-hero-copy h2{font-size:clamp(41px,9.6vw,58px)}
  .private-story h3{font-size:clamp(40px,9vw,55px)}
  .private-partner-heading h3{font-size:clamp(39px,9.15vw,57px)}
  .private-services-list h4{font-size:clamp(23px,6vw,28px)}
  .private-contact-panel h3{font-size:clamp(35px,8.8vw,51px)}
  .private-phone strong{font-size:clamp(23px,6vw,34px);white-space:normal}
  .modal-head h2{font-size:clamp(30px,8vw,40px)}
  .modal-body h3{font-size:clamp(25px,6vw,31px)}
  .mobile-nav a{font-size:clamp(28px,8vw,37px)}
  .btn,.btn-text,.private-all-services{font-size:11.5px}
  .menu-tabs button{font-size:11px}
  html[lang="ar"] .gateway-heading h1{font-size:clamp(34px,8.8vw,49px)}
  html[lang="ar"] .hero h1{font-size:clamp(36px,9vw,52px)}
}

/* v17 — Two equal-size, equal-colour lines for both Ruby Mare titles. */
.mare-destination-title{font-family:'Manrope','DM Sans',sans-serif;font-weight:500;letter-spacing:-.043em;line-height:1.1;color:inherit;direction:ltr;unicode-bidi:isolate;text-align:left;white-space:nowrap;text-wrap:nowrap}
.gateway-mare .card-center strong.mare-destination-title{font-size:clamp(40px,5.5vw,108px);font-weight:500;letter-spacing:-.043em;line-height:1.1}
.mare-content h1.mare-destination-title{font-size:clamp(46px,10vw,174px);font-weight:500;letter-spacing:-.048em;line-height:1.1}

/* v18 — A quiet cinematic rhythm. Nothing is visually hidden without JS support. */
html.ruby-motion .ruby-reveal{
  opacity:0;
  transform:translate3d(0,26px,0);
  transition:opacity .95s cubic-bezier(.22,1,.36,1),transform 1.08s cubic-bezier(.18,.8,.22,1);
  transition-delay:var(--ruby-delay,0ms);
}
html.ruby-motion .ruby-reveal.ruby-visible{opacity:1;transform:translate3d(0,0,0)}
html.ruby-motion .ruby-reveal.ruby-photo-reveal{
  clip-path:inset(4% 0 4% 0);
  transition:opacity 1.05s cubic-bezier(.22,1,.36,1),transform 1.18s cubic-bezier(.18,.8,.22,1),clip-path 1.38s cubic-bezier(.19,1,.22,1);
  transition-delay:var(--ruby-delay,0ms);
}
html.ruby-motion .ruby-reveal.ruby-photo-reveal.ruby-visible{clip-path:inset(0 0 0 0)}

@keyframes rubyStageEntrance{
  from{opacity:0;transform:translate3d(0,24px,0)}
  to{opacity:1;transform:translate3d(0,0,0)}
}
@keyframes rubyOpeningVeil{
  from{opacity:0}
  to{opacity:1}
}
html.ruby-motion .gateway-heading{animation:rubyOpeningVeil 1.1s ease-out both}
html.ruby-motion .gateway-card .branch-logo{animation:rubyStageEntrance .9s cubic-bezier(.19,1,.22,1) .12s both}
html.ruby-motion .gateway-card .card-kicker{animation:rubyStageEntrance .85s cubic-bezier(.19,1,.22,1) .23s both}
html.ruby-motion .gateway-card .card-center strong{animation:rubyStageEntrance 1.08s cubic-bezier(.19,1,.22,1) .32s both}
html.ruby-motion .gateway-card .card-caption{animation:rubyStageEntrance .85s cubic-bezier(.19,1,.22,1) .51s both}
html.ruby-motion .city-site:not([hidden]) .hero-inner>.hero-eyebrow{animation:rubyStageEntrance .85s cubic-bezier(.19,1,.22,1) .05s both}
html.ruby-motion .city-site:not([hidden]) .hero-inner>h1{animation:rubyStageEntrance 1.05s cubic-bezier(.19,1,.22,1) .16s both}
html.ruby-motion .city-site:not([hidden]) .hero-inner>p{animation:rubyStageEntrance 1.05s cubic-bezier(.19,1,.22,1) .31s both}
html.ruby-motion .city-site:not([hidden]) .hero-inner>.hero-buttons{animation:rubyStageEntrance 1.05s cubic-bezier(.19,1,.22,1) .43s both}
html.ruby-motion .mare-site:not([hidden]) .mare-content>.mare-brand{animation:rubyStageEntrance .85s cubic-bezier(.19,1,.22,1) .04s both}
html.ruby-motion .mare-site:not([hidden]) .mare-content>.eyebrow{animation:rubyStageEntrance .85s cubic-bezier(.19,1,.22,1) .14s both}
html.ruby-motion .mare-site:not([hidden]) .mare-content>.mare-small{animation:rubyStageEntrance .85s cubic-bezier(.19,1,.22,1) .24s both}
html.ruby-motion .mare-site:not([hidden]) .mare-content>h1{animation:rubyStageEntrance 1.1s cubic-bezier(.19,1,.22,1) .32s both}
html.ruby-motion .mare-site:not([hidden]) .mare-content>p{animation:rubyStageEntrance 1.05s cubic-bezier(.19,1,.22,1) .46s both}
html.ruby-motion .mare-site:not([hidden]) .mare-content>.mare-actions{animation:rubyStageEntrance 1.05s cubic-bezier(.19,1,.22,1) .57s both}

/* Gentle tactile details; retain the existing palette and crop positions. */
@media(hover:hover) and (pointer:fine){
  html.ruby-motion .header-nav a{position:relative}
  html.ruby-motion .header-nav a::after{content:"";position:absolute;left:0;right:0;bottom:5px;height:1px;background:#e8c5b2;transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.22,1,.36,1)}
  html.ruby-motion .header-nav a:hover::after,html.ruby-motion .header-nav a:focus-visible::after{transform:scaleX(1)}
  html.ruby-motion .btn{transition:transform .32s ease,background .32s ease,color .32s ease,border-color .32s ease,box-shadow .38s ease}
  html.ruby-motion .btn:hover{box-shadow:0 14px 36px rgba(0,0,0,.18)}
  html.ruby-motion :is(.private-venue-photo,.private-inspiration-photo,.gallery-photo,.mare-gallery-item,.mare-editorial-card) img{transition-duration:1.2s;transition-timing-function:cubic-bezier(.2,.72,.22,1)}
  html.ruby-motion :is(.private-venue-photo,.private-inspiration-photo,.gallery-photo,.mare-gallery-item,.mare-editorial-card):hover img{transform:scale(1.055)}
}
html.ruby-motion .modal:not([hidden]) .modal-panel,html.ruby-motion .lightbox:not([hidden]) figure{
  animation:rubyStageEntrance .6s cubic-bezier(.19,1,.22,1) both;
}
@media(max-width:640px){
  html.ruby-motion .ruby-reveal{transform:translate3d(0,17px,0);transition-duration:.72s,.85s}
  html.ruby-motion .ruby-reveal.ruby-photo-reveal{transition-duration:.82s,.92s,1.03s}
}
@media(prefers-reduced-motion:reduce){
  html.ruby-motion .ruby-reveal{opacity:1!important;transform:none!important;clip-path:none!important}
}

/* v20 — Photographic micro-scenes. Coordinates are mapped to each original
   picture's CSS cover crop in JS; no background, text or photograph is replaced. */
.ruby-scene-wrap{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;user-select:none;contain:paint}
.ruby-scene-coordinates{position:absolute;pointer-events:none;transform-origin:top left}
.ruby-photo-svg{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:visible;mix-blend-mode:screen}
.ruby-photo-effects .gateway-candle-lights{display:none}
.gateway-card>.ruby-scene-wrap{z-index:1;transition:transform 1.2s ease;transform-origin:center}
.gateway-card:hover>.ruby-scene-wrap{transform:scale(1.07)}
.hero-media>.ruby-scene-wrap{z-index:0}
.mare-main>.ruby-scene-wrap{z-index:0}

/* Independent, unsynchronised light cycles feel like illuminated glass and
   actual bridge LEDs, rather than an obvious flashing animation. */
.ruby-bridge-lights{filter:drop-shadow(0 0 1.2px rgba(255,249,218,.46))}
.ruby-bridge-twinkle{animation:rubyBridgeLights var(--twinkle-time,4s) ease-in-out var(--twinkle-delay,0s) infinite alternate}
.ruby-flame-glow{animation:rubyFlameBreath var(--flame-time,4s) ease-in-out var(--flame-delay,0s) infinite alternate}
@keyframes rubyBridgeLights{
  0%,100%{opacity:.52}
  17%{opacity:.85}
  43%{opacity:.59}
  72%{opacity:1}
  86%{opacity:.76}
}
@keyframes rubyFlameBreath{
  0%,100%{opacity:.48}
  18%{opacity:.72}
  35%{opacity:.57}
  59%{opacity:.87}
  79%{opacity:.64}
}

/* Photo-exact transparent foliage layers, independently isolated from the
   original photograph. No heuristic dark-pixel SVG masking or missing leaves. */
.ruby-olive-wind{
  position:absolute;inset:0;
  background-position:0 0;background-size:100% 100%;background-repeat:no-repeat;
  pointer-events:none;will-change:transform;opacity:1;
}
/* Keep the natural destination-card dimming on the separate foliage. */
.gateway-mare .ruby-olive-wind{filter:brightness(.74) saturate(.9)}
.gateway-mare:hover .ruby-olive-wind{filter:brightness(.82) saturate(.95)}
.ruby-olive-wind--canopy{
  background-image:url('media/ruby-olive-canopy-clean-v22.webp');
  transform-origin:12% 13%;
  animation:rubyOliveBreeze 6.1s cubic-bezier(.45,.04,.5,.98) -2.3s infinite alternate;
}
.ruby-olive-wind--sprig{
  background-image:url('media/ruby-olive-sprig-clean-v22.webp');
  transform-origin:21% 63%;
  animation:rubyOliveSprig 5.2s ease-in-out -.9s infinite alternate;
}
@keyframes rubyOliveBreeze{
  0%,100%{transform:rotate(-1.6deg) translate3d(-7px,2px,0)}
  43%{transform:rotate(1.85deg) translate3d(5px,-5px,0)}
  73%{transform:rotate(.6deg) translate3d(1px,-2px,0)}
}
@keyframes rubyOliveSprig{
  0%,100%{transform:rotate(1.8deg) translate3d(6px,1px,0)}
  47%{transform:rotate(-1.65deg) translate3d(-6px,-5px,0)}
  76%{transform:rotate(.48deg) translate3d(2px,-1px,0)}
}

/* Natural gold highlights only on the photographed water reflection. */
.ruby-sea-glint{opacity:0;animation:rubySeaGlint var(--glint-time,4.5s) ease-in-out var(--glint-delay,0s) infinite}
@keyframes rubySeaGlint{
  0%,100%{opacity:.02;transform:translate3d(-1px,0,0)}
  23%{opacity:.17}
  53%{opacity:.07;transform:translate3d(1px,0,0)}
  76%{opacity:.29}
}

/* Inside the photographed liquid only: tiny bubbles drift toward the surface,
   at different speeds and with natural pauses. Glassware remains untouched. */
.ruby-champagne-bubble{
  opacity:0;
  animation:rubyChampagneRise var(--bubble-time,3s) linear var(--bubble-delay,0s) infinite;
}
@keyframes rubyChampagneRise{
  0%{opacity:0;transform:translate3d(0,6px,0)}
  14%{opacity:.67}
  53%{opacity:.48}
  85%{opacity:.59}
  100%{opacity:0;transform:translate3d(var(--bubble-drift,1px),var(--bubble-rise,-74px),0)}
}
.ruby-scene-wrap:not(.ruby-scene-playing) :is(.ruby-bridge-twinkle,.ruby-flame-glow,.ruby-olive-wind,.ruby-champagne-bubble,.ruby-sea-glint){animation-play-state:paused}
@media(max-width:700px){
  .ruby-bridge-twinkle:nth-child(4n){display:none}
  .ruby-champagne-bubble:nth-child(3n){display:none}
  .ruby-sea-glint:nth-child(3n){display:none}
  .ruby-olive-wind--canopy{animation-duration:8.8s}
}
@media(prefers-reduced-motion:reduce){
  .ruby-scene-wrap{display:none!important}
  .gateway-candle-lights .candle-flicker-a,.gateway-candle-lights .candle-flicker-b{animation:none!important}
}

/* v21 — A true clean plate beneath the moving olive pixels.
   No stationary canopy or vase sprig is left in the Mare photograph. */
html.ruby-photo-effects .gateway-mare::before{
  background-image:url('media/ruby-mare-clean-plate-v21.webp');
}
html.ruby-photo-effects .mare-main{
  background-image:url('media/ruby-mare-clean-plate-v21.webp');
}
.ruby-olive-wind{opacity:1}
.ruby-olive-wind--canopy{animation-duration:5.1s}
.ruby-olive-wind--sprig{animation-duration:4.6s}

/* The Istanbul boats are real pixels cut from the source photograph.
   Their former locations show independently cleaned water underneath. */
.ruby-ship-layer{
  position:absolute;inset:0;pointer-events:none;
  background:url('media/ruby-istanbul-evening-hero.webp') 0 0/100% 100% no-repeat;
  -webkit-mask-size:100% 100%;mask-size:100% 100%;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  will-change:transform;
}
.ruby-ship-layer--ferry-water,.ruby-ship-layer--yacht-water{
  background-image:url('media/ruby-istanbul-clean-water-v21.webp');
}
.ruby-ship-layer--ferry-water{
  -webkit-mask-image:radial-gradient(ellipse 16.5% 7.6% at 69.3% 22.4%,#000 65%,transparent 100%);
  mask-image:radial-gradient(ellipse 16.5% 7.6% at 69.3% 22.4%,#000 65%,transparent 100%);
}
.ruby-ship-layer--yacht-water{
  -webkit-mask-image:radial-gradient(ellipse 10.5% 5.2% at 94% 24.3%,#000 64%,transparent 100%);
  mask-image:radial-gradient(ellipse 10.5% 5.2% at 94% 24.3%,#000 64%,transparent 100%);
}
.ruby-ship-layer--ferry{
  transform-origin:69% 23%;
  -webkit-mask-image:url('media/ruby-ferry-cutout-v21.svg');
  mask-image:url('media/ruby-ferry-cutout-v21.svg');
  animation:rubyFerryRock 7.6s ease-in-out -1.7s infinite alternate;
}
.ruby-ship-layer--yacht{
  transform-origin:94% 25%;
  -webkit-mask-image:url('media/ruby-yacht-cutout-v21.svg');
  mask-image:url('media/ruby-yacht-cutout-v21.svg');
  animation:rubyYachtRock 5.4s ease-in-out -2.9s infinite alternate;
}
@keyframes rubyFerryRock{
  0%,100%{transform:translate3d(-1.8px,1.4px,0) rotate(-.13deg)}
  49%{transform:translate3d(1.1px,-1.2px,0) rotate(.17deg)}
  78%{transform:translate3d(2px,.3px,0) rotate(.05deg)}
}
@keyframes rubyYachtRock{
  0%,100%{transform:translate3d(1.5px,-.5px,0) rotate(.22deg)}
  46%{transform:translate3d(-2.2px,1.6px,0) rotate(-.16deg)}
  74%{transform:translate3d(.5px,-1px,0) rotate(.08deg)}
}

/* Sparse architectural sparkle on the bridge; brighter candlelight on the
   actual table, with individually offset illumination cycles. */
.ruby-bridge-lights{filter:drop-shadow(0 0 .45px rgba(255,251,232,.35))}
@keyframes rubyBridgeLights{
  0%,100%{opacity:.31}
  19%{opacity:.64}
  45%{opacity:.39}
  71%{opacity:.73}
  88%{opacity:.43}
}
.ruby-flame-lights{filter:drop-shadow(0 0 3px rgba(255,192,91,.35))}
@keyframes rubyFlameBreath{
  0%,100%{opacity:.14}
  18%{opacity:.85}
  31%{opacity:.35}
  56%{opacity:1}
  74%{opacity:.28}
  88%{opacity:.93}
}
/* Gold should glimmer in the photographed sun track, never across blue sea. */
.ruby-sea-reflection{filter:drop-shadow(0 0 3px rgba(255,229,168,.66))}
@keyframes rubySeaGlint{
  0%,100%{opacity:.07;transform:translate3d(-4px,0,0)}
  21%{opacity:.55}
  47%{opacity:.19;transform:translate3d(4px,0,0)}
  72%{opacity:.85;transform:translate3d(-1px,0,0)}
}
.ruby-scene-wrap:not(.ruby-scene-playing) .ruby-ship-layer{animation-play-state:paused}
@media(max-width:700px){
  html.ruby-photo-effects .mare-main{background-position:27% center}
  html.ruby-photo-effects .gateway-mare::before{background-position:27% 58%}
  .ruby-sea-glint:nth-child(3n){display:block}
  .ruby-olive-wind--canopy{animation-duration:6.8s}
}
@media(prefers-reduced-motion:reduce){
  .ruby-ship-layer{animation:none!important}
}

/* v23 — Quiet, touch-friendly sound control in both destination headers. */
.site-header .header-right{gap:clamp(9px,1.2vw,18px)}
.ruby-sound-toggle{
  display:grid;place-items:center;position:relative;flex:0 0 39px;
  width:39px;height:39px;padding:8px;border:1px solid rgba(255,255,255,.38);
  border-radius:50%;background:rgba(12,16,18,.16);color:#fff;
  transition:border-color .25s,background .25s,transform .25s;
}
.ruby-sound-toggle:hover{border-color:rgba(255,255,255,.92);background:rgba(255,255,255,.12);transform:translateY(-1px)}
.ruby-sound-toggle:focus-visible{outline:2px solid white;outline-offset:3px}
.ruby-sound-toggle svg{display:block;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.ruby-sound-toggle .ruby-sound-wave{display:none}
.ruby-sound-toggle[data-playing="true"] .ruby-sound-wave{display:block}
.ruby-sound-toggle[data-playing="true"] .ruby-sound-slash{display:none}
.ruby-sound-toggle[data-playing="true"]{border-color:rgba(255,255,255,.8);background:rgba(255,255,255,.09)}
.ruby-sound-toggle[data-playing="true"]::after{
  content:"";position:absolute;right:2px;top:2px;width:5px;height:5px;
  background:#ecb69d;border-radius:50%;box-shadow:0 0 7px rgba(255,187,153,.75);
}
@media(max-width:900px){
  .site-header .header-right{gap:10px}
  .ruby-sound-toggle{width:35px;height:35px;flex-basis:35px;padding:7px}
  .ruby-sound-toggle svg{width:18px;height:18px}
}
@media(max-width:380px){
  .site-header .header-right{gap:7px}
  .ruby-sound-toggle{width:33px;height:33px;flex-basis:33px}
}

/* v24 — Larger language codes and a non-navigating gesture for audio consent.
   Browsers forbid first-visit sound autoplay from hover alone. */
.gateway-head .language-control>.language-toggle,
.site-header .language-control>.language-toggle{
  min-width:57px;padding:12px 8px;font-size:15px;font-weight:800;
  letter-spacing:.055em;line-height:1.35;
}
.gateway-sound-unlock{
  position:absolute;top:34px;right:133px;z-index:6;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:37px;padding:8px 12px;border:1px solid rgba(255,255,255,.46);
  border-radius:22px;background:rgba(13,18,20,.38);color:white;
  font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.08em;
  backdrop-filter:blur(12px);pointer-events:auto;
  transition:background .2s,border-color .2s,transform .2s;
}
.gateway-sound-unlock:hover{background:rgba(255,255,255,.17);border-color:rgba(255,255,255,.9);transform:translateY(-1px)}
.gateway-sound-unlock .gateway-sound-mark{font-size:16px;line-height:1;letter-spacing:0}
@media(max-width:900px){
  .gateway-head .language-control>.language-toggle,
  .site-header .language-control>.language-toggle{font-size:14px;min-width:54px;padding:10px 6px}
  .gateway-sound-unlock{top:24px;right:108px;font-size:10px;min-height:34px;padding:7px 10px}
}
@media(max-width:640px){
  .gateway-head .language-control>.language-toggle,
  .site-header .language-control>.language-toggle{font-size:13px;min-width:51px;padding:10px 5px}
  .gateway-sound-unlock{top:20px;right:83px;gap:5px;min-height:32px;padding:6px 8px;font-size:9px}
  .gateway-sound-unlock .gateway-sound-mark{font-size:13px}
}

/* v25 — High-detail Istanbul source, kept geometrically aligned with the
   moving real-boat masks and the separately repaired water plate. */
.hero-media{background-image:url('media/ruby-istanbul-evening-hero-v25.webp')}
.gateway-istanbul::before{
  background-image:url('media/ruby-istanbul-evening-hero-v25.webp');
  filter:brightness(.81) saturate(1.045) contrast(1.025);
}
.ruby-ship-layer{background-image:url('media/ruby-istanbul-evening-hero-v25.webp')}
.ruby-ship-layer--ferry-water,.ruby-ship-layer--yacht-water{
  background-image:url('media/ruby-istanbul-clean-water-v25.webp');
}

/* A real, discreet sound control: the CTA is visible before the first sound
   gesture and disappears after both tracks are unlocked. */
.gateway-sound-unlock[hidden]{display:none!important}
.gateway-sound-unlock{border-color:rgba(255,238,209,.7);background:rgba(17,19,20,.63)}
.gateway-sound-unlock:focus-visible{outline:2px solid #f9e3c8;outline-offset:4px}

/* New on-site Mare photography retains its own focal framing inside the
   existing responsive editorial/gallery grids. */
.mare-gallery-tall{grid-row:span 2}
.mare-gallery-tall img{object-position:center 38%}
.mare-gallery-item[data-photo="18"] img{object-position:50% 40%}
.mare-gallery-item[data-photo="22"] img,
.mare-gallery-item[data-photo="24"] img{object-position:center 48%}
.mare-editorial-card#mare-night img{object-position:center 63%}
@media(max-width:640px){
  .mare-gallery-tall{grid-row:span 2}
  .mare-gallery-item[data-photo="24"] img{object-position:center 56%}
}

/* v26 — A single centered sun, with the waves and animated glints moving
   together; retain original independent foliage and champagne effects. */
html.ruby-photo-effects .gateway-mare::before,
html.ruby-photo-effects .mare-main{
  background-image:url('media/ruby-mare-sunset-centered-v26.webp');
}
/* On narrow screens keep the golden track and both glasses within the crop,
   while still retaining a slice of the moving olive canopy at upper left. */
@media(max-width:700px){
  html.ruby-photo-effects .mare-main{background-position:49% center}
  html.ruby-photo-effects .gateway-mare::before{background-position:49% 58%}
}

/* A vector X centered on the actual circle, regardless of glyph metrics,
   device font, browser or any of the eight translated reservations screens. */
.modal-close{
  display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;
  padding:0;line-height:1;border:1px solid #b9b1a7;cursor:pointer;
  transition:background-color .22s,border-color .22s,transform .22s;
}
.modal-close svg{
  display:block;width:20px;height:20px;fill:none;stroke:currentColor;
  stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round;
}
.modal-close:hover{background:#e5dbd0;border-color:#867a6f;transform:rotate(90deg)}
.modal-close:focus-visible{outline:2px solid #b1372c;outline-offset:4px}

/* v27 — Ruby Mare's actual sunset terrace, with the photographed sun at its
   original place. The original animated olive canopy is retained on the left. */
.gateway-mare::before,
.mare-main,
html.ruby-photo-effects .gateway-mare::before,
html.ruby-photo-effects .mare-main{
  background-image:url('media/ruby-mare-real-sunset-v27.webp');
}
.gateway-mare::before,
html.ruby-photo-effects .gateway-mare::before{background-position:82% center}
.mare-main,
html.ruby-photo-effects .mare-main{background-position:50% center}

/* Two separate, photographically cut-out vessels, each barely moving on its
   own rhythm; deliberately smaller than the landscape's dominant sunset. */
.ruby-mare-vessel{
  position:absolute;pointer-events:none;background-repeat:no-repeat;
  background-position:center;background-size:contain;
  transform-origin:50% 88%;will-change:transform;
  filter:drop-shadow(0 1px 1px rgba(29,34,37,.22));
}
.ruby-mare-vessel--yacht{
  left:76%;top:48.1%;width:7.8%;height:5.6%;
  background-image:url('media/ruby-mare-yacht-v27.webp');
  animation:rubyMareYachtRock 6.9s ease-in-out -3.2s infinite alternate;
}
@keyframes rubyMareYachtRock{
  0%,100%{transform:translate3d(1px,-.5px,0) rotate(.23deg)}
  54%{transform:translate3d(-1.2px,.8px,0) rotate(-.21deg)}
  83%{transform:translate3d(-.2px,-.3px,0) rotate(-.06deg)}
}

/* Extremely restrained moving wisps; the photograph's existing clouds remain
   the source of the atmosphere. No artificial thick cloud or sky replacement. */
.ruby-mare-cloud-drift{
  position:absolute;top:8%;left:29%;width:31%;height:15%;
  opacity:.14;filter:blur(15px);pointer-events:none;
  background:radial-gradient(ellipse 45% 18% at 32% 44%,#fff1e6a3,transparent 100%),
             radial-gradient(ellipse 44% 16% at 68% 55%,#fff5ede0,transparent 100%);
  animation:rubyMareCloudDrift 48s ease-in-out -12s infinite alternate;
}
/* The fine leaves stay above the left horizon, without masking headlines and
   tables farther down the much narrower gateway crop. */
.ruby-olive-wind--canopy{
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 31%,rgba(0,0,0,.74) 43%,transparent 66%);
  mask-image:linear-gradient(to bottom,#000 0%,#000 31%,rgba(0,0,0,.74) 43%,transparent 66%);
}
@keyframes rubyMareCloudDrift{
  from{transform:translate3d(-18px,0,0)}
  to{transform:translate3d(26px,-3px,0)}
}
.ruby-scene-wrap:not(.ruby-scene-playing) :is(.ruby-mare-vessel,.ruby-mare-cloud-drift){animation-play-state:paused}
@media(max-width:700px){
  .mare-main,html.ruby-photo-effects .mare-main{background-position:84% center}
  .gateway-mare::before,html.ruby-photo-effects .gateway-mare::before{background-position:84% center}
}
@media(prefers-reduced-motion:reduce){
  .ruby-mare-vessel,.ruby-mare-cloud-drift{animation:none!important}
}

/* v28 — The two destination photographs are shown at their original clarity.
   No dark gradient, darkening filter or decorative haze covers the gateway. */
.gateway .gateway-card .gateway-card-overlay{background:none}
.gateway .gateway-istanbul::before,
.gateway .gateway-mare::before{filter:none}
.gateway .gateway-mare .mare-shimmer{display:none}
.gateway .gateway-card .card-center{
  text-shadow:0 2px 13px rgba(0,0,0,.37);
}

/* Newly reconstructed, tack-sharp olive leaves replace only the former soft
   foreground plate. The existing independent breeze is unchanged. */
.ruby-olive-wind--canopy{
  background-image:none;
}
.ruby-olive-wind--canopy img{
  position:absolute;top:0;left:var(--ruby-olive-shift,0px);
  display:block;width:100%;height:100%;object-fit:fill;
  pointer-events:none;user-select:none;
}
.gateway .gateway-mare .ruby-olive-wind{filter:none}
.gateway .gateway-mare:hover .ruby-olive-wind{filter:none}

/* v29 — Restore a delicate black veil exclusively to the entrance cards so
   navigation remains legible while both photographs keep their crisp detail. */
.gateway .gateway-card .gateway-card-overlay{
  background:linear-gradient(180deg,
    rgba(4,7,9,.27) 0%,
    rgba(4,7,9,.12) 38%,
    rgba(4,7,9,.14) 58%,
    rgba(4,7,9,.36) 100%);
}
.gateway .gateway-heading{
  text-shadow:0 2px 13px rgba(0,0,0,.48);
}

/* v31 — More room for the two authentic brand marks, while retaining the
   existing header/navigation hierarchy on both destination pages. */
.gateway .gateway-card .branch-logo:not(.branch-logo-mare){width:121px;height:63px}
.gateway .gateway-card .branch-logo.branch-logo-mare{width:194px;height:85px}
.site-header .header-logo{width:140px}
.site-header.mare-shared-header .header-logo{width:181px}

/* On the mobile destination chooser the headline has its own uninterrupted
   black stage. Each photo then fades into rich black underneath its text. */
@media(max-width:900px){
  .gateway{background:#080909;min-height:100svh}
  .gateway .gateway-head{
    top:0;left:0;right:0;padding:12px 22px 0;background:#080909;
    display:grid;grid-template-columns:minmax(0,1fr) auto;
    grid-template-rows:auto auto;row-gap:4px;
    min-height:102px;box-sizing:border-box;
    /* The following opaque, animated heading must never paint over controls. */
    z-index:9;
  }
  .gateway .gateway-head .gateway-ident{grid-column:1;grid-row:1;justify-self:start}
  .gateway .gateway-head .language-control{grid-column:2;grid-row:1;justify-self:end}
  .gateway .gateway-head .language-control>.language-toggle::after{
    content:'⌄';font-size:16px;margin-left:6px;vertical-align:2px;
  }
  .gateway .gateway-head .gateway-sound-unlock{
    position:static;top:auto;right:auto;
    grid-column:2;grid-row:2;justify-self:end;margin-top:2px;
  }
  .gateway .gateway-head .gateway-ident img{width:105px;height:52px}
  .gateway .gateway-heading{
    position:relative;top:auto;left:auto;transform:none;
    display:block;width:100%;max-width:none;min-height:0;
    box-sizing:border-box;padding:120px 23px 22px;
    background:#080909;white-space:normal;text-align:center;
    text-shadow:none;
  }
  .gateway .gateway-heading h1{margin:8px 0 4px;font-size:clamp(42px,6vw,54px);line-height:1.08}
  .gateway .gateway-heading .eyebrow{font-size:9px;letter-spacing:.17em}
  .gateway .gateway-heading p{font-size:12px;line-height:1.4}
  .gateway .gateway-grid{
    display:grid;grid-template-columns:minmax(0,1fr);
    grid-template-rows:repeat(2,minmax(310px,1fr));
    min-height:0;flex:1;
  }
  .gateway .gateway-card,
  .gateway .gateway-card:first-child,
  .gateway .gateway-card:nth-child(2){
    min-height:310px;padding:24px 28px 27px;
    display:flex;justify-content:flex-end;align-items:stretch;
  }
  .gateway .gateway-card .gateway-card-overlay,
  .gateway .gateway-mare .gateway-card-overlay{
    background:linear-gradient(0deg,
      rgba(0,0,0,.99) 0%,rgba(0,0,0,.96) 18%,
      rgba(0,0,0,.86) 40%,rgba(0,0,0,.64) 60%,
      rgba(0,0,0,.15) 83%,transparent 100%);
  }
  .gateway .gateway-card .card-center,
  .gateway .gateway-card:first-child .card-center,
  .gateway .gateway-card:nth-child(2) .card-center{
    z-index:2;display:flex;align-items:flex-start;
    margin:0;padding:0;max-width:100%;text-shadow:none;
  }
  .gateway .gateway-card .card-kicker{font-size:10px;letter-spacing:.24em}
  .gateway .gateway-card .card-center strong,
  .gateway .gateway-mare .card-center strong.mare-destination-title{
    font-size:clamp(48px,7.7vw,64px);line-height:1.01;
    margin:7px 0 10px;overflow-wrap:break-word;
  }
  .gateway .gateway-card .card-caption{font-size:12px;line-height:1.4;color:#f0eae6}
  .gateway .gateway-card .branch-logo:not(.branch-logo-mare){width:112px;height:54px;margin:0 0 3px}
  .gateway .gateway-card .branch-logo.branch-logo-mare{width:158px;height:70px;margin:0 0 2px}
  .site-header .header-logo{width:128px}
  .site-header.mare-shared-header .header-logo{width:140px}
}
@media(max-width:640px){
  .gateway .gateway-head{min-height:96px;padding:9px 18px 0}
  .gateway .gateway-head .gateway-ident img{width:96px;height:49px}
  .gateway .gateway-heading{padding:112px 15px 20px}
  .gateway .gateway-heading h1{font-size:clamp(37px,10vw,44px)}
  .gateway .gateway-heading .eyebrow{font-size:8px;letter-spacing:.115em}
  .gateway .gateway-heading p{font-size:11px}
  .gateway .gateway-grid{grid-template-rows:repeat(2,minmax(300px,1fr))}
  .gateway .gateway-card,
  .gateway .gateway-card:first-child,
  .gateway .gateway-card:nth-child(2){min-height:300px;padding:18px 23px 24px}
  .gateway .gateway-card .card-center strong,
  .gateway .gateway-mare .card-center strong.mare-destination-title{
    font-size:clamp(43px,12vw,52px);margin:5px 0 7px;
  }
  .gateway .gateway-card .card-kicker{font-size:9px}
  .gateway .gateway-card .card-caption{font-size:11px;letter-spacing:.035em}
  .gateway .gateway-card .branch-logo:not(.branch-logo-mare){width:105px;height:51px}
  .gateway .gateway-card .branch-logo.branch-logo-mare{width:149px;height:64px}
  .site-header .header-logo{width:119px}
  .site-header.mare-shared-header .header-logo{width:113px}
}

/* v34 — Istanbul's new, losslessly encoded 16:9 sunset photograph.
   This single master is shared by the mobile entrance and the main hero.
   Photo-space coordinates keep all five lights and the three vessels in place
   even when a phone applies a tight CSS cover crop. */
.gateway-istanbul::before,
.hero-media{
  background-image:url('media/ruby-istanbul-sunset-master-v34.webp');
}
.gateway-istanbul::before{background-position:42% center}
.istanbul-hero .hero-media{background-position:44% center}

.ruby-istanbul-layer{
  position:absolute;inset:0;pointer-events:none;
  background:url('media/ruby-istanbul-sunset-master-v34.webp') 0 0/100% 100% no-repeat;
  -webkit-mask-size:100% 100%;mask-size:100% 100%;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  will-change:transform;
}
.ruby-istanbul-layer--ferry-water,
.ruby-istanbul-layer--speedboat-water,
.ruby-istanbul-layer--yacht-water{
  background-image:url('media/ruby-istanbul-sunset-clean-v34.webp');
}
/* Soft water repairs hide the stationary hull underneath each moving ship. */
.ruby-istanbul-layer--ferry-water{
  -webkit-mask-image:radial-gradient(ellipse 7.6% 5.9% at 22% 59.5%,#000 55%,transparent 100%);
  mask-image:radial-gradient(ellipse 7.6% 5.9% at 22% 59.5%,#000 55%,transparent 100%);
}
.ruby-istanbul-layer--speedboat-water{
  -webkit-mask-image:radial-gradient(ellipse 5.8% 4.6% at 42% 59.5%,#000 52%,transparent 100%);
  mask-image:radial-gradient(ellipse 5.8% 4.6% at 42% 59.5%,#000 52%,transparent 100%);
}
.ruby-istanbul-layer--yacht-water{
  -webkit-mask-image:radial-gradient(ellipse 9.1% 6.5% at 59.1% 61.1%,#000 52%,transparent 100%);
  mask-image:radial-gradient(ellipse 9.1% 6.5% at 59.1% 61.1%,#000 52%,transparent 100%);
}
/* Each boat is sampled from the exact same master pixels and rocked only
   around its actual waterline, without moving the shore or sunset. */
.ruby-istanbul-layer--ferry{
  transform-origin:22% 59.6%;
  -webkit-mask-image:radial-gradient(ellipse 6% 3.2% at 22% 59.5%,#000 78%,transparent 100%);
  mask-image:radial-gradient(ellipse 6% 3.2% at 22% 59.5%,#000 78%,transparent 100%);
  animation:rubyNewFerrySway 7.9s ease-in-out -1.8s infinite alternate;
}
.ruby-istanbul-layer--speedboat{
  transform-origin:42% 59.6%;
  -webkit-mask-image:radial-gradient(ellipse 3.6% 2.35% at 42% 59.5%,#000 77%,transparent 100%);
  mask-image:radial-gradient(ellipse 3.6% 2.35% at 42% 59.5%,#000 77%,transparent 100%);
  animation:rubyNewFerrySway 6.1s ease-in-out -4s infinite alternate-reverse;
}
.ruby-istanbul-layer--yacht{
  transform-origin:59.1% 61%;
  -webkit-mask-image:radial-gradient(ellipse 5% 3.6% at 59.1% 61.1%,#000 76%,transparent 100%);
  mask-image:radial-gradient(ellipse 5% 3.6% at 59.1% 61.1%,#000 76%,transparent 100%);
  animation:rubyNewYachtSway 6.8s ease-in-out -2.1s infinite alternate;
}
@keyframes rubyNewFerrySway{
  from{transform:translate3d(-1px,1px,0) rotate(-.075deg)}
  to{transform:translate3d(1.3px,-1.1px,0) rotate(.09deg)}
}
@keyframes rubyNewYachtSway{
  from{transform:translate3d(1.2px,-.7px,0) rotate(.11deg)}
  to{transform:translate3d(-1.2px,.9px,0) rotate(-.11deg)}
}
/* The terrace is its own still foreground plate. The lamps are independently
   animated in SVG above it (four on the upper level, one below). */
.ruby-istanbul-layer--terrace{
  clip-path:polygon(0 65%,13% 67%,22% 66%,30% 72%,38% 79%,100% 85%,100% 100%,0 100%);
}
.ruby-scene-wrap--istanbul .ruby-flame-glow{mix-blend-mode:screen}
.ruby-scene-wrap:not(.ruby-scene-playing) .ruby-istanbul-layer{animation-play-state:paused}
@media(max-width:640px){
  .gateway-istanbul::before{background-position:40% center}
  .istanbul-hero .hero-media{background-position:36% center}
}
@media(prefers-reduced-motion:reduce){
  .ruby-istanbul-layer{animation:none!important}
}

/* v35 — Mobile gateway: completely unobstructed 16:9 photography, followed
   by a distinct, solid black typography panel. No gradient touches either
   destination photograph, and nothing is written across the images. */
@media(max-width:900px){
  .gateway .gateway-grid{
    grid-template-rows:auto auto;
    align-content:start;
  }
  .gateway .gateway-card,
  .gateway .gateway-card:first-child,
  .gateway .gateway-card:nth-child(2){
    display:block;
    box-sizing:border-box;
    min-height:0;
    height:auto;
    padding:56.25vw 0 0;
    background:#080909;
    text-align:left;
  }
  .gateway .gateway-card::before{
    inset:0 0 auto;
    height:56.25vw;
    background-position:center center;
    background-size:cover;
    filter:none!important;
    transition:none;
  }
  .gateway .gateway-card:hover::before{transform:none}
  .gateway .gateway-card .gateway-card-overlay{display:none!important}
  .gateway .gateway-card>.ruby-scene-wrap{
    height:56.25vw;
    bottom:auto;
    transition:none;
  }
  .gateway .gateway-card:hover>.ruby-scene-wrap{transform:none}
  /* Do not composite mismatched cleaned-water patches over the pristine
     gateway photograph: the main Istanbul hero retains its ship animation. */
  .gateway .gateway-istanbul .ruby-istanbul-layer{display:none}
  .gateway .gateway-card .card-center,
  .gateway .gateway-card:first-child .card-center,
  .gateway .gateway-card:nth-child(2) .card-center{
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    box-sizing:border-box;
    margin:0;
    padding:22px 26px 29px;
    width:100%;
    max-width:none;
    min-height:0;
    background:#080909;
    color:#fff;
    text-shadow:none;
  }
  .gateway .gateway-card .card-center strong,
  .gateway .gateway-mare .card-center strong.mare-destination-title{
    font-size:clamp(43px,9.5vw,70px);
    line-height:1.03;
    margin:8px 0 11px;
  }
  .gateway .gateway-card .card-caption{color:#e9e4df}
  .gateway .gateway-card:first-child::after{display:none}
  .gateway .gateway-mare{border-top:1px solid #252525}
}
@media(max-width:640px){
  .gateway .gateway-card .card-center,
  .gateway .gateway-card:first-child .card-center,
  .gateway .gateway-card:nth-child(2) .card-center{
    padding:19px 22px 26px;
  }
  .gateway .gateway-card .card-center strong,
  .gateway .gateway-mare .card-center strong.mare-destination-title{
    font-size:clamp(43px,12vw,53px);
  }
}

/* v36 — Desktop is AGAIN the original immersive split-screen, never the
   stacked mobile photo/text design. One viewport; absolutely no page scroll. */
@media(min-width:901px){
  .gateway{height:100svh;min-height:100svh;overflow:hidden}
  .gateway .gateway-grid{height:100svh;min-height:100svh;grid-template-columns:repeat(2,minmax(0,1fr))}
  .gateway .gateway-card{height:100svh;min-height:100svh}
  .gateway .gateway-istanbul::before{
    background-image:url('media/ruby-istanbul-gateway-square-v36.webp');
    background-position:right center;
    background-size:cover;
  }
  .gateway .gateway-istanbul .ruby-istanbul-layer{display:block}
}
/* Mobile keeps the separate, unshaded 16:9 photographs and black text areas.
   Its original Istanbul 16:9 asset remains unchanged. */
@media(max-width:900px){
  .gateway .gateway-istanbul .ruby-istanbul-layer{display:none}
  .gateway .ruby-scene-wrap--gatewayIstanbul{display:none}
}

/* Three independently floating ships sampled from the same square gateway
   photo. There is no mismatched light-water repair and no halo around a hull. */
.ruby-istanbul-layer--gateway-ferry,
.ruby-istanbul-layer--gateway-speedboat,
.ruby-istanbul-layer--gateway-yacht{
  background-image:url('media/ruby-istanbul-gateway-square-v36.webp');
}
.ruby-istanbul-layer--gateway-ferry{
  transform-origin:30.7% 52.4%;
  -webkit-mask-image:radial-gradient(ellipse 7.4% 2.35% at 30.7% 52.4%,#000 77%,transparent 100%);
  mask-image:radial-gradient(ellipse 7.4% 2.35% at 30.7% 52.4%,#000 77%,transparent 100%);
  animation:rubyGatewayVesselA 6.8s ease-in-out -1.8s infinite alternate;
}
.ruby-istanbul-layer--gateway-speedboat{
  transform-origin:51.8% 52.9%;
  -webkit-mask-image:radial-gradient(ellipse 5% 2.1% at 51.8% 52.9%,#000 76%,transparent 100%);
  mask-image:radial-gradient(ellipse 5% 2.1% at 51.8% 52.9%,#000 76%,transparent 100%);
  animation:rubyGatewayVesselB 5.6s ease-in-out -3.1s infinite alternate;
}
.ruby-istanbul-layer--gateway-yacht{
  transform-origin:82.7% 54.8%;
  -webkit-mask-image:radial-gradient(ellipse 7.5% 3% at 82.7% 54.8%,#000 79%,transparent 100%);
  mask-image:radial-gradient(ellipse 7.5% 3% at 82.7% 54.8%,#000 79%,transparent 100%);
  animation:rubyGatewayVesselA 7.6s ease-in-out -4.7s infinite alternate-reverse;
}
@keyframes rubyGatewayVesselA{
  0%,100%{transform:translate3d(-2.5px,1.7px,0) rotate(-.20deg)}
  50%{transform:translate3d(2.8px,-1.8px,0) rotate(.25deg)}
}
@keyframes rubyGatewayVesselB{
  from{transform:translate3d(2.4px,-1.5px,0) rotate(.17deg)}
  to{transform:translate3d(-3px,1.8px,0) rotate(-.22deg)}
}
/* The bridge LEDs now visibly alternate without a synchronized flash. */
.ruby-scene-wrap--gatewayIstanbul .ruby-bridge-twinkle{
  animation-name:rubyGatewayBridgeTwinkle;
  filter:drop-shadow(0 0 2px rgba(255,238,195,.7));
}
@keyframes rubyGatewayBridgeTwinkle{
  0%,100%{opacity:.22}
  17%{opacity:.88}
  43%{opacity:.3}
  70%{opacity:1}
  86%{opacity:.46}
}
.ruby-scene-wrap--gatewayIstanbul .ruby-flame-glow{
  animation-name:rubyGatewayCandleBreath;
}
@keyframes rubyGatewayCandleBreath{
  0%,100%{opacity:.26}
  30%{opacity:.8}
  67%{opacity:.34}
  86%{opacity:1}
}
.ruby-scene-wrap:not(.ruby-scene-playing) .ruby-istanbul-layer--gateway-ferry,
.ruby-scene-wrap:not(.ruby-scene-playing) .ruby-istanbul-layer--gateway-speedboat,
.ruby-scene-wrap:not(.ruby-scene-playing) .ruby-istanbul-layer--gateway-yacht{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){
  .ruby-istanbul-layer--gateway-ferry,
  .ruby-istanbul-layer--gateway-speedboat,
  .ruby-istanbul-layer--gateway-yacht{animation:none!important}
}

/* BA Event at Ruby Mare: a dedicated partner story, kept separate from contact. */
.mare-ba-event{
  display:grid;
  grid-template-columns:minmax(190px,.36fr) minmax(0,.64fr);
  gap:clamp(45px,7vw,125px);
  align-items:center;
  padding:clamp(95px,9vw,150px) max(5%,calc((100% - 1380px)/2));
  color:#1b201e;
  background:#eeece5;
}
.mare-ba-identity{height:100%;min-height:320px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;border-right:1px solid #c5c0b5;padding-right:clamp(24px,4vw,65px)}
.mare-ba-kicker{font-size:10px;font-weight:700;letter-spacing:.19em;line-height:1.75;color:#827f74}
.mare-ba-logo{display:block;width:min(185px,74%);height:auto;margin:35px 0 22px;object-fit:contain}
.mare-ba-signature{font-size:9px;letter-spacing:.23em;font-weight:700;color:#666c69}
.mare-ba-copy{max-width:870px}
.mare-ba-copy h2{font-family:var(--serif);font-size:clamp(56px,6.1vw,108px);font-weight:400;letter-spacing:-.055em;line-height:1.035;margin:28px 0 23px}
.mare-ba-copy h2 i{font-weight:400;color:#8d887a}
.mare-ba-copy>p{max-width:680px;color:#5a625c;font-size:16px;line-height:1.88;margin:0}
.mare-ba-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px 37px;margin-top:35px}
.mare-ba-actions a{min-height:44px;display:inline-flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid #a09c91;padding-bottom:10px;font-size:11px;letter-spacing:.13em;font-weight:700;transition:border-color .2s,color .2s}
.mare-ba-actions a:hover{border-color:#273b38;color:#557c74}
.mare-ba-actions a span:last-child{font-size:21px;font-weight:400}
html[lang="ar"] .mare-ba-event{direction:rtl;text-align:right}
html[lang="ar"] .mare-ba-identity{border-right:0;border-left:1px solid #c5c0b5;padding-right:0;padding-left:clamp(24px,4vw,65px);align-items:flex-start}
@media(max-width:900px){
  .mare-ba-event{grid-template-columns:1fr;gap:38px;padding:80px 40px}
  .mare-ba-identity{min-height:0;border-right:0;border-bottom:1px solid #c5c0b5;padding:0 0 37px}
  html[lang="ar"] .mare-ba-identity{border-left:0;padding:0 0 37px}
  .mare-ba-logo{width:128px;margin:23px 0 16px}
  .mare-ba-copy h2{font-size:clamp(50px,8vw,78px)}
}
@media(max-width:640px){
  .mare-ba-event{gap:28px;padding:75px 23px 82px}
  .mare-ba-identity{padding-bottom:30px}
  .mare-ba-logo{width:112px}
  .mare-ba-kicker{font-size:9px}
  .mare-ba-copy h2{font-size:clamp(43px,10.4vw,60px);margin:18px 0 19px}
  .mare-ba-copy>p{font-size:14px;line-height:1.8}
  .mare-ba-actions{gap:19px;margin-top:28px;align-items:stretch;flex-direction:column}
  .mare-ba-actions a{width:100%}
}

/* Buse & Ayşegül: fill the frame (no white photo margins), and reveal the
   original gold B.A. logo to the left without altering the photograph. */
.private-inspiration-photo:nth-child(2) img{
  object-position:18% center;
  transform:scale(1.19);
}
.private-inspiration-photo:nth-child(2):hover img,
html.ruby-motion .private-inspiration-photo:nth-child(2):hover img{transform:scale(1.22)}

/* Gold-pixel flourish behind the event reservation choice. */
.booking-type[data-book-type="event"]{position:relative;isolation:isolate;overflow:hidden;padding-right:88px;border-color:#baa995;background:#f5f0e8}
.booking-type[data-book-type="event"].selected{border-color:#b48a47;background:#f4ebdb}
.booking-type[data-book-type="event"]>.check-ring,
.booking-type[data-book-type="event"]>strong,
.booking-type[data-book-type="event"]>small{position:relative;z-index:2}
.ba-booking-mark{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.ba-booking-mark img{position:absolute;top:50%;right:14px;width:57px;height:79px;object-fit:contain;transform:translateY(-50%);filter:drop-shadow(0 3px 5px rgba(176,137,69,.12));z-index:2}
.ba-event-pixel{position:absolute;top:50%;right:43px;width:var(--pixel-size,8px);height:var(--pixel-size,8px);background:var(--pixel-color,#bc904f);box-shadow:0 0 0 1px rgba(150,104,36,.18),0 0 9px rgba(189,131,43,.28);opacity:0;animation:baEventPixelBurst var(--pixel-duration,3.8s) cubic-bezier(.13,.57,.26,1) var(--pixel-delay,0s) infinite both;will-change:transform,opacity}
.booking-type[data-book-type="event"].selected .ba-event-pixel{filter:brightness(1.24)}
@keyframes baEventPixelBurst{
  0%,5%{opacity:0;transform:translate(0,0) scale(.22)}
  15%{opacity:1}
  48%{opacity:.86}
  82%,100%{opacity:0;transform:translate(var(--pixel-x),var(--pixel-y)) scale(.4)}
}
html[lang="ar"] .booking-type[data-book-type="event"]{padding-right:20px;padding-left:88px}
html[lang="ar"] .ba-booking-mark img{right:auto;left:16px}
html[lang="ar"] .ba-event-pixel{right:auto;left:43px}
@media(max-width:640px){
  .booking-type[data-book-type="event"]{padding-right:96px;min-height:100px}
  .ba-booking-mark img{width:50px;height:73px;right:19px}
  .ba-event-pixel{right:44px}
  html[lang="ar"] .booking-type[data-book-type="event"]{padding-left:96px;padding-right:16px}
}
@media(prefers-reduced-motion:reduce){
  .ba-event-pixel{animation:none!important;opacity:.46;transform:translate(var(--pixel-x),var(--pixel-y)) scale(.5)}
}

/* Reservation form — matched control heights and clean, unfilled area choices. */
.form-grid.three .field input[type="date"],
.form-grid.three .field select[data-booking-field="time"],
.form-grid.three .guests-stepper{
  box-sizing:border-box;
  display:block;
  height:52px!important;
  min-height:52px!important;
  margin:0;
}
.form-grid.three .field input[type="date"],
.form-grid.three .field select[data-booking-field="time"]{
  width:100%;padding:0 14px!important;border:1px solid #cbc4b9;border-radius:0;
  font-family:inherit;font-size:14px;line-height:normal;vertical-align:middle;
}
.form-grid.three .guests-stepper{display:flex;align-items:center}
.form-grid.three .guests-stepper button{height:50px}
.booking-area-grid{grid-template-columns:minmax(0,1fr)!important;margin-top:8px}
.booking-area-field{position:relative;gap:15px}
.booking-area-caption{font-size:11px;font-weight:700;letter-spacing:.06em;color:#5e5b54}
.booking-area-native{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;margin:0!important;opacity:0!important;pointer-events:none!important;clip-path:inset(50%)}
.booking-area-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.booking-area-choice{
  min-height:54px;padding:11px 12px;border:1px solid #c3b8ab;border-radius:0;
  background:transparent!important;color:#373734;
  font-family:inherit;font-size:12px;font-weight:600;line-height:1.35;
  cursor:pointer;text-align:center;transition:border-color .18s,box-shadow .18s,color .18s;
}
.booking-area-choice:hover{border-color:#957451;color:#191917}
.booking-area-choice.is-selected{border:2px solid #af874f;color:#221f1b;box-shadow:inset 0 0 0 1px rgba(175,135,79,.18)}
.booking-area-choice:focus-visible{outline:2px solid #7d6748;outline-offset:3px}
@media(max-width:640px){
  .booking-area-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .booking-area-choice{min-height:49px;padding:9px 10px}
}

/* v41 — A centered date field with a large, bespoke eight-language calendar.
   The original date input remains in the form for its existing validation/API. */
.ruby-date-field{position:relative;min-width:0}
.ruby-date-caption{font-size:11px;font-weight:700;letter-spacing:.06em;color:#5e5b54}
.form-grid.three .ruby-date-field input.ruby-date-native{
  position:absolute!important;left:0!important;top:0!important;
  width:1px!important;height:1px!important;min-height:0!important;
  padding:0!important;margin:0!important;opacity:0!important;
  pointer-events:none!important;clip-path:inset(50%);
}
.form-grid.three .ruby-date-trigger{
  appearance:none;box-sizing:border-box;width:100%;height:52px;min-height:52px;
  display:flex;align-items:center;justify-content:center;position:relative;
  padding:0 39px;background:#fff;border:1px solid #cbc4b9;border-radius:0;
  color:#252623;font-family:inherit;font-size:15px;font-weight:600;letter-spacing:0;
  cursor:pointer;transition:border-color .2s,background-color .2s;
}
.ruby-date-trigger:hover,.ruby-date-trigger[aria-expanded="true"]{border-color:#ad8753;background:#fffdf9}
.ruby-date-trigger:focus-visible{outline:2px solid #ab342c;outline-offset:2px}
.ruby-date-value{display:block;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.ruby-date-icon{position:absolute;right:14px;top:50%;transform:translateY(-50%);display:flex;align-items:center;color:#998977}
html[lang="ar"] .ruby-date-icon{right:auto;left:14px}
.ruby-calendar-popup{
  position:fixed;z-index:150;box-sizing:border-box;max-height:calc(100dvh - 24px);
  overflow-y:auto;overscroll-behavior:contain;min-width:0;
  padding:22px 22px 14px;border:1px solid #bcb09f;border-radius:4px;
  color:#272622;background:#f8f5ef;box-shadow:0 22px 75px rgba(0,0,0,.29),0 2px 10px rgba(48,35,19,.09);
  font-family:inherit;animation:rubyCalendarEnter .19s ease-out both;
}
.ruby-calendar-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:19px;border-bottom:1px solid #e0d9cf}
.ruby-calendar-month{font-family:var(--serif);font-size:25px;line-height:1.1;font-weight:500;letter-spacing:-.025em;text-transform:capitalize}
.ruby-calendar-nav{display:flex;gap:5px}
.ruby-calendar-arrow{
  display:grid;place-items:center;width:35px;height:35px;border:1px solid #d2c9bc;
  border-radius:50%;background:transparent;color:#4b463e;font-family:inherit;font-size:29px;font-weight:400;line-height:1;cursor:pointer;
  transition:background-color .18s,border-color .18s;
}
.ruby-calendar-arrow:hover:not(:disabled){background:#e9dfd0;border-color:#b79f7c}
.ruby-calendar-arrow:disabled{opacity:.28;cursor:default}
.ruby-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px 4px;padding:17px 0 15px;direction:ltr}
.ruby-calendar-weekday{display:grid;place-items:center;min-height:31px;font-size:11px;letter-spacing:0;font-weight:700;text-transform:uppercase;color:#827c71}
.ruby-calendar-empty{display:block}
.ruby-calendar-day{
  display:grid;place-items:center;aspect-ratio:1;min-height:39px;border:1px solid transparent;
  border-radius:50%;padding:0;background:transparent;color:#2e2b26;
  font-family:inherit;font-size:14px;font-weight:500;line-height:1;letter-spacing:0;cursor:pointer;
  transition:background-color .16s,border-color .16s,color .16s;
}
.ruby-calendar-day:hover:not(:disabled){background:#e8dfd2;border-color:#cbbfae}
.ruby-calendar-day.is-today:not(.is-selected){border-color:#ba9c66;color:#8a5a2e;font-weight:700}
.ruby-calendar-day.is-selected,.ruby-calendar-day.is-selected:hover:not(:disabled){background:#a3302a;border-color:#a3302a;color:#fff;font-weight:700}
.ruby-calendar-day:disabled{color:#c6bfb5;cursor:default}
.ruby-calendar-day:focus-visible,.ruby-calendar-arrow:focus-visible,.ruby-calendar-footer button:focus-visible{outline:2px solid #a3302a;outline-offset:2px}
.ruby-calendar-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #e0d9cf;padding-top:14px}
.ruby-calendar-footer button{
  border:0;background:transparent;color:#8e392c;padding:7px 2px;
  font-family:inherit;font-size:11px;font-weight:700;line-height:1.3;letter-spacing:.04em;cursor:pointer;
}
.ruby-calendar-footer button:last-child{color:#766d62}
.ruby-calendar-footer button:disabled{opacity:.35;cursor:default}
@keyframes rubyCalendarEnter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:640px){
  .ruby-calendar-popup{padding:19px 15px 13px}
  .ruby-calendar-month{font-size:23px}
  .ruby-calendar-grid{gap:4px 2px}
  .ruby-calendar-day{min-height:39px;font-size:15px}
}
@media(prefers-reduced-motion:reduce){
  .ruby-calendar-popup{animation:none}
  .ruby-calendar-day,.ruby-calendar-arrow,.ruby-date-trigger{transition:none}
}

/* Reservation recovery: a usable retry action and a compact server error code
   so delivery problems cannot silently masquerade as a broken form. */
.help-links button[data-booking-retry]{
  appearance:none;border:0;border-bottom:1px solid #777;border-radius:0;
  background:transparent;color:inherit;padding:0 0 6px;margin:0;
  font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.1em;
  cursor:pointer;text-align:start;
}
.help-links button[data-booking-retry]:hover{color:#9b382e;border-color:#9b382e}
.help-links button[data-booking-retry]:focus-visible{outline:2px solid #9b382e;outline-offset:4px}
.ruby-booking-error-code{font-size:10px;color:#91887d;letter-spacing:.12em;text-transform:uppercase;margin:17px 0 0}

/* Ruby İstanbul / editorial experiences v44 — isolated from booking and Mare. */
.ruby-time-section{background:#101311;color:#f4efe7;padding:116px 0 72px;overflow:hidden}
.ruby-time-heading{display:grid;grid-template-columns:1.35fr .65fr;gap:10vw;align-items:end;margin-bottom:54px}
.ruby-time-heading h2,.ruby-view-intro h2,.ruby-golden-copy h2{font-family:var(--display);font-weight:400;font-size:clamp(56px,6.15vw,110px);letter-spacing:-.075em;line-height:1.01;margin:26px 0 0}
.ruby-time-heading h2 i,.ruby-view-intro h2 i,.ruby-golden-copy h2 i{font-style:normal;font-weight:300;color:#bfa077}
.ruby-editorial-overline{font-size:10px;font-weight:700;letter-spacing:.21em;color:#b8b1a4}
.ruby-gold-dot{color:#c6a46e;font-size:18px;vertical-align:middle;margin:0 9px}
.ruby-time-intro{padding-bottom:8px}
.ruby-time-intro p{font-size:clamp(15px,1.35vw,19px);color:#c0bbb3;line-height:1.75;max-width:420px;margin:22px 0 0}
.ruby-time-stage{height:min(68vw,680px);min-height:420px;position:relative;margin:0 auto;width:min(100%,1740px);overflow:hidden;background:#242a29}
.ruby-time-images,.ruby-time-images img,.ruby-view-photo-stack,.ruby-view-photo-stack img{position:absolute;inset:0;width:100%;height:100%}
.ruby-time-images img,.ruby-view-photo-stack img{object-fit:cover;object-position:center 53%;opacity:0;transform:scale(1.035);transition:opacity 850ms ease,transform 6s ease;filter:saturate(.86)}
.ruby-time-images img.is-active,.ruby-view-photo-stack img.is-active{opacity:1;transform:scale(1)}
.ruby-time-stage::after{content:"";position:absolute;inset:43% 0 0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.6));pointer-events:none}
.ruby-time-photo-caption{position:absolute;z-index:2;bottom:42px;left:max(56px,calc((100% - 1390px)/2));display:flex;align-items:flex-end;gap:33px;color:#fff}
.ruby-time-photo-caption>span{font-size:11px;letter-spacing:.22em;font-weight:600;border-left:1px solid #cba779;padding:6px 0 6px 17px;white-space:nowrap}
.ruby-time-photo-caption strong{font-size:clamp(26px,3.2vw,53px);font-weight:400;letter-spacing:-.05em;line-height:1.1}
.ruby-time-progress{position:absolute;z-index:3;bottom:0;left:0;right:0;height:3px;background:#ffffff40}
.ruby-time-progress span{display:block;width:20%;height:100%;background:#caab78;transition:transform .65s ease}
.ruby-time-selector{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin-top:20px}
.ruby-time-step{position:relative;appearance:none;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:9px;text-align:left;padding:22px 16px 22px 0;color:#858b86;border:0;border-top:1px solid #5c615b;background:transparent;transition:color .25s ease}
.ruby-time-step:not(:first-child){padding-left:25px}
.ruby-time-step::before{content:"";position:absolute;top:-1px;left:0;right:100%;height:1px;background:#d4b17b;transition:right .4s}
.ruby-time-step.is-active::before{right:0}
.ruby-time-step.is-active,.ruby-time-step:hover{color:#fff}
.ruby-time-clock{font-family:var(--display);font-size:clamp(24px,2.8vw,42px);font-weight:300;letter-spacing:-.065em;line-height:1}
.ruby-time-step>span:last-child{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.ruby-view-section{padding:125px 0 112px;overflow:hidden}
.ruby-view-intro{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:8vw;margin-bottom:56px}
.ruby-view-intro h2 i{color:#8e7860}
.ruby-view-intro>p{font-size:clamp(15px,1.4vw,20px);line-height:1.7;color:#74716b;max-width:440px;margin:0 0 8px}
.ruby-view-frame{height:clamp(450px,52vw,780px);width:min(100%,1740px);margin:auto;position:relative;overflow:hidden;background:#202525}
.ruby-view-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.4),transparent 57%),linear-gradient(0deg,rgba(0,0,0,.63),transparent 52%);pointer-events:none}
.ruby-view-photo-stack img{filter:saturate(.94);object-position:center}
.ruby-view-photo-stack img[data-view-photo="0"]{object-position:50% 54%}
.ruby-view-photo-stack img[data-view-photo="1"]{object-position:50% 56%}
.ruby-view-photo-stack img[data-view-photo="2"]{object-position:50% 55%}
.ruby-view-marker{position:absolute;z-index:2;top:42px;left:max(55px,calc((100% - 1390px)/2));display:flex;align-items:center;gap:15px;font-size:10px;letter-spacing:.2em;color:#f6f0e7}
.ruby-view-marker-line{height:1px;width:35px;background:#d2b38b}
.ruby-view-overlay{position:absolute;z-index:2;left:max(55px,calc((100% - 1390px)/2));bottom:55px;color:#f6f0e7}
.ruby-view-overlay>span{font-size:11px;letter-spacing:.24em;color:#e4d6c3}
.ruby-view-overlay h3{font-family:var(--display);font-weight:300;letter-spacing:-.064em;font-size:clamp(53px,6.2vw,100px);margin:12px 0 5px;line-height:1}
.ruby-view-overlay p{font-size:15px;color:#e4dfd5;max-width:390px;margin-bottom:0}
.ruby-view-footer{display:flex;align-items:stretch;justify-content:space-between;gap:30px;padding-top:30px}
.ruby-view-choices{display:flex;gap:0;align-items:stretch;flex:1;max-width:830px}
.ruby-view-choices button{flex:1;display:flex;align-items:center;gap:16px;border:0;border-bottom:1px solid #b8b1a6;background:transparent;color:#9c978e;padding:13px 14px 16px;text-align:left;transition:color .25s,border-color .25s}
.ruby-view-choices button:first-child{padding-left:0}
.ruby-view-choices button span{font-size:10px;font-weight:600;color:#af9877;letter-spacing:.1em}
.ruby-view-choices button strong{font-size:11px;letter-spacing:.13em;font-weight:700;white-space:nowrap}
.ruby-view-choices button.is-active,.ruby-view-choices button:hover{color:#151614;border-color:#161816}
.ruby-view-book{background:transparent;border:0;border-bottom:1px solid #222;display:flex;align-items:center;justify-content:space-between;gap:24px;color:#20211f;padding:14px 0 16px;min-width:230px;text-align:left;font-size:10px;font-weight:700;letter-spacing:.12em;transition:color .25s}
.ruby-view-book:hover{color:#ac362d}
.ruby-golden-section{position:relative;isolation:isolate;overflow:hidden;background:#0a1717;color:#f6eee3;padding:110px 0 115px}
.ruby-golden-water{position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,rgba(4,13,14,.78) 0%,rgba(3,12,13,.5) 62%,rgba(3,12,13,.09) 100%),url('media/ruby-golden-reflections-v44.webp') center/cover no-repeat}
.ruby-golden-water::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.46),transparent 65%)}
.ruby-golden-layout{display:grid;grid-template-columns:1fr 320px;gap:10vw;align-items:center;min-height:440px}
.ruby-golden-copy h2{font-size:clamp(58px,6.7vw,112px);margin:28px 0}
.ruby-golden-copy h2 i{color:#d9b981}
.ruby-golden-copy>p{color:#ddd8cd;font-size:clamp(15px,1.35vw,19px);max-width:480px;line-height:1.8;margin-bottom:30px}
.ruby-golden-book{border-color:#f1ebe1}
.ruby-golden-clock{border:1px solid rgba(238,226,199,.36);padding:30px 25px 27px;text-align:center;background:rgba(5,16,17,.37);backdrop-filter:blur(8px);display:flex;flex-direction:column;align-items:center;color:#f7f1e7}
.ruby-golden-asterisk{font-family:Georgia,serif;font-size:37px;line-height:1;color:#d9b77d;margin-bottom:19px;animation:rubyGoldenSpin 36s linear infinite}
.ruby-golden-clock-label{font-size:9px;letter-spacing:.24em;font-weight:700;color:#decfb5;white-space:nowrap}
.ruby-golden-clock strong{font-family:var(--display);font-weight:300;font-size:clamp(65px,5.8vw,91px);line-height:1.25;letter-spacing:-.085em;font-variant-numeric:tabular-nums}
.ruby-golden-count-label{font-size:9px;letter-spacing:.18em;color:#bcbab1;border-top:1px solid #ffffff33;width:100%;padding-top:22px}
.ruby-golden-clock output{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:clamp(27px,2.9vw,40px);letter-spacing:.035em;margin:7px 0 23px;font-weight:300}
.ruby-golden-clock small{color:#aaa9a1;font-size:10px;line-height:1.6;max-width:210px}
/* The original photographed bridge lights, independent vessels and five
   terrace flames remain source-aligned; the water is given extra quiet life. */
.ruby-photo-effects .istanbul-hero .ruby-bridge-twinkle{filter:drop-shadow(0 0 2px rgba(245,230,193,.26))}
.ruby-photo-effects .istanbul-hero .ruby-flame-glow{filter:drop-shadow(0 0 1.5px rgba(255,209,128,.15))}
.istanbul-hero .hero-bottom>span:last-child::after{content:" · THE BOSPHORUS IS ALIVE";color:#d7b88b}
[dir="rtl"] .ruby-time-step,[dir="rtl"] .ruby-view-choices button,[dir="rtl"] .ruby-view-book{text-align:right}
[dir="rtl"] .ruby-time-step,[dir="rtl"] .ruby-time-step:not(:first-child){padding-left:0;padding-right:24px}
[dir="rtl"] .ruby-time-step:first-child{padding-right:0}
[dir="rtl"] .ruby-time-photo-caption>span{border-left:0;border-right:1px solid #cba779;padding-left:0;padding-right:17px}
[dir="rtl"] .ruby-view-marker,[dir="rtl"] .ruby-view-overlay,[dir="rtl"] .ruby-time-photo-caption{left:auto;right:max(55px,calc((100% - 1390px)/2))}
@keyframes rubyGoldenSpin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.ruby-time-images img,.ruby-view-photo-stack img,.ruby-time-progress span{transition:none!important}.ruby-golden-asterisk{animation:none!important}}
@media (max-width:900px){
  .ruby-time-section{padding:82px 0 50px}.ruby-time-heading,.ruby-view-intro{grid-template-columns:1fr;gap:28px;margin-bottom:35px}
  .ruby-time-heading h2,.ruby-view-intro h2{font-size:clamp(53px,10vw,87px)}
  .ruby-time-intro p{margin-top:9px;max-width:620px}
  .ruby-view-section{padding:90px 0 80px}.ruby-view-footer{flex-wrap:wrap}.ruby-view-choices{max-width:none;width:100%;flex-basis:100%}
  .ruby-golden-layout{gap:6vw;grid-template-columns:1fr 280px}
}
@media (max-width:640px){
  .ruby-time-section{padding:65px 0 25px}.ruby-time-heading h2,.ruby-view-intro h2{font-size:clamp(46px,11vw,64px);margin-top:15px}
  .ruby-time-heading{margin-bottom:25px}.ruby-time-intro p{font-size:14px;line-height:1.65}
  .ruby-time-stage{height:57svh;min-height:390px}.ruby-time-images img{object-position:center 50%}
  .ruby-time-photo-caption{left:22px;right:20px;bottom:25px;display:flex;flex-direction:column;align-items:flex-start;gap:11px}.ruby-time-photo-caption strong{font-size:32px}
  .ruby-time-selector{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;width:calc(100% - 21px);margin-left:21px;margin-right:0}
  .ruby-time-selector::-webkit-scrollbar{display:none}.ruby-time-step,.ruby-time-step:not(:first-child){flex:0 0 112px;padding:18px 8px 18px 0;scroll-snap-align:start}
  .ruby-time-clock{font-size:28px}.ruby-time-step>span:last-child{font-size:9px;letter-spacing:.04em}
  .ruby-view-section{padding:69px 0 70px}.ruby-view-intro{margin-bottom:29px}.ruby-view-intro>p{font-size:14px}
  .ruby-view-frame{height:57svh;min-height:380px}.ruby-view-marker{top:20px;left:22px;font-size:8px}.ruby-view-overlay{left:22px;right:22px;bottom:29px}.ruby-view-overlay h3{font-size:53px}.ruby-view-overlay p{font-size:13px;line-height:1.55}
  .ruby-view-footer{padding-top:13px;gap:22px}.ruby-view-choices{gap:3px}.ruby-view-choices button{flex-direction:column;align-items:flex-start;gap:6px;padding:10px 6px 13px}.ruby-view-choices button strong{font-size:9px;letter-spacing:.045em}
  .ruby-view-book{width:100%;min-width:0}
  .ruby-golden-section{padding:78px 0 85px}.ruby-golden-layout{grid-template-columns:1fr;gap:38px;min-height:0}.ruby-golden-copy h2{font-size:clamp(51px,11vw,72px)}.ruby-golden-copy>p{font-size:14px}
  .ruby-golden-clock{width:min(100%,370px);margin:auto;padding:27px}.ruby-golden-clock strong{font-size:82px}
  [dir="rtl"] .ruby-view-marker,[dir="rtl"] .ruby-view-overlay,[dir="rtl"] .ruby-time-photo-caption{right:22px;left:22px}
}

/* v46 — genuine full-bleed 16:9 image extensions; no blurred side panels. */
.ruby-time-stage,.ruby-view-frame{
  width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:16/9
}
.ruby-time-images>.ruby-photo-slide,
.ruby-view-photo-stack>.ruby-photo-slide{
  position:absolute;inset:0;z-index:0;overflow:hidden;opacity:0;
  transition:opacity .8s ease;pointer-events:none;background:#151b1b
}
.ruby-time-images>.ruby-photo-slide.is-active,
.ruby-view-photo-stack>.ruby-photo-slide.is-active{opacity:1;z-index:1}
.ruby-time-images .ruby-photo-slide img,
.ruby-view-photo-stack .ruby-photo-slide img{
  position:absolute;inset:0;width:100%;height:100%;display:block;
  object-fit:cover;object-position:50% 50%;
  opacity:1!important;transition:none!important;transform:none!important;
  filter:none!important;image-rendering:auto
}
.ruby-time-stage::after{
  inset:68% 0 0;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.51))
}
.ruby-time-stage::before{content:"RUBY / TIME";position:absolute;z-index:3;
  top:31px;left:max(38px,calc((100% - 1390px)/2));
  font-size:10px;font-weight:700;letter-spacing:.23em;color:#f7ede0;text-shadow:0 2px 9px #0007}
.ruby-view-frame::after{
  background:linear-gradient(0deg,rgba(0,0,0,.62),transparent 36%);
}
/* Photo-only menu curation. Real dishes above, drinks below; no captions/overlays. */
.menu-photo-strip.ruby-menu-images{display:block;margin:46px 0 34px}
.ruby-menu-images .ruby-menu-food-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ruby-menu-images .ruby-menu-details-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;gap:14px;margin-top:14px}
.ruby-menu-images figure{position:relative;min-width:0;min-height:0;margin:0;aspect-ratio:auto;overflow:hidden;background:transparent}
.ruby-menu-images figure::after,.ruby-menu-images figcaption{display:none!important;content:none!important}
.ruby-menu-images img{display:block;width:100%;height:auto;object-fit:contain;transform:none!important;filter:none}
.ruby-menu-images .ruby-menu-food-pair img{aspect-ratio:1000/667;object-fit:cover}
.ruby-menu-images figure:hover img{transform:none!important}
@media(max-width:900px){
  .ruby-menu-images .ruby-menu-food-pair,.ruby-menu-images .ruby-menu-details-row{gap:9px}
}
@media(max-width:640px){
  .ruby-time-stage,.ruby-view-frame{width:100%;height:auto;min-height:0;aspect-ratio:16/9}
  .ruby-time-stage::before{left:16px;top:14px;font-size:8px}
  .ruby-time-photo-caption{left:16px;right:16px;bottom:17px;gap:5px}
  .ruby-time-photo-caption strong{font-size:clamp(21px,5.5vw,27px)}
  .ruby-time-photo-caption>span{font-size:8px;padding:3px 0 3px 8px}
  .ruby-view-marker{top:13px;left:16px;font-size:7px}
  .ruby-view-overlay{left:16px;right:16px;bottom:16px}
  .ruby-view-overlay h3{font-size:clamp(29px,8vw,40px);margin:6px 0 2px}
  .ruby-view-overlay p{font-size:11px;line-height:1.25}
  .ruby-view-overlay>span{font-size:8px}
  .menu-photo-strip.ruby-menu-images{margin:27px 0 30px}
  .ruby-menu-images .ruby-menu-food-pair{gap:7px}
  .ruby-menu-images .ruby-menu-details-row{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:7px;margin-top:7px}
}
@media(prefers-reduced-motion:reduce){
  .ruby-time-images>.ruby-photo-slide,.ruby-view-photo-stack>.ruby-photo-slide{transition:none}
}

/* v48 — menu photos echo the tidy, edge-to-edge Events mosaic. */
.menu-photo-strip.ruby-menu-images{
  display:grid;grid-template-columns:repeat(12,minmax(0,1fr));
  grid-template-rows:clamp(275px,29vw,485px) clamp(195px,21vw,355px);
  gap:9px;padding:9px;background:#151d1b;margin:45px 0 32px
}
.ruby-menu-images .ruby-menu-food-pair,
.ruby-menu-images .ruby-menu-details-row{display:contents}
.ruby-menu-images figure{
  position:relative;min-width:0;min-height:0;width:100%;height:100%;
  aspect-ratio:auto;overflow:hidden;background:#27302e
}
.ruby-menu-images figure img,
.ruby-menu-images .ruby-menu-food-pair figure img{
  position:absolute;inset:0;width:100%;height:100%;
  aspect-ratio:auto;object-fit:cover;object-position:center;
  transform:none!important;filter:none
}
.ruby-menu-food-pair figure:first-child{grid-column:1/span 6;grid-row:1}
.ruby-menu-food-pair figure:nth-child(2){grid-column:7/span 6;grid-row:1}
.ruby-menu-details-row figure:first-child{grid-column:1/span 3;grid-row:2}
.ruby-menu-details-row figure:nth-child(2){grid-column:4/span 3;grid-row:2}
.ruby-menu-details-row figure:nth-child(3){grid-column:7/span 2;grid-row:2}
.ruby-menu-details-row figure:nth-child(4){grid-column:9/span 2;grid-row:2}
.ruby-menu-details-row figure:nth-child(5){grid-column:11/span 2;grid-row:2}
.ruby-menu-details-row figure:nth-child(5) img{object-position:center 42%}
@media(max-width:820px){
  .menu-photo-strip.ruby-menu-images{
    grid-template-columns:repeat(6,minmax(0,1fr));
    grid-template-rows:clamp(210px,50vw,340px) clamp(210px,50vw,340px) clamp(150px,32vw,240px) clamp(210px,45vw,300px);
    gap:7px;padding:7px;margin:32px 0 28px
  }
  .ruby-menu-food-pair figure:first-child{grid-column:1/-1;grid-row:1}
  .ruby-menu-food-pair figure:nth-child(2){grid-column:1/-1;grid-row:2}
  .ruby-menu-details-row figure:first-child{grid-column:1/span 2;grid-row:3}
  .ruby-menu-details-row figure:nth-child(2){grid-column:3/span 2;grid-row:3}
  .ruby-menu-details-row figure:nth-child(3){grid-column:5/span 2;grid-row:3}
  .ruby-menu-details-row figure:nth-child(4){grid-column:1/span 3;grid-row:4}
  .ruby-menu-details-row figure:nth-child(5){grid-column:4/span 3;grid-row:4}
}
/* Ruby guest history notice — a reminder, never a reservation ban. */
.ruby-no-show-notice{grid-column:1/-1;background:#f8eee2;border-left:3px solid #a22b2a;padding:18px 20px;margin:0 0 18px;color:#382e26;font-size:14px;line-height:1.7}
.ruby-banned-notice{background:#141815;color:#faf8f2;padding:clamp(28px,5vw,53px);border-top:3px solid #b8322e;min-height:220px;display:flex;flex-direction:column;justify-content:center;gap:22px}
.ruby-banned-notice span{font-size:10px;letter-spacing:.23em;color:#c8ad7d;font-weight:700}
.ruby-banned-notice h3{margin:0;font-size:clamp(23px,3.2vw,39px);font-weight:350;line-height:1.35;letter-spacing:-.025em;color:#fff}
