.gemini-comp-site { font-family: 'Noto Serif JP', 'Yu Mincho', serif; background: #181614; color: #ededec; --main: #181614; --glass: rgba(36,34,32,0.65); --glass-light: rgba(36,34,32,0.32); --accent: #A88360; --gold-shadow: 0 12px 40px rgba(168,131,96,0.09); --radius: 18px; --radius-sm: 12px; --card-bg: #23201b; --line: rgba(207,193,171,0.18); --text-muted: #a3998e; --panel-blur: blur(12px); --heading-shadow: 0 2px 10px 0 rgba(25,23,17,0.07); letter-spacing: 0.01em; line-height: 1.71; } .gemini-comp-site a { color: var(--accent); text-decoration: underline dotted; } .gemini-comp-site strong, .gemini-comp-site b { color: var(--accent); font-weight: 600; } .gemini-comp-site .hero { position: relative; min-height: 80vh; display: flex; align-items: center; justify-content: center; background: #151312; overflow: hidden; } .gemini-comp-site .hero__img-bg { width: 100vw; height: 100vh; object-fit: cover; object-position: 55% 50%; position: absolute; inset: 0; opacity: 0.93; z-index: 0; filter: brightness(0.98) saturate(1.08); pointer-events: none; } .gemini-comp-site .hero__glass { position: relative; z-index: 2; max-width: 480px; background: var(--glass); box-shadow: 0 8px 36px rgba(30,26,22,0.17), var(--gold-shadow); border-radius: var(--radius); backdrop-filter: var(--panel-blur); -webkit-backdrop-filter: var(--panel-blur); padding: 2.5rem 2rem 2rem 2.5rem; margin-left: 2.5vw; animation: fadeInUp 1s 0.1s both; } .gemini-comp-site .hero__glass h1 { font-family: 'Noto Serif JP', 'Yu Mincho', serif; font-size: 2.05rem; margin-bottom: 0.8rem; color: #fff; text-shadow: var(--heading-shadow); font-weight: 600; letter-spacing: 0.01em; } .gemini-comp-site .hero__glass p { color: #f5f3ed; font-size: 1.1rem; margin-bottom: 1.5rem; line-height: 1.7; } .gemini-comp-site .c-btn-main { background: var(--accent); color: #fff; padding: 0.85em 2.2em; border: none; border-radius: var(--radius-sm); font-size: 1.11rem; font-weight: 600; letter-spacing: 0.09em; box-shadow: 0 2px 16px rgba(168,131,96,0.09); cursor: pointer; transition: background 0.3s, transform 0.18s cubic-bezier(.42,0,.74,1.42); outline: none; position: relative; } .gemini-comp-site .c-btn-main:focus-visible, .gemini-comp-site .c-btn-main:hover { background: #907256; transform: translateY(-2px) scale(1.02); } .gemini-comp-site .hero__cta-group { display: flex; gap: 1.2em; } .gemini-comp-site .gallery-bento { display: grid; grid-template-columns: 2fr 1.5fr 1.5fr 1.2fr; grid-template-rows: 220px 160px; gap: 1rem 1.5rem; background: none; margin: 0 auto 3rem; padding: 3.5rem 0 1rem 0; max-width: 1120px; } .gemini-comp-site .gallery-bento .bento-img { border-radius: var(--radius); box-shadow: 0 3px 15px 0 rgba(36,34,32,0.11); object-fit: cover; width: 100%; height: 100%; background: #222; display: block; border: none; } /* Bento grid placement for visual rhythm */ .gemini-comp-site .gallery-bento .bento-img:nth-child(1) { grid-row: 1/3; grid-column: 1/2; height: 386px; } .gemini-comp-site .gallery-bento .bento-img:nth-child(2) { grid-row: 1/2; grid-column: 2/3; } .gemini-comp-site .gallery-bento .bento-img:nth-child(3) { grid-row: 1/2; grid-column: 3/4; } .gemini-comp-site .gallery-bento .bento-img:nth-child(4) { grid-row: 2/3; grid-column: 2/3; } .gemini-comp-site .gallery-bento .bento-img:nth-child(5) { grid-row: 1/3; grid-column: 4/5; height: 386px; } .gemini-comp-site .gallery-bento .bento-img:nth-child(6) { grid-row: 2/3; grid-column: 3/4; } .gemini-comp-site .gallery-bento .bento-img { transition: box-shadow 0.28s, transform 0.28s; } .gemini-comp-site .gallery-bento .bento-img:hover { box-shadow: 0 6px 36px 0 rgba(168,131,96,0.16), 0 2px 8px 0 #a8836048; transform: scale(1.016); z-index: 3; } .gemini-comp-site .planning-section { display: flex; flex-wrap: wrap; align-items: stretch; max-width: 1120px; margin: 0 auto 4.5rem; gap: 2.5rem; } .gemini-comp-site .planning-section .planning-img-block { flex: 2 1 420px; min-width: 300px; max-width: 540px; border-radius: var(--radius); overflow: hidden; box-shadow: 0 3px 25px rgba(36,34,32,0.14), var(--gold-shadow); } .gemini-comp-site .planning-section .planning-img { width: 100%; height: 310px; object-fit: cover; display: block; } .gemini-comp-site .planning-section .planning-panel { flex: 2 1 330px; min-width: 260px; background: var(--glass-light); border-radius: var(--radius); margin-top: 3.5rem; margin-left: -70px; box-shadow: 0 2px 32px 0 rgba(110,80,40,0.06); padding: 2.2rem 2rem; position: relative; z-index: 2; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); } .gemini-comp-site .planning-section .planning-panel h2 { font-size: 1.33rem; color: #fff; margin-bottom: 1rem; letter-spacing: 0.01em; font-weight: 600; } .gemini-comp-site .planning-section .planning-panel p { color: #ede1d2; font-size: 1.06rem; } .gemini-comp-site .service-menu-section { display: flex; gap: 2vw; justify-content: center; margin: 0 auto 3.5rem; max-width: 1100px; flex-wrap: wrap; } .gemini-comp-site .service-card { background: var(--card-bg); border-radius: var(--radius-sm); box-shadow: 0 4px 16px 0 rgba(30,21,18,0.07), var(--gold-shadow); min-width: 170px; flex: 1 1 160px; display: flex; flex-direction: column; align-items: flex-start; padding: 1.3rem 1.2rem 1rem; margin-bottom: 1.6rem; transition: transform 0.22s, box-shadow 0.22s; border: 1px solid var(--line); } .gemini-comp-site .service-card:hover, .gemini-comp-site .service-card:focus-within { transform: translateY(-4px) scale(1.025); box-shadow: 0 4px 30px 0 rgba(168,131,96,0.21); border-color: var(--accent); } .gemini-comp-site .service-card-title { color: #e2d4bb; font-size: 1.07rem; font-weight: 600; margin-bottom: 0.6em; letter-spacing: 0.01em; } .gemini-comp-site .service-card-desc { font-size: 0.97rem; color: #cab37b; } .gemini-comp-site .service-card-icon { display: inline-block; font-size: 1.45em; margin-right: 0.40em; color: var(--accent); vertical-align: middle; } .gemini-comp-site .craftsmanship-section { max-width: 1100px; margin: 0 auto 2.8rem; padding-left: 0.5vw; display: flex; gap: 2vw; overflow-x: auto; } .gemini-comp-site .craftsmanship-img { flex: 1 0 210px; min-width: 180px; max-width: 232px; aspect-ratio: 4/3; border-radius: var(--radius); margin-right: 1.0vw; object-fit: cover; box-shadow: 0 12px 36px rgba(25,18,12,0.12); background: #26231e; transition: filter 0.2s; } .gemini-comp-site .craftsmanship-section .craftsmanship-note { flex: 1 1 250px; align-self: center; margin-left: 1.8vw; color: #dfcba6; font-size: 1.06rem; font-weight: 500; text-shadow: 0 1px 7px rgba(30,24,10,0.14); letter-spacing: 0.01em; } .gemini-comp-site .faq-section { display: flex; max-width: 1100px; margin: 0 auto 4rem; gap: 3vw; align-items: flex-start; flex-wrap: wrap; } .gemini-comp-site .faq-list-block { flex: 1 1 380px; min-width: 260px; background: var(--glass); border-radius: var(--radius); box-shadow: 0 5px 38px rgba(36,34,32,0.14); padding: 2.2rem 1.7rem; } .gemini-comp-site .faq-list-block h2 { font-size: 1.15rem; color: #e9dec6; margin-bottom: 1.2em; letter-spacing: 0.04em; font-weight: 600; } .gemini-comp-site .faq-item { border-bottom: 1px solid var(--line); padding: 1em 0; transition: background 0.12s; } .gemini-comp-site .faq-q { font-weight: 500; color: #ecd7b5; cursor: pointer; font-size: 1.08rem; display: flex; align-items: center; justify-content: space-between; } .gemini-comp-site .faq-q:after { content: '+'; font-weight: bold; margin-left: 1em; color: var(--accent); font-size: 1.1em; transition: transform 0.2s; } .gemini-comp-site .faq-item.open .faq-q:after { content: '-'; transform: rotate(180deg); } .gemini-comp-site .faq-a { max-height: 0; overflow: hidden; color: #ddd3c8; font-size: 0.98em; transition: max-height 0.36s cubic-bezier(.48,2,.56,0.75), opacity 0.3s; opacity: 0; padding-left: 0.5em; } .gemini-comp-site .faq-item.open .faq-a { max-height: 220px; opacity: 1; margin-top: 0.7em; } .gemini-comp-site .faq-img-block { flex: 1 1 380px; min-width: 240px; border-radius: var(--radius); overflow: hidden; margin-top: -2.2em; align-self: flex-start; box-shadow: 0 9px 40px rgba(168,131,96,0.12); min-height: 285px; background: #23201a; } .gemini-comp-site .faq-img { width: 100%; height: 100%; object-fit: cover; display: block; } .gemini-comp-site .access-section { max-width: 1100px; margin: 0 auto 3em; display: flex; flex-wrap: wrap; gap: 3vw; align-items: flex-start; } .gemini-comp-site .access-info { flex: 1 1 300px; border-radius: var(--radius); background: var(--glass); box-shadow: 0 4px 24px rgba(36,34,32,0.11); padding: 1.5rem 1.5rem 1.6rem 2rem; margin-bottom: 2em; } .gemini-comp-site .access-info h2 { font-size: 1.15rem; color: #e6d5b0; margin-bottom: 0.85em; font-weight: 600; } .gemini-comp-site .access-info dl { border-left: 2.5px solid var(--accent); padding-left: 1.15em; } .gemini-comp-site .access-info dt { font-size: 1.00rem; color: #cab292; font-weight: 500; } .gemini-comp-site .access-info dd { color: #e9e5df; font-size: 1.07em; margin-bottom: 0.52em; margin-left: 0; } .gemini-comp-site .map-embed { flex: 3 1 380px; min-width: 275px; border-radius: var(--radius); overflow: hidden; box-shadow: 0 8px 32px 0 rgba(25,24,19,0.13); background: #1d1913; aspect-ratio: 16/8; max-height: 308px; border: none; min-height: 220px; } .gemini-comp-site .final-cta-section { margin-top: 6rem; max-width: none; background: linear-gradient(100deg, #23201a, #181614 72%); min-height: 198px; display: flex; align-items: center; justify-content: center; padding: 3.5rem 0 2.8rem 0; border-top-left-radius: 60px 24px; border-top-right-radius: 64px 18px; box-shadow: 0 -22px 54px rgba(25,18,7,0.07); position: relative; } .gemini-comp-site .final-cta-panel { background: var(--glass); box-shadow: 0 3px 38px var(--glass), 0 0 12px rgba(168,131,96,0.07); border-radius: var(--radius); backdrop-filter: blur(10px); display: flex; align-items: center; gap: 2.7em; max-width: 660px; margin: auto; padding: 2.2rem 2.2rem 2.1rem 2.6rem; position: relative; } .gemini-comp-site .final-cta-msg { flex: 1 1 330px; color: #efe0c6; font-size: 1.23em; font-weight: 600; line-height: 1.5; letter-spacing: 0.01em; margin-bottom: 0.4em; } .gemini-comp-site .final-cta-action { flex: 0 0 auto; display: flex; flex-direction: column; gap: 1.1em; align-items: flex-end; } .gemini-comp-site .final-cta-action .c-btn-main { font-size: 1rem; padding: 0.76em 2.3em; } .gemini-comp-site .footer { width: 100%; background: #1b1917; color: #e3dbce; letter-spacing: 0.03em; font-size: 1.02em; padding: 2.1rem 0 1.2rem 0; text-align: center; border-top: 1px solid #2a241e; } /* Scroll fade-in effect (scroll reveal) */ .gemini-comp-site [data-reveal] { opacity: 0; transform: translateY(48px); transition: opacity 0.65s cubic-bezier(.22,.7,.25,1), transform 0.65s cubic-bezier(.22,.7,.25,1); } .gemini-comp-site [data-reveal].revealed { opacity: 1; transform: none; } @media (max-width: 1100px) { .gemini-comp-site .gallery-bento { grid-template-columns: 1.5fr 1fr 1fr 1fr; max-width: 98vw; } .gemini-comp-site .planning-section { gap: 1.1rem; } } @media (max-width: 768px) { .gemini-comp-site .hero__glass { max-width: 98vw; margin: 0 auto; left: 0; padding: 2.1rem 0.8rem 1.7rem 1.1rem; } .gemini-comp-site .gallery-bento { grid-template-columns: 1fr 1fr; grid-template-rows: repeat(4, 180px); gap: 0.6rem 0.7rem; padding-top: 2.2rem; } .gemini-comp-site .gallery-bento .bento-img:nth-child(1) { grid-column: 1/2; grid-row: 1/3; height: 270px; } .gemini-comp-site .gallery-bento .bento-img:nth-child(2) { grid-column: 2/3; grid-row: 1/2; } .gemini-comp-site .gallery-bento .bento-img:nth-child(3) { grid-column: 2/3; grid-row: 2/3; } .gemini-comp-site .gallery-bento .bento-img:nth-child(4) { grid-column: 1/2; grid-row: 3/4; } .gemini-comp-site .gallery-bento .bento-img:nth-child(5) { grid-column: 2/3; grid-row: 3/5; height: 230px; } .gemini-comp-site .gallery-bento .bento-img:nth-child(6) { grid-column: 1/2; grid-row: 4/5; } .gemini-comp-site .planning-section { flex-direction: column; gap: 0.1rem; margin-bottom: 2.0rem; } .gemini-comp-site .planning-panel { margin-left: 0; margin-top: -1.5rem; } .gemini-comp-site .service-menu-section { flex-direction: column; flex-wrap: nowrap; align-items: stretch; gap: 1.1rem; max-width: 92vw; } .gemini-comp-site .service-card { min-width: 0; } .gemini-comp-site .craftsmanship-section { flex-direction: column; gap: 0.6rem; max-width: 95vw; } .gemini-comp-site .faq-section { flex-direction: column; gap: 1.5rem; max-width: 98vw; } .gemini-comp-site .final-cta-panel { flex-direction: column; gap: 1.2em; max-width: 96vw; padding: 1.45rem 1.1rem 1.6rem 1.2rem; } } @media (max-width: 480px) { .gemini-comp-site .hero__glass { padding: 1.2rem 0.7rem 1.1rem 0.9rem; font-size: .99em; } .gemini-comp-site .gallery-bento, .gemini-comp-site .craftsmanship-section, .gemini-comp-site .footer, .gemini-comp-site .access-section { max-width: 99vw; padding-left: 0; padding-right: 0; } .gemini-comp-site .planning-panel, .gemini-comp-site .access-info { padding: 1.18em 0.53em; font-size: 0.99em; } .gemini-comp-site .faq-list-block { padding: 1.1em 0.5em; } } @keyframes fadeInUp { from { opacity: 0; transform: translateY(22px);} to { opacity: 1; transform: none; } } @media (prefers-reduced-motion: reduce) { .gemini-comp-site *, .gemini-comp-site *:before, .gemini-comp-site *:after { transition: none !important; animation: none !important; } }

/* 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(.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 .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,
.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([id]) {
  scroll-margin-top:var(--codex-fixed-header-offset);
}
html:has(.gemini-comp-site) {
  scroll-padding-top:clamp(88px,10vw,124px);
}
.gemini-comp-site :where(.map-container,.c-info-grid__map,.info-map,.access-map,.location-map,.google-map,.map-frame,.map-box) {
  position:relative;
  overflow:hidden;
  min-height:300px;
}
.gemini-comp-site :where(.map-container,.c-info-grid__map,.info-map,.access-map,.location-map,.google-map,.map-frame,.map-box) iframe.codex-map-embed {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  filter:saturate(.92) contrast(.96);
}
.gemini-comp-site :where(.map-container,.c-info-grid__map,.info-map,.access-map,.location-map,.google-map,.map-frame,.map-box):has(iframe.codex-map-embed) :where(.map-grid-lines,.map-pin,.c-map-pin) {
  display:none !important;
}
.gemini-comp-site :where(.info-map,.map-box,.map-frame):has(iframe.codex-map-embed) > :where(svg,h1,h2,h3,h4,p,span) {
  display:none !important;
}
.gemini-comp-site :where(.gcs-hero,.gemini-comp-site-hero) {
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  min-height:min(720px,calc(100vh - 96px)) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  overflow:hidden !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:nowrap !important;
  overflow-wrap:normal !important;
  letter-spacing:min(.06em,1px) !important;
}
.gemini-comp-site :where(.gcs-hero-textblock,.hero-copy-glass,.hero-info-panel) {
  transform:translateY(-18px);
}
.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 .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:#111827;
}
.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-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 .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(.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(.c-hero__panel,.hero-panel,[class*="hero__panel"]) {
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:24px !important;
  }
  .gemini-comp-site :where(h1,.c-hero__title,.hero-title,[class*="hero__title"]) {
    max-width:100% !important;
    font-size:clamp(1.7rem,9vw,2.4rem) !important;
    line-height:1.25 !important;
    overflow-wrap:anywhere;
    word-break:normal;
  }
  .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%;
    min-height:44px;
    white-space:normal;
    text-align:center;
  }
  .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;
  }
}