

:root{
--color-bg-soft:#F3F4F9;
--color-surface-raised:#FFFFFF;
--color-text-primary:#1E1B4B;
--color-text-secondary:#3E3A68;
--color-cta-accent:#FF7A59;
--color-border-soft:#E4E6F0;
--color-shadow-dim:rgba(30,27,75,0.08);

--font-heading:"Playfair Display", Georgia, serif;
--font-body:"Inter", Arial, sans-serif;

--text-xxl:3.5rem;
--text-xl:2.25rem;
--text-lg:1.5rem;
--text-md:1.125rem;
--text-base:1rem;
--text-sm:0.9375rem;

--space-1:0.5rem;
--space-2:1rem;
--space-3:2rem;
--space-4:3rem;
--space-5:4.5rem;
--space-6:7rem;

--radius-sm:20px;
--radius-md:24px;
--radius-lg:32px;

--shadow-card:0 4px 24px rgba(30,27,75,0.08);
--shadow-button:0 2px 8px rgba(30,27,75,0.05);

--container-max:1200px;
--container-pad:2rem;

--transition-fast:160ms cubic-bezier(.4,0,.2,1);
}

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

html{
-webkit-text-size-adjust:100%;
}

body{
min-height:100vh;
font-family:var(--font-body);
font-size:var(--text-base);
line-height:1.6;
color:var(--color-text-primary);
background:var(--color-bg-soft);
text-rendering:optimizeLegibility;
}

img,
picture,
video,
canvas,
svg{
display:block;
max-width:100%;
height:auto;
}

img{
object-fit:cover;
}

a{
color:inherit;
text-decoration:none;
}

button,
input,
textarea,
select{
font:inherit;
color:inherit;
background:none;
border:none;
outline:none;
}

button{
cursor:pointer;
}

:focus-visible{
outline:2px solid var(--color-cta-accent);
outline-offset:2px;
}

h1,h2,h3,h4,h5,h6{
font-family:var(--font-heading);
line-height:1.35;
margin-block-end:var(--space-2);
}

h1{font-size:var(--text-xxl);}
h2{font-size:var(--text-xl);}
h3{font-size:var(--text-lg);}
h4{font-size:var(--text-md);}
h5{font-size:var(--text-base);}
h6{font-size:var(--text-sm);}

p{
margin-block-end:var(--space-2);
color:var(--color-text-secondary);
}

ul,ol{
padding-left:1.25rem;
margin-block-end:var(--space-2);
}

li{
margin-block-end:var(--space-1);
}

blockquote{
margin-block-end:var(--space-2);
padding-left:1rem;
border-left:3px solid var(--color-border-soft);
color:var(--color-text-secondary);
}

.container{
width:100%;
max-width:var(--container-max);
margin-inline:auto;
padding-inline:var(--container-pad);
}

.section{
padding-block:var(--space-4);
}

.section-lg{
padding-block:var(--space-6);
}

.card{
background:var(--color-surface-raised);
border-radius:var(--radius-md);
box-shadow:var(--shadow-card);
padding:var(--space-3);
display:flex;
flex-direction:column;
gap:var(--space-2);
}

.card > *:last-child{
margin-block-end:0;
}

.surface-soft{
background:linear-gradient(180deg,#ffffff 0%,#f7f7fb 100%);
border-radius:var(--radius-md);
box-shadow:var(--shadow-card);
}

.button{
display:inline-flex;
align-items:center;
justify-content:center;
min-height:48px;
padding-inline:1.5rem;
border-radius:var(--radius-sm);
background:var(--color-cta-accent);
color:#fff;
font-weight:600;
box-shadow:var(--shadow-button);
transition:transform var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast);
}

.button:hover{
transform:translateY(-2px);
box-shadow:0 6px 16px rgba(30,27,75,0.12);
background:#ff6a45;
}

.button:active{
transform:translateY(0);
}

.input,
textarea,
select{
width:100%;
min-height:48px;
padding:0 1rem;
border-radius:var(--radius-sm);
border:1px solid var(--color-border-soft);
background:var(--color-surface-raised);
transition:border var(--transition-fast),box-shadow var(--transition-fast);
}

