:root{--orange:#ff9d79;--green:#dbe8bd;--pink:#d3a3a4;--ink:#242021;--paper:#f7f5f1;--white:#fff;--line:rgba(36,32,33,.16);--radius:34px;--shell:min(1180px,calc(100% - 40px));}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Avenir Next",Avenir,"Century Gothic",Futura,Arial,sans-serif;line-height:1.48}a{color:inherit}img{max-width:100%;display:block}.shell{width:var(--shell);margin:0 auto}.section-pad{padding:100px 0}.site-header{position:sticky;top:0;z-index:100;background:rgba(247,245,241,.91);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.header-inner{height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{text-decoration:none}.brand img,.custom-logo{height:48px;width:auto}.main-nav{display:flex;gap:28px;font-size:14px}.main-nav a{text-decoration:none;position:relative}.main-nav a:after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:.2s}.main-nav a:hover:after{transform:scaleX(1)}.header-actions{display:flex;align-items:center;gap:14px}.menu-toggle{display:none;background:none;border:0;padding:6px}.menu-toggle span{display:block;width:25px;height:2px;background:var(--ink);margin:5px}.translatepress-switcher:empty{display:none}.translatepress-switcher .trp-language-switcher{width:auto!important}.translatepress-switcher .trp-language-switcher>div{border:0;background:transparent;padding:0}.translatepress-switcher .trp-language-switcher>div>a{font-size:12px;padding:5px 8px;text-decoration:none}
.hero{min-height:720px;display:flex;align-items:center;background:linear-gradient(135deg,var(--green) 0 58%,var(--paper) 58%);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:64px;align-items:center}.hero-copy h1{font-size:clamp(58px,7.5vw,108px);line-height:.87;letter-spacing:-.06em;margin:.12em 0 .28em;font-weight:850}.hero-copy>p:not(.pompom-eyebrow){font-size:21px;max-width:650px}.pompom-eyebrow{font-size:13px!important;letter-spacing:.18em;text-transform:uppercase}.hero-visual img,.hero-placeholder{height:580px;width:100%;object-fit:cover;border-radius:48% 48% 18% 18% / 38% 38% 16% 16%}.hero-placeholder{background:var(--orange);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:25px}.hero-placeholder img{height:auto;width:47%;border-radius:0}.hero-placeholder span{letter-spacing:.16em;font-size:12px}.wp-block-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.wp-block-button__link{display:inline-flex!important;align-items:center;justify-content:center;min-height:52px!important;border-radius:999px!important;padding:0 25px!important;background:var(--ink)!important;color:white!important;border:2px solid var(--ink)!important;text-decoration:none!important;font-weight:750}.wp-block-button.is-style-outline .wp-block-button__link{background:transparent!important;color:var(--ink)!important}
.about{background:var(--paper)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:82px;align-items:center}.about-image img,.material-collage{height:620px;width:100%;object-fit:cover;border-radius:var(--radius)}.material-collage{background:var(--pink);position:relative;overflow:hidden;display:grid;place-items:center}.material-collage:before{content:"";position:absolute;width:65%;height:65%;border-radius:50%;background:var(--green);left:-14%;bottom:-18%}.material-collage i{position:absolute;border:2px solid var(--ink);border-radius:50%}.material-collage i:nth-child(1){width:150px;height:150px;right:40px;top:55px}.material-collage i:nth-child(2){width:90px;height:90px;right:140px;top:145px;background:var(--orange)}.material-collage i:nth-child(3){width:50px;height:50px;left:70px;top:80px;background:var(--ink)}.material-collage span{font-size:92px;line-height:.74;font-weight:900;letter-spacing:-.08em;position:relative}.section-num{display:inline-flex;width:50px;height:50px;border-radius:50%;background:var(--orange);align-items:center;justify-content:center;font-weight:800;margin-bottom:22px}.section-copy h2,.section-heading h2,.reserve h2,.contact h2{font-size:clamp(48px,6vw,84px);line-height:.91;letter-spacing:-.05em;margin:0 0 28px}.section-copy{font-size:20px}.section-copy blockquote{margin:38px 0 0;padding:24px 0 0;border-top:2px solid var(--ink);font-weight:750;font-size:25px;line-height:1.18}
.menu-section{background:var(--green);color:var(--ink)}.section-heading{margin-bottom:30px}.menu-content>p:first-child{font-size:20px;max-width:760px}.menu-content .agora-menu,.menu-content .agora-smartmenu,.menu-content [class*="agora"]{max-width:none}.menu-content{background:rgba(255,255,255,.68);border-radius:var(--radius);padding:30px;overflow:hidden}.menu-content .agora-menu *, .menu-content .agora-smartmenu *{box-sizing:border-box}
.reserve{background:var(--orange)}.reserve-grid{display:grid;grid-template-columns:1fr .8fr;gap:80px;align-items:end}.reserve-content{font-size:20px}.reserve-content .wp-block-button__link{background:var(--paper)!important;color:var(--ink)!important}
.contact{background:var(--pink)}.contact-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}.contact-copy{font-size:19px}.contact-copy h2{margin-bottom:28px}.pompom-map{margin-top:30px;border-radius:var(--radius);overflow:hidden;min-height:430px;background:white}.pompom-map iframe{width:100%;height:430px;border:0;display:block;filter:grayscale(.75)}.contact-art{min-height:540px;background:var(--green);border-radius:var(--radius);display:grid;place-items:center;position:relative;overflow:hidden}.contact-art strong{font-size:clamp(84px,11vw,150px);line-height:.7;letter-spacing:-.08em;z-index:2}.contact-orb{position:absolute;width:330px;height:330px;border-radius:50%;background:var(--orange);right:-80px;top:-70px}
.site-footer{padding:46px 0;background:var(--paper)}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;gap:30px}.footer-logo{width:140px}.footer-grid p{font-size:12px;letter-spacing:.12em}.footer-phrase{text-align:center;font-size:20px;font-weight:800}.footer-meta{display:flex;flex-direction:column;align-items:flex-end;gap:5px;font-size:13px}.standard-page{min-height:60vh}.prose{max-width:850px}.prose h1{font-size:64px;line-height:.95}.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.main-nav{display:none;position:absolute;top:82px;left:0;right:0;background:var(--paper);padding:28px 20px;flex-direction:column;border-bottom:1px solid var(--line)}body.nav-open .main-nav{display:flex}.menu-toggle{display:block}.hero{background:var(--green);min-height:auto}.hero-grid,.about-grid,.reserve-grid,.contact-grid{grid-template-columns:1fr}.hero-grid,.about-grid,.reserve-grid,.contact-grid{gap:42px}.about-image{order:2}.section-pad{padding:76px 0}.contact-art{display:none}.footer-grid{grid-template-columns:1fr}.footer-phrase{text-align:left}.footer-meta{align-items:flex-start}}
@media(max-width:560px){:root{--shell:min(100% - 28px,1180px)}.header-inner{height:70px}.brand img,.custom-logo{height:38px}.main-nav{top:70px}.hero-copy h1{font-size:57px}.hero-visual img,.hero-placeholder{height:440px}.section-pad{padding:60px 0}.section-copy h2,.section-heading h2,.reserve h2,.contact h2{font-size:47px}.menu-content{padding:12px;border-radius:22px}.about-image img,.material-collage{height:440px}.pompom-map,.pompom-map iframe{height:360px;min-height:360px}}


