.gemini-comp-site { font-family: 'Noto Serif JP', 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', '游明朝', serif; background: #141414; color: #23242b; line-height: 1.65; font-weight: 400; --gold: #C4A67B; --offwhite: #f6f5f2; --glass: rgba(255,255,255,0.16); --header-glass: rgba(48,52,54,0.7); --darkglass: rgba(28,30,34,0.88); --radius: 20px; --shadow1: 0 4px 20px 3px rgba(50,50,60,0.13), 0 1.5px 6px 0 rgba(200,200,220,0.04); --shadow2: 0 10px 40px 5px rgba(24,24,32,0.29), 0 2.5px 12px 0 rgba(150,150,170,0.05); --textmain: #1C2230; --textdark: #23242b; --textlight: #eef2f6; --faq-light: #23242b; --faq-dark: #e4e4e4; --cta-gold: #C4A67B; scrollbar-color: #C4A67B #3c3e41; } .gemini-comp-site * { box-sizing: border-box; } .gemini-comp-site::-webkit-scrollbar { width:7px; background:#23242b; } .gemini-comp-site::-webkit-scrollbar-thumb { background:#C4A67B; border-radius:4px; } .gc-hero { position: relative; display: flex; flex-direction: column; min-height: 68vh; justify-content: flex-end; align-items: flex-start; background: linear-gradient(110deg, rgba(33,33,34,0.95) 60%, rgba(40,34,30,0.67) 100%); overflow: hidden; box-shadow: var(--shadow2); } .gc-hero .gc-hero-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 60% 48%; z-index: 0; filter: brightness(0.78) blur(0.5px) contrast(0.98); pointer-events: none;} .gc-hero .gc-hero-content { position: relative; z-index: 2; max-width: 600px; margin: 6vw 0 8vw 6vw; background: var(--header-glass); border-radius: var(--radius); padding: 3.8vw 2.4vw 3.2vw 3.2vw; box-shadow: var(--shadow1);backdrop-filter: blur(12px); } .gc-hero-title { font-size: 2.6rem; letter-spacing: 0.08em; font-weight: 700; color: var(--textlight); line-height: 1.25; font-family: "Noto Serif JP","ヒラギノ明朝 ProN",serif; margin-bottom: 0.7em; } .gc-hero-lead { font-family: 'Noto Sans JP', 'ヒラギノ角ゴシック',sans-serif; color: #ececec; margin-bottom: 1.5em; font-weight: 400; font-size: 1.25rem; letter-spacing: 0.03em; } .gc-hero-cta { display: flex; gap: 0.8em; } .btn-main { border: none; border-radius: 999px; background: linear-gradient(90deg, var(--cta-gold) 70%, #e7c368 100%); color: #23242b; font-size: 1.1rem; font-family: 'Noto Sans JP', sans-serif; font-weight: 600; padding: 0.89em 2.2em; box-shadow: 0 3px 18px 3px rgba(196,166,123,0.17); letter-spacing: 0.04em; cursor: pointer; transition: background 0.2s, box-shadow 0.2s, opacity 0.16s; } .btn-main:focus, .btn-main:hover { background: linear-gradient(90deg,#e7c368 20%, var(--cta-gold) 100%); box-shadow: 0 8px 28px 0 rgba(200, 170, 110, 0.16); opacity: 0.96; } @media (max-width: 768px) { .gc-hero {min-height: 46vh;} .gc-hero .gc-hero-content {margin: 9vw 0 4vw 5vw; padding:7vw 4vw;max-width:90vw;} .gc-hero-title{font-size:1.55rem;} } @media (max-width: 420px) { .gc-hero{min-height: 32vh;} .gc-hero .gc-hero-content {max-width:97vw;padding:10vw 5vw;} } /* Layered Glass Info Section */ .gc-section-glass { position: relative; background: none; margin-top: -6vw; padding: 0 0 6vw 0; z-index: 3; display: flex; flex-direction: row; justify-content: center; gap: 3vw; align-items: flex-start; } .gc-section-glass-wrap { width: 100%; display: flex; flex-direction: row; justify-content: center; gap: 2vw; max-width: 1240px; } .gc-glass-panel { flex: 1 1 320px; min-width: 280px; max-width: 440px; background: var(--glass); border-radius: var(--radius); box-shadow: var(--shadow2); backdrop-filter: blur(15px) saturate(132%); margin: 0 0.5vw; padding: 2.7vw 2vw 2.1vw 2.6vw; color: var(--textmain); position: relative; overflow: hidden; z-index: 2; } .gc-glass-panel:last-child {margin-left:-1vw;} .gc-glass-head { font-size: 1.17rem; font-weight: 700; color: var(--cta-gold); font-family: 'Noto Sans JP',sans-serif; letter-spacing: 0.12em; margin-bottom: 0.22em; } .gc-glass-main { font-size: 1.05rem; color: var(--textmain); margin-bottom: 0.6em; } .gc-glass-note { font-size: 0.94rem; color: #86837c; font-style: italic; margin-top: 1em; } .gc-glass-panel.time {background:rgba(34,36,40,0.4); color:var(--textlight);} .gc-glass-panel.time .gc-glass-head { color: #e7c368; } /* Consultation panel icon circle (decorative) */ .gc-glass-icircle { display: inline-block; vertical-align: middle; width: 1.3em; height: 1.3em; background: linear-gradient(135deg,#c4a67b 50%,#ECE9DF 100%); border-radius: 50%; margin-right: 0.6em;} /* Section: Gallery bento */ .gc-gallery-bento { display: flex; justify-content: center; align-items: stretch; background: var(--offwhite); padding: 5vw 0 2.5vw 0; gap: 1.7vw; position: relative; z-index: 2;} .gc-gallery-imgcard { flex: 1 1 220px; margin: 0 0.4vw; background: #f4f4f0; border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow1); display: flex; flex-direction: column; min-width: 165px; max-width: 320px;} .gc-gallery-imgcard img { width: 100%; aspect-ratio: 16/9; object-fit: cover; transition: filter .26s; filter: grayscale(9%) brightness(0.99);} .gc-gallery-imgcard:hover img, .gc-gallery-imgcard:focus-within img { filter:brightness(1.10) contrast(1.07); } .gc-gallery-imgcaption { padding: 1.08em 1em 1em 1.15em; font-size: 1.02rem; font-family: 'Noto Sans JP',sans-serif; color: #856e48;} @media(max-width:900px){ .gc-section-glass, .gc-section-glass-wrap, .gc-gallery-bento{flex-direction:column;align-items:stretch;gap:4vw;} .gc-gallery-bento {padding:8vw 0 4vw 0;} .gc-gallery-imgcard {max-width:98vw;} } /* Features/Trust block (soft focus image + icons) */ .gc-trust-feature-block { display: flex; flex-direction: row; align-items: stretch; gap: 3vw; justify-content: center; background: linear-gradient(90deg,#ece8e2 0,#faf7f3 50%,#eae6dd 100%); padding: 4vw 0 2vw 0; border-bottom: 1px solid #eee9e0;} .gc-trust-imgcard { flex: 1 1 270px; border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow1); min-width:180px; background: #fff;} .gc-trust-imgcard img { width: 100%; aspect-ratio: 5/3; object-fit: cover;} .gc-trust-points { flex:2 1 430px; display:flex; flex-direction:column; justify-content:center;} .gc-trust-point-list { margin: 0; padding: 0 1.5em 0 0.5em;} .gc-trust-point { font-size:1.05rem; color: #5a5448; margin-bottom:0.9em; font-family:'Noto Sans JP',sans-serif; display: flex; align-items:center; } .gc-trust-point-icon { width:2.2em; height:2.2em; border-radius:50%; background:linear-gradient(134deg,#c4a67b 60%,#ece9df 100%); display:flex; align-items:center; justify-content:center; margin-right:0.75em;} @media(max-width:767px){ .gc-trust-feature-block{flex-direction:column;gap:6vw;}} /* Access Section */ .gc-access-block{display:flex;flex-direction:row;align-items:stretch; position:relative;background:linear-gradient(110deg,#373C44 68%,#23242b 100%); box-shadow:var(--shadow2);min-height:380px;margin-top:-3vw;overflow:hidden;border-radius:var(--radius); max-width:1200px;margin-left:auto;margin-right:auto;} .gc-access-img{flex:1 1 380px; display:flex;align-items:stretch;justify-content:center;} .gc-access-img img{width:100%;height:100%;object-fit:cover;min-width:225px;max-width:496px; border-radius:0;} .gc-access-info-panel{flex:2 1 480px;padding:3vw 2vw 2vw 3vw;display:flex;flex-direction:column;justify-content:center;color:var(--textlight);} .gc-access-title{font-size:1.22rem;letter-spacing:0.15em;font-weight:600;color:var(--cta-gold);margin-bottom:0.7em;font-family:'Noto Sans JP',sans-serif;} .gc-access-lines{margin-bottom:1.2em;} .gc-access-label{font-style:italic;color:#d6c8a9; letter-spacing:0.08em;font-weight:500; font-size:1.01rem;} .gc-access-addr{font-size:1.07rem; font-weight:700; margin-bottom:0.4em;} .gc-access-map{border-radius:12px;overflow:hidden; border:0; min-height:196px; width:100%; min-width:180px; filter:grayscale(25%) brightness(0.98);} @media(max-width:900px){ .gc-access-block{flex-direction:column;min-height:unset;} .gc-access-img img{max-width:unset;} .gc-access-info-panel{padding:7vw 5vw 4vw 5vw;} } @media(max-width:480px){ .gc-access-block {border-radius:0;} } /* FAQ Accordion Section */ .gc-section-faq{background:linear-gradient(95deg,#ece8e2 0,#e4e1da 100%);padding:5vw 0 5vw 0;} .gc-faq-container{max-width:970px;margin:auto;padding:1vw 2vw;} .gc-faq-row{margin-bottom:2vw;border-radius:var(--radius);background:#fff;box-shadow:0 1px 12px 2px rgba(60,60,70,0.07);overflow:hidden;transition:box-shadow .2s;} .gc-faq-q{padding:1.38em 2.2em 1.12em 2.5em;cursor:pointer;font-size:1.11rem;font-weight:700;color:var(--faq-light);background:linear-gradient(92deg,#fff 80%,#f9f2e4 100%);position:relative;} .gc-faq-q:after{content:'+';position:absolute;right:1.5em;top:1.1em;font-size:1.45em;color:var(--cta-gold);transition:transform 0.14s;} .gc-faq-row.open .gc-faq-q:after{content:'–';transform:rotate(180deg);} .gc-faq-a{max-height:0;overflow:hidden;transition:max-height 0.26s cubic-bezier(.74,.03,.36,1.18);background:#f4f1ec;font-size:1.02rem;color:#686048; padding:0 2.1em; } .gc-faq-row.open .gc-faq-a{max-height:180px;padding-bottom:1.47em;padding-top:0.3em;} @media(prefers-reduced-motion:reduce){ .gc-faq-a, .gc-faq-q:after{transition:none;} } /* CTA Section */ .gc-section-finalcta{background:linear-gradient(90deg,#272018 80%,#262728 100%);padding:5vw 0 8vw 0;display:flex;align-items:center;flex-direction:column;} .gc-finalcta-glass{background:rgba(30,33,41,0.91);box-shadow:0 2px 28px 6px rgba(22,16,11,0.18);border-radius:var(--radius);padding:3vw 6vw;max-width:560px;width:100%;display:flex;flex-direction:column;align-items:center;} .gc-finalcta-title{color:var(--cta-gold);font-size:1.22rem;font-weight:600;letter-spacing:0.11em;margin-bottom:1.2em;font-family:'Noto Sans JP',sans-serif;} .gc-finalcta-desc{color:#eee;margin-bottom:2em;font-size:1.05rem;letter-spacing:0.04em;} .gc-finalcta-tel{font-size:1.08rem;color:#e4c48c;font-family:'Noto Sans JP';font-weight:500;margin-bottom:2.4em;} .gc-finalcta-btn{width:100%;max-width:320px;} .gc-finalcta-btn .btn-main{width:100%;font-size:1.18rem;padding:1.18em 0;} /* Footer/Company Info */ .gc-footer{background:linear-gradient(98deg,#232323 70%,#212125 100%);color:#d9d4ca;padding:2.7vw 0 2vw 0;} .gc-footer-wrap{max-width:1200px;margin:auto;padding:1.2vw 2vw;display:flex;flex-direction:row;gap:3vw;flex-wrap:wrap;justify-content:space-between;} .gc-foot-brand{font-family:'Noto Serif JP',serif;font-size:1.23rem;font-weight:700;letter-spacing:0.11em;margin-bottom:0.5em;color:#efefef;} .gc-foot-list{font-size:0.98rem;line-height:1.7;list-style:none;padding:0;margin:0 0 1.2em 0;} .gc-foot-group{margin-bottom:0.7em;min-width:170px;} .gc-foot-label{font-weight:600;letter-spacing:0.08em;margin-right:0.5em;} .gc-foot-legal{flex:1;align-self:flex-end;font-size:0.95rem;text-align:right;color:#968c7d;} @media(max-width:900px){ .gc-footer-wrap{flex-direction:column;gap:1vw;} .gc-foot-legal{text-align:left;} } .sr-reveal { opacity: 0; transform: translateY(40px) scale(0.98); transition: opacity .62s cubic-bezier(.71,0,.2,1.01), transform .62s cubic-bezier(.81,.01,.08,.95); } .sr-reveal.sr-active { opacity: 1; transform: none;}

/* 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;
  }
}