/* Verona Court Casino Hotel — classical lakeside house style */

:root{
    --ivory:#faf7f2;
    --ivory-2:#f1eae0;
    --paper:#ffffff;
    --ink:#241c1e;
    --ink-2:#5c5155;
    --wine:#6e1a2b;
    --wine-2:#8c2537;
    --brass:#b08445;
    --brass-2:#e3d2b4;
    --hair:rgba(36,28,30,.18);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

html{scroll-behavior:smooth;scroll-padding-top:92px}

body{
    font-family:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
    font-size:17px;
    line-height:1.7;
    color:var(--ink);
    background:var(--ivory);
    -webkit-font-smoothing:antialiased;
}

img,svg{display:block;max-width:100%}
a{color:inherit}

h1,h2,h3,h4{font-family:"Playfair Display",Georgia,"Times New Roman",serif;font-weight:500;line-height:1.18}

.shell{width:min(1120px,100% - 40px);margin-inline:auto}
.narrow{width:min(760px,100% - 40px);margin-inline:auto}

/* --- shared type furniture --- */
.label{
    display:block;
    font-size:11px;
    font-weight:600;
    letter-spacing:.3em;
    text-transform:uppercase;
    color:var(--brass);
}
.rule{
    width:64px;
    height:0;
    margin:18px auto;
    border-top:1px solid var(--brass);
    border-bottom:1px solid var(--brass);
    padding-top:3px;
}
.rule.left{margin-inline:0}

.plate{text-align:center;max-width:680px;margin:0 auto 56px}
.plate h2{font-size:clamp(28px,3.6vw,42px);margin-top:14px}
.plate p{color:var(--ink-2);margin-top:14px}

.cta{
    display:inline-block;
    padding:14px 30px;
    font-family:"Inter",sans-serif;
    font-size:12px;
    font-weight:600;
    letter-spacing:.2em;
    text-transform:uppercase;
    text-decoration:none;
    border:1px solid var(--wine);
    color:var(--wine);
    background:transparent;
    cursor:pointer;
    transition:background .25s,color .25s;
}
.cta:hover{background:var(--wine);color:var(--paper)}
.cta--solid{background:var(--wine);color:var(--paper)}
.cta--solid:hover{background:var(--wine-2);border-color:var(--wine-2)}
.cta--brass{border-color:var(--brass);color:var(--ink)}
.cta--brass:hover{background:var(--brass);color:var(--paper)}
.cta--ghost{border-color:var(--brass-2);color:var(--brass-2)}
.cta--ghost:hover{background:var(--brass-2);color:var(--wine);border-color:var(--brass-2)}

.stamp{
    display:inline-grid;
    place-items:center;
    width:46px;
    height:46px;
    flex:none;
    border:1px solid var(--brass);
    border-radius:50%;
    font-family:"Playfair Display",serif;
    font-size:15px;
    color:var(--brass);
}

/* --- masthead --- */
.topbar{
    position:sticky;
    top:0;
    z-index:60;
    background:var(--ivory);
    border-bottom:1px solid var(--hair);
}
.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:80px}

.crest{display:flex;align-items:center;gap:14px;text-decoration:none}
.crest img{width:42px;height:42px}
.crest-text{font-family:"Playfair Display",serif;font-size:22px;letter-spacing:.02em;line-height:1.1}
.crest-text span{
    display:block;
    font-family:"Inter",sans-serif;
    font-size:9.5px;
    font-weight:600;
    letter-spacing:.3em;
    text-transform:uppercase;
    color:var(--ink-2);
    margin-top:3px;
}

.menu{display:flex;align-items:center;gap:30px}
.menu a{
    text-decoration:none;
    font-size:13px;
    font-weight:500;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--ink-2);
    padding-bottom:3px;
    border-bottom:1px solid transparent;
    transition:color .2s,border-color .2s;
}
.menu a:hover{color:var(--wine);border-color:var(--brass)}
.menu .cta{padding:11px 22px}
.menu .cta:hover{color:var(--paper)}

.burger{
    display:none;
    width:46px;height:46px;
    border:1px solid var(--hair);
    background:var(--paper);
    cursor:pointer;
}
.burger i{display:block;width:20px;height:1px;margin:4px auto;background:var(--ink)}