/* POMPOM Pages v3 — mobile hardening */
html, body { max-width: 100%; overflow-x: clip; }
main, section, .shell, .hero-grid, .about-grid, .reserve-grid, .contact-grid, .menu-content { min-width: 0; }
.wp-site-blocks, .wp-block-group, .wp-block-columns, .wp-block-column { min-width: 0; max-width: 100%; }
iframe, video, embed, object, svg, canvas { max-width: 100%; }
.prose, .hero-copy, .section-copy, .reserve-content, .contact-copy { overflow-wrap: anywhere; }

/* Keep Agora isolated inside the page section */
.menu-content [class*="agora"],
.menu-content [class*="smartmenu"] { max-width: 100% !important; min-width: 0 !important; }
.menu-content .agora-tabs,
.menu-content .agora-menu-tabs,
.menu-content [class*="tabs"] {
  max-width: 100% !important;
}

@media (max-width: 900px) {
  html { scroll-padding-top: 74px; }
  .site-header { backdrop-filter: blur(12px); }
  .header-inner { gap: 12px; }
  .header-actions { gap: 8px; min-width: 0; }
  .translatepress-switcher { max-width: 128px; min-width: 0; }
  .translatepress-switcher .trp-language-switcher { max-width: 128px !important; min-width: 0 !important; }
  .translatepress-switcher .trp-language-switcher > div { max-width: 128px !important; }

  .hero { padding-top: 54px; }
  .hero-grid { gap: 30px; }
  .hero-copy > p:not(.pompom-eyebrow),
  .section-copy,
  .reserve-content,
  .contact-copy { font-size: 18px; }
  .hero-copy h1 { max-width: 10ch; }
  .hero-visual { width: 100%; }
  .hero-visual img, .hero-placeholder { width: 100%; height: min(70vh, 560px); }

  .about-grid { gap: 30px; }
  .about-image img, .material-collage { height: min(68vh, 540px); }
  .section-copy blockquote { font-size: 22px; }

  .menu-content { width: 100%; padding: 18px; border-radius: 26px; }
  .menu-content > * { max-width: 100%; }
  .menu-content .agora-tabs,
  .menu-content .agora-menu-tabs,
  .menu-content [class*="tabs"] {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    gap: 8px !important;
    padding-bottom: 8px !important;
    scrollbar-width: thin;
  }
  .menu-content .agora-tabs > *,
  .menu-content .agora-menu-tabs > *,
  .menu-content [class*="tabs"] > * {
    flex: 0 0 auto !important;
  }

  .reserve-grid { align-items: start; }
  .reserve-content .wp-block-buttons,
  .reserve-content .wp-block-button { width: 100%; }
  .reserve-content .wp-block-button__link { width: 100%; }

  .pompom-map, .pompom-map iframe { width: 100%; }
}

