:root{
  /* Warm Mediterranean luxury palette */
  --ink:#0E110E;            /* deep garden-black */
  --ink-2:#141812;
  --ink-3:#1C211A;
  --cream:#F4EDE0;          /* lime/calce warm white */
  --cream-dim:#D9CFBE;
  --brass:#C9A961;          /* antique brass */
  --brass-deep:#8A7239;
  --olive:#6B7A4C;          /* garden olive */
  --olive-deep:#3E4A2B;
  --terracotta:#B5653A;
  --stone:#8C8278;
  --line:rgba(244,237,224,.10);
  --text:#EDE6D6;
  --text-dim:#A89E8C;
}

*{ -webkit-font-smoothing:antialiased; }
html, body{ background:var(--ink); color:var(--text); font-family:'Inter','Source Sans 3', system-ui, sans-serif; font-weight:300; }
html{ overflow-x:clip; }
body{ overflow-x:clip; }
.font-display{ font-family:'Fraunces','Cormorant Garamond', serif; font-variation-settings:"opsz" 144,"SOFT" 50; letter-spacing:-.02em; }
.font-serif-it{ font-family:'Fraunces','Cormorant Garamond', serif; font-style:italic; font-weight:300; }
.ts-balance{ text-wrap:balance; }

/* GRAIN OVERLAY — warm */
.grain::before{
  content:""; position:fixed; inset:0; z-index:60; pointer-events:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.2  0 0 0 0 0.18  0 0 0 0 0.12  0 0 0 0.5 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  opacity:.14; mix-blend-mode:overlay;
}

/* GRID dots subtle */
.grid-bg{
  background-image: radial-gradient(circle at 1px 1px, rgba(244,237,224,.05) 1px, transparent 0);
  background-size:28px 28px;
}