textarea{
padding-top:0.75rem;
min-height:120px;
resize:vertical;
}

.input:focus,
textarea:focus,
select:focus{
border-color:var(--color-cta-accent);
}

.grid{
display:grid;
gap:var(--space-3);
}

.grid-2{
grid-template-columns:repeat(2,minmax(0,1fr));
}

.grid-3{
grid-template-columns:repeat(3,minmax(0,1fr));
}

.grid-4{
grid-template-columns:repeat(4,minmax(0,1fr));
}

.flex{
display:flex;
gap:var(--space-2);
}

.flex-col{
flex-direction:column;
}

.flex-wrap{
flex-wrap:wrap;
}

.align-center{
align-items:center;
}

.justify-between{
justify-content:space-between;
}

.media-frame{
border-radius:var(--radius-md);
overflow:hidden;
background:var(--color-bg-soft);
}

.stack > * + *{
margin-top:var(--space-2);
}

.stack-lg > * + *{
margin-top:var(--space-3);
}

@media (max-width:1024px){
:root{
--container-pad:1.5rem;
}

.grid-4{
grid-template-columns:repeat(2,minmax(0,1fr));
}
}

@media (max-width:768px){
:root{
--container-pad:1rem;
}

.section{
padding-block:var(--space-3);
}

.section-lg{
padding-block:var(--space-5);
}

.grid-2,
.grid-3,
.grid-4{
grid-template-columns:1fr;
}

.card{
padding:var(--space-2);
}
}


.site-header{
position:sticky;
top:0;
z-index:1000;
background:rgba(243,244,249,0.9);
backdrop-filter:blur(8px);
border-bottom:1px solid var(--color-border-soft);
}

.header-inner{
display:flex;
align-items:center;
justify-content:space-between;
min-height:84px;
gap:var(--space-2);
}

.brand{
display:flex;
align-items:center;
gap:0.75rem;
}

.brand-mark{
height:48px;
width:auto;
}

.brand-text{
font-family:var(--font-heading);
font-size:1.25rem;
}

.nav{
display:flex;
}

.nav-list{
display:flex;
align-items:center;
gap:1.5rem;
list-style:none;
}

.nav-list a{
font-size:var(--text-sm);
color:var(--color-text-secondary);
}

.nav-list a:hover{
color:var(--color-text-primary);
}

.nav-cta{
margin-left:0.5rem;
}

.nav-toggle{
display:none;
flex-direction:column;
justify-content:center;
gap:5px;
width:44px;
height:44px;
border-radius:12px;
background:var(--color-surface-raised);
box-shadow:var(--shadow-button);
}

.nav-toggle span{
display:block;
height:2px;
width:18px;
background:var(--color-text-primary);
margin:0 auto;
}

.mobile-only{display:none;}

@media(max-width:900px){
.nav{
position:absolute;
top:100%;
left:0;
width:100%;
padding:var(--space-2);
}

.nav-list{
flex-direction:column;
align-items:stretch;
background:var(--color-surface-raised);
padding:var(--space-3);
border-radius:var(--radius-md);
box-shadow:var(--shadow-card);
transform:scale(0.98);
opacity:0;
pointer-events:none;
transition:var(--transition-fast);
}

.nav[data-open="true"] .nav-list{
transform:scale(1);
opacity:1;
pointer-events:auto;
}

.nav-toggle{display:flex;}

.mobile-only{display:block;}

.nav-list .nav-cta{
width:100%;
text-align:center;
}
}


.site-footer{
padding:var(--space-5) 0 var(--space-3);
}

.footer-inner{
display:flex;
flex-direction:column;
gap:var(--space-4);
}

.footer-brand{
display:flex;
gap:1rem;
align-items:flex-start;
max-width:520px;
}

.footer-mark{
height:56px;
}

.footer-title{
font-family:var(--font-heading);
font-size:1.25rem;
margin-bottom:0.25rem;
}

.footer-nav h4{
margin-bottom:0.5rem;
}

.footer-nav ul{
list-style:none;
padding:0;
}

.footer-nav li{
margin-bottom:0.4rem;
}

