.gemini-comp-site{--bg:#0A1120;--glass-bg:rgba(16,22,38,0.84);--gold:#C5A059;--champagne:#D4AF37;--silver:#d9dadb;--border:#233055;--txt-main:#dadfe7;--txt-strong:#fff;--txt-muted:#a4abc8;--navy:#253059;--radius:12px;--shadow:0 8px 24px 0 rgba(16,20,34,0.32);--heading:'Noto Serif JP','Yu Mincho',serif;--body:'Noto Sans JP','Yu Gothic',sans-serif;--fz-h1:clamp(2rem,5vw,2.6rem);--fz-h2:clamp(1.3rem,3vw,1.85rem);--fz-h3:1.1rem;--line:1.6;border-radius:0;padding:0;margin:0;background:var(--bg);color:var(--txt-main);font-family:var(--body);letter-spacing:.02em;min-height:100vh;}.gemini-comp-site main{display:block;}section.gemini-hero{position:relative;min-height:74svh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(120deg,rgba(12,19,32,0.92) 55%,rgba(24,30,47,0.92) 100%);}section.gemini-hero .hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%;z-index:1;filter:brightness(0.76) contrast(1.07) blur(0.6px);}section.gemini-hero .gemini-hero-glass{position:relative;z-index:2;max-width:540px;width:98%;background:var(--glass-bg);backdrop-filter:blur(11px) saturate(1.14);box-shadow:0 6px 44px 0 rgba(19,20,40,0.30);border-radius:var(--radius);padding:clamp(2rem,4vw,3.6rem) clamp(1.3rem,3vw,2.4rem);margin-left:0;display:flex;flex-direction:column;gap:2rem;border:1.5px solid rgba(225,196,133,0.054);}section.gemini-hero h1{font-family:var(--heading);font-size:var(--fz-h1);color:var(--txt-strong);letter-spacing:0.01em;margin-bottom:1.2rem;line-height:1.19;font-weight:700;}section.gemini-hero .hero-lead{font-size:1.05rem;line-height:1.78;color:var(--txt-main);margin-bottom:2.2rem;}section.gemini-hero .cta-btn{display:inline-block;padding:0.88em 2.6em;font-size:1.13rem;font-weight:600;letter-spacing:0.07em;background:linear-gradient(90deg,#D4AF37 0%,#C5A059 90%);box-shadow:0 2px 14px 0 rgba(197,160,89,0.16);color:#1a1400;border:none;border-radius:24px;transition:box-shadow 0.25s cubic-bezier(.32,.72,.43,1),transform 0.18s;outline:0;cursor:pointer;}section.gemini-hero .cta-btn:focus{outline:2px solid var(--gold);}section.gemini-hero .cta-btn:hover{box-shadow:0 8px 28px 0 rgba(197,160,89,0.33);transform:translateY(-1px) scale(1.038);}@media (max-width:768px){section.gemini-hero{min-height:60svh;}section.gemini-hero .gemini-hero-glass{padding:1.4rem 1.1rem;}}@media (max-width:480px){section.gemini-hero .gemini-hero-glass{max-width:99vw;padding:1.0rem 0.3rem;}}section.gemini-intent{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;min-height:36svh;padding:0;margin:0 0 1.5rem 0;position:relative;background:linear-gradient(114deg,rgba(12,19,32,0.96) 75%,rgba(197,160,89,0.012) 99%);}section.gemini-intent .intent-img-stack{position:relative;display:flex;flex-direction:column;justify-content:flex-start;gap:1.15rem;padding:2.5rem 1.4rem 2.5rem 4vw;}section.gemini-intent .intent-img-stack .intent-img{box-shadow:0 3px 28px 0 rgba(19,20,40,0.15);border-radius:10px;object-fit:cover;width:96%;max-width:310px;max-height:165px;background:#181F2F;}section.gemini-intent .intent-main-panel{display:flex;flex-direction:column;justify-content:center;gap:2.2rem;padding:2.7rem 5vw 2.7rem 2vw;}section.gemini-intent h2{color:var(--gold);font-size:var(--fz-h2);font-family:var(--heading);font-weight:600;margin-bottom:1.2rem;}section.gemini-intent .intent-copy{font-size:1.03rem;line-height:1.73;color:var(--txt-main);}section.gemini-intent .intent-feature-list{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.25rem 1.1rem;margin-top:1.3rem;}section.gemini-intent .intent-feature{background:rgba(19,22,43,0.78);border-radius:var(--radius);box-shadow:0 2px 8px 0 rgba(16,20,32,0.11);padding:1.1rem 1.1rem 1rem 1.2rem;display:flex;flex-direction:column;align-items:flex-start;min-width:0;border-left:2px solid var(--gold);}section.gemini-intent .intent-feature .feature-title{color:var(--silver);font-size:1.03rem;font-weight:550;margin-bottom:0.43rem;}section.gemini-intent .intent-feature .feature-descr{font-size:0.9rem;color:var(--txt-muted);}section.gemini-intent .intent-feature:focus-within,.gemini-intent .intent-feature:hover{background:rgba(20,25,46,0.88);box-shadow:0 5px 19px 0 rgba(197,160,89,0.10);}@media (max-width:900px){section.gemini-intent{grid-template-columns:1fr;}.gemini-intent .intent-img-stack{padding:2rem 1.1rem 1.2rem 1.2rem;flex-direction:row;gap:1.2rem;}section.gemini-intent .intent-main-panel{padding:1.2rem 1rem 1.7rem 1.1rem;}}@media (max-width:600px){section.gemini-intent{grid-template-columns:1fr;}section.gemini-intent .intent-feature-list{grid-template-columns:1fr;}section.gemini-intent .intent-img-stack .intent-img{max-width:48vw;max-height:90px;}}section.gemini-services{margin:0;padding:0;background:linear-gradient(115deg,rgba(17,24,38,0.98) 76%,rgba(197,160,89,0.018) 100%);display:grid;place-items:center;padding-bottom:2.8rem;}section.gemini-services .inner{width:98vw;max-width:1180px;display:grid;grid-template-columns:repeat(3,1fr);gap:2.5vw 2vw;margin-top:-3.5rem;position:relative;z-index:2;}section.gemini-services .service-card{background:rgba(19,21,36,0.88);border-radius:var(--radius);box-shadow:0 3px 24px 0 rgba(12,13,25,0.12);border-left:2px solid var(--gold);overflow:hidden;transition:box-shadow 0.22s,transform 0.18s;display:flex;flex-direction:column;align-items:flex-start;min-height:330px;position:relative;}section.gemini-services .service-card:hover{box-shadow:0 10px 36px 0 rgba(197,160,89,0.10);transform:translateY(-2px) scale(1.022);}section.gemini-services .service-card .card-img{width:100%;height:134px;object-fit:cover;border-radius:var(--radius) var(--radius) 0 0;box-shadow:0 4px 10px 0 rgba(29,22,8,0.09);}section.gemini-services .service-card .card-icon{font-size:2.7rem;color:var(--champagne);margin-top:-1.9rem;margin-left:1.45rem;filter:drop-shadow(0 3px 9px rgba(212,175,55,0.14));}section.gemini-services .service-card .card-content{padding:1.3rem 1.6rem;display:flex;flex-direction:column;gap:0.7rem;}section.gemini-services .service-card .card-title{font-size:1.03rem;color:var(--gold);font-weight:600;}section.gemini-services .service-card .card-desc{font-size:0.98rem;color:var(--txt-main);padding-top:0.05em;}@media (max-width:1100px){section.gemini-services .inner{grid-template-columns:1fr 1fr;}}@media (max-width:767px){section.gemini-services .inner{grid-template-columns:1fr;}section.gemini-services .service-card{min-height:220px;}}section.gemini-process{display:flex;flex-direction:column;align-items:center;background:linear-gradient(125deg,rgba(17,22,38,0.99) 65%,rgba(197,160,89,0.025) 100%);padding:2rem 0;}section.gemini-process h2{color:var(--gold);font-size:var(--fz-h2);font-family:var(--heading);font-weight:600;margin:0 0 1.7rem 0;}section.gemini-process .process-list{display:flex;flex-wrap:wrap;gap:1.7rem;justify-content:center;width:98vw;max-width:1200px;}section.gemini-process .process-step{background:rgba(19,22,43,0.74);box-shadow:0 2px 21px 0 rgba(16,20,38,0.13);border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:136px;max-width:176px;padding:1.18rem 1.2rem 1.1rem 1.18rem;text-align:center;border:1.2px solid rgba(197,160,89,0.07);position:relative;transition:background 0.2s,box-shadow 0.2s;}section.gemini-process .process-step:not(:last-child)::after{content:'\203A';color:var(--gold);font-size:2.1rem;right:-1.2rem;top:44%;position:absolute;transform:translateY(-50%);}section.gemini-process .process-step strong{color:var(--gold);font-size:1rem;font-weight:650;display:block;margin-bottom:0.41em;margin-top:0.17em;}section.gemini-process .process-step span{color:var(--txt-main);font-size:0.96rem;word-break:break-word;}section.gemini-process .process-step:focus-within,.gemini-process .process-step:hover{background:rgba(20,25,46,0.94);box-shadow:0 6px 18px 0 rgba(197,160,89,0.12);}@media (max-width:890px){section.gemini-process .process-list{gap:1.1rem;}section.gemini-process .process-step{min-width:92px;max-width:100vw;padding:0.7rem 0.6rem 0.7rem 0.6rem;}}@media (max-width:600px){section.gemini-process .process-list{flex-direction:column;}section.gemini-process .process-step{width:98vw;max-width:97vw;margin-bottom:0.7rem;}}section.gemini-trust{display:grid;grid-template-columns:1.1fr 0.9fr;gap:2vw;align-items:stretch;min-height:320px;max-width:1220px;padding:2em 0 1em 0;margin:0 auto;}section.gemini-trust .trust-visual{background:linear-gradient(120deg,rgba(22,28,38,0.94) 80%,rgba(197,160,89,0.036) 100%);border-radius:var(--radius);box-shadow:0 1px 26px 0 rgba(44,44,80,0.08);display:flex;flex-direction:column;align-items:stretch;overflow:hidden;}section.gemini-trust .trust-img{width:100%;height:220px;object-fit:cover;border-radius:var(--radius) var(--radius) 0 0;}section.gemini-trust .trust-detail{padding:1.35em 2.1em;display:flex;flex-direction:column;gap:0.5em;}section.gemini-trust .trust-detail .firm-name{color:var(--gold);font-size:1.17rem;font-weight:600;margin-bottom:0.6em;}section.gemini-trust .trust-detail .firm-addr{color:var(--txt-main);font-size:0.99rem;}section.gemini-trust .trust-note{font-size:0.85rem;color:var(--txt-muted);line-height:1.7;margin-top:0.4em;}section.gemini-trust .trust-cert{width:100%;height:138px;object-fit:cover;border-radius:0 0 var(--radius) var(--radius);margin-top:1.05em;}section.gemini-trust .trust-profile-panel{background:rgba(21,27,44,0.94);border-radius:var(--radius);box-shadow:0 3px 28px 0 rgba(26,23,26,0.08);padding:2.1em 1.6em 2em 1.7em;margin:1.1em 1em 0.7em 0;display:flex;flex-direction:column;gap:1.14em;}section.gemini-trust .trust-profile-panel h3{color:var(--silver);font-size:1.09rem;font-weight:600;margin:0 0 0.5em 0;}section.gemini-trust .trust-profile-label{color:var(--txt-muted);font-size:0.96em;margin-bottom:0.13em;}section.gemini-trust .trust-profile-value{color:var(--txt-main);font-size:1.01em;}@media (max-width:900px){section.gemini-trust{grid-template-columns:1fr;gap:2rem 0;}section.gemini-trust .trust-profile-panel{margin:1.3em auto;}}@media (max-width:480px){section.gemini-trust .trust-detail{padding:1em 0.5em;}.gemini-trust .trust-profile-panel{padding:1.4em 0.7em 1.16em 0.8em;}}section.gemini-faq{background:linear-gradient(106deg,rgba(12,17,32,0.99) 92%,rgba(197,160,89,0.008) 100%);padding:3.2vw 1.5vw;}section.gemini-faq .faq-inner{max-width:960px;margin:0 auto;display:grid;gap:1.2rem;}section.gemini-faq h2{color:var(--gold);font-size:var(--fz-h2);font-family:var(--heading);font-weight:600;letter-spacing:0.04em;margin-bottom:2.2rem;}section.gemini-faq .faq-list{display:grid;gap:0.88em;}section.gemini-faq .faq-item{background:rgba(22,28,38,0.86);border-radius:var(--radius);box-shadow:0 2px 19px 0 rgba(22,20,32,0.085);padding:1.05em 1.2em;transition:background 0.17s,box-shadow 0.13s;cursor:pointer;position:relative;}section.gemini-faq .faq-question{color:var(--gold);font-weight:600;font-size:1.06em;display:flex;justify-content:space-between;align-items:center;user-select:none;}section.gemini-faq .faq-toggle{display:inline-block;transition:transform 0.25s;transform:rotate(0deg);}section.gemini-faq .faq-item.open .faq-toggle{transform:rotate(45deg);}section.gemini-faq .faq-answer{font-size:1em;color:var(--txt-main);line-height:1.66;max-height:0;overflow:hidden;transition:max-height 0.21s cubic-bezier(.37,1.22,.41,.99);margin-top:0;}section.gemini-faq .faq-item.open .faq-answer{max-height:390px;margin-top:0.92em;}@media (max-width:600px){section.gemini-faq{padding:1.7vw 0.32vw;}section.gemini-faq h2{margin-bottom:1.1rem;}}section.gemini-access{background:linear-gradient(118deg,rgba(10,17,32,0.976) 86%,rgba(197,160,89,0.028) 100%);padding:2.65rem 0 1.8rem 0;display:flex;justify-content:center;}section.gemini-access .access-inner{display:grid;grid-template-columns:1.25fr 0.95fr;gap:2.3vw;align-items:stretch;width:98vw;max-width:1140px;}section.gemini-access .access-map-wrap{border-radius:var(--radius);overflow:hidden;box-shadow:0 2px 20px 0 rgba(46,22,43,0.08);}section.gemini-access .access-map{width:100%;height:252px;border:none;}section.gemini-access .access-info{background:rgba(26,29,44,0.93);box-shadow:0 2px 11px 0 rgba(30,21,22,0.08);border-radius:var(--radius);padding:2.1em 1.3em 1.8em 1.4em;display:flex;flex-direction:column;gap:0.7em;}section.gemini-access .access-title{color:var(--gold);font-size:1.08rem;font-weight:600;margin-bottom:0.9em;}section.gemini-access .access-row{display:flex;gap:1.2em;font-size:0.97em;align-items:center;}section.gemini-access .access-label{color:var(--txt-muted);min-width:6em;}.gemini-access .access-value{color:var(--txt-main);}@media (max-width:900px){section.gemini-access .access-inner{grid-template-columns:1fr;gap:2.6vw;}.gemini-access .access-map{height:180px;}}section.gemini-cta{background:linear-gradient(131deg,rgba(18,21,42,0.94) 79%,rgba(197,160,89,0.025) 100%);padding:2.52rem 0 3.5rem 0;display:flex;flex-direction:column;align-items:center;position:relative;overflow:hidden;}section.gemini-cta .cta-panel{background:rgba(26,29,44,0.96);border-radius:20px;box-shadow:0 5px 32px 0 rgba(197,160,89,0.13);padding:2.4rem 3.2rem 2.8rem 3.2rem;display:flex;flex-direction:column;align-items:center;max-width:600px;width:100%;margin:0 auto;gap:2.2rem;z-index:2;position:relative;}section.gemini-cta h2{color:var(--gold);font-size:1.27rem;font-weight:600;margin-bottom:1em;}section.gemini-cta .cta-desc{color:var(--txt-main);font-size:1.08rem;margin-bottom:1.55em;}section.gemini-cta .cta-buttons{display:flex;gap:1.1em;flex-wrap:wrap;justify-content:center;}section.gemini-cta .cta-btn{display:inline-block;padding:0.9em 2.7em;font-size:1.13rem;font-weight:600;letter-spacing:0.08em;background:linear-gradient(90deg,#D4AF37 0%,#C5A059 90%);box-shadow:0 2px 14px 0 rgba(197,160,89,0.20);color:#1a1400;border:none;border-radius:24px;transition:box-shadow 0.19s cubic-bezier(.32,.72,.43,1),transform 0.16s;outline:0;cursor:pointer;}section.gemini-cta .cta-btn:focus{outline:2px solid var(--gold);}section.gemini-cta .cta-btn:hover{box-shadow:0 8px 28px 0 rgba(197,160,89,0.32);transform:translateY(-1px) scale(1.035);}section.gemini-cta .cta-call{color:var(--silver);font-size:1.11rem;display:flex;align-items:center;gap:0.6em;margin-top:0.92em;}section.gemini-cta .cta-hours{font-size:0.99rem;color:var(--txt-muted);margin-top:-0.17em;}@media (max-width:650px){section.gemini-cta .cta-panel{padding:1.3rem 0.7rem 1.8rem 0.7rem;gap:1.5rem;}}footer.gemini-footer{background:rgba(15,19,38,0.9);color:var(--txt-muted);font-size:0.96rem;display:flex;flex-direction:column;align-items:center;gap:0.55em;padding:1.7rem 0 2.4rem 0;}footer.gemini-footer .footer-logo{color:var(--gold);font-size:1.13rem;font-weight:700;font-family:var(--heading);margin-bottom:0.27rem;letter-spacing:0.19em;}footer.gemini-footer .footer-info{display:flex;gap:2.5em;align-items:baseline;}footer.gemini-footer .footer-basics{display:flex;flex-direction:column;gap:0.17em;}footer.gemini-footer .footer-links a{color:var(--silver);margin-right:1.15em;margin-left:0.2em;text-decoration:none;transition:color 0.14s;}footer.gemini-footer .footer-links a:hover{color:var(--gold);}footer.gemini-footer .footer-copyright{font-size:0.85em;color:rgba(179,170,158,0.50);margin-top:0.43em;}@media (max-width:600px){footer.gemini-footer .footer-info{flex-direction:column;gap:0.52em;width:93vw;}}.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s cubic-bezier(.05,.65,.36,1),transform .7s cubic-bezier(.06,.62,.26,.96);}body.loaded .reveal{opacity:1;transform:none;}@media (prefers-reduced-motion:reduce){.reveal,.gemini-cta .cta-btn,.section.gemini-hero .cta-btn,section.gemini-faq .faq-item{transition: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;
  }
}