@font-face {
  font-family:"AEO Noto Sans JP";
  src:url('assets/images/service-page-1.png') format("opentype");
  font-weight:100 900;
  font-display:swap;
}
@font-face {
  font-family:"AEO Noto Serif JP";
  src:url('assets/images/service-page-2.png') format("opentype");
  font-weight:200 900;
  font-display:swap;
}
@font-face {
  font-family:"AEO BIZ UDGothic";
  src:url('assets/images/gallery-3.png') format("truetype");
  font-weight:400;
  font-display:swap;
}
@font-face {
  font-family:"AEO BIZ UDGothic";
  src:url('assets/images/gallery-1.png') format("truetype");
  font-weight:700;
  font-display:swap;
}
.gemini-comp-site {
  --aeo-font-body:"AEO Noto Serif JP", "Noto Serif CJK JP", "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  --aeo-font-heading:"AEO Noto Serif JP", "Noto Serif CJK JP", "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  --aeo-heading-weight:580;
  font-family:var(--aeo-font-body) !important;
}
.gemini-comp-site :where(h1,h2,h3,h4,.hero-title,.gemini-hero-title,.section-title,[class*="title"]) {
  font-family:var(--aeo-font-heading) !important;
  font-weight:var(--aeo-heading-weight) !important;
  letter-spacing:0 !important;
  font-feature-settings:"palt" 1;
}
.gemini-comp-site :where(p,li,dd,dt,span,a,button,input,textarea,label) {
  font-family:var(--aeo-font-body) !important;
}

.gemini-comp-site {
  --aeo-premium-accent:#c8a45d;
  --aeo-premium-ink:#f7efe1;
  --aeo-premium-bg:#1d1710;
}
.gemini-comp-site :where(.btn,.button,[class*="btn"],[class*="button"],[class*="cta"],button,a) {
  font-family:var(--aeo-font-heading) !important;
  font-weight:560 !important;
}
.gemini-comp-site :where(h1,h2,h3,h4,.hero-title,.gemini-hero-title,.section-title,[class*="title"],.btn,.button,[class*="btn"],[class*="button"],[class*="cta"],.faq,.faq-section,[class*="faq"],.contact,.access,[class*="contact"],[class*="access"]) {
  font-family:var(--aeo-font-heading) !important;
}
.gemini-comp-site :where(.btn,.button,[class*="btn"],[class*="button"],[class*="cta"]):not([class*="map"]) {
  background:transparent !important;
  border:1px solid rgba(226,196,136,.70) !important;
  color:#f7efe1 !important;
  -webkit-text-fill-color:#f7efe1 !important;
  box-shadow:none !important;
  border-radius:2px !important;
  padding:.72rem 1.45rem !important;
  text-shadow:none !important;
}
.gemini-comp-site :where(.hero,.hero-section,.fv,.first-view,section[class*="hero"]) :where(.hero-content,.hero-copy,.hero-panel,.hero-copy-glass,.gemini-hero-content,.gemini-hero__glass,.gc-hero-content):not(:has(img)):not(:has(picture)) {
  background:linear-gradient(105deg,rgba(28,20,12,.30),rgba(28,20,12,.08)) !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
}
.gemini-comp-site :where(.faq,.faq-section,.faq-list,[class*="faq"],[class*="question"],[class*="answer"]) :where(h1,h2,h3,h4,strong,dt,summary) {
  background:transparent !important;
  border:0 !important;
  color:#2d2316 !important;
  -webkit-text-fill-color:#2d2316 !important;
}
.gemini-comp-site :where(header,.site-header,.global-header,[class*="header"]) :where(.logo,.brand,.site-logo,[class*="logo"],[class*="brand"]),
.gemini-comp-site :where(.logo,.brand,.site-logo,[class*="logo"],[class*="brand"]):not(:has(img)):not(:has(svg)) {
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  color:#f7efe1 !important;
  -webkit-text-fill-color:#f7efe1 !important;
  font-family:var(--aeo-font-heading) !important;
  letter-spacing:.08em !important;
}
.gemini-comp-site :where(section,[class*="section"]):not(:where(.hero,.hero-section,.fv,.first-view,[class*="hero"])) {
  min-height:auto !important;
  padding-block:clamp(28px,4vw,58px) !important;
}
.gemini-comp-site :where([style*="writing-mode"],[class*="vertical"],[class*="tategaki"]) {
  writing-mode:horizontal-tb !important;
  text-orientation:mixed !important;
}
.gemini-comp-site :where(.hero,.hero-section,.fv,.first-view,section[class*="hero"]) :where(h1,.hero-title,.gemini-hero-title,[class*="title"]) {
  display:inline-block !important;
  max-width:min(620px,86vw) !important;
  line-height:1.42 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  color:#fffaf0 !important;
  -webkit-text-fill-color:#fffaf0 !important;
}
.gemini-comp-site :where(.faq,.faq-section,.faq-list,[class*="faq"],[class*="question"],[class*="answer"],.accordion,[class*="accordion"]) {
  background:#f8f1e3 !important;
  color:#2d2316 !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  padding-top:clamp(18px,3vw,42px) !important;
  padding-bottom:clamp(18px,3vw,42px) !important;
}
.gemini-comp-site :where(.faq,.faq-section,.faq-list,[class*="faq"],[class*="question"],[class*="answer"],.accordion,[class*="accordion"]) :where(h1,h2,h3,h4,strong,dt,summary,p,li,dd,span,small) {
  background:transparent !important;
  color:#2d2316 !important;
  -webkit-text-fill-color:#2d2316 !important;
  text-shadow:none !important;
}
.gemini-comp-site :where(.contact,.access,[class*="contact"],[class*="access"],footer,[class*="footer"]) {
  background:#18130d !important;
  color:#f7efe1 !important;
}
.gemini-comp-site :where(.contact,.access,[class*="contact"],[class*="access"],footer,[class*="footer"]) :where(h1,h2,h3,h4,strong,dt,summary,p,li,dd,span,small,a:not([class*="btn"])) {
  color:#f7efe1 !important;
  -webkit-text-fill-color:#f7efe1 !important;
  text-shadow:none !important;
}
body.layout-c-premium-ai :where(.gemini-comp-site, main) :where(.faq,.faq-section,.faqs-section,.faq-list,.gemini-faq,.gemini-faq-section,.gemini-faq-list,.gc-faq-list,[class*="faq"]) {
  max-width:min(1120px, 92vw) !important;
  margin:clamp(56px, 8vw, 112px) auto !important;
  padding:clamp(30px, 5vw, 72px) !important;
  background:linear-gradient(135deg, rgba(19,13,8,.96), rgba(42,31,18,.92)) !important;
  border:1px solid rgba(214,178,102,.42) !important;
  border-radius:4px !important;
  box-shadow:0 28px 90px rgba(0,0,0,.36) !important;
  color:#fff3d6 !important;
  -webkit-text-fill-color:#fff3d6 !important;
}
body.layout-c-premium-ai :where(.gemini-comp-site, main) :where(.faq,.faq-section,.faqs-section,.faq-list,.gemini-faq,.gemini-faq-section,.gemini-faq-list,.gc-faq-list,[class*="faq"]) :where(.faq-item,.gemini-faq-item,.gc-faq-row,details,li,div):not(:has(img)):not(:has(picture)):not(:has(video)):not(:has(iframe)) {
  margin:0 0 14px !important;
  padding:18px 0 !important;
  background:transparent !important;
  border:0 !important;
  border-bottom:1px solid rgba(214,178,102,.28) !important;
  border-radius:0 !important;
  color:#fff3d6 !important;
  -webkit-text-fill-color:#fff3d6 !important;
}
body.layout-c-premium-ai :where(.gemini-comp-site, main) :where(.faq,.faq-section,.faqs-section,.faq-list,.gemini-faq,.gemini-faq-section,.gemini-faq-list,.gc-faq-list,[class*="faq"]) :where(h1,h2,h3,h4,p,li,dd,dt,span,small,strong,summary,button,a:not([class*="btn"]):not([class*="cta"])) {
  color:#fff3d6 !important;
  -webkit-text-fill-color:#fff3d6 !important;
  text-shadow:none !important;
  writing-mode:horizontal-tb !important;
  text-orientation:mixed !important;
  word-break:keep-all !important;
  overflow-wrap:break-word !important;
  line-height:1.85 !important;
}
body.layout-c-premium-ai :where(.gemini-comp-site, main) :where(.faq,.faq-section,.faqs-section,.faq-list,.gemini-faq,.gemini-faq-section,.gemini-faq-list,.gc-faq-list,[class*="faq"]) :where(summary,button,dt,h3,h4,strong,[class*="question"],[class*="label"],[class*="accordion"]) {
  padding:0 0 8px !important;
  color:#f7d58d !important;
  -webkit-text-fill-color:#f7d58d !important;
  font-family:var(--aeo-font-heading, "AEO Noto Serif JP", "Yu Mincho", serif) !important;
  font-size:clamp(17px, 1.6vw, 22px) !important;
}
body.layout-c-premium-ai :where(.gemini-comp-site, main) :where([class*="access"],[class*="contact"],[class*="info"],[class*="location"],[id*="access"],[id*="contact"],footer) {
  writing-mode:horizontal-tb !important;
  text-orientation:mixed !important;
}
body.layout-c-premium-ai :where(.gemini-comp-site, main) :where(a[href^="tel:"],[class*="phone"],[class*="tel"],[class*="telephone"],[class*="hours"],[class*="time"]) {
  display:inline-flex !important;
  align-items:center !important;
  width:auto !important;
  min-width:max-content !important;
  max-width:100% !important;
  writing-mode:horizontal-tb !important;
  text-orientation:mixed !important;
  white-space:nowrap !important;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
  letter-spacing:.02em !important;
}
body.layout-c-premium-ai :where(.gemini-comp-site, main) :where(.map,.map-card,.map-container,.access-map,.google-map,.map-frame,.map-box,[class*="map"]) {
  display:block !important;
  width:min(100%, 520px) !important;
  min-width:min(100%, 280px) !important;
  max-width:100% !important;
  min-height:260px !important;
  writing-mode:horizontal-tb !important;
  text-orientation:mixed !important;
}
body.layout-c-premium-ai :where(.gemini-comp-site, main) :where(.map,.map-card,.map-container,.access-map,.google-map,.map-frame,.map-box,[class*="map"]) iframe {
  display:block !important;
  width:100% !important;
  min-height:260px !important;
  border:0 !important;
}
/* codex-premium-visual-final-guard-v2 */
body.layout-c-premium-ai .gemini-comp-site {
  background:#070604 !important;
  color:#fff3d6 !important;
  -webkit-text-fill-color:currentColor !important;
}
body.layout-c-premium-ai .gemini-comp-site :where(.hero,.hero-section,.fv,.first-view,section[class*="hero"],.gemini-hero,.gc-hero) {
  background-color:#070604 !important;
  isolation:isolate !important;
}
body.layout-c-premium-ai .gemini-comp-site :where(.hero,.hero-section,.fv,.first-view,section[class*="hero"],.gemini-hero,.gc-hero)::after {
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  z-index:0 !important;
  background:linear-gradient(90deg, rgba(0,0,0,.74), rgba(0,0,0,.32) 44%, rgba(0,0,0,.10)) !important;
}
body.layout-c-premium-ai .gemini-comp-site :where(.hero,.hero-section,.fv,.first-view,section[class*="hero"],.gemini-hero,.gc-hero) > * {
  position:relative !important;
  z-index:1 !important;
}
body.layout-c-premium-ai .gemini-comp-site :where(.hero-content,.gemini-hero-content,.gc-hero-content,.hero-copy,.hero-text,.hero-copy-glass,.hero-info-panel) {
  color:#fff8e8 !important;
  -webkit-text-fill-color:#fff8e8 !important;
  text-shadow:0 3px 22px rgba(0,0,0,.86), 0 1px 2px rgba(0,0,0,.96) !important;
}
body.layout-c-premium-ai .gemini-comp-site :where(.hero-content,.gemini-hero-content,.gc-hero-content,.hero-copy,.hero-text,.hero-copy-glass,.hero-info-panel) :where(h1,h2,h3,p,li,span,strong,small) {
  color:#fff8e8 !important;
  -webkit-text-fill-color:#fff8e8 !important;
  opacity:1 !important;
}
body.layout-c-premium-ai :where(.gemini-comp-site, main) :where(.faq,.faq-section,.faqs-section,.faq-list,.gemini-faq,.gemini-faq-section,.gemini-faq-list,.gc-faq-list,[class*="faq"]) {
  max-width:min(1120px, 92vw) !important;
  margin:clamp(56px, 8vw, 112px) auto !important;
  padding:clamp(30px, 5vw, 72px) !important;
  background:linear-gradient(135deg, rgba(11,8,5,.98), rgba(37,26,14,.96)) !important;
  background-color:#100b07 !important;
  background-image:linear-gradient(135deg, rgba(11,8,5,.98), rgba(37,26,14,.96)) !important;
  border:1px solid rgba(214,178,102,.48) !important;
  border-radius:4px !important;
  box-shadow:0 28px 90px rgba(0,0,0,.42) !important;
  color:#fff3d6 !important;
  -webkit-text-fill-color:#fff3d6 !important;
  text-shadow:none !important;
}
body.layout-c-premium-ai :where(.gemini-comp-site, main) :where(.faq,.faq-section,.faqs-section,.faq-list,.gemini-faq,.gemini-faq-section,.gemini-faq-list,.gc-faq-list,[class*="faq"]) * {
  background-color:transparent !important;
  background-image:none !important;
  color:#fff3d6 !important;
  -webkit-text-fill-color:#fff3d6 !important;
  text-shadow:none !important;
}
body.layout-c-premium-ai :where(.gemini-comp-site, main) :where(.faq,.faq-section,.faqs-section,.faq-list,.gemini-faq,.gemini-faq-section,.gemini-faq-list,.gc-faq-list,[class*="faq"]) :where(.faq-item,.gemini-faq-item,.gc-faq-row,details,li,div):not(:has(img)):not(:has(picture)):not(:has(video)):not(:has(iframe)) {
  margin:0 0 14px !important;
  padding:18px 0 !important;
  background:rgba(255,255,255,.035) !important;
  border:0 !important;
  border-bottom:1px solid rgba(214,178,102,.32) !important;
  border-radius:0 !important;
}
body.layout-c-premium-ai :where(.gemini-comp-site, main) :where(.faq,.faq-section,.faqs-section,.faq-list,.gemini-faq,.gemini-faq-section,.gemini-faq-list,.gc-faq-list,[class*="faq"]) :where(summary,button,dt,h3,h4,strong,[class*="question"],[class*="label"],[class*="accordion"]) {
  color:#f7d58d !important;
  -webkit-text-fill-color:#f7d58d !important;
}
body.layout-c-premium-ai :where(.gemini-comp-site, main) :where(.map,.map-card,.map-container,.access-map,.google-map,.map-frame,.map-box,[class*="map"]) {
  background:#100b07 !important;
  border:1px solid rgba(214,178,102,.42) !important;
  color:#fff3d6 !important;
  -webkit-text-fill-color:#fff3d6 !important;
  overflow:hidden !important;
}
body.layout-c-premium-ai :where(.gemini-comp-site, main) :where(.map,.map-card,.map-container,.access-map,.google-map,.map-frame,.map-box,[class*="map"]) iframe {
  filter:grayscale(1) invert(.92) contrast(.88) brightness(.72) !important;
  opacity:.88 !important;
}
@media (max-width: 760px) {
  body.layout-c-premium-ai .gemini-comp-site :where(.hero,.hero-section,.fv,.first-view,section[class*="hero"],.gemini-hero,.gc-hero)::after {
    background:linear-gradient(180deg, rgba(0,0,0,.80), rgba(0,0,0,.52) 48%, rgba(0,0,0,.36)) !important;
  }
  body.layout-c-premium-ai .gemini-comp-site :where(.hero-content,.gemini-hero-content,.gc-hero-content,.hero-copy,.hero-text,.hero-copy-glass,.hero-info-panel) {
    width:min(100%, 92vw) !important;
    max-width:92vw !important;
    margin-inline:auto !important;
    padding:18px 16px !important;
    background:rgba(8,6,4,.62) !important;
    border:1px solid rgba(214,178,102,.24) !important;
  }
  body.layout-c-premium-ai :where(.gemini-comp-site, main) :where(.faq,.faq-section,.faqs-section,.faq-list,.gemini-faq,.gemini-faq-section,.gemini-faq-list,.gc-faq-list,[class*="faq"]) {
    max-width:calc(100vw - 28px) !important;
    margin:42px auto !important;
    padding:24px 16px !important;
  }
}
.gemini-comp-site :where(.faq,.faq-section,.faq-list,[class*="faq"]) :where(summary,dt,h3,h4,strong,[class*="question"],[class*="title"],[class*="label"],[class*="badge"],[class*="pill"]) {
  display:block !important;
  width:auto !important;
  background:transparent !important;
  border:0 !important;
  border-bottom:1px solid rgba(126,92,42,.16) !important;
  color:#2d2316 !important;
  -webkit-text-fill-color:#2d2316 !important;
  padding:.85rem 0 .45rem !important;
  box-shadow:none !important;
  border-radius:0 !important;
}
.gemini-comp-site {
  --main-bg: #161616;
  --panel-bg: #1e1a16;
  --accent-gold: #be9e5c;
  --gold-gradient: linear-gradient(90deg, #bfab77 0%, #be9e5c 90%);
  --text-main: #f6f4ee;
  --text-sub: #dbd3c1;
  --text-muted: #a39a8a;
  --stroke: rgba(190,158,92,0.18);
  --border-radius: 12px;
  --overlay-dark: rgba(24,20,17,0.54);
  --overlay-black: rgba(10,8,7,0.73);
  --shadow: 0 8px 32px rgba(0,0,0,0.23);
  --mincho: 'Noto Serif JP', 'Aozora Mincho', '游明朝', 'Yu Mincho', 'Hiragino Mincho ProN', serif;
  --sans: 'Noto Sans JP', 'Yu Gothic', 'BIZ UDGothic', sans-serif;
  font-family: var(--mincho);
  background: var(--main-bg) no-repeat center center;
  color: var(--text-main);
  min-height: 100vh;
}

.gemini-comp-site h1, .gemini-comp-site h2, .gemini-comp-site h3, .gemini-comp-site h4 {
  font-family: var(--mincho);
  font-weight: 500;
  letter-spacing: 0.03em;
  color: var(--text-main);
}
.gemini-comp-site h1 {
  font-size: 2.8rem;
  line-height: 1.19;
  margin-bottom: 0.3em;
}
.gemini-comp-site h2 {
  font-size: 2.1rem;
  margin: 0 0 1.2em 0;
  line-height: 1.3;
}
.gemini-comp-site h3 {
  font-size: 1.3rem;
  color: var(--accent-gold);
  letter-spacing: 0.1em;
  margin-bottom: 0.8em;
}
.gemini-comp-site p, .gemini-comp-site li, .gemini-comp-site .copy {
  font-family: var(--mincho);
  line-height: 2;
  font-size: 1.09rem;
  color: var(--text-sub);
}
.gemini-comp-site section {
  margin: 0 auto;
  max-width: 1160px;
  position: relative;
  z-index: 2;
}
.gemini-comp-site .bento-shadow {
  box-shadow: 0 8px 32px rgba(0,0,0,0.22), 0 1.5px 0 0 var(--stroke);
  border-radius: var(--border-radius);
  background: var(--panel-bg);
}
.gemini-comp-site .gold-hr {
  border: none;
  border-top: 1.5px solid var(--accent-gold);
  margin: 2.6em 0;
  opacity: .38;
}

/* Hero Section */
.gemini-comp-site .hero-section {
  min-height: 72vh;
  display: flex;
  align-items: center;
  position: relative;
  overflow: visible;
  background: var(--main-bg);
  padding: 0 0 0 0;
}
.gemini-comp-site .hero-bg {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  height: 100%;
  width: 100%;
  z-index: 1;
  overflow: hidden;
  display: flex;
}
.gemini-comp-site .hero-bg .hero-img-primary {
  flex: 1.1;
  object-fit: cover;
  min-height: 400px;
  width: 48vw;
  max-width: none;
  filter: brightness(0.99) contrast(1.16);
  border-top-right-radius: 22px;
  border-bottom-right-radius: 22px;
  box-shadow: 0 8px 32px rgba(0,0,0,.25);
}
.gemini-comp-site .hero-bg .hero-img-side {
  flex: 0.88;
  object-fit: cover;
  width: 30vw;
  min-height: 400px;
  max-width: none;
  opacity: 0.91;
  border-top-left-radius: 12px;
  border-bottom-left-radius: 22px;
  margin-left: -60px;
  box-shadow: 0 4px 40px rgba(0,0,0,.23);
  filter: blur(0.5px) brightness(1.02);
}
.gemini-comp-site .hero-overlay {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: linear-gradient(90deg,rgba(20,17,15,0.76) 48%,rgba(26,22,19,0.25) 100%);
  z-index: 2;
}

.gemini-comp-site .hero-inner {
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  min-height: 550px;
  padding: 70px 32px 32px 48px;
}
.gemini-comp-site .hero-copy {
  background: rgba(18,15,13,0.61);
  border-radius: 14px;
  backdrop-filter: blur(2px);
  box-shadow: 0 4px 28px rgba(0,0,0,0.12);
  padding: 50px 55px 42px 38px;
  max-width: 510px;
  margin-right: 10vw;
  margin-left: 0;
  color: var(--text-main);
  position: relative;
}
.gemini-comp-site .hero-copy .business-name {
  font-family: var(--mincho);
  font-size: 1.25rem;
  letter-spacing: 0.18em;
  color: var(--accent-gold);
  margin-bottom: 15px;
  font-weight: 500;
  display: block;
}
.gemini-comp-site .hero-copy h1 {
  font-size: 2.6rem;
  font-family: var(--mincho);
  color: var(--text-main);
  font-weight: 500;
  text-shadow: 0 3px 22px rgba(0,0,0,.44), 0 1px 0 rgba(190,158,92,0.10);
  letter-spacing: 0.01em;
  margin: 0 0 0.35em 0;
}
.gemini-comp-site .hero-copy .hero-lead {
  font-family: var(--mincho);
  font-size: 1.13rem;
  line-height: 2.13;
  color: var(--text-sub);
  margin-bottom: 28px;
  margin-top: 0;
  font-weight: 400;
}
.gemini-comp-site .cta-btn {
  display: inline-block;
  min-width: 220px;
  font-family: var(--mincho);
  font-size: 1.18rem;
  font-weight: 600;
  background: var(--gold-gradient);
  color: #19130A;
  border: none;
  border-radius: 42px;
  box-shadow: 0 2px 16px rgba(190,158,92,0.079);
  padding: 20px 30px 18px 32px;
  letter-spacing: 0.11em;
  cursor: pointer;
  transition: transform 0.24s cubic-bezier(.38,.13,.47,1), box-shadow 0.24s cubic-bezier(.38,.13,.47,1), filter 0.13s linear;
  outline: none;
  margin-top: 6px;
}
.gemini-comp-site .cta-btn:focus, .gemini-comp-site .cta-btn:hover {
  transform: translateY(-4px) scale(1.032);
  box-shadow: 0 8px 32px rgba(190,158,92,0.13), 0 2px 20px rgba(0,0,0,0.13);
  filter: brightness(1.07) contrast(1.06);
}

/* Intent Section */
.gemini-comp-site .intent-section {
  display: flex;
  flex-wrap: wrap;
  gap: 48px 24px;
  justify-content: space-between;
  margin-top: 0;
  margin-bottom: 90px;
  position: relative;
  z-index: 3;
}
.gemini-comp-site .intent-img {
  min-width: 300px;
  flex: 1 1 320px;
  max-width: 510px;
  border-radius: 13px;
  object-fit: cover;
  box-shadow: 0 4px 24px rgba(0,0,0,0.21);
}
.gemini-comp-site .intent-content {
  flex: 1 1 350px;
  max-width: 520px;
  padding: 24px 16px 22px 36px;
  background: rgba(17,13,11,0.71);
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(0,0,0,.16);
  z-index: 2;
  margin: 0 0 0 -38px;
'}');
}
.gemini-comp-site .intent-content h2 {
  color: var(--accent-gold);
  font-size: 1.35rem;
  margin-bottom: .6em;
}
.gemini-comp-site .intent-content .intent-description {
  font-size: 1.14rem;
  color: var(--text-main);
  margin-bottom: 1.15em;
}
.gemini-comp-site .intent-content .intent-strength {
  font-family: var(--mincho);
  font-size: 1.09rem;
  color: var(--text-sub);
}
/* First Party: Course Cards */
.gemini-comp-site .first-party-section {
  display: flex;
  flex-wrap: wrap;
  gap: 32px 18px;
  margin-bottom: 1.8em;
  position: relative;
  z-index: 2;
}
.gemini-comp-site .first-party-card {
  flex: 1 1 205px;
  min-width: 203px;
  max-width: 320px;
  background: rgba(18,14,9,0.73);
  border-radius: 14px;
  box-shadow: 0 3px 16px rgba(190,158,92,.05), 0 0.5px 0 0 #5e4d2d;
  overflow: hidden;
  padding-bottom: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  transition: box-shadow .22s, transform .19s;
}
.gemini-comp-site .first-party-card:hover,
.gemini-comp-site .first-party-card:focus {
  box-shadow: 0 8px 38px rgba(190,158,92,0.13), 0 2px 20px rgba(0,0,0,0.15);
  transform: translateY(-6px) scale(1.012);
}
.gemini-comp-site .first-party-card .fp-image {
  width: 100%;
  height: 164px;
  object-fit: cover;
  border-top-left-radius: 14px;
  border-top-right-radius: 14px;
  margin-bottom: 0;
}
.gemini-comp-site .first-party-card .fp-content {
  padding: 18px 18px 15px 18px;
}
.gemini-comp-site .first-party-card .fp-title {
  font-family: var(--mincho);
  font-size: 1.1rem;
  color: var(--accent-gold);
  letter-spacing: 0.13em;
  font-weight: 600;
}
.gemini-comp-site .first-party-card .fp-desc {
  color: var(--text-sub);
  font-size: 1.01rem;
  margin-top: 0.33em;
}