.footer-nav a{
color:var(--color-text-secondary);
font-size:var(--text-sm);
}

.footer-nav a:hover{
color:var(--color-text-primary);
}

.footer-bottom{
text-align:center;
font-size:var(--text-sm);
color:var(--color-text-secondary);
}

.consent{
position:fixed;
bottom:1rem;
left:50%;
transform:translateX(-50%);
width:min(640px,90%);
z-index:1200;
}

.consent-inner{
background:var(--color-surface-raised);
padding:1rem 1.5rem;
border-radius:var(--radius-md);
box-shadow:var(--shadow-card);
display:flex;
flex-direction:column;
gap:0.75rem;
}

.consent-actions{
display:flex;
gap:0.5rem;
}

.consent-reject{
padding:0.75rem 1rem;
border-radius:var(--radius-sm);
border:1px solid var(--color-border-soft);
}

.age-modal{
position:fixed;
inset:0;
z-index:1300;
display:flex;
align-items:center;
justify-content:center;
}

.age-modal[hidden]{
display:none;
}

.age-backdrop{
position:absolute;
inset:0;
background:rgba(0,0,0,0.4);
}

.age-dialog{
position:relative;
background:var(--color-surface-raised);
padding:2rem;
border-radius:var(--radius-lg);
box-shadow:var(--shadow-card);
max-width:420px;
width:90%;
display:flex;
flex-direction:column;
gap:1rem;
text-align:center;
}

.age-actions{
display:flex;
gap:0.5rem;
justify-content:center;
}

.age-decline{
padding:0.75rem 1rem;
border-radius:var(--radius-sm);
border:1px solid var(--color-border-soft);
}


.cookie-policy-page{display:block}

.cp-intro-card{
max-width:720px;
margin-inline:auto;
text-align:center;
background:var(--color-surface-raised);
border-radius:var(--radius-lg);
box-shadow:var(--shadow-card);
padding:var(--space-4);
display:flex;
flex-direction:column;
gap:var(--space-2);
}

.cp-definition .cp-text-block{
max-width:760px;
margin-inline:auto;
display:flex;
flex-direction:column;
gap:var(--space-2);
}

.cp-usage h2,
.cp-types h2{
margin-bottom:var(--space-3);
}

.cp-card-grid{
align-items:stretch;
}

.cp-card{
min-width:0;
}

.cp-types .cp-type-grid{
align-items:stretch;
}

.cp-manage-block{
max-width:720px;
margin-inline:auto;
display:flex;
flex-direction:column;
gap:var(--space-2);
}

.cp-third-card{
max-width:720px;
margin-inline:auto;
display:flex;
flex-direction:column;
gap:var(--space-2);
}

.cp-update-block{
max-width:600px;
margin-inline:auto;
text-align:center;
display:flex;
flex-direction:column;
gap:var(--space-2);
}

.cp-cta-card{
max-width:600px;
margin-inline:auto;
text-align:center;
background:var(--color-surface-raised);
border-radius:var(--radius-lg);
box-shadow:var(--shadow-card);
padding:var(--space-4);
display:flex;
flex-direction:column;
gap:var(--space-3);
}

.cp-cta-buttons{
display:flex;
justify-content:center;
flex-wrap:wrap;
gap:var(--space-2);
}

@media (max-width:768px){
.cp-intro-card{
padding:var(--space-3);
}

.cp-cta-card{
padding:var(--space-3);
}
}


.terms-page .intro-card{max-width:720px;margin-inline:auto;display:flex;flex-direction:column;gap:var(--space-2);} 

.terms-page .terms-bookings h2{max-width:800px;margin-inline:auto;margin-bottom:var(--space-3);} 
.terms-page .booking-cards{max-width:800px;margin-inline:auto;display:flex;flex-direction:column;gap:var(--space-3);} 

.terms-page .events-card{max-width:720px;margin-inline:auto;display:flex;flex-direction:column;gap:var(--space-2);} 

.terms-page .conduct-card{max-width:760px;margin-inline:auto;display:flex;flex-direction:column;gap:var(--space-2);} 