/* MESH — warm garden glow */
.mesh{
  position:absolute; inset:0; overflow:hidden; z-index:0;
  background:
    radial-gradient(55% 50% at 20% 30%, rgba(107,122,76,.55), transparent 70%),
    radial-gradient(45% 40% at 85% 70%, rgba(201,169,97,.35), transparent 70%),
    radial-gradient(40% 35% at 60% 20%, rgba(181,101,58,.22), transparent 70%),
    linear-gradient(180deg, #0E110E 0%, #080A08 100%);
}
.mesh::after{
  content:""; position:absolute; inset:-40%;
  background: conic-gradient(from 90deg at 50% 50%, rgba(107,122,76,.18), rgba(201,169,97,.12), rgba(107,122,76,.18));
  filter:blur(90px); animation:spin 38s linear infinite; opacity:.55;
}
@keyframes spin{ to{ transform:rotate(360deg);} }

/* CURSOR */
.cursor{
  position:fixed; width:14px; height:14px; border-radius:50%;
  background:var(--brass); pointer-events:none; z-index:90;
  mix-blend-mode:difference; transform:translate(-50%,-50%);
  transition:width .25s ease, height .25s ease, background .25s ease;
}
.cursor.lg{ width:64px; height:64px; background:var(--cream); }
@media (max-width:768px){ .cursor{ display:none; } }

/* GLASS */
.glass{
  background:linear-gradient(180deg, rgba(244,237,224,.04), rgba(244,237,224,.015));
  backdrop-filter:blur(18px) saturate(130%);
  border:1px solid var(--line);
  border-radius:22px;
}

/* GRADIENT BORDER brass */
.grad-border{ position:relative; border-radius:22px; isolation:isolate; }
.grad-border::before{
  content:""; position:absolute; inset:0; padding:1px; border-radius:inherit;
  background:linear-gradient(135deg, rgba(201,169,97,.65), rgba(107,122,76,.35) 40%, rgba(244,237,224,.08) 85%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite:exclude; pointer-events:none;
}

/* BUTTONS */
.btn{
  display:inline-flex; align-items:center; gap:.6rem; padding:.95rem 1.5rem;
  border-radius:999px; font-weight:500; letter-spacing:.02em; font-size:.92rem;
  transition:transform .25s ease, box-shadow .3s ease, background .3s ease, color .3s ease;
}
.btn-primary{
  background:linear-gradient(135deg, var(--brass), #E0C687);
  color:#1a140a;
  box-shadow:0 12px 40px -10px rgba(201,169,97,.45), inset 0 -1px 0 rgba(0,0,0,.2);
}
.btn-primary:hover{ transform:translateY(-2px); box-shadow:0 20px 60px -10px rgba(201,169,97,.65); }
.btn-ghost{ background:rgba(244,237,224,.05); color:var(--text); border:1px solid var(--line); }
.btn-ghost:hover{ background:rgba(244,237,224,.09); }
.btn-whatsapp{
  background:linear-gradient(135deg,#25D366,#128C7E); color:#05281a;
  box-shadow:0 12px 40px -10px rgba(37,211,102,.4);
}
.btn-whatsapp:hover{ transform:translateY(-2px); box-shadow:0 20px 60px -10px rgba(37,211,102,.6); }

/* BOB */
@keyframes bob{ 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(8px);} }
.bob{ animation:bob 2.4s ease-in-out infinite; }

/* MARQUEE */
.marquee{ overflow:hidden; mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.marquee-track{ display:flex; gap:3rem; animation:marq 46s linear infinite; will-change:transform; }
@keyframes marq{ from{ transform:translateX(0);} to{ transform:translateX(-50%);} }

/* CHIP */
.chip{
  display:inline-flex; align-items:center; gap:.5rem; padding:.4rem .85rem;
  border:1px solid var(--line); border-radius:999px; font-size:.72rem;
  color:var(--text-dim); letter-spacing:.18em; text-transform:uppercase;
  background:rgba(244,237,224,.03);
}
.chip .dot{ width:6px; height:6px; border-radius:50%; background:var(--brass); box-shadow:0 0 12px var(--brass); }

/* SUITE CARDS — full content (photo on top + description below) */
.suite-card{
  position:relative;
  display:flex; flex-direction:column;
  border-radius:22px; overflow:hidden;
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.015));
  border:1px solid var(--line);
  backdrop-filter:blur(18px) saturate(140%);
  transition:transform .35s ease, box-shadow .4s ease, border-color .3s ease;
}
.suite-card::before{
  content:""; position:absolute; inset:0; padding:1px; border-radius:inherit;
  background:linear-gradient(135deg, rgba(201,169,97,.6), rgba(107,122,76,.4) 40%, rgba(255,255,255,.08) 80%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite:exclude; pointer-events:none;
}
.suite-card:hover{ transform:translateY(-4px); box-shadow:0 30px 60px -20px rgba(0,0,0,.35); }
.suite-card-photo{ position:relative; width:100%; height:280px; overflow:hidden; }
.suite-card-photo img{
  width:100%; height:100%; object-fit:cover;
  transition:transform 1s cubic-bezier(.2,.6,.2,1), filter .6s ease;
}
.suite-card:hover .suite-card-photo img{ transform:scale(1.04); filter:saturate(1.08); }
.suite-card-photo-overlay{
  position:absolute; inset:auto 0 0 0; height:55%;
  background:linear-gradient(180deg, transparent 0%, rgba(8,10,8,.85) 100%);
  pointer-events:none;
}
.suite-card-meta{
  position:absolute; left:1.25rem; right:1.25rem; bottom:1rem;
  display:flex; gap:.75rem; flex-wrap:wrap;
  font-size:.7rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--cream-dim); z-index:2;
}
.suite-card-body{
  padding:1.6rem 1.6rem 1.8rem;
  display:flex; flex-direction:column; flex:1;
}
.suite-card-body .suite-cta{
  display:inline-flex; align-items:center; gap:.45rem;
  padding:.4rem .9rem;
  border:1px solid rgba(201,169,97,.4);
  border-radius:999px;
  color:var(--brass);
  font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; font-weight:500;
  align-self:flex-start;
  transition:background .3s, color .3s, border-color .3s;
}
.suite-card-body .suite-cta:hover{
  background:var(--brass); color:#1a140a; border-color:var(--brass);
}
@media (max-width:768px){
  .suite-card-photo{ height:240px; }
}

/* SUITE CARDS — legacy (kept for backwards compat) */
.suite{ position:relative; overflow:hidden; border-radius:22px; }
.suite img{ transition:transform 1.2s cubic-bezier(.2,.6,.2,1), filter .6s ease; }
.suite:hover img{ transform:scale(1.05); filter:saturate(1.05) brightness(.78); }
.suite::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 30%, rgba(8,10,8,.88) 95%);
  transition: background .4s ease;
}
.suite:hover::after{
  background:linear-gradient(180deg, rgba(8,10,8,.35) 0%, rgba(8,10,8,.70) 35%, rgba(8,10,8,.95) 80%);
}
.suite .info{ position:absolute; inset:auto 0 0 0; padding:1.8rem 1.8rem 1.6rem; z-index:2; }
.suite .meta{ display:flex; gap:1rem; font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; color:var(--cream-dim); margin-bottom:.6rem; }
.suite .desc{ max-height:0; overflow:hidden; opacity:0; transition:max-height .5s ease, opacity .4s ease, margin-top .4s ease; }
.suite:hover .desc{ max-height:380px; opacity:1; margin-top:.7rem; }
@media (max-width:768px){
  .suite:hover .desc{ max-height:520px; }
}