/* Gallery Section */
.gemini-comp-site .gallery-section {
  margin: 2em 0 2.8em 0;
}
.gemini-comp-site .gallery-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-gap: 18px;
}
.gemini-comp-site .gallery-img {
  width: 100%;
  object-fit: cover;
  border-radius: 11px;
  box-shadow: 0 4px 18px rgba(0,0,0,0.17);
  background: var(--panel-bg);
}
.gemini-comp-site .gallery-img.g1 { grid-column: 1/4; grid-row: 1; }
.gemini-comp-site .gallery-img.g2 { grid-column: 4/6; grid-row: 1; }
.gemini-comp-site .gallery-img.g3 { grid-column: 6/7; grid-row: 1/3; height: 100%; }
.gemini-comp-site .gallery-img.g4 { grid-column: 1/3; grid-row: 2; }
.gemini-comp-site .gallery-img.g5 { grid-column: 3/5; grid-row: 2; }
.gemini-comp-site .gallery-img.g6 { grid-column: 5/6; grid-row: 2; }
.gemini-comp-site .gallery-img.g7 { grid-column: 2/4; grid-row: 3; }
.gemini-comp-site .gallery-img.g8 { grid-column: 4/7; grid-row: 3; }
.gemini-comp-site .gallery-img.g2,
.gemini-comp-site .gallery-img.g5,
.gemini-comp-site .gallery-img.g7,
.gemini-comp-site .gallery-img.g8 { height: 112px; }

/* Info / Access Section */
.gemini-comp-site .info-section {
  display: grid;
  grid-template-columns: 2fr 2fr 3fr;
  align-items: stretch;
  gap: 32px;
  padding: 24px 0 32px 0;
  background: linear-gradient(90deg, rgba(17,13,10,0.93), rgba(18,18,21,0.92) 100%);
  border-radius: 15px;
  margin: 2.4em 0 3em 0;
  box-shadow: 0 2.5px 21px rgba(0,0,0,0.23);
}
.gemini-comp-site .info-shade {
  background: rgba(25,20,13,0.45);
  border-radius: 15px;
  padding: 34px 23px 30px 34px;
}
.gemini-comp-site .info-block-title {
  font-family: var(--mincho);
  color: var(--accent-gold);
  font-size: 1.07rem;
  letter-spacing: 0.08em;
  margin-bottom: 0.7em;
}
.gemini-comp-site .info-list {
  margin: 0;
  padding: 0;
  list-style: none;
  color: var(--text-sub);
}
.gemini-comp-site .info-list li {
  margin-bottom: 0.6em;
  display: flex;
  align-items: center;
}
.gemini-comp-site .info-list .info-label {
  min-width: 2.2em;
  color: var(--accent-gold);
  font-size: 1.05em;
  margin-right: 0.68em;
  font-family: var(--mincho);
  font-weight: 500;
}
.gemini-comp-site .map-block {
  min-width: 180px;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 7px 35px rgba(0,0,0,0.13);
}
.gemini-comp-site .map-block iframe {
  width: 100%;
  height: 252px;
  border: none;
  border-radius: 12px;
}
.gemini-comp-site .info-contact {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  padding: 26px 0 0 12px;
}
.gemini-comp-site .info-contact dl {
  margin-bottom: 1.7em;
}
.gemini-comp-site .info-contact dt {
  color: var(--accent-gold);
  font-size: 1.02em;
  margin-bottom: 0.25em;
  font-family: var(--mincho);
}
.gemini-comp-site .info-contact dd {
  margin: 0 0 1em 0;
  color: var(--text-main);
  font-family: var(--mincho);
}
.gemini-comp-site .info-contact .cta-btn {
  margin-top: 0.4em;
  font-size: 1.09rem;
  width: 100%;
}