.terms-page .liability-card{max-width:720px;margin-inline:auto;display:flex;flex-direction:column;gap:var(--space-2);} 

.terms-page .privacy-card{max-width:600px;margin-inline:auto;text-align:center;display:flex;flex-direction:column;gap:var(--space-2);} 

.terms-page .updates-card{max-width:640px;margin-inline:auto;text-align:center;display:flex;flex-direction:column;gap:var(--space-2);} 

@media (max-width:768px){
.terms-page .intro-card,
.terms-page .booking-cards,
.terms-page .events-card,
.terms-page .conduct-card,
.terms-page .liability-card,
.terms-page .privacy-card,
.terms-page .updates-card{margin-inline:auto;width:100%;}
}


.home-hero-inner{display:flex;gap:var(--space-5);align-items:flex-start}
.home-hero-text{max-width:640px}
.home-hero-text h1{max-width:520px}
.home-hero-text p{max-width:520px}
.home-hero-cta{max-width:320px;margin-top:var(--space-3)}
.home-hero-image{margin-top:var(--space-4);border-radius:var(--radius-lg);overflow:hidden}

.home-intro-inner{max-width:680px;margin-inline:auto;text-align:center}

.home-poker-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--space-4);align-items:center}
.home-poker-text{max-width:560px}

.home-events .card{min-height:100%}

.home-gallery-frame{position:relative;border-radius:var(--radius-lg);overflow:hidden}
.home-gallery-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:var(--space-3)}
.home-gallery-overlay p{max-width:420px;color:white;font-size:var(--text-md)}

.home-how .card{height:100%}

.home-menu-card{max-width:500px;margin-inline:auto;text-align:center}
.home-booking-card{max-width:480px;margin-inline:auto;text-align:center}

.home-closing-inner{max-width:600px;margin-inline:auto;text-align:center}

@media(max-width:768px){
.home-hero-inner{flex-direction:column}
.home-poker-inner{grid-template-columns:1fr}
}


.menus-page{overflow:hidden}

.menus-hero-inner{display:grid;grid-template-columns:1.1fr 0.9fr;align-items:center;gap:var(--space-5)}
.menus-hero-text{max-width:520px}
.menus-hero-image{border-radius:var(--radius-lg);overflow:hidden}

.menus-philosophy-grid>.menus-philosophy-card{height:100%;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}
.menus-philosophy-card:hover{transform:translateY(-4px);box-shadow:0 8px 28px rgba(30,27,75,0.12)}

.menus-signature-inner{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);align-items:start}
.menus-signature-text{max-width:520px}
.menus-signature-cards{display:flex;flex-direction:column;gap:var(--space-2)}
.menus-signature-image{border-radius:var(--radius-lg);overflow:hidden}

.menus-categories-grid>.card{height:100%;transition:transform var(--transition-fast)}
.menus-categories-grid>.card:hover{transform:translateY(-3px)}

.menus-drinks-inner{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);align-items:center}
.menus-drinks-text{max-width:520px;margin-left:auto}

.menus-sharing-inner{max-width:700px;margin-inline:auto;text-align:center}

.menus-dietary-grid>.card{height:100%}

.menus-cta-inner{display:flex;justify-content:center}
.menus-cta-card{background:var(--color-surface-raised);padding:var(--space-4);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-2);max-width:520px}

.menus-booking-inner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-2);max-width:520px;margin-inline:auto}

@media (max-width:768px){
.menus-hero-inner{grid-template-columns:1fr;gap:var(--space-3)}
.menus-signature-inner{grid-template-columns:1fr}
.menus-drinks-inner{grid-template-columns:1fr}
.menus-drinks-text{margin-left:0}
}


.privacy-policy-page .intro-card{
max-width:720px;
margin-inline:auto;
text-align:center;
}

.intro-inner{
display:flex;
flex-direction:column;
gap:var(--space-2);
}

.intro-secondary{
max-width:60ch;
margin-inline:auto;
}

.section-heading{
text-align:center;
margin-bottom:var(--space-3);
}

.info-grid{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:var(--space-3);
max-width:1100px;
margin-inline:auto;
}

.info-card{
min-width:0;
}