/* STROKE NUMBERS */
.stroke-num{
  -webkit-text-stroke:1px rgba(244,237,224,.45);
  color:transparent; font-family:'Fraunces', serif; font-weight:400;
}

/* TIMELINE */
.timeline-line{
  position:absolute; left:31px; top:0; bottom:0; width:2px;
  background:linear-gradient(180deg, transparent, var(--brass), var(--olive), transparent);
  transform-origin:top; transform:scaleY(0);
}

/* HORIZONTAL tech-like track (legacy — replaced by .insp-* below) */
.tech-track{ display:flex; gap:24px; will-change:transform; flex-wrap:nowrap; }
.tech-card{ flex-grow:0; flex-shrink:0; flex-basis:auto; width:80vw; max-width:1000px; height:64vh; min-height:460px; max-height:640px; }

/* INSPIRATIONS — native horizontal scroll with snap + arrows */
.insp-wrap{ position:relative; }
.insp-track{
  display:flex; gap:20px;
  padding:8px 24px 28px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
  scrollbar-width:none;
}
.insp-track::-webkit-scrollbar{ display:none; }
@media (hover: hover) and (pointer: fine){
  .insp-track{ cursor:grab; }
  .insp-track.insp-grabbing{ cursor:grabbing; scroll-snap-type:none; scroll-behavior:auto; }
}

@media (min-width: 768px){
  .insp-track{ padding:8px 40px 32px; gap:24px; }
}

.insp-card{
  flex:0 0 auto;
  width:88vw; max-width:560px;
  height:520px;
  scroll-snap-align:center;
  scroll-snap-stop:always;
}
@media (min-width: 768px){
  .insp-card{ width:62vw; max-width:720px; height:600px; }
}
@media (min-width: 1100px){
  .insp-card{ width:48vw; max-width:820px; height:640px; }
}

/* arrow buttons */
.insp-arrow{
  display:inline-flex; align-items:center; justify-content:center;
  width:48px; height:48px; border-radius:9999px;
  background:rgba(20,24,20,.65);
  border:1px solid var(--line);
  color:var(--cream);
  cursor:pointer;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  transition:background .25s ease, transform .25s ease, opacity .25s ease;
}
.insp-arrow:hover{ background:rgba(40,46,40,.85); transform:scale(1.06); }
.insp-arrow[disabled]{ opacity:.35; cursor:default; transform:none; }