@media (max-width: 560px) {
  :root { --shell: calc(100% - 28px); --radius: 24px; }
  body { font-size: 16px; }
  .site-header { position: sticky; }
  .header-inner { height: 66px; }
  .brand { min-width: 0; }
  .brand img, .custom-logo { height: 34px; max-width: 150px; object-fit: contain; }
  .main-nav { top: 66px; padding: 22px 16px 26px; gap: 20px; font-size: 17px; }
  .main-nav a { padding: 4px 0; }
  .translatepress-switcher { max-width: 105px; }
  .translatepress-switcher .trp-language-switcher { max-width: 105px !important; }
  .translatepress-switcher .trp-language-switcher > div { max-width: 105px !important; }
  .translatepress-switcher .trp-language-switcher > div > a { font-size: 11px; padding: 4px 5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .menu-toggle { flex: 0 0 auto; }

  .section-pad { padding: 52px 0; }
  .hero { padding-top: 40px; }
  .hero-grid { gap: 26px; }
  .hero-copy h1 { font-size: clamp(48px, 16vw, 64px); line-height: .88; letter-spacing: -.055em; margin-bottom: .34em; max-width: 100%; }
  .hero-copy > p:not(.pompom-eyebrow) { font-size: 17px; line-height: 1.45; }
  .pompom-eyebrow { font-size: 11px !important; letter-spacing: .14em; }
  .hero-visual img, .hero-placeholder { height: min(60vh, 430px); border-radius: 34% 34% 16% 16% / 28% 28% 14% 14%; }
  .hero-placeholder img { width: 58%; height: auto; }

  .wp-block-buttons { margin-top: 22px; gap: 10px; width: 100%; }
  .wp-block-button { width: 100%; }
  .wp-block-button__link { width: 100%; min-height: 50px !important; padding: 0 18px !important; }

  .about-grid, .reserve-grid, .contact-grid { gap: 24px; }
  .section-num { width: 42px; height: 42px; margin-bottom: 16px; }
  .section-copy h2, .section-heading h2, .reserve h2, .contact h2 { font-size: clamp(40px, 13vw, 52px); line-height: .92; margin-bottom: 20px; }
  .section-copy, .reserve-content, .contact-copy { font-size: 16.5px; line-height: 1.5; }
  .section-copy blockquote { margin-top: 28px; padding-top: 18px; font-size: 19px; }
  .about-image img, .material-collage { height: min(58vh, 420px); border-radius: 24px; }
  .material-collage span { font-size: 68px; }

  .section-heading { margin-bottom: 20px; }
  .menu-content { padding: 10px; border-radius: 20px; overflow: visible; }
  .menu-content > p:first-child { font-size: 16px; }
  .menu-content .agora-tabs,
  .menu-content .agora-menu-tabs,
  .menu-content [class*="tabs"] { margin-left: -2px !important; margin-right: -2px !important; }

  /* Generic safeguards for cards/items generated by the Agora plugin */
  .menu-content [class*="grid"],
  .menu-content [class*="products"],
  .menu-content [class*="items"] {
    grid-template-columns: 1fr !important;
  }
  .menu-content [class*="item"],
  .menu-content [class*="product"],
  .menu-content [class*="card"] {
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .menu-content h1, .menu-content h2, .menu-content h3, .menu-content h4,
  .menu-content p, .menu-content span, .menu-content strong {
    overflow-wrap: anywhere;
  }

  .reserve { overflow: hidden; }
  .reserve-grid > div { min-width: 0; }
  .contact-copy .wp-block-buttons { width: 100%; }
  .pompom-map { margin-top: 22px; height: 320px; min-height: 320px; border-radius: 22px; }
  .pompom-map iframe { height: 320px; }

  .site-footer { padding: 34px 0; }
  .footer-grid { gap: 20px; }
  .footer-logo { width: 118px; }
  .footer-phrase { font-size: 17px; }

  .standard-page { min-height: 50vh; }
  .prose h1 { font-size: clamp(42px, 14vw, 60px); }
}

@media (max-width: 380px) {
  :root { --shell: calc(100% - 22px); }
  .brand img, .custom-logo { max-width: 128px; height: 31px; }
  .translatepress-switcher { max-width: 88px; }
  .translatepress-switcher .trp-language-switcher { max-width: 88px !important; }
  .translatepress-switcher .trp-language-switcher > div { max-width: 88px !important; }
  .hero-copy h1 { font-size: clamp(44px, 16vw, 56px); }
  .section-copy h2, .section-heading h2, .reserve h2, .contact h2 { font-size: clamp(36px, 13vw, 46px); }
}

/* v4: vector brand mark from supplied Illustrator PDF */
.brand .pompom-vector-logo{display:block;height:54px;width:auto;max-width:180px;object-fit:contain}
.footer-logo{height:auto}
@media(max-width:768px){.brand .pompom-vector-logo{height:38px;max-width:132px}}
@media(max-width:380px){.brand .pompom-vector-logo{height:34px;max-width:118px}}

/* v5: Polylang language switcher */
.pompom-language-wrap{display:flex;align-items:center;min-width:0}
.pompom-language-switcher{display:flex;align-items:center;gap:4px;white-space:nowrap}
.pompom-language-switcher a{display:inline-flex;align-items:center;justify-content:center;min-width:31px;height:31px;padding:0 7px;border-radius:999px;text-decoration:none;font-size:11px;font-weight:800;letter-spacing:.06em;border:1px solid transparent;transition:background .18s ease,border-color .18s ease}
.pompom-language-switcher a:hover{border-color:var(--ink)}
.pompom-language-switcher a.is-current{background:var(--ink);color:var(--paper)}
@media(max-width:560px){.pompom-language-switcher{gap:2px}.pompom-language-switcher a{min-width:27px;height:27px;padding:0 5px;font-size:10px}.header-actions{gap:5px}}
@media(max-width:380px){.pompom-language-switcher a{min-width:25px;height:25px;padding:0 4px}.brand .pompom-vector-logo{max-width:104px}}