.info-card p{
max-width:70ch;
}

.use-column{
max-width:760px;
margin-inline:auto;
display:flex;
flex-direction:column;
gap:var(--space-3);
}

.use-block{
display:flex;
flex-direction:column;
gap:var(--space-1);
}

.use-block p{
max-width:65ch;
}

.share-grid{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:var(--space-3);
}

.share-card{
min-width:0;
}

.share-card p{
max-width:65ch;
}

.share-card.highlight{
border:1px solid var(--color-border-soft);
background:linear-gradient(180deg,#fff 0%,#fff4f1 100%);
}

.rights-column{
max-width:720px;
margin-inline:auto;
display:flex;
flex-direction:column;
gap:var(--space-3);
}

.rights-item{
display:flex;
flex-direction:column;
gap:var(--space-1);
}

.rights-item p{
max-width:60ch;
}

.security-grid{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:var(--space-4);
max-width:1000px;
margin-inline:auto;
}

.security-block{
display:flex;
flex-direction:column;
gap:var(--space-2);
}

.security-block p{
max-width:65ch;
}

.update-card{
max-width:600px;
margin-inline:auto;
text-align:center;
}

.cta-card{
max-width:600px;
margin-inline:auto;
text-align:center;
display:flex;
flex-direction:column;
gap:var(--space-2);
}

.cta-card .button{
align-self:center;
}

@media (max-width:1024px){
.info-grid,
.share-grid{
grid-template-columns:1fr 1fr;
}
}

@media (max-width:768px){
.info-grid,
.share-grid,
.security-grid{
grid-template-columns:1fr;
}

.intro-card,
.update-card,
.cta-card{
padding:var(--space-2);
}
}


.contact-page{display:block}

.contact-hero-inner{display:grid;grid-template-columns:60% 40%;gap:var(--space-4);align-items:center}
.contact-hero-text{max-width:520px}
.contact-hero-card{align-self:start}
.contact-cta-block{display:flex;flex-direction:column;gap:var(--space-1)}

.contact-pathways{align-items:start}
.pathway-offset{transform:translateY(20px)}

.form-wrap{display:flex;justify-content:center}
.contact-form-card{width:70%;display:flex;flex-direction:column;gap:var(--space-2)}
.form-intro{max-width:520px}
.form-note{font-size:var(--text-sm)}
.form-success{color:var(--color-cta-accent);font-weight:600}

.visit-section .visit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}
.visit-grid > div:nth-child(3){grid-column:1 / -1;max-width:520px}

.center-cta{display:flex;justify-content:center}
.cta-card{width:60%;text-align:center;display:flex;flex-direction:column;gap:var(--space-2)}

.event-wrap{display:flex}
.event-card{width:70%}

.faq-wrap{display:flex;justify-content:center}
.faq{width:60%;display:flex;flex-direction:column;gap:var(--space-2)}
.faq-item{background:var(--color-surface-raised);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--space-2)}
.faq-question{width:100%;text-align:left;font-weight:600}
.faq-answer{max-height:0;overflow:hidden;transition:max-height var(--transition-fast)}
.faq-item.active .faq-answer{max-height:200px;margin-top:var(--space-1)}

.final-cta{text-align:center;display:flex;flex-direction:column;gap:var(--space-2);align-items:center}
.final-cta p{max-width:420px}

@media (max-width:1024px){
.contact-hero-inner{grid-template-columns:1fr}
.contact-form-card{width:100%}
.cta-card{width:100%}
.event-card{width:100%}
.faq{width:100%}
}

@media (max-width:768px){
.visit-section .visit-grid{grid-template-columns:1fr}
.pathway-offset{transform:none}
}


.gallery-page{}

.gallery-hero-top{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4)}
.gallery-hero-text{max-width:520px}
.gallery-hero-visual{width:120px;flex-shrink:0}
.club-mark{width:100%;aspect-ratio:1;background:var(--color-surface-raised);border-radius:var(--radius-md);box-shadow:var(--shadow-card);position:relative}
.club-mark::after{content:"";width:12px;height:12px;background:var(--color-cta-accent);border-radius:50%;position:absolute;top:16px;left:16px}
.gallery-hero-image{border-radius:var(--radius-lg);overflow:hidden}