/* floating arrows on mobile */
.insp-arrow-float{
  position:absolute; top:50%; transform:translateY(-50%);
  z-index:5;
  width:44px; height:44px;
  background:rgba(14,17,14,.78);
}
.insp-arrow-float-prev{ left:10px; }
.insp-arrow-float-next{ right:10px; }
.insp-arrow-float[disabled]{ opacity:0; pointer-events:none; }

/* dots indicator */
.insp-dots{
  display:flex; justify-content:center; align-items:center;
  gap:8px; margin-top:14px;
  padding:0 24px;
}
.insp-dot{
  width:7px; height:7px; border-radius:9999px;
  background:rgba(232,224,200,.25);
  border:0; padding:0; cursor:pointer;
  transition:background .25s ease, transform .25s ease, width .25s ease;
}
.insp-dot[aria-current="true"]{
  background:var(--brass);
  width:22px;
}

/* HERO — small/short screens */
.hero-section{ min-height:100vh; min-height:100svh; }
.hero-title{ font-size:38px; }
@media (min-width: 380px){ .hero-title{ font-size:44px; } }
@media (min-width: 480px){ .hero-title{ font-size:54px; } }
@media (min-width: 768px){ .hero-title{ font-size:78px; } }
@media (min-width: 1024px){ .hero-title{ font-size:92px; } }
/* Very short viewports (landscape phones, small laptops): allow content to push */
@media (max-height: 720px){
  .hero-section{ min-height:auto; }
  .hero-title{ font-size:36px; }
}

/* WORD REVEAL */
.word{ display:inline-block; overflow:hidden; vertical-align:top; }
.word > span{ display:inline-block; transform:translateY(110%); }

/* ARROW LINK */
.arrow-link{ display:inline-flex; align-items:center; gap:.5rem; color:var(--brass); font-weight:500; }
.arrow-link svg{ transition:transform .35s ease; }
.arrow-link:hover svg{ transform:translateX(6px); }

/* DIVIDER */
.divider{ height:1px; background:linear-gradient(90deg, transparent, var(--brass), transparent); opacity:.5; }

/* LABEL */
.label{ font-family:'Fraunces', serif; letter-spacing:.34em; font-size:.72rem; text-transform:uppercase; color:var(--brass); font-weight:400; }
.label::before{ content:"— "; color:var(--olive); }