/* Final CTA Section */
.gemini-comp-site .final-cta-section {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: linear-gradient(94deg, rgba(248,238,199,0.06) 6%, rgba(18,15,10,.92) 100%);
  border-radius: 15px;
  padding: 48px 48px 46px 60px;
  max-width: 1080px;
  margin: 3.2em auto 1.4em auto;
  box-shadow: 0 4px 24px rgba(0,0,0,0.13);
}
.gemini-comp-site .final-cta-copy {
  flex: 1.5;
  font-family: var(--mincho);
  color: var(--text-main);
  font-size: 1.21rem;
  letter-spacing: 0.07em;
  margin-right: 40px;
}
.gemini-comp-site .final-cta-action {
  flex: 1;
  text-align: right;
}
.gemini-comp-site .final-cta-action .cta-btn {
  width: 270px;
  font-size: 1.16rem;
  margin-bottom: 0.75em;
  margin-right: 0;
}
.gemini-comp-site .final-cta-tel {
  font-family: var(--mincho);
  color: var(--accent-gold);
  font-size: 1.23rem;
  letter-spacing: 0.08em;
  font-weight: 500;
  display: inline-block;
}

/* Responsive */
@media (max-width: 1040px) {
  .gemini-comp-site section {
    max-width: 99vw;
    padding: 0 8px;
  }
  .gemini-comp-site .intent-section,
  .gemini-comp-site .first-party-section {
    flex-direction: column;
    gap: 30px;
  }
  .gemini-comp-site .final-cta-section {
    flex-direction: column;
    padding: 34px 10vw 33px 9vw;
    gap: 22px 0;
    text-align: center;
    max-width: 99vw;
  }
  .gemini-comp-site .final-cta-action .cta-btn {
    width: 85vw;
    max-width: 370px;
    margin-bottom: 0.67em;
  }
}
@media (max-width: 900px) {
  .gemini-comp-site .gallery-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .gemini-comp-site .info-section {
    grid-template-columns: 1fr;
    gap: 32px 0;
    padding: 18px 0 22px 0;
  }
  .gemini-comp-site .info-shade {
    padding: 28px 8px 24px 16px;
  }
  .gemini-comp-site .info-contact {
    padding: 12px 0 0 2px;
  }
}
@media (max-width: 768px) {
  .gemini-comp-site .hero-inner {
    flex-direction: column;
    justify-content: flex-start;
    min-height: 420px;
    padding: 35px 2vw 32px 2vw;
    max-width: 98vw;
  }
  .gemini-comp-site .hero-bg .hero-img-primary,
  .gemini-comp-site .hero-bg .hero-img-side {
    min-height: 250px;
    width: 68vw;
    object-position: center 55%;
  }
  .gemini-comp-site .hero-copy {
    padding: 39px 4vw 30px 4vw;
    margin-right: 0;
    max-width: 97vw;
  }
}
@media (max-width: 600px) {
  .gemini-comp-site .hero-bg {
    flex-direction: column;
  }
  .gemini-comp-site .hero-bg .hero-img-primary,
  .gemini-comp-site .hero-bg .hero-img-side {
    width: 100vw !important;
    max-width: none;
    object-fit: cover;
    border-radius: 0 !important;
    margin-left: 0;
  }
  .gemini-comp-site .intent-section {
    flex-direction: column;
    gap: 16px;
    margin-bottom: 48px;
  }
  .gemini-comp-site .gallery-grid {
    grid-template-columns: 1fr 1fr;
    grid-gap: 12px;
  }
  .gemini-comp-site .final-cta-section {
    padding: 23px 2vw;
  }
}
@media (max-width: 420px) {
  .gemini-comp-site h1 {
    font-size: 1.36rem;
  }
  .gemini-comp-site .hero-copy {
    padding: 24px 3vw 16px 3vw;
    font-size: 0.98rem;
  }
}
.gemini-comp-site .sr-reveal {
  opacity: 0;
  transform: translateY(45px);
  transition: opacity 0.7s cubic-bezier(.72,.03,.38,.98),transform 0.74s cubic-bezier(.6,.11,.41,1);
}
.gemini-comp-site .sr-reveal.is-visible {
  opacity: 1;
  transform: none;
}
.gemini-comp-site ::selection {
  background: #cab179;
  color: #15110c;
}
.gemini-comp-site a {
  color: var(--accent-gold);
  text-decoration: underline dotted rgba(190,158,92,0.13);
  transition: color 0.13s;
}
.gemini-comp-site a:hover {
  color: #ead794;
}
.gemini-comp-site footer {
  color: var(--text-muted);
  background: rgba(14,12,10,0.85);
  font-family: var(--sans);
  font-size: 1.01rem;
  letter-spacing: 0.08em;
  padding: 38px 7vw 12px 20px;
  margin-top: 2.4em;
  border-radius: 0 0 13px 13px;
  text-align: left;
}