.gallery-atmosphere-layout{grid-template-columns:0.4fr 0.6fr;align-items:start}
.gallery-atmosphere-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2)}
.gallery-atmosphere-grid .media-frame{aspect-ratio:1}

.gallery-food-text{max-width:600px;margin-inline:auto;text-align:center}
.gallery-food-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2);margin-top:var(--space-3)}
.gallery-food-grid .media-frame{aspect-ratio:4/5}
.gallery-food-grid .offset{transform:translateY(20px)}

.gallery-poker-layout{grid-template-columns:0.6fr 0.4fr;align-items:center}
.gallery-poker-text{max-width:420px;margin-left:auto}

.gallery-celebration-card{display:flex;flex-direction:column;gap:var(--space-3)}

.gallery-corporate-layout{grid-template-columns:0.4fr 0.6fr;align-items:center}
.gallery-corporate-text{max-width:420px}

.gallery-details-text{max-width:500px;margin-inline:auto;text-align:center}
.gallery-details-grid .media-frame{aspect-ratio:1;background:var(--color-border-soft)}

.gallery-cta-card{max-width:600px;margin-inline:auto;text-align:center;display:flex;flex-direction:column;gap:var(--space-2)}
.gallery-cta-actions{display:flex;gap:var(--space-2);justify-content:center;flex-wrap:wrap}
.gallery-cta-actions .alt{background:#fff;color:var(--color-text-primary);border:1px solid var(--color-border-soft)}

@media (max-width:768px){
.gallery-hero-top{flex-direction:column}
.gallery-atmosphere-layout,
.gallery-poker-layout,
.gallery-corporate-layout{grid-template-columns:1fr}
.gallery-food-grid{grid-template-columns:1fr}
.gallery-food-grid .offset{transform:none}
}


.book-page .hero-grid{display:grid;grid-template-columns:1fr auto;gap:var(--space-4);align-items:center}
.book-page .hero-text-block{max-width:520px;display:flex;flex-direction:column;gap:var(--space-2)}
.book-page .cta-card{max-width:320px}
.book-page .cta-card .button.alt{background:#fff;color:var(--color-text-primary);border:1px solid var(--color-border-soft)}
.book-page .hero-image{margin-top:var(--space-4);border-radius:var(--radius-lg);overflow:hidden}
.book-page .clay-visual{width:80px;height:80px;border-radius:50%;background:linear-gradient(145deg,#fff,#f0f1f7);box-shadow:var(--shadow-card);margin-bottom:var(--space-2)}

.book-page .booking .form-container{max-width:700px;margin-inline:auto;display:flex;flex-direction:column;gap:var(--space-2)}
.book-page form{display:flex;flex-direction:column;gap:var(--space-2)}
.book-page label{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-sm)}
.book-page .submit{width:100%}
.book-page .form-intro{max-width:60ch;margin-inline:auto;text-align:center}
.book-page .form-note{text-align:center;font-size:var(--text-sm)}

.book-page .expect .card{height:100%}

.book-page .occasion-grid{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-3)}
.book-page .occasion-grid .card:nth-child(3){grid-column:1/-1}

.book-page .group-card{max-width:800px;margin-inline:auto}

.book-page .menus-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);align-items:center}

.book-page .steps .card{text-align:center}