/* --- banner --- */
.banner{padding:78px 0 86px;text-align:center;position:relative;overflow:hidden}
.banner h1{font-size:clamp(40px,6.4vw,78px);margin:18px 0 0}
.banner h1 i{font-style:italic;color:var(--wine)}
.banner-lead{max-width:600px;margin:22px auto 0;font-size:19px;color:var(--ink-2)}
.banner-acts{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:34px}
.banner-note{
    display:inline-flex;
    align-items:center;
    gap:12px;
    margin-top:34px;
    font-size:13.5px;
    color:var(--ink-2);
}

.colonnade{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:14px;
    margin-top:56px;
}
.arch{
    position:relative;
    aspect-ratio:3/4.4;
    border:1px solid var(--hair);
    border-radius:50% 50% 0 0/26% 26% 0 0;
    overflow:hidden;
}
.arch::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,#cfd9d6 0%,#9fb2ad 46%,#6f8a86 100%);
}
.arch:nth-child(2)::after{background:linear-gradient(180deg,#e7d6bd 0%,#cbab80 50%,#9c7a52 100%)}
.arch:nth-child(3)::after{background:linear-gradient(180deg,#d6c9cd 0%,#a87f8a 50%,#6e1a2b 100%)}
.arch:nth-child(4)::after{background:linear-gradient(180deg,#d9dfe6 0%,#9fadbd 50%,#6c7d91 100%)}
.arch:nth-child(5)::after{background:linear-gradient(180deg,#dfdcc9 0%,#b8b58f 50%,#85825c 100%)}
.arch span{
    position:absolute;
    left:0;right:0;bottom:14px;
    z-index:2;
    text-align:center;
    font-size:10px;
    font-weight:600;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:#fff;
    text-shadow:0 1px 6px rgba(0,0,0,.45);
}

/* --- bands --- */
.band{padding:92px 0}
.band--paper{background:var(--paper);border-block:1px solid var(--hair)}
.band--tint{background:var(--ivory-2)}
.band--wine{background:var(--wine);color:var(--ivory)}
.band--ink{background:var(--ink);color:var(--ivory)}

/* house intro */
.house{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.house p{color:var(--ink-2)}
.house p+p{margin-top:16px}
.ledger{border-top:2px solid var(--ink)}
.ledger div{display:flex;justify-content:space-between;gap:24px;padding:15px 0;border-bottom:1px solid var(--hair)}
.ledger dt{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2)}
.ledger dd{font-family:"Playfair Display",serif;font-size:18px;text-align:right}

/* rooms as rows */
.suites{border-top:1px solid var(--hair)}
.suite{
    display:grid;
    grid-template-columns:120px 1fr 240px;
    gap:34px;
    align-items:center;
    padding:30px 0;
    border-bottom:1px solid var(--hair);
}
.suite-swatch{aspect-ratio:1;border:1px solid var(--hair)}
.suite:nth-child(1) .suite-swatch{background:linear-gradient(140deg,#e9ded0,#c2a985)}
.suite:nth-child(2) .suite-swatch{background:linear-gradient(140deg,#dce6e6,#8fa9a9)}
.suite:nth-child(3) .suite-swatch{background:linear-gradient(140deg,#e8d7da,#a3707b)}
.suite:nth-child(4) .suite-swatch{background:linear-gradient(140deg,#dfe2ea,#8a94a8)}
.suite h3{font-size:26px}
.suite .kind{font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--brass)}
.suite p{color:var(--ink-2);font-size:15.5px;margin-top:8px}
.suite-facts{display:grid;gap:7px;list-style:none;font-size:13.5px}
.suite-facts li{display:flex;justify-content:space-between;gap:16px;border-bottom:1px dotted var(--hair);padding-bottom:5px}
.suite-facts b{font-weight:600}

/* casino */
.band--wine .label{color:var(--brass-2)}
.band--wine .rule{border-color:var(--brass-2)}
.sala{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:start}
.sala h2{font-size:clamp(28px,3.6vw,42px);margin-top:14px}
.sala p{color:rgba(250,247,242,.84);margin-top:16px}
.games{display:grid;grid-template-columns:1fr 1fr;margin-top:30px;border-top:1px solid rgba(227,210,180,.35)}
.games li{
    list-style:none;
    padding:13px 4px;
    font-size:14.5px;
    letter-spacing:.04em;
    border-bottom:1px solid rgba(227,210,180,.35);
}
.games li::before{content:"\2014\00a0\00a0";color:var(--brass-2)}
.housekeeping{background:rgba(250,247,242,.07);border:1px solid rgba(227,210,180,.3);padding:34px}
.housekeeping h3{font-size:23px;color:var(--brass-2)}
.housekeeping ol{list-style:none;counter-reset:hk;margin-top:14px}
.housekeeping li{counter-increment:hk;display:flex;gap:16px;padding:12px 0;border-top:1px solid rgba(227,210,180,.22);font-size:15px;color:rgba(250,247,242,.88)}
.housekeeping li:first-child{border-top:0}
.housekeeping li::before{content:counter(hk,upper-roman) ".";font-family:"Playfair Display",serif;color:var(--brass-2);min-width:34px}
.hours-line{margin-top:20px;padding-top:16px;border-top:1px solid rgba(227,210,180,.3);font-size:14.5px;letter-spacing:.06em}
.hours-line b{color:var(--brass-2)}

/* dining carte */
.carte{display:grid;grid-template-columns:repeat(2,1fr);gap:0 56px}
.dish{padding:26px 0;border-bottom:1px solid var(--hair)}
.dish-top{display:flex;align-items:baseline;gap:14px}
.dish h3{font-size:24px;white-space:nowrap}
.dish-top i{flex:1;height:0;border-bottom:1px dotted var(--hair)}
.dish-top time{font-size:13px;font-weight:600;letter-spacing:.08em;color:var(--wine)}
.dish .kind{font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--brass);display:block;margin-bottom:6px}
.dish p{color:var(--ink-2);font-size:15.5px;margin-top:8px}

/* diary */
.diary{display:grid;border-top:2px solid var(--ink)}
.diary-row{display:grid;grid-template-columns:150px 1fr 110px;gap:26px;align-items:baseline;padding:20px 0;border-bottom:1px solid var(--hair)}
.diary-row .dayname{font-family:"Playfair Display",serif;font-size:21px}
.diary-row h3{font-family:"Inter",sans-serif;font-size:17px;font-weight:600;letter-spacing:.01em}
.diary-row p{font-size:15px;color:var(--ink-2);margin-top:3px}
.diary-row time{font-size:13px;font-weight:600;letter-spacing:.1em;color:var(--wine);text-align:right}
.diary-note{margin-top:20px;font-size:14px;color:var(--ink-2);text-align:center}

/* bath / wellness */
.bath{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:center}
.bath-figure{
    aspect-ratio:4/5;
    border:1px solid var(--hair);
    background:
        repeating-linear-gradient(90deg,rgba(176,132,69,.14) 0 1px,transparent 1px 34px),
        linear-gradient(190deg,#e6eceb 0%,#b6ccc9 48%,#8aa9a6 100%);
    position:relative;
}
.bath-figure::after{
    content:"";
    position:absolute;
    left:50%;top:52%;
    transform:translate(-50%,-50%);
    width:56%;aspect-ratio:1;
    border:1px solid rgba(250,247,242,.7);
    border-radius:50%;
}
.bath h2{font-size:clamp(28px,3.6vw,42px);margin-top:14px}
.bath p{color:var(--ink-2);margin-top:16px}
.bath-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;margin-top:28px}
.bath-grid div{padding:16px 0;border-top:1px solid var(--hair)}
.bath-grid b{display:block;font-family:"Playfair Display",serif;font-size:19px;font-weight:500}
.bath-grid span{font-size:14px;color:var(--ink-2)}

/* notices */
.notices{display:grid;grid-template-columns:repeat(3,1fr)}
.notice{padding:30px;border:1px solid var(--hair);margin-left:-1px}
.notice h3{font-size:21px;margin-bottom:10px}
.notice p{font-size:15px;color:var(--ink-2)}

/* responsible strip */
.pledge{
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:34px;
    align-items:center;
    padding:40px;
    background:var(--paper);
    border:1px solid var(--brass);
    outline:1px solid var(--brass);
    outline-offset:6px;
}
.pledge .stamp{width:76px;height:76px;font-size:24px}
.pledge h2{font-size:27px;margin-bottom:8px}
.pledge p{color:var(--ink-2);font-size:16px}

/* ask / faq */
.ask{max-width:820px;margin-inline:auto}
.ask details{border-bottom:1px solid var(--hair)}
.ask summary{
    list-style:none;
    cursor:pointer;
    display:flex;
    gap:22px;
    align-items:baseline;
    padding:22px 0;
    font-family:"Playfair Display",serif;
    font-size:20px;
}
.ask summary::-webkit-details-marker{display:none}
.ask summary::before{content:"\2014";color:var(--brass)}
.ask details[open] summary::before{color:var(--wine)}
.ask details p{padding:0 0 22px 42px;color:var(--ink-2)}

/* enquiry */
.band--ink .label{color:var(--brass-2)}
.band--ink .rule{border-color:var(--brass-2)}
.enquire{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}
.enquire h2{font-size:clamp(28px,3.8vw,44px);margin-top:14px}
.enquire p{color:rgba(250,247,242,.76);margin-top:16px}
.enquire .cta{margin-top:30px}
.card-plate{border:1px solid rgba(227,210,180,.3);padding:34px}
.card-plate div{padding:16px 0;border-top:1px solid rgba(227,210,180,.22)}
.card-plate div:first-child{border-top:0;padding-top:0}
.card-plate dt{font-size:10.5px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--brass-2)}
.card-plate dd{font-size:17px;margin-top:5px}
.card-plate a{text-decoration:none;border-bottom:1px solid rgba(227,210,180,.5)}

/* colophon */
.colophon{background:var(--ivory-2);border-top:1px solid var(--hair);padding:64px 0 26px;font-size:15px;color:var(--ink-2)}
.colophon-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:48px}
.colophon h4{font-family:"Inter",sans-serif;font-size:10.5px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--ink);margin-bottom:14px}
.colophon ul{list-style:none;display:grid;gap:9px}
.colophon a{text-decoration:none}
.colophon a:hover{color:var(--wine)}
.colophon-about{margin-top:16px;max-width:380px}
.colophon-foot{
    margin-top:46px;padding-top:22px;
    border-top:1px solid var(--hair);
    display:flex;flex-wrap:wrap;gap:16px 34px;align-items:center;justify-content:space-between;
    font-size:13px;
}
.colophon-foot .stamp{width:36px;height:36px;font-size:12px}
.disclaim{display:flex;align-items:center;gap:14px;max-width:640px}
.linkish{background:none;border:0;color:inherit;font:inherit;cursor:pointer;text-decoration:underline}

/* legal */
.legal-top{padding:64px 0 30px;text-align:center}
.legal-top h1{font-size:clamp(34px,5vw,54px);margin-top:14px}
.legal-top p{color:var(--ink-2);max-width:620px;margin:14px auto 0}
.legal-wrap{padding:0 0 96px}
.legal-wrap article{background:var(--paper);border:1px solid var(--hair);padding:clamp(26px,5vw,60px)}
.legal-wrap h2{font-size:25px;margin:38px 0 12px}
.legal-wrap h2:first-child{margin-top:0}
.legal-wrap p,.legal-wrap li{color:var(--ink-2)}
.legal-wrap p+p{margin-top:12px}
.legal-wrap ul,.legal-wrap ol{padding-left:22px;display:grid;gap:7px;margin-top:10px}
.legal-wrap a{color:var(--wine)}
.aid{list-style:none;padding:0!important;gap:12px!important}
.aid li{padding:16px 18px;background:var(--ivory-2);border-left:2px solid var(--brass)}
.aid b{color:var(--ink)}

/* --- age gate pages --- */
.gate-page{
    min-height:100vh;
    display:grid;
    place-items:center;
    padding:32px 20px 180px;
    background:
        radial-gradient(900px 520px at 50% -10%,rgba(176,132,69,.18),transparent 70%),
        linear-gradient(180deg,#f6f1e8 0%,#eee4d5 100%);
}
.gate{
    width:min(560px,100%);
    background:var(--paper);
    border:1px solid var(--brass);
    outline:1px solid var(--brass);
    outline-offset:7px;
    padding:clamp(30px,5vw,52px);
    text-align:center;
    box-shadow:0 30px 70px -40px rgba(36,28,30,.6);
}
.gate .crest{justify-content:center;margin-bottom:26px}
.gate .stamp{width:84px;height:84px;font-size:26px;margin:0 auto 22px;border-width:2px}
.gate h1{font-size:clamp(26px,3.6vw,36px)}
.gate-lead{color:var(--ink-2);margin-top:16px;font-size:16.5px}
.gate-acts{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:30px}
.gate-acts .cta{min-width:200px;text-align:center}
.gate-rules{
    list-style:none;
    margin-top:28px;
    padding-top:22px;
    border-top:1px solid var(--hair);
    display:grid;
    gap:9px;
    font-size:14px;
    color:var(--ink-2);
    text-align:left;
}
.gate-rules li{display:flex;gap:11px}
.gate-rules li::before{content:"\2014";color:var(--brass);flex:none}
.gate-fine{margin-top:22px;font-size:12.5px;color:var(--ink-2)}
.gate-fine a{color:var(--wine)}
.gate-deny{display:none;margin-top:26px;padding:20px;background:var(--ivory-2);border-left:2px solid var(--wine);text-align:left;font-size:15px}
.gate-deny.on{display:block}
.gate-deny b{display:block;font-family:"Playfair Display",serif;font-size:19px;font-weight:500;margin-bottom:6px;color:var(--ink)}

/* cookie bar */
.cookiebar{
    position:fixed;
    left:20px;right:20px;bottom:20px;
    z-index:120;
    max-width:540px;
    margin-left:auto;
    background:var(--paper);
    border:1px solid var(--hair);
    border-top:2px solid var(--brass);
    padding:24px;
    box-shadow:0 26px 60px -26px rgba(0,0,0,.4);
    display:none;
}
.cookiebar.on{display:block}
.cookiebar h2{font-size:20px;margin-bottom:6px}
.cookiebar p{font-size:14px;color:var(--ink-2)}
.cookiebar a{color:var(--wine)}
.cookie-acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.cookie-acts .cta{padding:11px 20px;font-size:11px}

/* --- responsive --- */
@media(max-width:1040px){
    .colonnade{grid-template-columns:repeat(3,1fr)}
    .arch:nth-child(4),.arch:nth-child(5){display:none}
    .notices{grid-template-columns:1fr}
    .notice{margin-left:0;margin-top:-1px}
}
@media(max-width:900px){
    .burger{display:block}
    .menu{
        position:absolute;top:100%;left:0;right:0;
        flex-direction:column;align-items:stretch;gap:0;
        background:var(--ivory);
        border-bottom:1px solid var(--hair);
        padding:6px 20px 22px;
        display:none;
    }
    .menu.on{display:flex}
    .menu a{padding:13px 0;border-bottom:1px solid var(--hair)}
    .menu .cta{margin-top:14px;text-align:center}
    .house,.sala,.bath,.enquire{grid-template-columns:1fr;gap:40px}
    .carte{grid-template-columns:1fr;gap:0}
    .suite{grid-template-columns:90px 1fr;gap:24px}
    .suite-facts{grid-column:1/-1}
    .pledge{grid-template-columns:1fr;text-align:left}
    .colophon-grid{grid-template-columns:1fr 1fr}
    .colophon-grid>:first-child{grid-column:1/-1}
}
@media(max-width:620px){
    body{font-size:16px}
    .band{padding:66px 0}
    .banner{padding:48px 0 60px}
    .games,.bath-grid{grid-template-columns:1fr}
    .diary-row{grid-template-columns:1fr;gap:4px}
    .diary-row time{text-align:left}
    .ledger dd{font-size:16px}
    .colophon-grid{grid-template-columns:1fr}
    .gate{outline-offset:4px}
    .cookiebar{left:14px;right:14px;bottom:14px}
}
