@font-face{font-family:"Oranienbaum";src:url(fonts/oranienbaum-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url(fonts/instrument-sans-var.woff2) format("woff2");font-weight:400 700;font-display:swap}
:root{
  --navy:#00175b; --ink:#060d26; --ink-2:#0b1538; --line:rgba(255,255,255,.16);
  --paper:#f3efe6; --paper-ink:#10183a; --paper-line:rgba(16,24,58,.2);
  --amber:#f0a54a; --amber-d:#8a4e0e; --teal:#0f5c63;
  --text:#f4f2ec; --muted:#b5bbd0;
  --serif:"Oranienbaum",Georgia,serif; --sans:"Instrument Sans",system-ui,sans-serif;
  --gutter:clamp(20px,5vw,72px);
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:64px}
body{background:var(--ink);color:var(--text);font:400 17px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1}
h2{font-size:clamp(44px,7vw,92px);letter-spacing:-.01em}
.eyebrow{font-size:13px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--amber)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;font-weight:600;font-size:16px;text-decoration:none;transition:background .2s,color .2s,transform .2s}
.btn-primary{background:var(--amber);color:#201203}
.btn-primary:hover{background:#ffbb66}
.btn-ghost{border:1px solid rgba(255,255,255,.55);color:#fff}
.btn-ghost:hover{background:#fff;color:var(--ink)}
:focus-visible{outline:2px solid var(--amber);outline-offset:3px}

.concept{background:var(--amber);color:#201203;font-size:13px;font-weight:500;text-align:center;padding:6px 16px}

/* navegação */
.nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px var(--gutter);background:var(--navy)}
.nav img{height:42px;width:auto}
.nav ul{display:flex;gap:32px;list-style:none;padding:0}
.nav li a{font-size:15px;text-decoration:none;color:#dfe3f2}
.nav li a:hover{color:var(--amber)}
.nav .btn{min-height:42px;padding:0 20px;font-size:15px}

/* abertura */
.hero{position:relative;min-height:calc(100svh - 96px);display:flex;align-items:flex-end;overflow:hidden;background:var(--ink)}
.hero-photo{position:absolute;inset:0 0 0 auto;width:64%;height:100%;object-fit:cover;object-position:56% 30%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--ink) 36%,rgba(6,13,38,.55) 46%,rgba(6,13,38,0) 62%)}
.hero-copy{position:relative;z-index:1;padding:64px var(--gutter);max-width:760px}
.hero h1{font-size:clamp(58px,6.6vw,112px);line-height:.94;margin:18px 0 22px;letter-spacing:-.015em}
.hero p.lead{max-width:30em;color:#e4e6ef;margin-bottom:30px}
.cta{display:flex;flex-wrap:wrap;gap:12px}
.status{display:inline-flex;align-items:center;gap:10px;margin-top:26px;font-size:15px;color:#e4e6ef}
.status i{width:9px;height:9px;border-radius:50%;background:#7a8199}
.status.open i{background:#5fe08f}

/* serviços */
.menu{background:var(--paper);color:var(--paper-ink);padding:clamp(72px,10vw,136px) var(--gutter)}
.menu .eyebrow{color:var(--amber-d)}
.menu-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:clamp(44px,6vw,80px)}
.menu-head h2{margin-top:12px}
.menu-head p{max-width:24em;color:#454c6b}
.menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(48px,6vw,88px) clamp(48px,7vw,112px)}
.menu-group h3{font-size:30px;padding-bottom:12px;border-bottom:2px solid var(--paper-ink)}
.row{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:2px 20px;padding:16px 0;border-bottom:1px solid var(--paper-line);text-decoration:none;transition:padding .2s}
.row:hover{padding-left:8px}
.row b{font-weight:600;font-size:18px}
.row .price{font-family:var(--serif);font-size:27px;white-space:nowrap}
.row .price small{font:500 12px var(--sans);color:#555c7a;margin-right:5px}
.row .dur{grid-column:1/-1;font-size:14px;color:#555c7a}
.row:hover b{color:var(--amber-d)}
.row.star{background:var(--navy);color:#fff;border:0;padding:18px;margin-top:14px}
.row.star:hover{padding-left:24px}
.row.star:hover b{color:var(--amber)}
.row.star .dur{color:#c8cee3}
.row.star .tag{display:block;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--amber);margin-bottom:3px}
.menu-foot{margin-top:56px;display:flex;flex-wrap:wrap;align-items:center;gap:20px}
.menu-foot .btn-primary{background:var(--navy);color:#fff}
.menu-foot .btn-primary:hover{background:#0a2a8c}
.menu-foot span{font-size:15px;color:#454c6b}

/* sobre */
.about{display:grid;grid-template-columns:1.05fr 1fr;background:var(--teal)}
.about img{width:100%;height:100%;min-height:440px;object-fit:cover;object-position:50% 15%}
.about div{padding:clamp(56px,8vw,112px) var(--gutter);align-self:center}
.about .eyebrow{color:#ffc988}
.about h2{font-size:clamp(40px,5.2vw,72px);margin:14px 0 22px}
.about p{max-width:32em;color:#e8f1f0}

/* galeria */
.gallery{padding:clamp(72px,10vw,136px) var(--gutter);background:var(--ink)}
.gallery h2{margin:12px 0 44px}
.tiles{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:clamp(150px,19vw,270px);gap:10px}
.tile{display:grid;place-items:center;align-content:center;gap:10px;background:var(--ink-2);border:1px dashed rgba(255,255,255,.22);text-align:center;font-size:14px;color:var(--muted);padding:12px}
.tile img{width:44px;height:auto;opacity:.6}
.tile:first-child{grid-row:span 2}
.tile:nth-child(4){grid-column:span 2}

/* comodidades */
.perks{display:grid;grid-template-columns:repeat(4,1fr);background:var(--navy)}
.perk{padding:clamp(30px,4vw,52px) var(--gutter);border-left:1px solid var(--line)}
.perk:first-child{border-left:0}
.perk b{display:block;font:400 28px/1.1 var(--serif);margin-bottom:8px}
.perk span{font-size:15px;color:#ccd2e6}

/* visita */
.visit{display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,7vw,112px);padding:clamp(72px,10vw,136px) var(--gutter)}
.visit h2{margin:12px 0 26px}
.visit address{font-style:normal;font-size:20px;line-height:1.45;margin-bottom:28px}
.visit .cta .btn{min-height:48px}
.pay{margin-top:36px;font-size:15px;color:var(--muted)}
.hours{list-style:none;padding:0;border-top:1px solid var(--line)}
.hours li{display:flex;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid var(--line);color:var(--muted)}
.hours li.today{color:#fff;font-weight:600}
.hours li.today span:first-child::after{content:"hoje";margin-left:10px;padding:2px 8px;font-size:12px;background:var(--amber);color:#201203}

/* rodapé */
.final{background:var(--amber);color:#201203;padding:clamp(56px,8vw,96px) var(--gutter);display:flex;flex-wrap:wrap;gap:28px;align-items:center;justify-content:space-between}
.final h2{font-size:clamp(44px,7vw,88px);max-width:12em}
.final .btn{background:var(--ink);color:#fff}
.final .btn:hover{background:var(--navy)}
footer{padding:36px var(--gutter) 40px;background:var(--navy);display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;font-size:14px;color:#ccd2e6}
footer img{height:54px;width:auto}

/* barra fixa no celular */
.dock{display:none}

@media (max-width:900px){
  .nav ul,.nav .btn{display:none}
  .nav{justify-content:center;padding:9px 16px}
  .nav img{height:36px}
  .hero{min-height:0;flex-direction:column;align-items:stretch}
  .hero-photo{position:relative;inset:auto;width:100%;height:56svh;min-height:330px;object-position:60% 25%}
  .hero::after{background:linear-gradient(0deg,var(--ink) 40%,rgba(6,13,38,0) 62%)}
  .hero-copy{margin-top:-110px;padding:0 20px 48px}
  .hero h1{font-size:clamp(44px,12.6vw,84px)}
  .hero .cta{display:none}
  .menu-grid,.about,.visit{grid-template-columns:minmax(0,1fr)}
  .about img{height:330px;min-height:0}
  .tiles{grid-template-columns:1fr 1fr;grid-auto-rows:150px}
  .tile:first-child{grid-column:span 2;grid-row:auto}
  .tile:nth-child(4){grid-column:span 2}
  .perks{grid-template-columns:1fr 1fr}
  .perk{padding:26px 20px;border-left:0;border-top:1px solid var(--line)}
  .perk:nth-child(even){border-left:1px solid var(--line)}
  .final .btn{width:100%}
  .dock{display:grid;grid-template-columns:2fr 1fr;position:fixed;inset:auto 0 0 0;z-index:30;padding-bottom:env(safe-area-inset-bottom);background:var(--ink)}
  .dock a{display:flex;align-items:center;justify-content:center;min-height:58px;font-weight:600;text-decoration:none}
  .dock a:first-child{background:var(--amber);color:#201203}
  .dock a:last-child{background:var(--navy);color:#fff}
  footer{padding-bottom:96px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* página 404 */
.notfound{min-height:calc(100svh - 33px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:48px var(--gutter);background:var(--navy)}
.notfound img{width:72px;height:auto;margin-bottom:40px}
.notfound h1{font-size:clamp(46px,8vw,104px);max-width:11em;margin:14px 0 20px;letter-spacing:-.01em}
.notfound .lead{max-width:30em;color:#dfe3f2;margin-bottom:30px}