/* readability guard: keep AI-generated light sections readable */
main :where(p,li,dd,span,small,label) {
  opacity:1;
}
main :where(.card,.panel,.box,.content,.feature,.service,.faq,.contact,.form,.item,[class*="card"],[class*="panel"],[class*="box"],[class*="item"]) {
  color:#0f172a;
}
main :where(.card,.panel,.box,.content,.feature,.service,.faq,.contact,.form,.item,[class*="card"],[class*="panel"],[class*="box"],[class*="item"]) :where(p,li,dd,span,small,label) {
  color:#334155;
  opacity:1;
}
main :where(.card,.panel,.box,.content,.feature,.service,.faq,.contact,.form,.item,[class*="card"],[class*="panel"],[class*="box"],[class*="item"]) :where(h1,h2,h3,h4,strong) {
  color:#0f172a;
}
main :where(.btn,.button,[class*="btn"],[class*="button"],[class*="cta"]) {
  opacity:1;
}
body.layout-a-official-aeo main,
body.layout-b-readable-lp main,
body.layout-d-inquiry-focus main {
  color:#0f172a;
}
body.layout-a-official-aeo main :where(p,li,dd,span,small,label),
body.layout-b-readable-lp main :where(p,li,dd,span,small,label),
body.layout-d-inquiry-focus main :where(p,li,dd,span,small,label) {
  color:#334155;
}
body.layout-c-premium-ai main :where(.card,.panel,.box,.content,.feature,.service,.faq,.contact,.form,.item,[class*="card"],[class*="panel"],[class*="box"],[class*="item"]) {
  color:#f8ecd0;
}
body.layout-c-premium-ai main :where(.card,.panel,.box,.content,.feature,.service,.faq,.contact,.form,.item,[class*="card"],[class*="panel"],[class*="box"],[class*="item"]) :where(p,li,dd,span,small,label,strong) {
  color:#ead9b7;
}
main :where(.gemini-comp-site,.ai-comp-page) :where(.card,.panel,.box,.feature,.service,.faq,.item,[class*="card"],[class*="panel"],[class*="box"],[class*="item"]) {
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
main :where(.gemini-comp-site,.ai-comp-page) :where(.card,.panel,.box,.feature,.service,.faq,.item,[class*="card"],[class*="panel"],[class*="box"],[class*="item"]):hover {
  transform:translateY(-3px);
  box-shadow:0 24px 70px rgba(15,23,42,.14);
}
main :where(.gemini-comp-site,.ai-comp-page) :where(.btn,.button,[class*="btn"],[class*="button"],[class*="cta"]) {
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
main :where(.gemini-comp-site,.ai-comp-page) :where(.btn,.button,[class*="btn"],[class*="button"],[class*="cta"]):hover {
  transform:translateY(-2px);
  filter:saturate(1.06);
}
.gemini-comp-site :where(a[href="#reservation"],a[href$="#reservation"],a[href*="/reserve"],a[href*="/reservation"],a[href*="reserve"],a[href*="reservation"]) {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  max-width:min(100%, 360px) !important;
  min-height:48px !important;
  padding:13px 24px !important;
  border-radius:999px !important;
  border:1px solid rgba(222, 190, 128, .72) !important;
  background:linear-gradient(135deg, rgba(230, 198, 132, .94), rgba(251, 236, 190, .90)) !important;
  color:#17110a !important;
  -webkit-text-fill-color:#17110a !important;
  text-decoration:none !important;
  text-shadow:none !important;
  box-shadow:0 16px 38px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.42) !important;
  font-weight:700 !important;
  line-height:1.25 !important;
  letter-spacing:.03em !important;
  white-space:normal !important;
}
.gemini-comp-site :where(a[href="#reservation"],a[href$="#reservation"],a[href*="/reserve"],a[href*="/reservation"],a[href*="reserve"],a[href*="reservation"]):hover {
  transform:translateY(-2px);
  filter:saturate(1.08) brightness(1.02);
}
.gemini-comp-site :where(.info-item,.info-list,.info-text,.faq-item,.faq-list,.dl-overview,.feature-card,.concept-card,.content-audit-section,.content-audit-section *) {
  color:inherit !important;
}
.gemini-comp-site :where(.card,.panel,.box,.content,.feature,.service,.faq,.contact,.form,.item,[class*="card"],[class*="panel"],[class*="box"],[class*="item"]) {
  color:inherit !important;
}
.gemini-comp-site :where(.card,.panel,.box,.content,.feature,.service,.faq,.contact,.form,.item,[class*="card"],[class*="panel"],[class*="box"],[class*="item"]) :where(h1,h2,h3,h4,strong) {
  color:var(--accent-gold,var(--c-gold,var(--color-text-main,inherit))) !important;
}
.gemini-comp-site :where(.card,.panel,.box,.content,.feature,.service,.faq,.contact,.form,.item,[class*="card"],[class*="panel"],[class*="box"],[class*="item"]) :where(p,li,dd,span,small,label) {
  color:var(--text-light,var(--c-text-muted,var(--color-text-muted,inherit))) !important;
}
.gemini-comp-site :where(.info-text p,.info-text span,.dl-overview dd,.faq-a,.concept-desc,.feature-lines) {
  color:var(--color-text-muted,#d8d8d8) !important;
  opacity:1 !important;
}
.gemini-comp-site :where(.info-text h4,.dl-overview dt,.faq-q,.concept-title,.section-title) {
  color:var(--color-text-main,#f5f5f5) !important;
}
.gemini-comp-site :where(.gc-hero,.gc-hero-content,.gc-access-block,.gc-access-info-panel,.gc-section-finalcta,.gc-finalcta-glass,.gc-section-dark,.gc-dark,.gc-footer-wrap) :where(h1,h2,h3,h4,p,li,dd,dt,span,a:not(.btn-main),button:not(.btn-main)) {
  color:#f8fafc !important;
  opacity:1 !important;
  text-shadow:0 1px 14px rgba(0,0,0,.45);
}
.gemini-comp-site :where(.gemini-final-cta-band,.gc-section-finalcta,.gc-finalcta-glass,.gc-section-dark,.gc-dark,.gc-footer-wrap,footer,[class*="footer"]) {
  background-color:#171411;
}
.gemini-comp-site :where(.gemini-final-cta-band,.gc-section-finalcta,.gc-finalcta-glass,.gc-section-dark,.gc-dark,.gc-footer-wrap,footer,[class*="footer"]) :where(h1,h2,h3,h4,p,li,dd,dt,span,strong,small,a:not(.btn-main),button:not(.btn-main)) {
  color:#f8fafc !important;
  -webkit-text-fill-color:#f8fafc !important;
  opacity:1 !important;
  text-shadow:0 1px 14px rgba(0,0,0,.48);
}
.gemini-comp-site :where([style*="background-image"],[class*="hero"],[class*="mv"],[class*="mainvisual"],[class*="visual"],[class*="photo"],[class*="image"],[class*="scene"]) :where(h1,h2,h3,h4,p,li,dd,dt,span,strong,small,a:not(.btn-main),button:not(.btn-main)) {
  opacity:1 !important;
  text-shadow:0 3px 20px rgba(0,0,0,.72),0 1px 3px rgba(0,0,0,.88);
}
.gemini-comp-site :where([style*="background-image"],[class*="hero"],[class*="mv"],[class*="mainvisual"],[class*="photo"],[class*="scene"]) :where(h1,h2,h3,h4) {
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
.gemini-comp-site :where([style*="background-image"],[class*="hero"],[class*="mv"],[class*="mainvisual"],[class*="photo"],[class*="scene"]) :where(p,li,dd,dt,span,strong,small) {
  color:#f8fafc !important;
  -webkit-text-fill-color:#f8fafc !important;
}
.gemini-comp-site :where(.gc-hero,.gc-hero-content,.gc-access-block,.gc-access-info-panel,.gc-section-finalcta,.gc-finalcta-glass) :where(.note,.lead,.desc,[class*="lead"],[class*="desc"],[class*="text"],[class*="val"]) {
  color:#eef2f7 !important;
}
.gemini-comp-site :where(.btn-main,.hero-cta,.gc-hero-cta,.gc-finalcta-btn,.gemini-hero__cta,[class*="cta-btn"]) {
  color:#ffffff !important;
  opacity:1 !important;
  text-shadow:0 1px 10px rgba(0,0,0,.38);
}
.gemini-comp-site :where(.gc-trust-point,.gc-trust-point-icon) {
  color:#1f2937 !important;
  opacity:1 !important;
  text-shadow:none !important;
}
.gemini-comp-site :where(.light,.white,[class*="light"],[class*="white"],[class*="faq"],[class*="accordion"],[class*="question"],[class*="answer"]) :where(h1,h2,h3,h4,strong,dt) {
  color:#0f172a !important;
  -webkit-text-fill-color:#0f172a !important;
  text-shadow:none !important;
}
.gemini-comp-site :where(.light,.white,[class*="light"],[class*="white"],[class*="faq"],[class*="accordion"],[class*="question"],[class*="answer"]) :where(p,li,dd,span,small,label) {
  color:#334155 !important;
  -webkit-text-fill-color:#334155 !important;
  opacity:1 !important;
  text-shadow:none !important;
}
.gemini-comp-site :where(.gc-glass-panel.time,.gc-glass-panel,[class*="glass-panel"]) :where(span,p,li,dd,dt) {
  opacity:1 !important;
}
.gemini-comp-site :where(.gc-glass-panel.time) :where(h1,h2,h3,h4,p,li,dd,dt,span,a,button) {
  color:#f8fafc !important;
  text-shadow:0 1px 12px rgba(0,0,0,.35);
}
body:not(.layout-c-premium-ai) .gemini-comp-site :where(section:not([class*="hero"]):not([class*="mv"]):not([class*="mainvisual"]):not([class*="visual"]):not([class*="photo"]):not([class*="image"]):not([class*="scene"]):not([style*="background-image"]),.faq-section,.faq-list,.accordion,.content-audit-section,.gallery-section,.service-section,.feature-section,.contact-section,.access-section) :where(h1,h2,h3,h4,strong,dt,label) {
  color:#0f172a !important;
  -webkit-text-fill-color:#0f172a !important;
  text-shadow:none !important;
  opacity:1 !important;
}
body:not(.layout-c-premium-ai) .gemini-comp-site :where(section:not([class*="hero"]):not([class*="mv"]):not([class*="mainvisual"]):not([class*="visual"]):not([class*="photo"]):not([class*="image"]):not([class*="scene"]):not([style*="background-image"]),.faq-section,.faq-list,.accordion,.content-audit-section,.gallery-section,.service-section,.feature-section,.contact-section,.access-section) :where(p,li,dd,span,small) {
  color:#334155 !important;
  -webkit-text-fill-color:#334155 !important;
  text-shadow:none !important;
  opacity:1 !important;
}
body:not(.layout-c-premium-ai) .gemini-comp-site :where(.faq-section,.faq-list,.accordion,.content-audit-section,[class*="faq"],[class*="question"],[class*="answer"]) {
  background-color:rgba(255,255,255,.94);
}
.gemini-comp-site .codex-feature-label {
  display:block;
  margin-top:.85rem;
  color:var(--color-text-main,#f5f5f5);
  font-weight:700;
  font-size:clamp(.9rem,1.3vw,1rem);
  letter-spacing:.04em;
}
.gemini-comp-site .codex-feature-note {
  display:block;
  margin-top:.35rem;
  color:var(--color-text-muted,#d8d8d8);
  font-size:.82rem;
  line-height:1.55;
}
.gemini-comp-site .codex-filled-image {
  display:block;
  width:100%;
  height:100%;
  min-height:100%;
  object-fit:cover;
}
.gemini-comp-site .codex-container-image-fix {
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:inherit !important;
  object-fit:cover !important;
  border-radius:inherit !important;
}
.gemini-comp-site .codex-container-image-fix + :where(div,span):empty,
.gemini-comp-site .codex-container-image-fix + :where(div,span):not([class]) {
  display:none !important;
}
.gemini-comp-site :where(.sr-reveal,.scroll-reveal,.gemini-scroll-reveal,.gemini-glass-reveal,[class*="reveal"]) {
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
}
.gemini-comp-site,
.gemini-comp-site * {
  box-sizing:border-box;
}
.gemini-comp-site {
  width:100%;
  max-width:100%;
  overflow-x:clip;
}
.gemini-comp-site :where(img,video,iframe,svg,canvas) {
  max-width:100%;
}
.gemini-comp-site :where(.bento-item,.c-bento__item,.concept-img-wrapper,.craft-item,.entrance-img,.c-scene__bg,.c-info-grid__exterior) .codex-filled-image {
  border-radius:inherit;
}
.gemini-comp-site {
  --codex-fixed-header-offset:clamp(88px,10vw,124px);
}
.gemini-comp-site :where(.hero,.hero-section,.fv,.first-view,section[class*="hero"]):not(.gcs-hero):not(.gemini-comp-site-hero) {
  box-sizing:border-box;
  padding-top:max(var(--codex-fixed-header-offset), env(safe-area-inset-top));
}
.gemini-comp-site :where(.hero,.hero-section,.fv,.first-view,section[class*="hero"]) :where(.hero-content,.hero-copy,.hero-panel,[class*="hero"][class*="content"],[class*="hero"][class*="copy"],[class*="hero"][class*="panel"]) {
  max-height:none !important;
  overflow:visible !important;
}
.gemini-comp-site :where(.hero,.hero-section,.fv,.first-view,section[class*="hero"]) :where(.hero-cta,.cta-btn,[class*="hero"][class*="cta"]) {
  max-width:100%;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
}
.gemini-comp-site :where(.hero-lead,.lead,.bento-card p,.faq-a,.cta-copy,.info-list dt,.info-list dd,[class*="desc"],[class*="subtext"]) {
  opacity:1 !important;
}
.gemini-comp-site :where(.gemini-intent-card) {
  background:rgba(22,18,15,.92) !important;
  color:#f8fafc !important;
  border:1px solid rgba(184,151,83,.28) !important;
  box-shadow:0 28px 80px rgba(18,12,11,.18) !important;
}
.gemini-comp-site :where(.gemini-intent-card) :where(h1,h2,h3,h4,strong,span,p,li,dd,dt,a:not(.gemini-cta-btn),button:not(.gemini-cta-btn)) {
  color:#f8fafc !important;
  -webkit-text-fill-color:#f8fafc !important;
  opacity:1 !important;
  text-shadow:0 2px 16px rgba(0,0,0,.54) !important;
}
.gemini-comp-site :where(.gemini-menu-section,.gemini-features-section,.gemini-info-section) {
  color:#1f2937 !important;
  background-color:#f7f5f1 !important;
  background-image:none !important;
}
.gemini-comp-site :where(.gemini-menu-section,.gemini-features-section,.gemini-info-section) :where(h1,h2,h3,h4,strong,dt,label) {
  color:#111827 !important;
  -webkit-text-fill-color:#111827 !important;
  opacity:1 !important;
  text-shadow:none !important;
}
.gemini-comp-site :where(.gemini-menu-section,.gemini-features-section,.gemini-info-section) :where(p,li,dd,span,small,a:not(.gemini-cta-btn),button:not(.gemini-cta-btn)) {
  color:#334155 !important;
  -webkit-text-fill-color:#334155 !important;
  opacity:1 !important;
  text-shadow:none !important;
}
.gemini-comp-site :where(.gemini-info-list) {
  background:rgba(255,255,255,.92) !important;
  border:1px solid rgba(17,24,39,.12) !important;
  border-radius:18px !important;
  padding:clamp(22px,3vw,34px) !important;
  box-shadow:0 24px 70px rgba(15,23,42,.09) !important;
}
.gemini-comp-site :where(.gemini-info-section,.gemini-info-list,.gemini-info-block) :where(a) {
  display:inline-block !important;
  color:#062a5b !important;
  -webkit-text-fill-color:#062a5b !important;
  background:rgba(255,255,255,.92) !important;
  border-radius:8px !important;
  padding:.08em .28em !important;
  text-shadow:none !important;
  text-decoration:underline !important;
  text-underline-offset:.16em !important;
}
.gemini-comp-site :where(.gemini-info-map,.gemini-info-map-embed) {
  background:#e2e8f0 !important;
  border-radius:18px !important;
  overflow:hidden !important;
}
.gemini-comp-site :where(.glass-panel,.bento-card,.faq-card,.info-card,.map-card) {
  border-color:rgba(148,163,184,.24);
}
.gemini-comp-site :where(.craftsmanship-section,.craft-section,.materials-section,[class*="craftsmanship"],[class*="materials"]) {
  overflow-wrap:normal;
}
.gemini-comp-site :where(.craftsmanship-note,.craft-note,.materials-note,[class*="craftsmanship"][class*="note"],[class*="materials"][class*="note"]) {
  min-width:min(280px, 100%) !important;
  line-height:1.75 !important;
  writing-mode:horizontal-tb !important;
  word-break:normal !important;
  overflow-wrap:break-word !important;
}
.gemini-comp-site :where([id]) {
  scroll-margin-top:var(--codex-fixed-header-offset);
}
html:has(.gemini-comp-site) {
  margin:0;
  overflow-x:hidden;
  scroll-padding-top:clamp(88px,10vw,124px);
}
body:has(.gemini-comp-site) {
  margin:0;
  overflow-x:hidden;
}
html:has(.gemini-comp-site),
body:has(.gemini-comp-site),
.gemini-comp-site main {
  height:auto !important;
  min-height:100% !important;
  overflow-y:visible !important;
}
@media (min-width: 769px) {
  .gemini-comp-site :where(.hero,.hero-section,.fv,.first-view,section[class*="hero"],.gemini-hero,.gc-hero) {
    justify-content:flex-start !important;
  }
  .gemini-comp-site :where(.hero-text,.hero-content,.hero-copy,.hero-copy-glass,.hero-info-panel,.gemini-hero-content,.gc-hero-content,.gemini-hero__glass) {
    width:min(560px, 44vw) !important;
    max-width:min(560px, 44vw) !important;
    min-width:360px !important;
    margin-left:clamp(56px, 7vw, 112px) !important;
    margin-right:auto !important;
    text-align:left !important;
    transform:none !important;
    padding:0 !important;
  }
  .gemini-comp-site :where(.gemini-hero__cta:not(a):not(button),.gemini-final-cta,.gemini-final-cta-wrap,.gemini-final-cta-section) {
    background:none !important;
    background-color:transparent !important;
    background-image:none !important;
    border-color:transparent !important;
    box-shadow:none !important;
  }
  .gemini-comp-site :where(.hero,.hero-section,.fv,.first-view,section[class*="hero"],.gemini-hero,.gc-hero) :where(h1,h2,h3,p,li,span,.hero-title,.hero-lead,.gemini-hero-title,.gemini-hero-lead,.gc-hero-title,.gc-hero-lead) {
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
    opacity:1 !important;
    text-shadow:0 3px 24px rgba(0,0,0,.86), 0 1px 3px rgba(0,0,0,.96) !important;
  }
}
.gemini-comp-site :where(.map-container,.c-info-grid__map,.info-map,.access-map,.gemini-access-map,.access-map-panel,.location-map,.google-map,.map-frame,.map-box,.codex-public-map-frame) {
  position:relative;
  overflow:hidden;
  min-height:300px;
  background-color:#e8eef3;
  background-image:
    radial-gradient(circle at 72% 28%, rgba(59,130,246,.24) 0 9px, transparent 10px),
    linear-gradient(132deg, transparent 0 31%, rgba(255,255,255,.86) 31.3% 33%, transparent 33.3% 100%),
    linear-gradient(22deg, transparent 0 46%, rgba(255,255,255,.82) 46.3% 48.2%, transparent 48.5% 100%),
    linear-gradient(88deg, transparent 0 58%, rgba(255,255,255,.74) 58.3% 59.8%, transparent 60.1% 100%),
    linear-gradient(0deg, rgba(15,23,42,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15,23,42,.06) 1px, transparent 1px),
    linear-gradient(135deg, #dbe7ef, #f8fafc 44%, #d7e4ee);
  background-size:auto, auto, auto, auto, 28px 28px, 28px 28px, auto;
}
.gemini-comp-site :where(.map-card,.map-container,.c-info-grid__map,.info-map,.access-map,.gemini-access-map,.access-map-panel,.location-map,.google-map,.map-frame,.map-box,.codex-public-map-frame) iframe.codex-map-embed {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  filter:saturate(.92) contrast(.96);
  z-index:0;
}
.gemini-comp-site :where(.map-card,.map-container,.c-info-grid__map,.info-map,.access-map,.gemini-access-map,.access-map-panel,.location-map,.google-map,.map-frame,.map-box,.codex-public-map-frame):has(iframe.codex-map-embed)::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  opacity:.48;
  background-image:
    radial-gradient(circle at 58% 42%, rgba(15,23,42,.22) 0 5px, transparent 6px),
    linear-gradient(118deg, transparent 0 28%, rgba(255,255,255,.86) 28.3% 30.1%, transparent 30.4% 100%),
    linear-gradient(24deg, transparent 0 53%, rgba(255,255,255,.8) 53.2% 55%, transparent 55.3% 100%),
    linear-gradient(0deg, rgba(15,23,42,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15,23,42,.08) 1px, transparent 1px);
  background-size:auto, auto, auto, 30px 30px, 30px 30px;
  mix-blend-mode:multiply;
}
.gemini-comp-site :where(.map-card,.map-container,.c-info-grid__map,.info-map,.access-map,.gemini-access-map,.access-map-panel,.location-map,.google-map,.map-frame,.map-box,.codex-public-map-frame):has(iframe.codex-map-embed) :where(.map-grid-lines,.map-pin,.c-map-pin,.info-map-visual) {
  display:none !important;
}
.gemini-comp-site :where(.info-map,.map-box,.map-frame,.codex-public-map-frame):has(iframe.codex-map-embed) > :where(svg,h1,h2,h3,h4,p,span) {
  display:none !important;
}
.gemini-comp-site :where(.gemini-bento-copy,.gemini-course-card,.gemini-bento-copy p,.gemini-course-card p,.gemini-bento-copy h2,.gemini-course-card strong) {
  color:#172033 !important;
  -webkit-text-fill-color:#172033 !important;
  opacity:1 !important;
  text-shadow:none !important;
}
.gemini-comp-site :where(.gcs-hero,.gemini-comp-site-hero) {
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:clamp(24px,4vw,48px) 0 !important;
  min-height:auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  overflow:visible !important;
}
.gemini-comp-site :where(.gcs-hero-layer,.gemini-comp-site-hero__inner,.hero-layer) {
  width:min(1120px,calc(100% - 96px)) !important;
  max-width:1120px !important;
  margin:0 auto !important;
  padding:clamp(28px,4vw,56px) 0 !important;
}
.gemini-comp-site :where(.gcs-hero,.gemini-comp-site-hero) > :where(.gcs-hero-imgwrap,.gcs-hero-panel,.hero-main-img,.hero-info-panel,.hero-side-glass,.gemini-top-image-fallback) {
  position:relative !important;
  inset:auto !important;
  top:auto !important;
  right:auto !important;
  bottom:auto !important;
  left:auto !important;
  transform:none !important;
  margin:0 !important;
  width:100% !important;
  max-width:100% !important;
}
.gemini-comp-site :where(.gcs-hero-imgwrap,.hero-main-img,.hero-bg-overlay,.gemini-top-image-fallback) {
  min-height:clamp(320px,42vw,560px) !important;
  border-radius:clamp(18px,2.4vw,30px) !important;
  overflow:hidden !important;
}
.gemini-comp-site :where(.gcs-hero-imgwrap,.hero-main-img,.hero-bg-overlay,.gemini-top-image-fallback) img {
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:clamp(320px,42vw,560px) !important;
  object-fit:cover !important;
}
.gemini-comp-site :where(.gcs-hero-panel,.hero-info-panel,.hero-copy-glass,.hero-side-glass) {
  max-width:680px !important;
  z-index:2 !important;
}
.gemini-comp-site :where(.gcs-hero-title,.hero-title,.hero-copy-glass h1,.hero-copy-glass [class*="title"]) {
  max-width:12em !important;
}
.gemini-comp-site .gemini-top-image-fallback {
  display:none !important;
}
.gemini-comp-site :where(.gcs-hero-cta,.hero-cta,.hero-copy-glass [class*="cta"]) {
  white-space:normal !important;
  overflow-wrap:normal !important;
  letter-spacing:min(.06em,1px) !important;
  overflow:visible !important;
  text-overflow:clip !important;
}
.gemini-comp-site :where(.gcs-hero-textblock,.hero-copy-glass,.hero-info-panel) {
  transform:none !important;
  overflow:visible !important;
}
.gemini-comp-site :where(.gcs-hero-title,.hero-title,.hero-copy-glass h1) {
  line-height:1.16 !important;
}
.gemini-comp-site :where(.gcs-hero-lead,.hero-lead,.hero-copy-glass p) {
  line-height:1.68 !important;
}
.gemini-comp-site :where(header,nav,[class*="header"],[class*="nav"]) {
  overflow:visible !important;
}
.gemini-comp-site :where(.hero,.hero-section,.fv,.first-view,section[class*="hero"],.gemini-hero,.gc-hero,.gcs-hero,.gemini-comp-site-hero) {
  min-height:auto !important;
  height:auto !important;
  overflow:visible !important;
  padding-bottom:clamp(32px,5vw,72px) !important;
}
.gemini-comp-site :where(.hero,.hero-section,.fv,.first-view,section[class*="hero"],.gemini-hero,.gc-hero,.gcs-hero,.gemini-comp-site-hero) :where(h1,h2,.hero-title,.gemini-hero-title,.gc-hero-title,.gcs-hero-title) {
  max-height:none !important;
  overflow:visible !important;
  text-overflow:clip !important;
}
.gemini-comp-site .codex-forced-map {
  width:min(1120px,92vw);
  margin:clamp(48px,7vw,88px) auto;
  padding:clamp(24px,4vw,44px);
  border:1px solid rgba(148,163,184,.28);
  border-radius:24px;
  background:rgba(255,255,255,.06);
  box-shadow:0 28px 80px rgba(15,23,42,.12);
}
.gemini-comp-site .codex-forced-map__eyebrow {
  margin:0 0 10px;
  font-size:.82rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  opacity:.72;
}
.gemini-comp-site .codex-forced-map h2 {
  margin:0 0 12px;
  font-size:clamp(1.6rem,3.2vw,2.5rem);
}
.gemini-comp-site .codex-forced-map address {
  margin:0 0 22px;
  font-style:normal;
  line-height:1.8;
}
.gemini-comp-site .codex-forced-map__frame {
  position:relative;
  overflow:hidden;
  min-height:320px;
  border-radius:18px;
  background-color:#e8eef3;
  background-image:
    radial-gradient(circle at 70% 34%, rgba(59,130,246,.24) 0 10px, transparent 11px),
    linear-gradient(132deg, transparent 0 31%, rgba(255,255,255,.86) 31.3% 33%, transparent 33.3% 100%),
    linear-gradient(22deg, transparent 0 46%, rgba(255,255,255,.82) 46.3% 48.2%, transparent 48.5% 100%),
    linear-gradient(88deg, transparent 0 58%, rgba(255,255,255,.74) 58.3% 59.8%, transparent 60.1% 100%),
    linear-gradient(0deg, rgba(15,23,42,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15,23,42,.06) 1px, transparent 1px),
    linear-gradient(135deg, #dbe7ef, #f8fafc 44%, #d7e4ee);
  background-size:auto, auto, auto, auto, 28px 28px, 28px 28px, auto;
}
.gemini-comp-site .codex-forced-map__frame iframe.codex-map-embed {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
.gemini-comp-site .codex-hero-media-fix {
  position:absolute;
  inset:0;
  z-index:0;
  margin:0;
  overflow:hidden;
}
.gemini-comp-site .codex-hero-media-fix img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:brightness(.82) contrast(1.04);
}
.gemini-comp-site .codex-hero-media-fix::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(8,8,8,.56),rgba(8,8,8,.12) 54%,rgba(8,8,8,.44));
}
.gemini-comp-site :where(.hero,.hero-section,.fv,.first-view,section[class*="hero"]):has(.codex-hero-media-fix) {
  position:relative !important;
  overflow:hidden !important;
  min-height:min(760px,92vh) !important;
  padding-top:clamp(84px,10vw,150px) !important;
  padding-bottom:clamp(56px,8vw,110px) !important;
}
.gemini-comp-site section:has(> .codex-hero-media-fix) {
  position:relative !important;
  overflow:hidden !important;
  min-height:min(760px,92vh) !important;
  padding-top:clamp(84px,10vw,150px) !important;
  padding-bottom:clamp(56px,8vw,110px) !important;
}
.gemini-comp-site :where(.hero,.hero-section,.fv,.first-view,section[class*="hero"]):has(.codex-hero-media-fix) > :not(.codex-hero-media-fix) {
  position:relative;
  z-index:1;
}
.gemini-comp-site section:has(> .codex-hero-media-fix) > :not(.codex-hero-media-fix) {
  position:relative;
  z-index:1;
}
.gemini-comp-site :where(.gemini-hero-cta,.gemini-cta-btn,.gemini-sticky-cta-btn,.hero-cta,.cta-btn,[class*="cta-btn"]) {
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  text-decoration:none !important;
  text-shadow:0 1px 10px rgba(0,0,0,.36) !important;
}
.gemini-comp-site :where(.gemini-sticky-cta) {
  display:none !important;
}
.gemini-comp-site .gemini-hero:has(.codex-hero-media-fix) .gemini-hero-media {
  display:none !important;
}
.gemini-comp-site:has(.sr-glow-bg) .sr-glow-bg {
  position:absolute !important;
  inset:0 auto auto 0 !important;
  width:100% !important;
  height:min(760px, 92vh) !important;
  overflow:hidden !important;
  pointer-events:none !important;
  z-index:0 !important;
  background-attachment:scroll !important;
}
.gemini-comp-site:has(.sr-glow-bg) .sr-glow-bg img {
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  background-attachment:scroll !important;
}
.gemini-comp-site:has(.sr-glow-bg) main {
  position:relative !important;
  z-index:1 !important;
}
.gemini-comp-site:has(.sr-glow-bg) .hero {
  display:grid !important;
  grid-template-columns:minmax(360px, 520px) minmax(360px, 560px) !important;
  justify-content:center !important;
  align-items:center !important;
  gap:clamp(32px, 5vw, 72px) !important;
  min-height:min(760px, 92vh) !important;
  padding:clamp(72px, 7vw, 110px) clamp(56px, 7vw, 96px) !important;
  background:
    radial-gradient(circle at 82% 38%, rgba(125, 211, 252, .14), transparent 34%),
    linear-gradient(135deg, #07111f 0%, #0c1728 52%, #08111d 100%) !important;
  overflow:hidden !important;
}
.gemini-comp-site:has(.sr-glow-bg) .sr-glow-bg {
  opacity:.10 !important;
  filter:blur(1px) saturate(.86) brightness(.92) !important;
}
.gemini-comp-site:has(.sr-glow-bg) .hero-text {
  width:auto !important;
  max-width:520px !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.gemini-comp-site:has(.sr-glow-bg) .hero-media {
  position:relative !important;
  width:100% !important;
  max-width:560px !important;
  min-width:0 !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:16 / 10 !important;
  margin:0 !important;
  border-radius:28px !important;
  overflow:hidden !important;
  background:#0f172a !important;
  box-shadow:0 28px 80px rgba(15,23,42,.25) !important;
}
.gemini-comp-site:has(.sr-glow-bg) .hero-media img {
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  opacity:1 !important;
  filter:saturate(.98) contrast(1.02) !important;
}
.gemini-comp-site:has(.sr-glow-bg) .hero-title {
  font-size:clamp(2.35rem, 3.7vw, 3.45rem) !important;
  line-height:1.12 !important;
  letter-spacing:.01em !important;
  text-wrap:balance !important;
}
.gemini-comp-site:has(.sr-glow-bg) .hero-lead {
  max-width:480px !important;
  color:#d9e6f6 !important;
  -webkit-text-fill-color:#d9e6f6 !important;
  font-weight:650 !important;
  text-shadow:none !important;
}
.gemini-comp-site:has(.sr-glow-bg) .hero-cta {
  width:auto !important;
  min-width:min(100%, 280px) !important;
  max-width:min(100%, 360px) !important;
  border-radius:999px !important;
  background:linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,255,255,.06)) !important;
  border:1px solid rgba(125, 221, 255, .45) !important;
  box-shadow:0 18px 50px rgba(0,0,0,.22) !important;
}
.gemini-comp-site:has(.sr-glow-bg) :where(.bento-area,.info-area,.gallery-row,.faq-section,.cta-section) {
  position:relative !important;
  margin:0 auto !important;
  padding:clamp(56px, 6vw, 88px) clamp(40px, 6vw, 88px) !important;
  max-width:1180px !important;
}
.gemini-comp-site .gemini-hero:has(.gemini-hero-visual):not(:has(.codex-hero-media-fix)) {
  display:grid !important;
  grid-template-columns:minmax(460px, 610px) minmax(470px, 620px) !important;
  align-items:center !important;
  justify-content:center !important;
  gap:clamp(42px, 5vw, 76px) !important;
  width:100% !important;
  max-width:none !important;
  min-height:min(740px, 90vh) !important;
  margin:0 auto !important;
  padding:clamp(76px, 7vw, 104px) clamp(68px, 8vw, 118px) !important;
  background:
    linear-gradient(90deg, rgba(7,17,31,.98) 0%, rgba(8,18,31,.94) 44%, rgba(7,17,31,.72) 62%, rgba(7,17,31,.96) 100%),
    radial-gradient(circle at 76% 46%, rgba(125, 211, 252, .13), transparent 32%),
    linear-gradient(135deg, #07111f 0%, #0c1728 56%, #08111d 100%) !important;
  border-radius:0 !important;
}
.gemini-comp-site .gemini-hero:has(.gemini-hero-visual):not(:has(.codex-hero-media-fix))::before {
  content:"" !important;
  position:absolute !important;
  inset:clamp(54px, 6vw, 86px) clamp(48px, 7vw, 104px) !important;
  pointer-events:none !important;
  border-top:1px solid rgba(148, 190, 255, .18) !important;
  border-bottom:1px solid rgba(148, 190, 255, .10) !important;
  opacity:.9 !important;
}
.gemini-comp-site .gemini-hero:has(.gemini-hero-visual):not(:has(.codex-hero-media-fix)) .gemini-hero-content {
  width:auto !important;
  max-width:610px !important;
  min-width:0 !important;
  margin:0 !important;
}
.gemini-comp-site .gemini-hero:has(.gemini-hero-visual):not(:has(.codex-hero-media-fix)) .gemini-hero-title {
  max-width:600px !important;
  font-size:clamp(2.45rem, 3.45vw, 3.35rem) !important;
  line-height:1.18 !important;
  letter-spacing:0 !important;
  font-weight:760 !important;
  margin:0 0 28px !important;
  text-wrap:balance !important;
  font-feature-settings:"palt" 1 !important;
  text-shadow:0 18px 42px rgba(0,0,0,.48) !important;
}
.gemini-comp-site .gemini-hero:has(.gemini-hero-visual):not(:has(.codex-hero-media-fix)) .gemini-hero-lead {
  max-width:540px !important;
  font-size:clamp(1rem, 1.22vw, 1.12rem) !important;
  line-height:1.95 !important;
  font-weight:520 !important;
  color:#c7d5e8 !important;
  -webkit-text-fill-color:#c7d5e8 !important;
  text-shadow:none !important;
}
.gemini-comp-site .gemini-hero:has(.gemini-hero-visual):not(:has(.codex-hero-media-fix)) .gemini-hero-cta {
  width:auto !important;
  min-width:min(100%, 270px) !important;
  max-width:min(100%, 360px) !important;
  min-height:50px !important;
  padding:12px 22px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.08) !important;
  border:1px solid rgba(180, 210, 235, .42) !important;
  box-shadow:none !important;
  color:#eaf6ff !important;
  -webkit-text-fill-color:#eaf6ff !important;
  font-size:.96rem !important;
  font-weight:800 !important;
}
.gemini-comp-site .gemini-hero:has(.gemini-hero-visual):not(:has(.codex-hero-media-fix)) .gemini-hero-cta:hover {
  background:rgba(255,255,255,.14) !important;
  border-color:rgba(210, 235, 255, .62) !important;
}
.gemini-comp-site .gemini-hero:has(.gemini-hero-visual):not(:has(.codex-hero-media-fix)) .gemini-hero-visual {
  position:relative !important;
  inset:auto !important;
  width:100% !important;
  max-width:620px !important;
  min-height:390px !important;
  height:auto !important;
  aspect-ratio:16 / 10 !important;
  margin:0 !important;
  overflow:hidden !important;
  border-radius:28px !important;
  border:1px solid rgba(148, 190, 255, .18) !important;
  box-shadow:0 30px 72px rgba(0,0,0,.30) !important;
}
.gemini-comp-site .codex-mobile-title {
  display:block;
  position:absolute;
  top:24px;
  left:clamp(18px,5vw,72px);
  z-index:80;
  color:var(--c-text-main,#f7f1e8);
  font-size:clamp(1.08rem,2.2vw,1.55rem);
  line-height:1.25;
  font-weight:700;
  letter-spacing:.04em;
  text-shadow:0 2px 16px rgba(0,0,0,.45);
}
@media (max-width: 768px) {
  body:has(.gemini-comp-site) {
    overflow-x:hidden;
  }
  .gemini-comp-site {
    --codex-fixed-header-offset:84px;
    overflow-x:hidden;
  }
  .gemini-comp-site:has(.sr-glow-bg) .hero {
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:20px !important;
    min-height:auto !important;
    padding:28px 18px 42px !important;
  }
  .gemini-comp-site:has(.sr-glow-bg) .sr-glow-bg {
    opacity:.16 !important;
  }
  .gemini-comp-site:has(.sr-glow-bg) .hero-text {
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 !important;
    padding:22px !important;
    border-radius:22px !important;
  }
  .gemini-comp-site:has(.sr-glow-bg) .hero-title {
    font-size:clamp(1.8rem, 8vw, 2.65rem) !important;
    line-height:1.18 !important;
  }
  .gemini-comp-site:has(.sr-glow-bg) .hero-media {
    width:100% !important;
    max-width:100% !important;
    min-height:0 !important;
    height:auto !important;
    aspect-ratio:16 / 10 !important;
    margin:0 !important;
    border-radius:20px !important;
    overflow:hidden !important;
  }
  .gemini-comp-site:has(.sr-glow-bg) .hero-media img {
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }
  .gemini-comp-site .gemini-hero:has(.codex-hero-media-fix) {
    min-height:auto !important;
    padding:22px 18px 42px !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
  .gemini-comp-site .gemini-hero:has(.codex-hero-media-fix) .codex-hero-media-fix {
    position:relative !important;
    inset:auto !important;
    order:1 !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:16 / 10 !important;
    border-radius:18px !important;
  }
  .gemini-comp-site .gemini-hero:has(.codex-hero-media-fix) .gemini-hero-content {
    order:2 !important;
  }
  .gemini-comp-site .gemini-hero:has(.codex-hero-media-fix) .gemini-hero-media {
    display:none !important;
  }
  .gemini-comp-site .gemini-hero:has(.gemini-hero-visual):not(:has(.codex-hero-media-fix)) {
    padding:24px 18px 44px !important;
    background:inherit !important;
  }
  .gemini-comp-site .gemini-hero:has(.gemini-hero-visual):not(:has(.codex-hero-media-fix)) .gemini-hero-content {
    background:transparent !important;
    border-color:transparent !important;
    box-shadow:none !important;
  }
  .gemini-comp-site .gemini-hero:has(.gemini-hero-visual):not(:has(.codex-hero-media-fix)) .gemini-hero-title {
    font-weight:760 !important;
    letter-spacing:0 !important;
    line-height:1.2 !important;
  }
  .gemini-comp-site .gemini-hero:has(.gemini-hero-visual):not(:has(.codex-hero-media-fix)) .gemini-hero-cta {
    background:transparent !important;
    border:1px solid currentColor !important;
    box-shadow:none !important;
    color:inherit !important;
    -webkit-text-fill-color:currentColor !important;
  }
  .gemini-comp-site :where(section,[class*="section"],.gemini-hero,.gc-hero,.gemini-future,.gemini-services,.gemini-gallery,.gemini-info-access,.gemini-faq-section,.gemini-final-cta-section,.gemini-bento,.gemini-service-info,.gemini-faq,.gemini-final-cta,.gc-section-dark,.gc-section-finalcta) {
    min-height:auto !important;
    height:auto !important;
    margin-block:0 !important;
    padding-block:clamp(28px, 8vw, 54px) !important;
    overflow:visible !important;
  }
  .gemini-comp-site :where(.gemini-hero,.gc-hero,.gemini-future,.gemini-info-access,.gemini-bento,.gemini-services-row,.gemini-service-info,.gc-access-grid,.gc-trust-grid,.gemini-faq-list,.gc-faq-list,.gc-access-block) {
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
  .gemini-comp-site :where(.gemini-hero-content,.gc-hero-content,.gemini-hero__glass,.gemini-bento__panel,.gc-glass-main,.gc-finalcta-glass,.gemini-info-panel,.gemini-service-card,.gemini-faq-item,.gemini-footer__block) {
    color:inherit !important;
    background:transparent !important;
    border-color:transparent !important;
    box-shadow:none !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
    border-radius:18px !important;
    padding:clamp(18px, 5vw, 28px) !important;
  }
  .gemini-comp-site :where(.gemini-hero-content,.gc-hero-content,.gemini-hero__glass,.gemini-bento__panel,.gc-glass-main,.gc-finalcta-glass,.gemini-info-panel,.gemini-service-card,.gemini-faq-item,.gemini-footer__block) :where(h1,h2,h3,h4,p,li,dd,dt,span,a:not([class*="btn"]),small,strong),
  .gemini-comp-site :where(.gc-hero-title,.gc-hero-lead,.gc-hero-content p,.gemini-hero-title,.gemini-hero-lead,.gemini-footer,.gemini-footer p,.gemini-footer li,.gemini-footer dd,.gemini-footer dt,.gemini-service-info__desc,.gemini-faq__q,.gemini-faq__a) {
    color:inherit !important;
    opacity:1 !important;
    text-shadow:inherit !important;
  }
  .gemini-comp-site :where(.final-cta-btn,.btn-main,.gemini-hero-cta,.gemini-hero__cta,.gemini-final-cta-btn,.gc-hero-cta,.gc-finalcta-btn,[class*="cta-btn"]) {
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:48px !important;
    max-width:100% !important;
    white-space:normal !important;
    text-align:center !important;
    color:inherit !important;
    background:transparent !important;
    border:1px solid currentColor !important;
    opacity:1 !important;
    text-shadow:inherit !important;
  }
  .gemini-comp-site :where(.gemini-gallery-scroll,.gemini-gallery) {
    width:100% !important;
    max-width:100% !important;
    display:flex !important;
    gap:14px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scroll-snap-type:x proximity;
    padding:0 16px 12px !important;
  }
  .gemini-comp-site :where(.gemini-gallery__img,.gemini-gallery-item) {
    position:relative !important;
    inset:auto !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
    flex:0 0 min(72vw, 270px) !important;
    width:min(72vw, 270px) !important;
    max-width:min(72vw, 270px) !important;
    min-width:0 !important;
    min-height:210px !important;
    scroll-snap-align:center;
  }
  .gemini-comp-site :where(.gemini-hero-visual,.gc-hero-visual,.gemini-bento__img,.gemini-bento__img-large,.gemini-bento__img-small,.gemini-bento__img-tall,.gemini-bento__img-wide) {
    position:relative !important;
    inset:auto !important;
    transform:none !important;
    width:calc(100% - 28px) !important;
    max-width:calc(100% - 28px) !important;
    margin:0 auto !important;
    min-height:220px !important;
    aspect-ratio:4 / 3 !important;
    overflow:hidden !important;
  }
  .gemini-comp-site :where(.gemini-hero-visual,.gc-hero-visual,.gemini-bento__img,.gemini-bento__img-large,.gemini-bento__img-small,.gemini-bento__img-tall,.gemini-bento__img-wide,.gemini-gallery__img,.gemini-gallery-item) :where(img,picture,video) {
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    opacity:1 !important;
    filter:brightness(.96) contrast(1.04) !important;
  }
  .gemini-comp-site .codex-mobile-title {
    display:block;
    position:relative;
    top:auto;
    left:auto;
    z-index:80;
    padding:16px 18px 14px;
    border-bottom:1px solid rgba(255,255,255,.12);
    background:rgba(8,8,8,.96);
    color:var(--c-text-main,#f7f1e8);
    font-size:clamp(1.08rem,5.4vw,1.45rem);
    line-height:1.25;
    font-weight:700;
    letter-spacing:.04em;
  }
  .gemini-comp-site :where(.l-container,.wrap,.container,[class*="container"]) {
    width:100% !important;
    max-width:100% !important;
    padding-left:18px !important;
    padding-right:18px !important;
  }
  .gemini-comp-site :where(.c-hero,.hero,.hero-section,.fv,.first-view,section[class*="hero"]) {
    display:block !important;
    height:auto !important;
    min-height:auto !important;
    max-width:100% !important;
    padding-top:24px !important;
    padding-bottom:42px !important;
    overflow:hidden !important;
  }
  .gemini-comp-site :where(.hero,.hero-section,.fv,.first-view,section[class*="hero"]):has(.codex-hero-media-fix) {
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-end !important;
    min-height:620px !important;
    padding:230px 18px 34px !important;
  }
  .gemini-comp-site .codex-hero-media-fix {
    width:100% !important;
    height:100% !important;
    margin:0 !important;
    border-radius:0 !important;
    aspect-ratio:auto !important;
  }
  .gemini-comp-site :where(.gcs-hero,.gemini-comp-site-hero) {
    width:calc(100% - 36px) !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:22px !important;
    padding:24px 0 42px !important;
  }
  .gemini-comp-site :where(.gcs-hero-textblock,.hero-copy-glass,.hero-info-panel) {
    transform:none;
  }
  .gemini-comp-site :where(.gcs-hero-imgwrap,.hero-main-img,.hero-bg-overlay,.gemini-top-image-fallback),
  .gemini-comp-site :where(.gcs-hero-imgwrap,.hero-main-img,.hero-bg-overlay,.gemini-top-image-fallback) img {
    min-height:260px !important;
  }
  .gemini-comp-site :where(.hero-image-wrapper,.hero-media,.hero-image,.hero-visual,[class*="hero-image"],[class*="hero__image"],[class*="hero-media"],[class*="hero-visual"]) {
    position:relative !important;
    inset:auto !important;
    display:block !important;
    width:calc(100% - 36px) !important;
    max-width:100% !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:4 / 3;
    margin:0 auto 24px !important;
    overflow:hidden !important;
    border-radius:14px;
    z-index:1 !important;
  }
  .gemini-comp-site :where(.hero-image-wrapper,.hero-media,.hero-image,.hero-visual,[class*="hero-image"],[class*="hero__image"],[class*="hero-media"],[class*="hero-visual"]) :where(img,picture,video) {
    display:block !important;
    width:100% !important;
    height:100% !important;
    min-height:100% !important;
    object-fit:cover !important;
    object-position:center !important;
    filter:brightness(.94) contrast(1.04) !important;
    opacity:1 !important;
    mask-image:none !important;
    -webkit-mask-image:none !important;
  }
  .gemini-comp-site :where(.c-hero__content,.hero-content,.hero-inner,[class*="hero__content"],[class*="hero-inner"]) {
    width:100% !important;
    max-width:100% !important;
  }
  .gemini-comp-site :where(.hero,.hero-section,.fv,.first-view,section[class*="hero"]) :where(.gemini-hero-glass,.hero-glass,.hero-content,.hero-panel,.hero-copy-glass,[class*="hero"][class*="glass"],[class*="hero"][class*="panel"],[class*="hero"][class*="content"]) {
    width:calc(100% - 24px) !important;
    max-width:calc(100% - 24px) !important;
    min-width:0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding:clamp(18px,5vw,24px) !important;
    box-sizing:border-box !important;
  }
  .gemini-comp-site :where(.c-hero__panel,.hero-panel,[class*="hero__panel"]) {
    width:calc(100% - 24px) !important;
    max-width:calc(100% - 24px) !important;
    margin:0 !important;
    padding:clamp(18px,5vw,24px) !important;
  }
  .gemini-comp-site :where(.hero,.hero-section,.fv,.first-view,section[class*="hero"]) :where(h1,.c-hero__title,.hero-title,[class*="hero__title"]) {
    max-width:100% !important;
    font-size:clamp(1.45rem,7.4vw,2rem) !important;
    line-height:1.22 !important;
    letter-spacing:0 !important;
    margin-bottom:clamp(14px,4vw,22px) !important;
    overflow-wrap:anywhere;
    word-break:normal;
  }
  .gemini-comp-site :where(.hero,.hero-section,.fv,.first-view,section[class*="hero"]) :where(.hero-lead,.lead,p) {
    font-size:clamp(.94rem,4vw,1.04rem) !important;
    line-height:1.72 !important;
  }
  .gemini-comp-site :where(p,li,dd,span,a,button) {
    overflow-wrap:anywhere;
  }
  .gemini-comp-site :where(.c-btn,.btn,.button,[class*="btn"],[class*="button"],[class*="cta"]) {
    max-width:100% !important;
    min-height:44px;
    white-space:normal;
    text-align:center;
    line-height:1.35 !important;
    padding-left:clamp(16px,5vw,24px) !important;
    padding-right:clamp(16px,5vw,24px) !important;
  }
  .gemini-comp-site :where(.gemini-top-image-fallback,figure[class*="image"],figure[class*="visual"]) {
    margin:20px auto 0 !important;
    max-width:100% !important;
    border-radius:14px !important;
  }
  .gemini-comp-site :where(.c-bento,.bento,.bento-grid,[class*="bento"]) {
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-auto-rows:auto !important;
    gap:14px !important;
  }
  .gemini-comp-site :where(.c-bento__item,[class*="bento__item"],.bento-item,.gallery-item,[class*="gallery-item"]) {
    grid-column:auto !important;
    grid-row:auto !important;
    min-height:220px !important;
    aspect-ratio:4 / 3;
  }
  .gemini-comp-site :where(.c-bento__list-panel,[class*="bento__list"]) {
    grid-column:auto !important;
    grid-row:auto !important;
  }
  .gemini-comp-site :where(.c-scene,.scene,.scene-section,[class*="scene"]) {
    display:block !important;
    height:auto !important;
    min-height:0 !important;
    max-width:100% !important;
    overflow:visible !important;
  }
  .gemini-comp-site :where(.c-scene__split,[class*="scene__split"]) {
    position:relative !important;
    width:100% !important;
    height:auto !important;
    min-height:360px;
    clip-path:none !important;
    padding:42px 18px !important;
    display:flex !important;
    align-items:center !important;
  }
  .gemini-comp-site :where(.c-scene__panel,[class*="scene__panel"]) {
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:24px !important;
  }
  .gemini-comp-site :where(.c-info-grid,.info-grid,[class*="info-grid"],.access-grid,[class*="access-grid"]) {
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:16px !important;
  }
  .gemini-comp-site :where(.c-info-grid > div,.info-grid > div,[class*="info-grid"] > div,.access-grid > div,[class*="access-grid"] > div) {
    min-height:auto !important;
  }
  .gemini-comp-site :where(.c-info-grid__exterior,.c-info-grid__map,.info-map,.map-container,.access-map,.location-map,.google-map,.map-frame,.map-box) {
    min-height:260px !important;
  }
  .gemini-comp-site :where(.c-info-grid__details,.info-details,[class*="details"]) {
    padding:22px !important;
  }
  .gemini-comp-site :where(.c-features,.features,.feature-grid,[class*="feature-grid"]) {
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
  }
  .gemini-comp-site :where(.c-feature-item,.feature-item,[class*="feature-item"]) {
    min-width:0 !important;
    width:100% !important;
    padding:18px 12px !important;
  }
  .gemini-comp-site :where(.c-floating-cta,.floating-cta,[class*="floating-cta"]) {
    padding:10px 0 !important;
    max-width:100% !important;
  }
  .gemini-comp-site :where(.c-floating-cta__inner,[class*="floating-cta__inner"]) {
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:10px !important;
  }
  .gemini-comp-site :where(.c-floating-cta__tel,[class*="floating-cta__tel"]) {
    justify-content:center !important;
    font-size:1rem !important;
  }
  .gemini-comp-site :where(.content-audit-section,.content-audit-section .wrap) {
    max-width:100% !important;
    padding-left:18px !important;
    padding-right:18px !important;
  }
}
@media (max-width: 420px) {
  .gemini-comp-site :where(.c-features,.features,.feature-grid,[class*="feature-grid"]) {
    grid-template-columns:1fr !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  main :where(.gemini-comp-site,.ai-comp-page) :where(*, *::before, *::after) {
    animation:none !important;
    transition:none !important;
    scroll-behavior:auto !important;
  }
  main :where(.gemini-comp-site,.ai-comp-page) :where(.card,.panel,.box,.feature,.service,.faq,.item,[class*="card"],[class*="panel"],[class*="box"],[class*="item"],.btn,.button,[class*="btn"],[class*="button"],[class*="cta"]):hover {
    transform:none;
  }
}

/* codex-final-readability-guard-v1 */
.gemini-comp-site :where(p,li,dd,dt,span,small,strong,address,label) {
  opacity:1 !important;
}
body.layout-c-premium-ai .gemini-comp-site :where(h1,h2,h3,h4,.hero-title,.gemini-hero-title,.gc-hero-title,.section-title,[class*="title"],[class*="headline"],[class*="catch"]) {
  font-family:var(--aeo-font-heading, "AEO Noto Serif JP", "Noto Serif CJK JP", "Yu Mincho", "Hiragino Mincho ProN", serif) !important;
  color:#fff7df !important;
  -webkit-text-fill-color:#fff7df !important;
  text-shadow:0 3px 18px rgba(0,0,0,.70) !important;
}
body.layout-c-premium-ai .gemini-comp-site :where(.hero,.hero-section,.fv,.first-view,section[class*="hero"],[class*="dark"],[class*="night"],footer,[class*="footer"],[class*="access"],[class*="contact"]) :where(p,li,dd,dt,span,small,strong,address,a:not([class*="btn"]):not([class*="cta"])) {
  color:#f4e7c8 !important;
  -webkit-text-fill-color:#f4e7c8 !important;
  opacity:1 !important;
  text-shadow:0 2px 12px rgba(0,0,0,.58) !important;
}
.gemini-comp-site :where(.faq,.faq-section,.faqs-section,.faq-list,.gemini-faq,.gemini-faq-section,.gemini-faq-list,.gc-faq-list,[class*="faq"]) {
  background:#f8f1e3 !important;
  color:#2a2116 !important;
  -webkit-text-fill-color:#2a2116 !important;
  text-shadow:none !important;
}
.gemini-comp-site :where(.faq,.faq-section,.faqs-section,.faq-list,.gemini-faq,.gemini-faq-section,.gemini-faq-list,.gc-faq-list,[class*="faq"]) :where(h1,h2,h3,h4,p,li,dd,dt,span,small,strong,summary,button,a:not([class*="btn"]):not([class*="cta"])) {
  background:transparent !important;
  color:#2a2116 !important;
  -webkit-text-fill-color:#2a2116 !important;
  text-shadow:none !important;
  opacity:1 !important;
}
.gemini-comp-site :where(a,button,.btn,.button,[class*="btn"],[class*="button"],[class*="cta"],[class*="reserve"],[class*="reservation"],[class*="booking"]):not([class*="map"]):not([href*="maps.google"]):not([href*="tel:"]) {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  max-width:min(100%, 340px) !important;
  min-height:44px !important;
  padding:11px 24px !important;
  border-radius:2px !important;
  background:rgba(18,13,9,.72) !important;
  background-image:none !important;
  border:1px solid rgba(226,196,136,.82) !important;
  color:#fff7df !important;
  -webkit-text-fill-color:#fff7df !important;
  box-shadow:none !important;
  text-shadow:none !important;
  text-decoration:none !important;
  line-height:1.35 !important;
  white-space:normal !important;
}
.gemini-comp-site :where(a,button,.btn,.button,[class*="btn"],[class*="button"],[class*="cta"],[class*="reserve"],[class*="reservation"],[class*="booking"]):not([class*="map"]):not([href*="maps.google"]):not([href*="tel:"]) :where(*) {
  color:#fff7df !important;
  -webkit-text-fill-color:#fff7df !important;
}
.gemini-comp-site :where(.faq,.faq-section,.faqs-section,.faq-list,.gemini-faq,.gemini-faq-section,.gemini-faq-list,.gc-faq-list,[class*="faq"]) :where(button,summary,dt,h3,h4,strong,[class*="question"],[class*="label"],[class*="accordion"]) {
  background:transparent !important;
  background-image:none !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  color:#2a2116 !important;
  -webkit-text-fill-color:#2a2116 !important;
  text-shadow:none !important;
}
.gemini-comp-site :where(.light,.white,[class*="light"],[class*="white"],[style*="background:#fff"],[style*="background: #fff"],[style*="background-color:#fff"],[style*="background-color: #fff"],[style*="background:#f"],[style*="background: #f"],[style*="background-color:#f"],[style*="background-color: #f"]) :where(h1,h2,h3,h4,p,li,dd,dt,span,small,strong,label,a:not([class*="btn"]):not([class*="cta"])) {
  color:#172033 !important;
  -webkit-text-fill-color:#172033 !important;
  text-shadow:none !important;
}

/* codex-photo-slot-guard: convert text-only visual blocks into real image-backed slots */
.gemini-comp-site .codex-photo-slot {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  color:#fff !important;
  text-shadow:0 2px 14px rgba(0,0,0,.62);
}
.gemini-comp-site .codex-photo-slot .codex-image-caption {
  position:relative;
  z-index:1;
  display:inline-block;
  max-width:90%;
  padding:.45em .75em;
  border-radius:999px;
  background:rgba(0,0,0,.48);
  color:#fff !important;
  font-weight:700;
}
.gemini-comp-site :where(.gemini-gallery__desc,[class*="gallery"] [class*="desc"],[class*="company"] dd,[class*="faq"] [class*="a"]) {
  color:#f4ead7 !important;
  opacity:1 !important;
}


/* codex-visual-quality-guard-v55-base: remove empty visual slots, fake map panels, and cheap generated UI fragments */
.gemini-comp-site :where([class*="map"],.codex-forced-map__frame,.codex-public-map-frame):has(iframe.codex-map-embed) {
  position:relative !important;
  overflow:hidden !important;
  min-height:clamp(260px,28vw,380px) !important;
  background-color:#eef3f5 !important;
  background-image:linear-gradient(135deg,#edf4f7,#ffffff 48%,#dfeaf0) !important;
  border:1px solid rgba(90,112,128,.16) !important;
}
.gemini-comp-site :where([class*="map"],.codex-forced-map__frame,.codex-public-map-frame):has(iframe.codex-map-embed)::before,
.gemini-comp-site :where([class*="map"],.codex-forced-map__frame,.codex-public-map-frame):has(iframe.codex-map-embed)::after {
  display:none !important;
  content:none !important;
}
.gemini-comp-site :where([class*="map"],.codex-forced-map__frame,.codex-public-map-frame) iframe.codex-map-embed {
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:260px !important;
  opacity:1 !important;
  filter:none !important;
  background:#eef3f5 !important;
  background-image:linear-gradient(135deg,#eaf2f6,#ffffff 48%,#dbe8ee) !important;
}
.gemini-comp-site :where([class*="visual"],[class*="image"],[class*="media"],[class*="photo"],[class*="figure"],[class*="thumbnail"],[class*="thumb"]):not(:has(img)):not(:has(picture)):not(:has(svg)):not(:has(iframe)):not(:has(h1,h2,h3,h4,p,li,span,a,button,strong,small)) {
  display:none !important;
}
.gemini-comp-site :where([class*="card"],[class*="panel"],[class*="box"],[class*="tile"]):not(:has(img)):not(:has(picture)):not(:has(svg)):not(:has(iframe)):not(:has(h1,h2,h3,h4,p,li,span,a,button,strong,small)) {
  display:none !important;
}
.gemini-comp-site :where(section,[class*="section"]):not(:has(h1,h2,h3,h4,p,li,img,picture,iframe,button,a)) {
  display:none !important;
}

/* codex-visual-quality-guard-v59-restaurant: premium dining should feel editorial, not SaaS/admin UI */
.gemini-comp-site {
  --aeo-font-heading:"AEO Noto Serif JP", "Noto Serif CJK JP", "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif !important;
  --aeo-font-body:"AEO Noto Serif JP", "Noto Serif CJK JP", "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif !important;
  font-family:var(--aeo-font-body) !important;
}
.gemini-comp-site :where(body,main,section,article,div,p,li,dd,dt,span,a,strong,small) {
  writing-mode:horizontal-tb !important;
  text-orientation:mixed !important;
}
.gemini-comp-site :where(h1,h2,h3,h4,.hero-title,.gemini-hero-title,.section-title,[class*="title"],[class*="headline"],[class*="catch"]) {
  font-family:"AEO Noto Serif JP", "Noto Serif CJK JP", "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif !important;
  font-weight:500 !important;
  letter-spacing:.02em !important;
}
.gemini-comp-site :where(.hero,.hero-section,.fv,.first-view,section[class*="hero"]) :where(h1,h2,.hero-title,.gemini-hero-title,[class*="title"]) {
  writing-mode:horizontal-tb !important;
  text-orientation:mixed !important;
  transform:none !important;
  max-width:min(720px,88vw) !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  color:#fffaf0 !important;
  -webkit-text-fill-color:#fffaf0 !important;
  text-shadow:0 3px 24px rgba(24,13,4,.78),0 1px 3px rgba(24,13,4,.9) !important;
}
.gemini-comp-site :where(.hero,.hero-section,.fv,.first-view,section[class*="hero"]) :where(*) {
  writing-mode:horizontal-tb !important;
  text-orientation:mixed !important;
}
.gemini-comp-site :where(.gemini-hero-img,.hero-img,.hero-image,.hero-visual,[class*="hero-img"],[class*="hero-image"]):not(:has(img)):not(:has(picture)):not(:has(video)):not(:has(canvas)):not(:has(svg)) {
  min-height:0 !important;
}
.gemini-comp-site :where(.gemini-hero-img,.hero-img,.hero-image):not(:has(img)):not(:has(picture)):not(:has(video)):not(:has(canvas)):not(:has(svg)):not([style*="background-image"]) {
  display:none !important;
}
.gemini-comp-site :where(header,.site-header,.global-header,[class*="header"]) :where(.logo,.brand,.site-logo,[class*="logo"],[class*="brand"],[class*="name"],[class*="store"],[class*="shop"]),
.gemini-comp-site :where(.logo,.brand,.site-logo,[class*="logo"],[class*="brand"],[class*="name"],[class*="store"],[class*="shop"]):not(:has(img)):not(:has(svg)) {
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  color:#f7efe1 !important;
  -webkit-text-fill-color:#f7efe1 !important;
  font-family:var(--aeo-font-heading) !important;
  letter-spacing:.08em !important;
  text-shadow:0 2px 18px rgba(24,13,4,.58) !important;
}
.gemini-comp-site :where(.site-name,.shop-name,.store-name,.restaurant-name,.brand-name,.brand-label,.logo-text,[class*="site-name"],[class*="shop-name"],[class*="store-name"],[class*="brand-name"],[class*="logo-text"]) {
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
}
.gemini-comp-site :where([class*="label"],[class*="badge"],[class*="tag"],[class*="chip"],[class*="pill"],[class*="meta"],[class*="eyebrow"]):not(:has(img)):not(:has(svg)) {
  background:transparent !important;
  border:0 !important;
  color:#d7bc79 !important;
  -webkit-text-fill-color:#d7bc79 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  padding:0 !important;
  font-family:var(--aeo-font-heading) !important;
  letter-spacing:.08em !important;
}
.gemini-comp-site :where([style*="writing-mode"],[class*="vertical"],[class*="rotate"],[class*="side-label"],[class*="rail"]) {
  writing-mode:horizontal-tb !important;
  text-orientation:mixed !important;
  transform:none !important;
  white-space:normal !important;
}
.gemini-comp-site :where(.hero,.hero-section,.fv,.first-view,section[class*="hero"]) :where(.hero-content,.hero-copy,.hero-panel,.hero-copy-glass,.hero-info-panel,.gemini-hero-content,.gemini-hero__glass,.gc-hero-content):not(:has(img)):not(:has(picture)) {
  background:linear-gradient(105deg,rgba(28,20,12,.22),rgba(28,20,12,.06)) !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
}
.gemini-comp-site .gemini-hero:has(.gemini-hero-visual),
.gemini-comp-site :where(.hero,.hero-section,.fv,.first-view,section[class*="hero"]):has(img),
.gemini-comp-site :where(.hero,.hero-section,.fv,.first-view,section[class*="hero"]):has(picture),
.gemini-comp-site :where(.hero,.hero-section,.fv,.first-view,section[class*="hero"]):has([style*="background-image"]) {
  background:linear-gradient(90deg,rgba(20,14,9,.70),rgba(20,14,9,.20)) !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.gemini-comp-site .gemini-hero:has(.gemini-hero-visual)::before {
  border-color:rgba(226,196,136,.18) !important;
}
.gemini-comp-site :where(.gemini-service-card,.gemini-bento__panel,.gc-glass-main,.gemini-info-panel,.glass-panel,.bento-card,.info-card,.service-card,[class*="glass"],[class*="panel"],[class*="card"]):not(:has(img)):not(:has(picture)) {
  background:rgba(251,246,234,.94) !important;
  border:1px solid rgba(126,92,42,.14) !important;
  box-shadow:none !important;
  color:#2d2316 !important;
  -webkit-text-fill-color:#2d2316 !important;
}
.gemini-comp-site :where(.gemini-service-card,.gemini-bento__panel,.gc-glass-main,.gemini-info-panel,.glass-panel,.bento-card,.info-card,.service-card,[class*="glass"],[class*="panel"],[class*="card"]):not(:has(img)):not(:has(picture)) :where(h1,h2,h3,h4,strong,p,li,dd,dt,span,small,a:not([class*="btn"])) {
  color:#2d2316 !important;
  -webkit-text-fill-color:#2d2316 !important;
  text-shadow:none !important;
}
.gemini-comp-site :where(.btn,.button,[class*="btn"],[class*="button"],[class*="cta"],[class*="reserve"],[class*="reservation"],[class*="booking"],button):not([class*="map"]),
.gemini-comp-site a:where([class*="btn"],[class*="button"],[class*="cta"],[class*="reserve"],[class*="reservation"],[class*="booking"]) {
  width:auto !important;
  max-width:min(100%,320px) !important;
  min-width:0 !important;
  min-height:44px !important;
  padding:.72rem 1.45rem !important;
  background:transparent !important;
  border:1px solid rgba(226,196,136,.70) !important;
  border-radius:2px !important;
  color:#f7efe1 !important;
  -webkit-text-fill-color:#f7efe1 !important;
  box-shadow:none !important;
  text-shadow:none !important;
  font-family:var(--aeo-font-heading) !important;
  font-weight:520 !important;
  letter-spacing:.04em !important;
}
.gemini-comp-site :where(.btn,.button,[class*="btn"],[class*="button"],[class*="cta"],[class*="reserve"],[class*="reservation"],[class*="booking"],button):not([class*="map"]) :where(*),
.gemini-comp-site a:where([class*="btn"],[class*="button"],[class*="cta"],[class*="reserve"],[class*="reservation"],[class*="booking"]) :where(*) {
  color:#f7efe1 !important;
  -webkit-text-fill-color:#f7efe1 !important;
}
.gemini-comp-site :where(.btn,.button,[class*="btn"],[class*="button"],[class*="cta"],[class*="reserve"],[class*="reservation"],[class*="booking"],button):not([class*="map"]):hover,
.gemini-comp-site a:where([class*="btn"],[class*="button"],[class*="cta"],[class*="reserve"],[class*="reservation"],[class*="booking"]):hover {
  transform:translateY(-1px) !important;
  background:rgba(226,196,136,.12) !important;
}
.gemini-comp-site :where(.faq,.faq-section,.faq-list,[class*="faq"],[class*="question"],[class*="answer"],.accordion,[class*="accordion"]) {
  background:#f8f1e3 !important;
  border:0 !important;
  box-shadow:none !important;
  color:#2d2316 !important;
  border-radius:0 !important;
  padding-top:clamp(18px,3vw,42px) !important;
  padding-bottom:clamp(18px,3vw,42px) !important;
}
.gemini-comp-site :where(.faq,.faq-section,.faq-list,[class*="faq"]) * {
  background:transparent !important;
  border-color:rgba(126,92,42,.16) !important;
  box-shadow:none !important;
  border-radius:0 !important;
}
.gemini-comp-site :where(.faq,.faq-section,.faq-list,[class*="faq"],[class*="question"],[class*="answer"],.accordion,[class*="accordion"]) :where(h1,h2,h3,h4,strong,dt,summary,p,li,dd,span,small,a) {
  background:transparent !important;
  border:0 !important;
  color:#2d2316 !important;
  -webkit-text-fill-color:#2d2316 !important;
  text-shadow:none !important;
}
.gemini-comp-site :where(.faq,.faq-section,.faq-list,[class*="faq"]) :where([class*="item"],li,details,div):has(p) {
  border-bottom:1px solid rgba(126,92,42,.16) !important;
  border-radius:0 !important;
}
.gemini-comp-site :where(.faq,.faq-section,.faq-list,[class*="faq"]) :where(summary,dt,h3,h4,strong,[class*="question"],[class*="title"],[class*="label"],[class*="badge"],[class*="pill"]) {
  display:block !important;
  width:auto !important;
  background:transparent !important;
  border:0 !important;
  color:#2d2316 !important;
  -webkit-text-fill-color:#2d2316 !important;
  padding:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
}
.gemini-comp-site main :where(button:not([class*="map"]):not([class*="reserve"]):not([class*="reservation"]):not([class*="booking"]):not([class*="cta"]),summary,details > summary),
.gemini-comp-site :where(.faq,.faq-section,.faq-list,[class*="faq"],[class*="question"],[class*="accordion"]) :where(button,summary,[role="button"]) {
  background:rgba(248,241,227,.96) !important;
  color:#2d2316 !important;
  -webkit-text-fill-color:#2d2316 !important;
  border:1px solid rgba(126,92,42,.18) !important;
  box-shadow:none !important;
  text-shadow:none !important;
}
.gemini-comp-site main :where(button:not([class*="map"]):not([class*="reserve"]):not([class*="reservation"]):not([class*="booking"]):not([class*="cta"]),summary,details > summary) :where(*),
.gemini-comp-site :where(.faq,.faq-section,.faq-list,[class*="faq"],[class*="question"],[class*="accordion"]) :where(button,summary,[role="button"]) :where(*) {
  color:#2d2316 !important;
  -webkit-text-fill-color:#2d2316 !important;
  text-shadow:none !important;
}
.gemini-comp-site :where(.faq,.faq-section,.faq-list,[class*="faq"]) :where([class*="item"],li,details,div):not(:has(img)):not(:has(picture)) {
  background:transparent !important;
  border:0 !important;
  border-bottom:1px solid rgba(126,92,42,.16) !important;
  box-shadow:none !important;
  padding:1rem 0 !important;
}
.gemini-comp-site :where(.faq,.faq-section,.faq-list,[class*="faq"]) :where(summary,dt,[class*="question"])::before {
  content:none !important;
}
.gemini-comp-site :where(.faq,.faq-section,.faq-list,[class*="faq"]) :where([class*="title"],h2,h3) {
  display:inline-block !important;
  border-bottom:1px solid rgba(126,92,42,.28) !important;
  margin-bottom:1.25rem !important;
  padding-bottom:.28rem !important;
  font-family:var(--aeo-font-heading) !important;
}
.gemini-comp-site :where(.faq,.faq-section,.faq-list,[class*="faq"]) {
  max-width:min(980px,88vw) !important;
  margin-inline:auto !important;
}
.gemini-comp-site :where(.faq,.faq-section,.faq-list,[class*="faq"]) :where([class*="item"],li,details,div):has(p) {
  display:grid !important;
  grid-template-columns:minmax(12rem,.44fr) minmax(0,1fr) !important;
  gap:1rem 2rem !important;
  align-items:start !important;
  max-width:100% !important;
}
.gemini-comp-site :where(.faq,.faq-section,.faq-list,[class*="faq"]) :where(summary,dt,[class*="question"]) {
  font-family:var(--aeo-font-heading) !important;
  font-weight:520 !important;
  letter-spacing:.03em !important;
}
.gemini-comp-site :where(section,[class*="section"]):not(:where(.hero,.hero-section,.fv,.first-view,[class*="hero"])) {
  min-height:auto !important;
  padding-top:clamp(22px,3.4vw,48px) !important;
  padding-bottom:clamp(22px,3.4vw,48px) !important;
}
.gemini-comp-site :where(.spacer,.blank,.gap,[class*="spacer"],[class*="blank"],[class*="gap"]):not(:has(img)):not(:has(picture)):not(:has(p)):not(:has(h1,h2,h3,h4)) {
  display:none !important;
}
.gemini-comp-site :where(.contact,.access,[class*="contact"],[class*="access"],footer,[class*="footer"]) {
  background:#21190f !important;
  color:#f7efe1 !important;
}
.gemini-comp-site :where(dl,.info,.information,.overview,.details,[class*="info"],[class*="access"],[class*="contact"]):not(:has(img)):not(:has(picture)) {
  background:#21190f !important;
  color:#f7efe1 !important;
  -webkit-text-fill-color:#f7efe1 !important;
}
.gemini-comp-site :where(.contact,.access,[class*="contact"],[class*="access"],footer,[class*="footer"]) :where(*),
.gemini-comp-site :where(.contact,.access,[class*="contact"],[class*="access"],footer,[class*="footer"],dl,.info,.information,.overview,.details,[class*="info"]) :where(td,th,dt,dd,li,p,span,a,strong,small) {
  writing-mode:horizontal-tb !important;
  text-orientation:mixed !important;
  transform:none !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:anywhere !important;
  line-height:1.7 !important;
}
.gemini-comp-site :where(.contact,.access,[class*="contact"],[class*="access"],footer,[class*="footer"]) :where(h1,h2,h3,h4,strong,p,li,dd,dt,span,small,a:not([class*="btn"])) {
  color:#f7efe1 !important;
  -webkit-text-fill-color:#f7efe1 !important;
  text-shadow:none !important;
}
.gemini-comp-site :where(dl,.info,.information,.overview,.details,[class*="info"],[class*="access"],[class*="contact"]):not(:has(img)):not(:has(picture)) :where(h1,h2,h3,h4,strong,p,li,dd,dt,span,small,a:not([class*="btn"])) {
  color:#f7efe1 !important;
  -webkit-text-fill-color:#f7efe1 !important;
  text-shadow:none !important;
}
.gemini-comp-site :where(.contact,.access,[class*="contact"],[class*="access"]) :where(table,tbody,tr) {
  display:block !important;
  width:100% !important;
}
.gemini-comp-site :where(.contact,.access,[class*="contact"],[class*="access"]) :where(tr,dl,ul,ol) {
  display:grid !important;
  grid-template-columns:minmax(7.5rem,auto) minmax(0,1fr) !important;
  gap:.55rem 1.25rem !important;
  align-items:start !important;
}
.gemini-comp-site :where(.contact,.access,[class*="contact"],[class*="access"]) :where(td,th,dt,dd,li) {
  display:block !important;
  width:auto !important;
  min-width:0 !important;
}
.gemini-comp-site :where([class*="reservation"],[class*="booking"],[class*="final"],[class*="closing"]):not(:has(img)) {
  border-radius:0 !important;
  background:#21190f !important;
  color:#fff7e8 !important;
  -webkit-text-fill-color:#fff7e8 !important;
  border-top:1px solid rgba(226,196,136,.34) !important;
  border-bottom:1px solid rgba(226,196,136,.22) !important;
  border-left:0 !important;
  border-right:0 !important;
  box-shadow:none !important;
}
.gemini-comp-site :where([class*="reservation"],[class*="booking"],[class*="final"],[class*="closing"]):not(:has(img)) :where(.btn,.button,[class*="btn"],[class*="button"],[class*="cta"],button,a) {
  border-radius:0 !important;
  background:transparent !important;
  border:1px solid rgba(226,196,136,.62) !important;
  box-shadow:none !important;
}
/* codex-visual-quality-guard-v60-restaurant-reset: keep premium dining photo-led, not card-led */
.gemini-comp-site main {
  background:#080705 !important;
  color:#f7efe1 !important;
}
.gemini-comp-site main :where(h1,h2,h3,h4,p,li,dd,dt,span,strong,small,summary,a:not([class*="map"]),button) {
  color:#f7efe1 !important;
  -webkit-text-fill-color:#f7efe1 !important;
  text-shadow:0 2px 18px rgba(0,0,0,.72) !important;
}
.gemini-comp-site main :where(h1,h2,h3,h4,.hero-title,.gemini-hero-title,.section-title,[class*="title"],[class*="headline"],[class*="catch"]) {
  font-family:"AEO Noto Serif JP", "Noto Serif CJK JP", "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif !important;
  font-weight:480 !important;
  letter-spacing:.03em !important;
  line-height:1.42 !important;
}
.gemini-comp-site main :where(.hero,.hero-section,.fv,.first-view,section[class*="hero"]) {
  min-height:auto !important;
  height:auto !important;
  padding:clamp(72px,7vw,108px) clamp(28px,6vw,96px) clamp(64px,7vw,108px) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  overflow:visible !important;
  background-color:#080705 !important;
}
.gemini-comp-site main :where(.hero,.hero-section,.fv,.first-view,section[class*="hero"]) :where(.hero-content,.hero-copy,.hero-panel,.hero-copy-glass,.hero-info-panel,.gemini-hero-content,.gemini-hero__glass,.gc-hero-content):not(:has(img)):not(:has(picture)) {
  width:min(620px,48vw) !important;
  max-width:min(620px,48vw) !important;
  margin-left:0 !important;
  margin-right:auto !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
}
.gemini-comp-site main :where(.hero,.hero-section,.fv,.first-view,section[class*="hero"]) :where(h1,.hero-title,.gemini-hero-title,[class*="title"]) {
  max-width:11em !important;
  max-height:none !important;
  overflow:visible !important;
  font-size:clamp(2.35rem,5.2vw,5.25rem) !important;
  color:#fff8e8 !important;
  -webkit-text-fill-color:#fff8e8 !important;
}
.gemini-comp-site main :where(.gemini-service-card,.gemini-bento__panel,.gc-glass-main,.gemini-info-panel,.glass-panel,.bento-card,.info-card,.service-card,[class*="glass"],[class*="panel"],[class*="card"],[class*="box"],[class*="tile"]):not(:has(img)):not(:has(picture)):not(:has(iframe)) {
  background:transparent !important;
  border-color:rgba(226,196,136,.22) !important;
  box-shadow:none !important;
}
.gemini-comp-site main :where(.faq,.faq-section,.faq-list,[class*="faq"],[class*="question"],[class*="answer"],.accordion,[class*="accordion"]) {
  background:transparent !important;
  color:#f7efe1 !important;
  border:0 !important;
  box-shadow:none !important;
  max-width:min(960px,82vw) !important;
}
.gemini-comp-site main :where(.faq,.faq-section,.faq-list,[class*="faq"]) :where([class*="item"],li,details,div):has(p) {
  display:block !important;
  padding:1rem 0 !important;
  border:0 !important;
  border-top:1px solid rgba(226,196,136,.20) !important;
  background:transparent !important;
  box-shadow:none !important;
}
.gemini-comp-site main :where(.faq,.faq-section,.faq-list,[class*="faq"]) :where(summary,dt,[class*="question"],[class*="title"],h2,h3,h4,strong) {
  display:block !important;
  background:transparent !important;
  border:0 !important;
  padding:0 0 .45rem !important;
  color:#f7efe1 !important;
  -webkit-text-fill-color:#f7efe1 !important;
}
.gemini-comp-site main :where(.btn,.button,[class*="btn"],[class*="button"],[class*="cta"],[class*="reserve"],[class*="reservation"],[class*="booking"],button):not([class*="map"]),
.gemini-comp-site main a:where([class*="btn"],[class*="button"],[class*="cta"],[class*="reserve"],[class*="reservation"],[class*="booking"]) {
  background:transparent !important;
  border:1px solid rgba(226,196,136,.70) !important;
  border-radius:0 !important;
  box-shadow:none !important;
  color:#f7efe1 !important;
  -webkit-text-fill-color:#f7efe1 !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  line-height:1.45 !important;
}
.gemini-comp-site main :where(section,[class*="section"]):not(:where(.hero,.hero-section,.fv,.first-view,[class*="hero"])) {
  padding-top:clamp(24px,3.2vw,52px) !important;
  padding-bottom:clamp(24px,3.2vw,52px) !important;
}
@media (max-width: 760px) {
  .gemini-comp-site :where(.hero,.hero-section,.fv,.first-view,section[class*="hero"]) :where(h1,h2,.hero-title,.gemini-hero-title,[class*="title"]) {
    line-height:1.42 !important;
    font-size:clamp(2rem,11vw,3.1rem) !important;
  }
  .gemini-comp-site :where(.gallery,.menu,.menus,.course,.courses,.feature,.features,.service,.services,[class*="gallery"],[class*="menu"],[class*="course"],[class*="feature"],[class*="service"]) :where(.grid,.cards,.list,[class*="grid"],[class*="cards"],[class*="list"]) {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:1rem !important;
  }
  .gemini-comp-site :where(.gallery,.menu,.menus,.course,.courses,.feature,.features,.service,.services,[class*="gallery"],[class*="menu"],[class*="course"],[class*="feature"],[class*="service"]) :where(.card,.panel,.item,.tile,[class*="card"],[class*="panel"],[class*="item"],[class*="tile"]) {
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    writing-mode:horizontal-tb !important;
    text-orientation:mixed !important;
  }
  .gemini-comp-site :where(.gallery,.menu,.menus,.course,.courses,.feature,.features,.service,.services,[class*="gallery"],[class*="menu"],[class*="course"],[class*="feature"],[class*="service"]) :where(h1,h2,h3,h4,p,span,strong,small,li,dd,dt) {
    writing-mode:horizontal-tb !important;
    text-orientation:mixed !important;
    white-space:normal !important;
  }
  .gemini-comp-site :where(.btn,.button,[class*="btn"],[class*="button"],[class*="cta"],[class*="reserve"],[class*="reservation"],[class*="booking"],button):not([class*="map"]),
  .gemini-comp-site a:where([class*="btn"],[class*="button"],[class*="cta"],[class*="reserve"],[class*="reservation"],[class*="booking"]) {
    max-width:100% !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
  }
}