/* GRADIENT TEXT — warm */
.grad-text{
  background:linear-gradient(135deg, #FFF8E7 0%, var(--brass) 55%, var(--olive) 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.italic-cream{ color:var(--cream); font-style:italic; font-weight:300; }

/* MASK IMG */
.mask-img{ mask-image:linear-gradient(180deg, #000 60%, transparent 100%); }

/* MAP DARK */
.map-frame{ filter:invert(.92) hue-rotate(170deg) saturate(.55) brightness(.9) contrast(1.05); }

/* FLOATY */
@keyframes floaty{ 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(-10px);} }
.floaty{ animation:floaty 5s ease-in-out infinite; }

/* PAGE HERO */
.page-hero{ min-height:60vh; display:flex; align-items:flex-end; padding:8rem 0 4rem; position:relative; overflow:hidden; }
.page-hero .mesh{ opacity:.85; }

/* ACCORDION */
.acc-item{ border-bottom:1px solid var(--line); }
.acc-trigger{ width:100%; text-align:left; padding:1.5rem 0; display:flex; justify-content:space-between; align-items:center; gap:2rem; cursor:pointer; transition:color .3s; }
.acc-trigger:hover{ color:var(--brass); }
.acc-trigger .ico{ width:36px; height:36px; border-radius:50%; border:1px solid var(--line); display:grid; place-items:center; transition:transform .4s, background .3s; flex-shrink:0; }
.acc-item.open .acc-trigger .ico{ transform:rotate(45deg); background:var(--brass); color:#1a140a; border-color:var(--brass); }
.acc-content{ max-height:0; overflow:hidden; transition:max-height .5s ease; }
.acc-item.open .acc-content{ max-height:600px; }
.acc-content > div{ padding:0 0 1.5rem; color:var(--text-dim); line-height:1.7; }

/* VERTICAL text */
.v-text{ writing-mode:vertical-rl; transform:rotate(180deg); letter-spacing:.5em; text-transform:uppercase; font-size:.7rem; color:var(--text-dim); }

/* Photo-frame ornament */
.frame-ornament{
  position:absolute; width:40px; height:40px; border:1px solid var(--brass); opacity:.6;
}
.frame-ornament.tl{ top:-10px; left:-10px; border-right:none; border-bottom:none; }
.frame-ornament.tr{ top:-10px; right:-10px; border-left:none; border-bottom:none; }
.frame-ornament.bl{ bottom:-10px; left:-10px; border-right:none; border-top:none; }
.frame-ornament.br{ bottom:-10px; right:-10px; border-left:none; border-top:none; }

/* =========================
   Suite "View gallery" CTA on hover
   ========================= */
.suite .suite-cta{
  display:inline-flex; align-items:center; gap:.45rem;
  margin-top:.8rem; padding:.35rem .85rem;
  border:1px solid rgba(201,169,97,.4);
  border-radius:999px;
  background:rgba(14,17,14,.55);
  backdrop-filter:blur(6px);
  color:var(--brass);
  font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; font-weight:500;
  opacity:0; transform:translateY(6px);
  transition: opacity .35s ease, transform .35s ease, background .3s;
}
.suite:hover .suite-cta,
.suite:focus-visible .suite-cta{ opacity:1; transform:translateY(0); }
.suite .suite-cta:hover{ background:var(--brass); color:#1a140a; border-color:var(--brass); }

/* =========================
   LIGHTBOX — suite gallery
   ========================= */
.lightbox{
  position:fixed; inset:0; z-index:100;
  display:flex; flex-direction:column;
  background:rgba(8,10,8,.97);
  backdrop-filter: blur(14px) saturate(130%);
  opacity:0; pointer-events:none;
  transition: opacity .35s ease;
  padding:1rem 1rem 0;
}
.lightbox[data-open="true"]{ opacity:1; pointer-events:auto; }
.lightbox::before{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:0;
  background:
    radial-gradient(60% 50% at 50% 40%, rgba(201,169,97,.12), transparent 70%),
    radial-gradient(40% 40% at 20% 80%, rgba(107,122,76,.10), transparent 70%);
}
.lightbox-close{
  position:absolute; top:1.1rem; right:1.1rem; z-index:3;
  width:44px; height:44px; border-radius:50%;
  display:grid; place-items:center;
  color:var(--cream);
  background:rgba(244,237,224,.06);
  border:1px solid rgba(244,237,224,.16);
  transition: background .3s, transform .3s, border-color .3s, color .3s;
  cursor:pointer;
}
.lightbox-close:hover{ background:var(--brass); color:#1a140a; border-color:var(--brass); transform:rotate(90deg); }

.lightbox-stage{
  position:relative; z-index:1;
  flex:1 1 auto;
  display:flex; align-items:center; justify-content:center;
  gap:1rem;
  min-height:0;
  padding:3rem 0 1rem;
}
.lightbox-figure{
  position:relative;
  flex:1 1 auto;
  display:flex; align-items:center; justify-content:center;
  max-width: min(96vw, 1280px);
  height:100%;
  margin:0;
}
.lightbox-figure::before{
  content:""; position:absolute; inset:-2px; border-radius:14px;
  background:linear-gradient(135deg, rgba(201,169,97,.45), rgba(107,122,76,.25) 50%, rgba(244,237,224,.06));
  opacity:.55; filter:blur(14px); z-index:0;
}
.lightbox-figure img{
  position:relative; z-index:1;
  max-width:100%; max-height:100%;
  object-fit:contain;
  border-radius:12px;
  box-shadow: 0 40px 80px -20px rgba(0,0,0,.6);
  opacity:0; transform:scale(.985);
  transition: opacity .45s ease, transform .6s cubic-bezier(.2,.6,.2,1);
}
.lightbox-figure img.is-loaded{ opacity:1; transform:scale(1); }

.lightbox-nav{
  z-index:3;
  width:50px; height:50px; border-radius:50%;
  display:grid; place-items:center;
  color:var(--cream);
  background:rgba(244,237,224,.06);
  border:1px solid rgba(244,237,224,.16);
  backdrop-filter: blur(6px);
  cursor:pointer;
  flex-shrink:0;
  transition: background .3s, color .3s, border-color .3s, transform .3s;
}
.lightbox-nav:hover{ background:var(--brass); color:#1a140a; border-color:var(--brass); }
.lightbox-prev:hover{ transform:translateX(-3px); }
.lightbox-next:hover{ transform:translateX(3px); }

.lightbox-bar{
  position:relative; z-index:2;
  display:flex; justify-content:space-between; align-items:flex-end;
  gap:1.5rem; padding:1rem 1.5rem .6rem;
  max-width:1280px; margin:0 auto; width:100%;
}
.lightbox-text{ min-width:0; }
.lightbox-label{
  font-family:'Fraunces', serif; font-size:.72rem;
  letter-spacing:.34em; text-transform:uppercase; color:var(--brass);
  margin-bottom:.25rem;
}
.lightbox-subtitle{
  font-family:'Fraunces', serif; font-style:italic; font-weight:300;
  font-size:1.1rem; color:var(--cream-dim); line-height:1.3;
}
.lightbox-counter{
  font-family:'Fraunces', serif; font-size:1.3rem; color:var(--cream);
  letter-spacing:.05em; white-space:nowrap;
}
.lightbox-counter em{ font-style:italic; color:var(--brass); font-weight:400; }

.lightbox-thumbs{
  position:relative; z-index:2;
  display:flex; gap:.5rem; padding:1rem 1.5rem 1.5rem;
  overflow-x:auto; scroll-behavior:smooth;
  max-width:100%; margin:0 auto;
  scrollbar-width: none;
}
.lightbox-thumbs::-webkit-scrollbar{ display:none; }
.lightbox-thumb{
  flex:0 0 auto;
  width:72px; height:54px; border-radius:6px;
  overflow:hidden; cursor:pointer;
  opacity:.4; transition: opacity .25s ease, transform .25s ease, box-shadow .25s;
  border:1px solid transparent;
}
.lightbox-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.lightbox-thumb:hover{ opacity:.85; transform:translateY(-2px); }
.lightbox-thumb[aria-current="true"]{
  opacity:1; border-color:var(--brass);
  box-shadow: 0 0 0 2px rgba(201,169,97,.3);
}

@media (max-width:768px){
  .lightbox{ padding: .5rem .5rem 0; }
  .lightbox-stage{
    padding: 2.6rem 0 .25rem;
    gap: 0;
    flex: 1 1 auto;
    position: relative;
  }
  .lightbox-figure{ max-width: 100%; width: 100%; }
  .lightbox-figure img{ max-height: 100%; max-width: 100%; }
  .lightbox-nav{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 5;
    width: 40px; height: 40px;
    background: rgba(8,10,8,.55) !important;
    border-color: rgba(244,237,224,.30) !important;
    color: #F4EDE0 !important;
    backdrop-filter: blur(8px);
  }
  .lightbox-prev{ left: .5rem; }
  .lightbox-next{ right: .5rem; }
  .lightbox-thumbs{ display: none; }
  .lightbox-bar{
    padding: .55rem .75rem;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
  }
  .lightbox-label{ font-size: .65rem; letter-spacing: .25em; }
  .lightbox-subtitle{ display: none; }
  .lightbox-counter{ font-size: 1rem; }
  .lightbox-close{ top: .55rem; right: .55rem; width: 38px; height: 38px; }
}

body.lightbox-open{ overflow:hidden; }