.book-page .reassurance{background:linear-gradient(180deg,#ffffff 0%,#f7f7fb 100%)}
.book-page .reassurance .container{max-width:900px;text-align:center}

.book-page .cta-final{max-width:600px;margin-inline:auto;text-align:center}

@media(max-width:900px){
.book-page .hero-grid{grid-template-columns:1fr}
.book-page .cta-card{order:2}
.book-page .menus-grid{grid-template-columns:1fr}
.book-page .occasion-grid{grid-template-columns:1fr}
}


.pe-page{overflow:hidden}

.pe-hero-grid{display:grid;grid-template-columns:45% 55%;gap:var(--space-4);align-items:center;position:relative}
.pe-hero-text{max-width:520px}
.pe-hero-visual img{border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}
.pe-hero-cta{position:absolute;bottom:-40px;left:5%;max-width:360px}
.pe-hero-buttons{display:flex;gap:var(--space-2);flex-wrap:wrap}
.pe-secondary-btn{background:#fff;color:var(--color-text-primary);border:1px solid var(--color-border-soft)}

.pe-expect-grid .card{transition:transform var(--transition-fast),box-shadow var(--transition-fast)}
.pe-expect-grid .card:hover{transform:translateY(-4px)}

.pe-atmosphere-grid{display:grid;grid-template-columns:60% 40%;gap:var(--space-4);align-items:center}
.pe-atmosphere-text{max-width:460px}

.pe-food-grid .card:hover{transform:translateY(-4px)}

.pe-steps-grid{align-items:stretch}
.pe-step{transition:transform var(--transition-fast)}
.pe-step:hover{transform:translateY(-3px)}

.pe-audience-grid .card:hover{transform:translateY(-4px)}

.pe-timeline-wrap{max-width:900px;margin-inline:auto;text-align:center}

.pe-booking-grid{display:grid;grid-template-columns:1fr 380px;gap:var(--space-4);align-items:center}
.pe-booking-text{max-width:520px}
.pe-booking-card{display:flex;flex-direction:column;gap:var(--space-2);align-items:center;text-align:center}
.pe-booking-card img{border-radius:var(--radius-md)}

.pe-reassure-grid>div{max-width:520px}

.pe-final-inner{max-width:600px;margin-inline:auto;text-align:center;display:flex;flex-direction:column;gap:var(--space-2)}

@media(max-width:1024px){
.pe-hero-grid{grid-template-columns:1fr}
.pe-hero-cta{position:static;margin-top:var(--space-3)}
.pe-atmosphere-grid{grid-template-columns:1fr}
.pe-booking-grid{grid-template-columns:1fr}
}

@media(max-width:768px){
.pe-hero-text{max-width:100%}
.pe-atmosphere-text{max-width:100%}
.pe-booking-text{max-width:100%}
.pe-reassure-grid{grid-template-columns:1fr}
}


.pc-page{display:block}

.pc-hero-inner{display:grid;grid-template-columns:60% 30%;gap:var(--space-4);align-items:center}
.pc-hero-text{max-width:520px}
.pc-hero-cta{justify-self:end;max-width:320px}
.pc-hero-image{margin-top:var(--space-4);border-radius:var(--radius-lg);overflow:hidden}

.pc-cards .card{min-height:220px}

.pc-split{display:grid;grid-template-columns:45% 55%;gap:var(--space-4);align-items:center}
.pc-split.alt{grid-template-columns:55% 45%}
.pc-text{max-width:520px}
.pc-image{border-radius:var(--radius-md);overflow:hidden}

.pc-hosted .grid{margin-bottom:var(--space-4)}
.pc-hosted-image{border-radius:var(--radius-md);overflow:hidden}

.pc-steps .card{text-align:center}

.pc-story .pc-text{max-width:480px}

.pc-groups .grid>div{background:var(--color-surface-raised);padding:var(--space-3);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}

.pc-final-card{max-width:600px;margin-inline:auto;text-align:center}

@media (max-width:1024px){
.pc-hero-inner{grid-template-columns:1fr}
.pc-hero-cta{justify-self:start}
.pc-split,.pc-split.alt{grid-template-columns:1fr}
}

@media (max-width:768px){
.pc-text,.pc-hero-text{max-width:100%}
}


.events-page{display:block}

.events-hero-inner{display:grid;grid-template-columns:45% 55%;align-items:center;gap:var(--space-4)}
.events-hero-text{max-width:520px;display:flex;flex-direction:column;gap:var(--space-2)}
.events-hero-visual{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card)}

.events-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}
.events-card{text-align:center;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}
.events-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(30,27,75,0.12)}

.events-feature-inner{display:grid;grid-template-columns:60% 40%;gap:var(--space-4);align-items:center}
.events-feature-text{max-width:720px}
.events-feature-image{border-radius:var(--radius-md);overflow:hidden}

