
  :root{
    --ink:#101821;
    --cobalt:#152A66;
    --cobalt-deep:#0D1B45;
    --turq:#0FA398;
    --turq-deep:#0A7E76;
    --coral:#E8543A;
    --coral-deep:#C8402A;
    --gold:#E3A93B;
    --cream:#FBF5E9;
    --cream-2:#F3E7D2;
    --paper:#FFFDF8;
    color-scheme:light;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth; scroll-padding-top:calc(78px + env(safe-area-inset-top,0px));}
  @media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto;} }
  body{
    margin:0; background:var(--cream); color:var(--ink);
    font-family:'Manrope',-apple-system,sans-serif; font-size:16px; line-height:1.6;
    padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
    -webkit-font-smoothing:antialiased; overflow-x:hidden;
  }
  img{max-width:100%; display:block;}
  a{color:inherit;}
  h1,h2,h3,h4{ font-family:'Fraunces',serif; font-weight:600; margin:0; letter-spacing:-0.01em; color:var(--cobalt-deep); }
  .wrap{ max-width:1200px; margin:0 auto; padding:0 32px; }
  @media (max-width:640px){ .wrap{ padding:0 20px; } }

  /* reveal-on-scroll (used sparingly, staggered within groups) */
  .reveal{ opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s ease; }
  .reveal.in{ opacity:1; transform:translateY(0); }
  @media (prefers-reduced-motion:reduce){ .reveal{ opacity:1; transform:none; transition:none; } }

  /* ---------- Header ---------- */
  header{
    position:sticky; top:0; z-index:60; padding-top:env(safe-area-inset-top,0px);
    transition:background .35s ease, box-shadow .35s ease, padding .35s ease;
  }
  .nav-row{
    max-width:1200px; margin:0 auto; padding:26px 32px;
    display:flex; align-items:center; justify-content:space-between; gap:24px;
    transition:padding .35s ease;
  }
  header.scrolled{ background:rgba(251,245,233,0.94); backdrop-filter:blur(10px); box-shadow:0 1px 0 rgba(16,24,33,0.08); }
  header.scrolled .nav-row{ padding:14px 32px; }
  .brand{ display:flex; align-items:center; gap:10px; }
  .brand-mark{ width:36px; height:36px; flex-shrink:0; }
  .brand-text{ font-family:'Fraunces',serif; font-weight:700; font-size:20px; color:var(--cobalt-deep); }
  nav.links{ display:flex; gap:30px; font-size:15px; font-weight:600; }
  nav.links a{ text-decoration:none; color:var(--ink); position:relative; padding:4px 0; }
  nav.links a::after{
    content:''; position:absolute; left:0; bottom:-2px; width:0; height:3px; border-radius:2px;
    background:var(--coral); transition:width .25s ease;
  }
  nav.links a:hover::after{ width:100%; }
  .nav-right{ display:flex; align-items:center; gap:20px; }
  .phone-link{ font-size:14.5px; font-weight:700; text-decoration:none; display:flex; align-items:center; gap:8px; white-space:nowrap; color:var(--cobalt-deep); }
  .btn{
    position:relative; display:inline-flex; align-items:center; gap:8px; overflow:hidden;
    background:var(--coral); color:var(--paper); padding:13px 24px; font-size:14.5px; font-weight:700;
    text-decoration:none; border:none; cursor:pointer; border-radius:100px;
    transition:transform .25s ease, box-shadow .25s ease;
    box-shadow:0 6px 0 var(--coral-deep);
  }
  .btn:hover{ transform:translateY(2px); box-shadow:0 4px 0 var(--coral-deep); }
  .btn:active{ transform:translateY(6px); box-shadow:0 0 0 var(--coral-deep); }
  .btn.ghost{ background:transparent; color:var(--cobalt-deep); border:2px solid var(--cobalt-deep); box-shadow:none; padding:11px 22px; }
  .btn.ghost:hover{ background:var(--cobalt-deep); color:var(--paper); transform:translateY(0); }
  @media (max-width:900px){ nav.links{ display:none; } .phone-link span.txt{ display:none; } }

  /* ---------- Hero ---------- */
  .hero{ position:relative; padding:36px 0 0; }
  .hero-grid{ display:grid; grid-template-columns:1.05fr 0.95fr; align-items:center; gap:36px; }
  .hero-eyebrow{
    display:inline-flex; align-items:center; gap:9px; font-size:14.5px; font-weight:700; color:var(--turq-deep);
    background:rgba(15,163,152,0.12); padding:8px 16px 8px 12px; border-radius:100px; margin-bottom:22px;
  }
  .hero-eyebrow svg{ width:15px; height:15px; }
  .hero h1{
    font-size:clamp(40px,5.6vw,64px); line-height:1.04; max-width:13ch;
  }
  .hero h1 .grad{
    background:linear-gradient(100deg, var(--cobalt) 0%, var(--turq-deep) 60%, var(--turq) 100%);
    -webkit-background-clip:text; background-clip:text; color:transparent;
  }
  .hero h1 .it{ font-style:italic; font-weight:500; color:var(--coral); }
  .hero p.lead{ margin-top:22px; font-size:18.5px; max-width:44ch; color:#33424A; }
  .hero-ctas{ margin-top:32px; display:flex; gap:16px; flex-wrap:wrap; }
  .hero-meta{ margin-top:40px; display:flex; gap:38px; flex-wrap:wrap; }
  .hero-meta div{ font-size:13.5px; color:#5A6870; }
  .hero-meta strong{ display:block; font-family:'Fraunces',serif; font-size:26px; color:var(--cobalt-deep); font-weight:700; }

  .hero-art{ position:relative; will-change:transform; }
  .hero-art svg{ width:100%; height:auto; display:block; }

  /* orchestrated load sequence */
  .seq{ opacity:0; transform:translateY(18px); animation:seqIn .8s cubic-bezier(.2,.7,.3,1) forwards; }
  .seq.d1{ animation-delay:.05s; } .seq.d2{ animation-delay:.18s; } .seq.d3{ animation-delay:.32s; }
  .seq.d4{ animation-delay:.46s; } .seq.d5{ animation-delay:.6s; }
  @keyframes seqIn{ to{ opacity:1; transform:translateY(0);} }
  @media (prefers-reduced-motion:reduce){ .seq{ animation:none; opacity:1; transform:none; } }

  @media (max-width:900px){
    .hero-grid{ grid-template-columns:1fr; }
    .hero-art{ order:-1; max-width:440px; margin:0 auto 4px; }
  }

  /* wave divider */
  .wave{ display:block; width:100%; height:auto; margin-top:-2px; }

  /* ---------- Ticker ---------- */
  .ticker-band{ background:var(--cobalt-deep); overflow:hidden; padding:16px 0; }
  .ticker-track{ display:flex; width:max-content; animation:tickerMove 28s linear infinite; }
  @media (prefers-reduced-motion:reduce){ .ticker-track{ animation:none; } }
  .ticker-track span{
    display:flex; align-items:center; gap:14px; color:var(--cream); font-family:'Fraunces',serif; font-style:italic;
    font-weight:500; font-size:18px; padding:0 28px; white-space:nowrap;
  }
  .ticker-track span svg{ width:14px; height:14px; color:var(--gold); flex-shrink:0; }
  @keyframes tickerMove{ from{ transform:translateX(0);} to{ transform:translateX(-50%);} }

  /* ---------- Section shells ---------- */
  section{ padding:100px 0; }
  @media (max-width:640px){ section{ padding:70px 0; } }
  .section-head{ display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:end; margin-bottom:56px; }
  .section-head h2{ font-size:clamp(30px,3.6vw,44px); max-width:12ch; }
  .section-head p{ color:#33424A; font-size:16.5px; max-width:42ch; }
  @media (max-width:760px){ .section-head{ grid-template-columns:1fr; gap:14px; } }
  .kicker{ display:flex; align-items:center; gap:10px; margin-bottom:16px; }
  .kicker i{ width:26px; height:4px; background:var(--coral); border-radius:4px; display:block; }
  .kicker span{ font-weight:700; font-size:13.5px; color:var(--turq-deep); }

  /* ---------- Intro band ---------- */
  .intro{ background:var(--turq); color:var(--paper); padding:60px 0; position:relative; }
  .intro .wrap{ display:flex; gap:48px; flex-wrap:wrap; justify-content:space-between; align-items:center; }
  .intro p{ font-family:'Fraunces',serif; font-size:clamp(21px,2.5vw,27px); font-weight:600; max-width:28ch; margin:0; }
  .intro-facts{ display:flex; gap:36px; flex-wrap:wrap; }
  .intro-facts div{ font-size:13px; max-width:15ch; opacity:.92; }
  .intro-facts strong{ display:block; font-size:14.5px; margin-bottom:4px; font-weight:800; }

  /* ---------- Rooms ---------- */
  .room-list{ display:flex; flex-direction:column; gap:28px; }
  .room{
    display:grid; grid-template-columns:1fr 1fr; background:var(--paper);
    border-radius:28px; overflow:hidden; box-shadow:0 18px 40px -22px rgba(16,24,33,0.35);
  }
  .room:nth-child(even){ grid-template-columns:1fr 1fr; }
  .room-media{ position:relative; min-height:340px; overflow:hidden; }
  .room-media svg{ width:100%; height:100%; position:absolute; inset:0; transition:transform .6s ease; }
  .room:hover .room-media svg{ transform:scale(1.06); }
  .room:nth-child(even) .room-media{ order:2; }
  .room:nth-child(even) .room-copy{ order:1; }
  .room-copy{ padding:48px; display:flex; flex-direction:column; justify-content:center; }
  .room-copy .tag{
    display:inline-flex; align-self:flex-start; font-size:13px; font-weight:700; color:var(--coral-deep);
    background:rgba(232,84,58,0.12); padding:6px 14px; border-radius:100px; margin-bottom:16px;
  }
  .room-copy h3{ font-size:29px; margin-bottom:14px; }
  .room-copy p{ color:#33424A; font-size:15.5px; margin-bottom:22px; max-width:38ch; }
  .room-facts{ display:flex; gap:20px; margin-bottom:26px; flex-wrap:wrap; }
  .room-facts div{ font-size:13px; color:#5A6870; display:flex; align-items:center; gap:7px; font-weight:600; }
  .room-facts svg{ width:16px; height:16px; flex-shrink:0; color:var(--turq-deep); }
  .room-price{ display:flex; align-items:baseline; gap:8px; margin-bottom:24px; }
  .room-price strong{ font-family:'Fraunces',serif; font-size:28px; color:var(--cobalt-deep); }
  .room-price span{ font-size:13px; color:#5A6870; }
  @media (max-width:820px){
    .room, .room:nth-child(even){ grid-template-columns:1fr; border-radius:20px; }
    .room-media{ min-height:220px; }
    .room:nth-child(even) .room-media, .room:nth-child(even) .room-copy{ order:0; }
    .room-copy{ padding:32px 26px; }
  }

  /* ---------- Location ---------- */
  .location{ background:var(--cream-2); }
  .loc-grid{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
  .loc-list{ list-style:none; margin:26px 0 0; padding:0; }
  .loc-list li{
    display:flex; justify-content:space-between; gap:16px; padding:17px 0;
    border-bottom:2px dashed rgba(16,24,33,0.15); font-size:15px;
  }
  .loc-list li span.name{ font-weight:700; color:var(--cobalt-deep); }
  .loc-list li span.dist{ color:var(--coral-deep); font-weight:800; font-size:13.5px; white-space:nowrap; }
  @media (max-width:820px){ .loc-grid{ grid-template-columns:1fr; } }

  /* ---------- Gallery ---------- */
  .gallery-grid{ display:grid; grid-template-columns:repeat(6,1fr); grid-auto-rows:150px; gap:10px; }
  .gallery-grid .g1{ grid-column:span 3; grid-row:span 2; }
  .gallery-grid .g2{ grid-column:span 3; grid-row:span 1; }
  .gallery-grid .g3{ grid-column:span 3; grid-row:span 1; }
  .gallery-grid .g4{ grid-column:span 2; grid-row:span 2; }
  .gallery-grid .g5{ grid-column:span 2; grid-row:span 2; }
  .gallery-grid .g6{ grid-column:span 2; grid-row:span 2; }
  .gtile{ position:relative; overflow:hidden; border-radius:20px; }
  .gtile svg{ width:100%; height:100%; position:absolute; inset:0; transition:transform .5s ease; }
  .gtile:hover svg{ transform:scale(1.08) rotate(0.5deg); }
  .gtile .glabel{
    position:absolute; left:16px; bottom:14px; color:var(--paper); font-size:13px; font-weight:700; z-index:2;
    text-shadow:0 1px 8px rgba(0,0,0,0.45);
  }
  @media (max-width:760px){
    .gallery-grid{ grid-template-columns:repeat(2,1fr); grid-auto-rows:180px; }
    .gallery-grid > div{ grid-column:span 1 !important; grid-row:span 1 !important; }
  }

  /* ---------- Quote ---------- */
  .quote{ background:var(--cobalt-deep); color:var(--cream); position:relative; overflow:hidden; }
  .quote .wrap{ max-width:780px; position:relative; z-index:2; }
  .quote svg.mark{ width:44px; height:auto; color:var(--gold); margin-bottom:24px; }
  .quote blockquote{ margin:0; font-family:'Fraunces',serif; font-weight:500; font-style:italic; font-size:clamp(23px,2.9vw,31px); line-height:1.42; }
  .quote cite{ display:block; margin-top:24px; font-style:normal; font-size:14px; color:var(--gold); font-weight:700; }
  .quote-blob{ position:absolute; border-radius:50%; filter:blur(2px); opacity:.18; }

  /* ---------- Steps ---------- */
  .step-list{ display:grid; grid-template-columns:repeat(3,1fr); gap:32px; margin-top:6px; }
  .step{ background:var(--paper); border-radius:24px; padding:30px 26px; box-shadow:0 14px 30px -20px rgba(16,24,33,0.3); }
  .step .num{
    display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:50%;
    background:var(--turq); color:var(--paper); font-family:'Fraunces',serif; font-weight:700; font-size:15px; margin-bottom:16px;
  }
  .step h4{ font-size:19px; margin-bottom:10px; }
  .step p{ font-size:14.5px; color:#33424A; margin:0; }
  @media (max-width:760px){ .step-list{ grid-template-columns:1fr; } }

  /* ---------- CTA band ---------- */
  .cta-band{ background:var(--coral); color:var(--paper); position:relative; overflow:hidden; }
  .cta-band .wrap{ display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; position:relative; z-index:2; }
  .cta-band h2{ color:var(--paper); font-size:clamp(26px,3.2vw,36px); max-width:16ch; }
  .cta-band .btn{ background:var(--cobalt-deep); box-shadow:0 6px 0 #071130; }
  .cta-band .btn:hover{ box-shadow:0 4px 0 #071130; }

  /* ---------- Footer ---------- */
  footer{ background:var(--cobalt-deep); color:#B9C6E8; padding:64px 0 28px; }
  .foot-grid{ display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:40px; margin-bottom:48px; }
  .foot-brand .brand-text{ color:var(--cream); }
  .foot-brand p{ color:#B9C6E8; font-size:14px; max-width:34ch; margin-top:16px; }
  footer h5{ color:var(--cream); font-size:13.5px; font-weight:700; margin-bottom:16px; }
  footer ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; font-size:14px; }
  footer a{ text-decoration:none; }
  footer a:hover{ color:var(--cream); }
  .foot-bottom{ border-top:1px solid rgba(185,198,232,0.18); padding-top:22px; display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:12.5px; color:rgba(185,198,232,0.65); }
  @media (max-width:760px){ .foot-grid{ grid-template-columns:1fr; } }

.reference-style-0{align-self:flex-start;}
.reference-style-1{align-self:flex-start;}
.reference-style-2{color:#33424A; margin-top:14px; max-width:44ch;}/* Shared site shell, real gallery and accessible interactions. */
:root{--line:#ded7c9;--muted:#5a6870}body{overflow-x:clip}a{text-underline-offset:4px}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--turq-deep);outline-offset:5px}.skip{position:fixed;left:16px;top:-100px;z-index:100;background:var(--paper);padding:12px}.skip:focus{top:10px}.header{background:var(--cream)}.brand img{width:112px;height:auto}.nav-row{padding-block:18px}.nav-right{gap:14px}.nav-row nav.links{gap:19px;font-size:13px}.nav-right>.btn{padding:10px 17px;font-size:12px}.menu-toggle{display:none;background:none;border:1px solid var(--cobalt);border-radius:8px;color:var(--cobalt);width:42px;height:42px}.hero{padding-top:28px}.hero h1{max-width:15ch}.hero-art{max-width:420px;justify-self:end;border-radius:180px 180px 22px 22px;overflow:hidden;box-shadow:0 18px 45px #0d1b4520}.hero-art svg{display:block}.hero-grid{padding-bottom:60px}.hero-meta{gap:24px;margin-top:28px}.hero-meta strong{font-size:21px}.hero p.lead{font-size:17px}.intro{padding:32px 0}.intro p{font-size:24px}.room-media{min-height:300px}.room-copy{padding:36px}.room-copy .btn{align-self:flex-start}section{padding-block:72px}.section-head{margin-bottom:32px}.section-head h2{max-width:none}.room h3{font-size:29px}.location-photo{width:100%;height:380px;object-fit:cover;object-position:center 45%;border-radius:24px}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.gallery-item{min-width:0;text-align:left;padding:8px;border:1px solid #ded7c9;border-radius:16px;background:var(--paper);overflow:hidden;color:var(--cobalt-deep)}.gallery-item img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px}.gallery-item>span{display:flex;justify-content:space-between;padding:13px 7px 8px;font-size:12px}.gallery-item b{font-weight:400}.gallery-item:hover{border-color:var(--turq-deep)}.hotel-faq{padding-block:20px 64px}.hotel-faq h2{font-size:30px;margin-bottom:22px}.faq-list{max-width:850px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;padding:18px 0;font-weight:600}.faq-list p{font-size:14px;color:#33424a}.ikon-detail{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.4;vertical-align:middle;flex-shrink:0}.detail-heading{display:flex;gap:12px;align-items:center}.page-detail{margin-bottom:16px}.cta-band .wrap{display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap}.cta-band h2{flex-basis:100%}.cta-band .btn.ghost{color:var(--paper);border-color:var(--paper)}.foot-grid{gap:36px}.foot-grid a{overflow-wrap:anywhere}.foot-bottom a{color:inherit}.button{display:inline-flex;align-items:center;gap:14px;padding:13px 22px;background:var(--coral);color:var(--paper);text-decoration:none;border-radius:30px}.reservation-content .button{background:var(--coral)}.reservation-content{min-height:60vh}.blog-main a{text-decoration:none}.blog-row{background:var(--paper);padding:26px;border-radius:16px;margin-bottom:14px}.blog-main .breadcrumbs a{text-decoration:underline}.whatsapp-bubble{background:#16894d}.measurement-choice{border-radius:16px}.measurement-choice button{border-radius:7px}.measurement-settings{color:var(--cobalt)}dialog{border:0;border-radius:16px;padding:0;width:min(980px,calc(100% - 28px));max-height:92dvh;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#0d1b45c9}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px}.dialog-header h2{font-size:21px}.close-dialog{border:0;background:none;padding:10px;font-size:22px;color:var(--ink)}#media-content{background:#101821;display:flex;justify-content:center}#media-content img{max-height:65dvh;width:auto;max-width:100%;object-fit:contain}.dialog-footer{padding:12px 20px;display:flex;justify-content:space-between;gap:16px;font-size:12px}.modal-open{overflow:hidden}.reveal,.seq{opacity:1;transform:none;animation:none}.hero-art{will-change:auto}
@media(max-width:1050px){.nav-row nav.links{gap:12px}.phone-link .txt{display:none}.nav-row{gap:16px}.hero h1{font-size:50px}}
@media(max-width:900px){.menu-toggle{display:block}.nav-row{padding:14px 20px;flex-wrap:wrap}.header.scrolled .nav-row{padding:14px 20px}.nav-row nav.links{display:none;order:3;width:100%;flex-direction:column;gap:0}.nav-row nav.links.open{display:flex}.nav-row nav.links a{padding:12px 0;border-top:1px solid var(--line)}.nav-right{margin-left:auto}.hero-grid{grid-template-columns:1fr 1fr;gap:24px}.hero-art{order:0;max-width:100%;margin:0}.hero h1{font-size:42px}.hero-meta{display:none}}
@media(max-width:640px){.brand img{width:88px}.nav-right>.btn{display:none}.phone-link{padding:10px}.hero{padding-top:22px}.hero-grid{grid-template-columns:1fr;padding-bottom:32px;gap:28px}.hero-art{order:0;width:100%;max-width:340px;justify-self:center;max-height:335px;border-radius:150px 150px 18px 18px}.hero-art svg{margin-top:-26px}.hero h1{font-size:42px;max-width:15ch}.hero-eyebrow{font-size:12px;margin-bottom:18px}.hero p.lead{font-size:15px;margin-top:18px}.hero-ctas{margin-top:24px;gap:14px}.btn{padding:12px 18px;font-size:13px}.btn.ghost{padding:10px 16px}.intro .wrap{gap:20px}.intro p{font-size:22px}.intro-facts{gap:22px}.intro-facts div{max-width:none}section{padding-block:46px}.section-head{gap:10px;margin-bottom:25px}.section-head h2{font-size:32px}.section-head p{font-size:15px}.room-media{min-height:220px}.room-copy{padding:25px}.room-copy h3{font-size:25px}.room-copy p{font-size:14px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gallery-item{padding:5px;border-radius:12px}.gallery-item img{aspect-ratio:1; border-radius:8px}.gallery-item>span{font-size:11px;padding:10px 3px 6px;gap:7px}.location-photo{height:280px}.hotel-faq{padding-block:12px 40px}.hotel-faq h2{font-size:26px}.cta-band .wrap{gap:20px}.cta-band h2{font-size:30px}.foot-grid{gap:25px}.dialog-footer{flex-direction:column;gap:4px}.floating-contact{bottom:16px}.measurement-choice{bottom:20px;right:78px;left:12px;max-height:65dvh;overflow:auto}.reservation-content .button{margin:6px 0}.blog-row{padding:20px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Original hotel identity; the source silhouette is retained exactly. */
.original-brand{display:inline-flex;flex-shrink:0;align-items:center;text-decoration:none}
.hotel-brand-mark{display:block;width:168px;height:29px;background-color:var(--cobalt-deep);-webkit-mask:url('/assets/ikon-original-logo.png') center/contain no-repeat;mask:url('/assets/ikon-original-logo.png') center/contain no-repeat}
.footer-brand{margin-bottom:12px}.footer-brand .hotel-brand-mark{width:188px;height:32px;background-color:var(--cream)}
.hero-art.hero-hotel-photo{width:100%;max-width:490px;border-radius:140px 140px 22px 22px;border:8px solid var(--paper);box-shadow:0 20px 45px #0d1b451a;align-self:center}
.hero-hotel-photo>img{width:100%;height:490px;object-fit:cover;object-position:39% center}
.room-real-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
@media(max-width:1050px){.hotel-brand-mark{width:150px;height:26px}.hero-hotel-photo>img{height:440px}}
@media(max-width:640px){.hotel-brand-mark{width:142px;height:25px}.hero-art.hero-hotel-photo{max-width:100%;max-height:none;border-radius:100px 100px 18px 18px;border-width:6px}.hero-hotel-photo>img{height:320px;object-position:center}.room-real-photo{min-height:250px}.footer-brand .hotel-brand-mark{width:176px;height:30px}}
/* Channel-specific contact actions. */
a.channel-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:28px;min-height:48px;padding:13px 22px;text-decoration:none;font-size:14px;font-weight:700;line-height:1.4;transition:background .18s ease,transform .18s ease,box-shadow .18s ease}
a.channel-button svg{display:block;width:21px;height:21px;flex:0 0 21px}
a.channel-button.channel-whatsapp{background:#168a46;color:#fff;box-shadow:0 4px 0 #09632e}
a.channel-button.channel-whatsapp:hover{background:#117a3c;box-shadow:0 2px 0 #09632e;transform:translateY(2px)}
a.channel-button.channel-call{background:#101413;color:#fff;box-shadow:0 4px 0 #000}
a.channel-button.channel-call:hover{background:#29302d;box-shadow:0 2px 0 #000;transform:translateY(2px)}
a.channel-button:focus-visible{outline:3px solid var(--paper);outline-offset:4px}
@media(max-width:640px){a.channel-button{font-size:13px;padding:12px 18px;min-height:46px}}
@media(prefers-reduced-motion:reduce){a.channel-button:hover{transform:none}}
/* Compact, flat entrance actions with clear contact channels. */
.hero-ctas{gap:12px;align-items:center}
.hero-ctas a.channel-button,.hero-ctas a.room-explore{min-height:48px;padding:13px 20px;border-radius:12px;box-shadow:none;font-size:14px}
.hero-ctas a.channel-button:hover{box-shadow:none;transform:none}
.hero-ctas a.room-explore{display:inline-flex;align-items:center;gap:10px;background:transparent;color:var(--cobalt-deep);border:1px solid #b8bdbb;box-shadow:none;text-decoration:none}
.hero-ctas a.room-explore svg{width:21px;height:21px;flex-shrink:0}
.hero-ctas a.room-explore:hover{background:#f0eadf;border-color:var(--cobalt-deep);transform:none;box-shadow:none}
.nav-right>a.channel-button.channel-whatsapp{box-shadow:none;border-radius:12px;min-height:42px;padding:10px 16px}
.nav-right>a.channel-button.channel-whatsapp:hover{box-shadow:none;transform:none}
@media(max-width:640px){.hero-ctas a.channel-button,.hero-ctas a.room-explore{font-size:13px;padding:12px 14px;min-height:46px}}
/* White, charcoal and petrol blue hotel palette. */
:root{--ink:#242428;--cobalt:#38383e;--cobalt-deep:#242428;--turq:#126481;--turq-deep:#126481;--coral:#126481;--coral-deep:#0d4b61;--gold:#126481;--cream:#ffffff;--cream-2:#f4f4f5;--paper:#ffffff;--line:#dedee2;--muted:#67676f}
body{background:var(--cream);color:var(--ink)}
.header.scrolled{background:rgba(255,255,255,.97);box-shadow:0 1px 0 #24242814}
.hero h1 .grad{background:none;color:var(--ink);-webkit-text-fill-color:var(--ink)}
.hero h1 .it{color:#126481}
.hero-eyebrow{background:#f4f4f5;color:#126481;border-radius:6px}
.hero p.lead,.section-head p,.room-copy p,.step p,.faq-list p,.reference-style-2{color:#55555d}
.hero-meta div,.room-facts div,.room-price span{color:#67676f}
.wave{display:none}
.intro{background:#f4f4f5;color:#242428;border-top:1px solid #e4e4e7;border-bottom:1px solid #e4e4e7}
.kicker i{background:#126481}.kicker span{color:#126481}
.room{border:1px solid #e4e4e7;box-shadow:0 12px 30px -24px #24242855;border-radius:18px}
.room-copy .tag{background:#edf5f8;color:#126481;border-radius:5px}
.location{background:#f4f4f5}
.hero-art.hero-hotel-photo{border-color:#ffffff;box-shadow:0 18px 45px #24242814;border-radius:100px 100px 16px 16px}
.gallery-item{border-color:#e4e4e7}.gallery-item:hover{border-color:#126481}
.step .num{background:#f4f4f5;color:#126481;border:1px solid #c9e0e9;box-shadow:none}
.cta-band{background:#f4f4f5;color:#242428;border-top:1px solid #dedee2}
.cta-band h2{color:#242428;max-width:24ch}
.cta-band a.channel-button{box-shadow:none}
.cta-band a.channel-button:hover{box-shadow:none}
footer{background:#242428;color:#e9e9ed}.foot-brand p{color:#cccbd1}
footer h5,footer .brand-text{color:#ffffff}.foot-bottom{color:#aaa9b2;border-color:#ffffff20}
.foot-grid a:hover{color:#ffffff}
.btn:not(.channel-button):not(.room-explore){box-shadow:none}
.btn:not(.channel-button):not(.room-explore):hover{box-shadow:none;transform:none}
.btn.ghost{border-width:1px;border-color:#bcbcc4;color:#38383e;border-radius:10px}
.btn.ghost:hover{background:#242428;color:#ffffff}
.hero-ctas a.room-explore{border-color:#bcbcc4}.hero-ctas a.room-explore:hover{background:#f4f4f5}
.blog-row{border-color:#e4e4e7}.blog-category,.breadcrumbs,.blog-intro{color:#67676f}
.measurement-choice{background:#ffffff;border-color:#dedee2;color:#242428}
.measurement-choice button{color:#242428;border-color:#92929c;background:#ffffff}
.measurement-settings{color:#67676f}
dialog::backdrop{background:#1d1d21c9}#media-content{background:#1d1d21}
a.channel-button:focus-visible{outline-color:#126481}
@media(max-width:640px){.hero-art.hero-hotel-photo{border-radius:70px 70px 14px 14px}}

.hero-eyebrow{background:#edf5f8;color:#126481}
.intro{background:#126481;color:#fff;border-color:#126481}
.cta-band{background:#edf5f8;border-color:#c9e0e9}
.kicker i{background:#126481}
.location{background:#f4f4f5}
.hero-ctas a.room-explore:hover{background:#edf5f8;border-color:#126481}
footer{background:#242428}
/* Local walking guide, with links to live Google Maps routes. */
.route-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}.route-heading h2{font-size:clamp(30px,3.6vw,44px)}.route-heading p{color:#5f6970;font-size:14px;margin:14px 0 0}.route-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:28px;align-items:center}.route-map{min-width:0;border:1px solid #d9e5ea;border-radius:24px;overflow:hidden;background:#f3f6f7}.walking-map{display:block;width:100%;height:auto}.walking-map a:focus-visible{outline:2px solid #126481}.route-cards{display:grid;gap:12px}.route-card{background:white;border:1px solid #dce5e8;border-radius:14px;padding:20px;display:flex;justify-content:space-between;align-items:center;gap:12px;text-decoration:none;color:#263c47;font-size:15px}.route-card small{display:block;margin-top:5px;color:#6c7c84;font-size:12px}.route-card strong{color:#126481;font-size:23px;white-space:nowrap}.route-card b{font-size:15px;font-weight:400}.route-card:hover{border-color:#126481;background:#f6fbfd}.route-note{color:#65747c;font-size:11px;line-height:1.7;margin:6px 0 0}.location-routes{background:#edf5f8}
@media(max-width:900px){.route-layout{grid-template-columns:1fr}.route-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.route-card{flex-direction:column;align-items:flex-start;padding:15px;font-size:13px}.route-note{grid-column:1/-1}}
@media(max-width:600px){.route-heading{align-items:flex-start;flex-direction:column;gap:18px}.route-heading h2{font-size:30px}.route-layout{gap:16px}.route-map{border-radius:16px}.route-cards{grid-template-columns:1fr}.route-card{flex-direction:row;align-items:center;font-size:14px;padding:15px 18px}.route-note{font-size:11px}.route-card strong{font-size:22px}}
/* Detailed destination guide. */
.route-layout{grid-template-columns:minmax(0,1.8fr) minmax(290px,1fr);gap:26px;align-items:stretch}.route-map{background:#fff;border:1px solid #d9e5ea;box-shadow:0 16px 40px #173f500c;display:flex;flex-direction:column}.map-toolbar{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid #e5edef;font-size:13px;color:#637a86}.map-toolbar b{color:#213d4b}.map-toolbar-label{font-size:11px}.walking-map{flex:1}.map-legend{display:flex;align-items:center;gap:8px;padding:14px 22px;font-size:11px;color:#697c85;background:#fff;border-top:1px solid #e5edef}.legend-dot{width:8px;height:8px;border-radius:50%;background:#126481}.route-cards{display:flex;flex-direction:column;gap:12px;justify-content:center}.route-picker-title{font-size:17px;font-weight:700;color:#253e49;margin:0}.route-all{align-self:flex-start;padding:6px 0;border:0;background:none;font-size:12px;color:#5b7380;text-decoration:underline;text-underline-offset:4px}.route-all[aria-pressed="true"]{color:#126481;font-weight:700}.destination-card{border:1px solid #dce6ea;border-radius:16px;background:#fff;overflow:hidden}.route-choice{display:flex;align-items:center;gap:12px;width:100%;padding:19px 17px;border:0;background:#fff;text-align:left;color:#263e4a;font-size:14px;font-weight:600}.route-choice[aria-pressed="true"]{background:#eaf4f8;box-shadow:inset 3px 0 #126481}.route-choice small{display:block;font-size:11px;font-weight:400;color:#6d7d85;margin-top:4px}.route-choice strong{margin-left:auto;font-size:25px;color:#126481;text-align:right;line-height:1.1}.destination-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#146b9110;color:#146b91;font-size:20px;flex-shrink:0}.destination-marmaray{background:#7863a610;color:#7863a6}.destination-ferry{background:#227c6b10;color:#227c6b}.route-directions{display:flex;justify-content:space-between;gap:10px;padding:11px 17px;border-top:1px solid #edf1f3;font-size:11px;text-decoration:none;color:#536e7b}.route-directions:hover{background:#f3f8fa;color:#126481}.map-route,.map-stop{transition:opacity .2s}.route-muted{opacity:.13}.route-note{font-size:10px;line-height:1.6}
@media(max-width:900px){.route-layout{grid-template-columns:1fr}.route-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.route-picker-title,.route-all,.route-note{grid-column:1/-1}.route-choice{flex-wrap:wrap;padding:15px}.route-choice>span:nth-child(2){font-size:12px}.destination-icon{width:28px;height:28px}.route-directions{font-size:10px;padding:10px}.route-all{justify-self:start}}
@media(max-width:600px){.route-cards{grid-template-columns:1fr}.route-choice{flex-wrap:nowrap;padding:16px}.route-choice>span:nth-child(2){font-size:14px}.route-directions{padding:11px 16px;font-size:11px}.map-toolbar{padding:14px;font-size:12px}.map-toolbar-label{font-size:10px}.map-legend{padding:12px 14px;font-size:10px}.walking-map{min-height:0}.route-map{border-radius:18px}}
@media(prefers-reduced-motion:reduce){.map-route,.map-stop{transition:none}}
