:root{
  --portal:#173A30;      /* deep doorway green */
  --portal-2:#21493D;
  --laton:#B8935A;       /* brass */
  --laton-dk:#8C6A39;
  --granito:#E8ECEA;     /* cool granite page */
  --papel:#F7F8F6;
  --tinta:#16201C;
  --pizarra:#55625C;
  --atlantico:#2F5D7C;
  --madera:#4A3424;
  --ph:#FFE45C;
  --serif:"Prata", Georgia, serif;
  --sans:"Alegreya Sans", "Trebuchet MS", sans-serif;
  --w:1180px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--granito);color:var(--tinta);font:400 18px/1.55 var(--sans)}
img{max-width:100%;display:block}
a{color:var(--atlantico)}
a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid var(--laton);outline-offset:2px}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.15;margin:0 0 .5em}
h1{font-size:clamp(2rem,4.4vw,3.35rem);letter-spacing:-.005em}
h2{font-size:clamp(1.55rem,2.8vw,2.2rem)}
h3{font-size:1.25rem}
p{margin:0 0 1em}
.wrap{max-width:var(--w);margin:0 auto;padding:0 20px}
.ph{background:var(--ph);color:#1a1a1a;padding:0 .25em;border-radius:2px;outline:1px dashed #b39a00;font-style:normal}
.demo-bar{background:var(--ph);color:#1a1a1a;font:600 14px/1.3 var(--sans);text-align:center;padding:6px 12px}

/* header */
.hd{background:var(--portal);color:#EDEBE4}
.hd .wrap{display:flex;align-items:center;gap:24px;min-height:76px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px;color:#EDEBE4;text-decoration:none;margin-right:auto}
.brand svg{width:46px;height:46px;flex:none}
.brand b{font:400 1.45rem/1 var(--serif);display:block}
.brand small{display:block;font-size:.82rem;color:#C9D2CD;margin-top:3px}
.nav{display:flex;gap:20px;flex-wrap:wrap}
.nav a{color:#EDEBE4;text-decoration:none;font-size:1rem;padding:4px 0;border-bottom:1px solid transparent}
.nav a:hover,.nav a[aria-current]{border-color:var(--laton)}
.langs{display:flex;gap:2px;border:1px solid var(--laton-dk);border-radius:3px;overflow:hidden}
.langs a{color:#EDEBE4;text-decoration:none;font-size:.85rem;padding:5px 9px}
.langs a[aria-current]{background:var(--laton);color:var(--portal)}

/* hero */
.hero{background:var(--portal);color:#F1EFE9;padding:40px 0 64px}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start}
.hero .lead{font-size:1.2rem;color:#D3DBD6;max-width:34em}
.btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border-radius:3px;font:600 1rem/1 var(--sans);text-decoration:none;border:1px solid transparent;cursor:pointer}
.btn-laton{background:var(--laton);color:#1E1A12}
.btn-laton:hover{background:#C9A56C}
.btn-line{border-color:#8FA59B;color:#F1EFE9;background:transparent}
.btn-line:hover{border-color:var(--laton)}
.btn-dark{background:var(--portal);color:#F1EFE9}
.btn-dark:hover{background:var(--portal-2)}
.btn-out{border-color:var(--portal);color:var(--portal);background:transparent}

/* the brass directory board */
.board{background:var(--madera);padding:14px;border-radius:4px;box-shadow:inset 0 0 0 2px #5C432F}
.board-in{background:#0F2A22;padding:18px 18px 12px;border-radius:2px}
.board h2{font-size:1.05rem;color:var(--laton);margin:0 0 4px;font-family:var(--serif)}
.board p{font-size:.88rem;color:#9DB2A8;margin:0 0 14px}
.plates{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.plate{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--laton);color:#2A2112;text-decoration:none;padding:9px 14px;border-radius:2px;font-family:var(--serif);font-size:1.02rem;box-shadow:inset 0 -2px 0 var(--laton-dk),inset 0 1px 0 #D7BC8C}
.plate:hover{background:#C6A26A}
.plate span:last-child{font:600 .9rem var(--sans);background:#2A2112;color:var(--laton);border-radius:2px;padding:2px 8px;min-width:2.2em;text-align:center}
.plate.dim{background:#6F7F78;box-shadow:none;color:#E3E8E5}
.plate.dim span:last-child{background:#3E4B45;color:#E3E8E5}

/* sections */
.sec{padding:64px 0}
.sec-pale{background:var(--papel)}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:26px}
.sec-head p{margin:0;color:var(--pizarra)}
.note{color:var(--pizarra);font-size:.98rem}

/* filter */
.filter{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}
.filter button{font:500 .95rem var(--sans);background:transparent;border:1px solid #AEBBB5;color:var(--tinta);padding:6px 12px;border-radius:3px;cursor:pointer}
.filter button[aria-pressed=true]{background:var(--portal);border-color:var(--portal);color:#F1EFE9}

/* cards */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.card{background:var(--papel);display:flex;flex-direction:column}
.card[hidden]{display:none}
.ph-arch{position:relative;aspect-ratio:4/3.4;overflow:hidden;border-radius:46% 46% 0 0 / 30% 30% 0 0;background:#C9D1CD}
.ph-arch img{width:100%;height:100%;object-fit:cover;cursor:zoom-in}
.car-nav{position:absolute;inset:auto 10px 10px auto;display:flex;gap:6px;align-items:center}
.car-nav button{width:34px;height:34px;border-radius:50%;border:0;background:rgba(23,58,48,.85);color:#fff;font-size:1.1rem;cursor:pointer;display:grid;place-items:center}
.car-count{background:rgba(23,58,48,.85);color:#fff;font-size:.8rem;padding:4px 8px;border-radius:12px}
.card-b{padding:18px 18px 20px;display:flex;flex-direction:column;gap:10px;flex:1}
.card-type{font-size:.9rem;color:var(--pizarra)}
.card h3{margin:0;font-size:1.3rem}
.opts{display:flex;flex-wrap:wrap;gap:6px}
.opts button{font:500 .88rem var(--sans);border:1px solid #B9C4BF;background:#fff;color:var(--tinta);padding:5px 9px;border-radius:3px;cursor:pointer;text-align:left}
.opts button[aria-pressed=true]{border-color:var(--laton-dk);background:#F3EBDD}
.specs{font-size:.95rem;color:var(--tinta)}
.feats{font-size:.9rem;color:var(--pizarra)}
.card-f{margin-top:auto;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;border-top:1px solid #D5DCD8;padding-top:12px}
.ref{font-size:.82rem;color:var(--pizarra)}
.maplink{font-size:.92rem}
.more-wrap{text-align:center;margin-top:30px}

/* how */
.how{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.how li{border-top:2px solid var(--laton);padding-top:14px}
.how .fl{font-family:var(--serif);font-size:2rem;color:var(--laton-dk);display:block;line-height:1;margin-bottom:8px}
.how h3{margin:0 0 6px}
.how p{color:var(--pizarra);font-size:1rem;margin:0}

/* norte */
.norte{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.norte ul{list-style:none;margin:0;padding:0;columns:2;gap:20px}
.norte li{padding:6px 0;border-bottom:1px solid #CDD5D1;font-family:var(--serif);font-size:1.12rem}

/* faq */
.faq details{border-bottom:1px solid #CDD5D1;padding:14px 0}
.faq summary{cursor:pointer;font-family:var(--serif);font-size:1.12rem;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::after{content:"+";color:var(--laton-dk);font-size:1.4rem;line-height:1}
.faq details[open] summary::after{content:"−"}
.faq details p{margin:10px 0 0;color:var(--pizarra);max-width:60em}
.two{display:grid;grid-template-columns:1fr 1fr;gap:48px}

/* company plaque */
.plaque{background:var(--laton);color:#2A2112;border-radius:3px;padding:26px 28px;box-shadow:inset 0 0 0 1px #D7BC8C,inset 0 0 0 6px var(--laton),inset 0 0 0 7px var(--laton-dk)}
.plaque h2{font-size:1.4rem;margin-bottom:14px}
.plaque dl{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;margin:0}
.plaque dt{font-weight:600}
.plaque dd{margin:0}

/* cta + footer */
.cta{background:var(--atlantico);color:#F2F5F7;padding:54px 0}
.cta .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.cta h2{margin:0 0 6px}
.cta p{margin:0;color:#D7E2EA}
.ft{background:var(--portal);color:#C9D2CD;padding:40px 0 30px;font-size:.95rem}
.ft .wrap{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:30px}
.ft a{color:#EDEBE4}
.ft ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.ft .small{grid-column:1/-1;border-top:1px solid #2F5A4D;padding-top:16px;font-size:.85rem}

/* page */
.page-hd{background:var(--portal);color:#F1EFE9;padding:34px 0 40px}
.crumbs{font-size:.9rem;color:#A9BCB3;margin-bottom:10px}
.crumbs a{color:#D9E1DD}
.prose{max-width:40em}
.prose p{font-size:1.08rem}
.dlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;margin-top:10px}
.dlist div{border-left:3px solid var(--laton);padding:2px 0 2px 14px}
.dlist b{font-family:var(--serif);font-weight:400;font-size:1.12rem;display:block}
.dlist span{color:var(--pizarra);font-size:.97rem}

/* lightbox */
.lb{position:fixed;inset:0;background:rgba(10,22,18,.94);display:none;align-items:center;justify-content:center;z-index:50}
.lb.on{display:flex}
.lb img{max-width:92vw;max-height:84vh;object-fit:contain}
.lb button{position:absolute;background:transparent;border:0;color:#fff;font-size:2.2rem;cursor:pointer;padding:12px}
.lb .x{top:10px;right:14px}.lb .p{left:10px;top:50%}.lb .n{right:10px;top:50%}
.lb .c{position:absolute;bottom:16px;color:#ccc;font-size:.9rem}

/* offer */
.offer{display:grid;grid-template-columns:1.2fr .8fr;gap:36px;align-items:start}
.offer-box{background:var(--papel);padding:24px;border-top:4px solid var(--laton)}
.offer-box dl{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin:0 0 18px}
.offer-box dt{color:var(--pizarra)}
.offer-box dd{margin:0;font-weight:600}
.total{font-family:var(--serif);font-size:2rem;margin:6px 0 4px}
.badge{display:inline-block;padding:4px 10px;border-radius:3px;font-weight:600;font-size:.9rem}
.badge-ok{background:#D9EBDD;color:#1F5130}
.badge-x{background:#F4DCD6;color:#7A2A17}
.thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:8px}
.thumbs img{aspect-ratio:1;object-fit:cover;cursor:zoom-in}
.main-ph{aspect-ratio:16/10;object-fit:cover;width:100%;border-radius:40% 40% 0 0/22% 22% 0 0;cursor:zoom-in}
.msg{padding:14px 16px;background:#fff;border-left:4px solid var(--atlantico);margin:12px 0}

@media (max-width:980px){
  .hero .wrap,.norte,.two,.offer{grid-template-columns:1fr}
  .grid{grid-template-columns:repeat(2,1fr)}
  .how{grid-template-columns:repeat(2,1fr)}
  .ft .wrap{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  body{font-size:17px}
  .grid,.how{grid-template-columns:1fr}
  .nav{order:3;width:100%;gap:14px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px}
  .nav a{white-space:nowrap}
  .hd .wrap{gap:12px;padding-top:10px}
  .ft .wrap{grid-template-columns:1fr}
  .norte ul{columns:1}
  .sec{padding:46px 0}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{.hd,.ft,.cta,.demo-bar,.btns,#pay-area button{display:none!important}body{background:#fff}}

/* zone: photos and destinations */
.ph-slot{display:flex;align-items:flex-end;padding:14px;background:repeating-linear-gradient(135deg,#DDE3E0 0 14px,#D3DAD6 14px 28px)}
.band{background:var(--portal);padding:0 0 0}
.band-ph{display:flex;width:100%;aspect-ratio:21/8;object-fit:cover;border-radius:50% 50% 0 0/26% 26% 0 0;margin-top:-1px}
.dests{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.dest{display:flex;flex-direction:column;text-decoration:none;color:var(--tinta);background:var(--papel)}
.dest-main{grid-column:span 2;grid-row:span 2}
.dest-ph{display:flex;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:46% 46% 0 0/28% 28% 0 0}
.dest-main .dest-ph{aspect-ratio:4/3.2}
.dest-b{padding:14px 16px 18px;display:flex;flex-direction:column;gap:6px}
.dest-b b{font:400 1.3rem var(--serif)}
.dest-main .dest-b b{font-size:1.9rem}
.dest-b span{color:var(--pizarra);font-size:.97rem}
.dest-b i{font-style:normal;font-size:.85rem;color:var(--laton-dk);font-weight:600}
.dest:hover .dest-b b{color:var(--atlantico)}
.hl{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.hl li{padding:8px 0;border-bottom:1px solid #CDD5D1;font-family:var(--serif);font-size:1.08rem}
.hl-links{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
@media (max-width:980px){.dests{grid-template-columns:1fr 1fr}.dest-main{grid-column:span 2;grid-row:auto}}
@media (max-width:640px){.dests{grid-template-columns:1fr}.dest-main{grid-column:auto}.band-ph{aspect-ratio:4/3}}
/* request form */
.req-wrap{max-width:760px}
.req{background:var(--papel);padding:24px;border-radius:4px;box-shadow:inset 0 0 0 1px #C9D1CC}
.req label{display:block;font-size:.9rem;color:var(--pizarra);margin-bottom:12px}
.req input,.req select{display:block;width:100%;margin-top:4px;font:400 1rem var(--sans);padding:10px 12px;border:1px solid #B9C3BE;border-radius:3px;background:#fff;color:var(--tinta)}
.req .duo{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.req .ages{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}
.req .ages[hidden],.req .ages-err[hidden]{display:none}
.req .ages-err{margin:0 0 12px;color:#B3261E;font-size:.9rem;font-weight:600}
.req .bad{outline:2px solid #B3261E;outline-offset:1px}
.req .btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