.events-feature-alt-inner{display:grid;grid-template-columns:50% 50%;gap:var(--space-4);align-items:center}
.events-feature-alt-text{max-width:620px}

.events-centered-card{max-width:720px;margin-inline:auto}

.events-split-inner{display:grid;grid-template-columns:60% 40%;gap:var(--space-4)}
.events-split-text{max-width:640px}

.events-highlights-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);text-align:center}
.events-highlights-grid>div{max-width:360px;margin-inline:auto}

.events-info-card{max-width:700px;margin-inline:auto}

.events-cta-card{background:var(--color-surface-raised);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-4);display:flex;flex-direction:column;align-items:center;gap:var(--space-2);text-align:center;max-width:720px;margin-inline:auto}

@media (max-width:1024px){
.events-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:768px){
.events-hero-inner{grid-template-columns:1fr}
.events-hero-text{max-width:100%;text-align:center}
.events-feature-inner,
.events-feature-alt-inner,
.events-split-inner{grid-template-columns:1fr}
.events-highlights-grid{grid-template-columns:1fr}
}


.cg-page{display:block}

.cg-hero-top{display:grid;grid-template-columns:1fr 220px;align-items:center;gap:var(--space-4)}
.cg-hero-text{max-width:65ch}
.cg-hero-clay{width:180px;height:180px;border-radius:32px;background:linear-gradient(145deg,#fff,#f0f1f8);box-shadow:var(--shadow-card);margin-left:auto}

.cg-hero-bottom{position:relative;margin-top:var(--space-4)}
.cg-hero-image{border-radius:var(--radius-lg);overflow:hidden}
.cg-hero-image img{transition:transform 600ms ease}
.cg-hero-image img.loaded{transform:scale(1)}

.cg-hero-cta{position:absolute;right:2rem;bottom:-2rem;max-width:320px}

.cg-why-grid .card{min-height:100%}

.cg-events-grid .card:nth-child(2){transform:translateY(20px)}
.cg-events-grid .card:nth-child(3){transform:translateY(-10px)}

.cg-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3)}
.cg-step{max-width:60ch}

.cg-food{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);align-items:center}
.cg-food-text{max-width:60ch}

.cg-atmosphere{display:grid;grid-template-columns:1fr 1.5fr;gap:var(--space-4);align-items:center}
.cg-atmosphere-text{max-width:60ch}

.cg-steps{text-align:center}

.cg-cta-wrap{display:flex;justify-content:center}
.cg-cta{max-width:520px;text-align:center;gap:var(--space-3)}
.cg-cta-actions{display:flex;gap:var(--space-2);justify-content:center;flex-wrap:wrap}
.cg-secondary{background:#fff;color:var(--color-text-primary);border:1px solid var(--color-border-soft)}

@media(max-width:1024px){
.cg-hero-top{grid-template-columns:1fr}
.cg-hero-clay{margin:0 auto}
.cg-hero-cta{position:static;margin-top:var(--space-3)}
.cg-flow{grid-template-columns:1fr 1fr}
.cg-food{grid-template-columns:1fr}
.cg-atmosphere{grid-template-columns:1fr}
}

@media(max-width:768px){
.cg-flow{grid-template-columns:1fr}
}


.thankyou-wrap{
padding:var(--space-5);
border-radius:var(--radius-lg);
}

.thankyou-inner{
max-width:640px;
margin-inline:auto;
text-align:center;
display:flex;
flex-direction:column;
gap:var(--space-2);
}

.thankyou-lead{
font-size:var(--text-md);
color:var(--color-text-primary);
}

.thankyou-actions{
display:flex;
justify-content:center;
align-items:center;
gap:var(--space-2);
margin-top:var(--space-2);
flex-wrap:wrap;
}

.thankyou-link{
font-weight:600;
color:var(--color-text-primary);
padding:0.75rem 1rem;
border-radius:var(--radius-sm);
transition:background var(--transition-fast), transform var(--transition-fast);
}

.thankyou-link:hover{
background:var(--color-bg-soft);
transform:translateY(-2px);
}

@media (max-width:768px){
.thankyou-wrap{
padding:var(--space-3);
}
}
