@charset "UTF-8";
/*
page-dome専用スタイル
domeページおよびその子ページで読み込まれます
*/

:root {
  --dome-cream:#f3ede1;
  --dome-gold:#b3915a;
  --dome-gold-dark:#9c7a3e;
  --dome-ink:#181d1a;
  --dome-navy:#18283f;
  --dome-orange:#e2793f;
  --container-width:1280px;
  --util-blue:#3b6fe0;
  --util-green:#2e9e5b;
  --util-pink:#e0507a;
  --util-purple:#7c5cd6;
}
body.page-dome #bg-wrapper {
  background-color:var(--dome-cream);
}
body.page-dome #bg-wrapper * { display:none; }

.dome-section {
  margin:0;
}
#dome-hero {
  position:relative;
  overflow:visible;
  margin:0;
  padding:clamp(160px, 20vw, 200px) var(--column-gap) var(--column-gap);
  background-color:var(--dome-cream);
  color:var(--dome-ink);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.dome-hero-image {
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  left:28%;
  z-index:0;
}
.dome-hero-image img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.dome-hero-image::before {
  content:'';
  display:block;
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(to right, var(--dome-cream) 0%, rgba(243,237,225,0) 58%);
}

.dome-hero-text, .dome-hero-footer, .dome-hero-cta { position:relative; z-index:2; }

.dome-hero-text { max-width:42em; }

.dome-hero-tagline {
  font-family:'Handwritten', serif;
  font-size:clamp(1.6em, 4vw, 2.5em);
  line-height:1;
  color:var(--dome-gold-dark);
  margin:0 0 .2em;
}
.dome-hero-tagline span { color:var(--dome-gold); }

.dome-hero-title {
  font-family:-apple-system, "Helvetica Neue", Arial, sans-serif;
  font-weight:800;
  font-size:clamp(4em, 6vw, 7em);
  line-height:.95;
  letter-spacing:.01em;
  margin:0 0 .1em;
  color:var(--dome-ink);
}

.dome-hero-copy {
  font-size:clamp(1.4em, 3vw, 2em);
  font-weight: normal;
  line-height: 1.5;
  margin: 0 0 .2em;
  color:var(--dome-ink);
  opacity:.7;
  font-family:var(--serif-font); 
}
.dome-hero-copy-2 {
  font-size:clamp(1em, 2vw, 1.2em);
  font-weight: normal;
  line-height: 1.5;
  margin: 0 0 .2em;
  color:var(--dome-ink);
  opacity:.7;
  font-family:var(--serif-font); 
}

.dome-hero-badge {
  margin-top:.5em;
  display:inline-block;
  padding:0;
  text-align:center;
}
.dome-hero-badge-copy {
  display:flex;
  align-items:center;
  flex-wrap:nowrap;
  gap:0;
  width:fit-content;
  max-width:100%;
  padding:0;
  margin:0;
  font-weight:normal;
  line-height:1.4;
  text-align:center;
}
.dome-hero-badge-copy .p1 { font-size:1.1em; color:var(--dome-gold); margin:0; font-family:var(--serif-font); } 
.dome-hero-badge-copy .p2 { font-size:.875em; margin:0; font-family:var(--serif-font); } 
.dome-laurel { width:2em; height:4em; color:var(--dome-gold); fill:currentColor; flex-shrink:0; }
.dome-hero-badge-copy .p2 span { display:inline-block; }

.dome-hero-cta {
  position:absolute;
  z-index:3;
  right:var(--column-gap);
  bottom:-.5em;
  width:8em;
  font-size:clamp(1.25em, 3vw, 1.5em);
  line-height:1.3;
  aspect-ratio:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  border-radius:50%;
  background-color:var(--dome-gold-dark);
  color:#fff;
  text-decoration:none;
  box-shadow:0 .5em 1em rgba(0,0,0,.15);
  transition:transform .3s, box-shadow .3s;
}
.dome-hero-cta::after {
  content:'';
  position:absolute;
  inset:.2em;
  border:1px solid rgba(255,255,255,.8);
  border-radius:50%;
  pointer-events:none;
}
.dome-hero-cta:hover {
  transform:translateY(4px);
  box-shadow:0 .3em .8em rgba(0,0,0,.2);
  color:#fff;
}
.dome-hero-cta span { font-size:.65em; }
.dome-hero-cta strong { font-size:1.25em; font-weight:700; margin:.2em 0; }
.dome-hero-cta-arrow { width:1.3em; height:1.3em; fill:currentColor; margin:.2em 0 -.5em; }

.dome-services {
  position:relative;
  z-index:2;
  background-color:#fff;
}
.dome-services-inner {
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:space-between;
  gap:24px 40px;
  padding:24px 0;
}
.dome-services-lead {
  flex:0 1 24em;
  margin:0;
}
.dome-services-list {
  display:flex;
  flex:1 1 auto;
  list-style:none;
  margin:0;
  padding:0;
}
.dome-services-list li {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.5em;
  flex:1;
  margin:0;
  font-size:.875em;
  font-weight:700;
  color:var(--dome-ink);
}
.dome-services-list li + li{
   border-left:.05px solid var(--dome-gold-dark);
}
.dome-services-icon { font-size:clamp(2.2em, 4vw, 3em); width:1em; height:1em; fill:none; stroke:var(--dome-gold-dark); }

.dome-intro { 
  text-align:center;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:.5em 3em;
  text-align:left;
  margin:clamp(40px, 6vw, 72px) 0;
}
.dome-eyebrow {
  font-size:2.5em;
  line-height: 1.2;
  color:var(--dome-gold-dark);
  margin:0 0 .2em;
}
.dome-intro h2 {
  font-size:1.5em;
  font-weight:700;
  line-height:1.6;
  color:var(--dome-ink);
  margin:0;
}

.dome-resort {
  position:relative;
  overflow:hidden;
  min-height:clamp(480px, 50vw, 640px);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  border-radius:1em;
  color:#fff;
  margin-top:clamp(24px, 3vw, 32px);
}
.dome-resort-photo {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.dome-resort::before {
  content:'';
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(0deg, rgba(0,0,0,.8) 0%, rgba(0,0,0,.35) 25%, rgba(0,0,0,0) 47%)
}
.dome-resort-top, .dome-resort-bottom { position:relative; z-index:2; }
.dome-resort-top {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  padding:clamp(20px, 3vw, 40px) clamp(24px, 4vw, 48px) 0;
}
.dome-resort-title {
  font-family:-apple-system, "Helvetica Neue", Arial, sans-serif;
  font-weight:800;
  font-size:clamp(2em, 4vw, 3em);
  line-height:1;
  letter-spacing:.02em;
  margin:0 0 .3em;
}
.dome-resort-title .ja { font-family:var(--body-font); font-size:.875em;}
.dome-resort-subtitle {
  font-size:clamp(.8em, 1.4vw, 1em);
  font-weight:400;
  opacity:.85;
  margin:0;
}
.dome-resort-info {
  flex-shrink:0;
  text-align:right;
  font-size:clamp(1em, 2vw, 1.2em);
}
.dome-resort-info-date {
  font-weight:700;
  margin:0 0 .6em;
  padding-bottom:.6em;
  border-bottom:1px solid rgba(255,255,255,.5);
}
.dome-resort-info-label {
  line-height:1.5;
  font-size:.875em;
  opacity:.85;
  margin:0 0 .2em;
}
.dome-resort-info-name {
  font-size:2.2em;
  line-height:1;
  font-family:-apple-system, "Helvetica Neue", Arial, sans-serif;
  font-weight:800;
  letter-spacing:.02em;
  margin:0;
}
.dome-resort-info-mobile { display:none; }
.dome-resort-bottom {
  padding:0 clamp(24px, 4vw, 48px) clamp(20px, 3vw, 32px);
}
.dome-resort-heading {
  font-size:clamp(1.4rem, 3vw, 2rem);
  font-weight:700;
  margin:0 0 .4em;
}
.dome-resort-desc {
  margin:0 0 1em;
  opacity:.9;
}
.dome-resort-features {
  display:flex;
  flex-wrap:wrap;
  gap:clamp(16px, 3vw, 32px);
  list-style:none;
  margin:0;
  padding:1em 0 0;
  border-top:1px solid rgba(255,255,255,.25);
}
.dome-resort-features li {
  display:flex;
  align-items:center;
  gap:.7em;
  flex:1 1 auto;
  padding:0 1em 0 0;
  font-size: .875em;
  line-height:1.5;
}
.dome-resort-features li + li { border-left:1px solid rgba(255,255,255,.25); padding-left:1em; }
.dome-resort-feature-icon { width:3em; height:3em; fill:none; stroke:var(--dome-gold); flex-shrink:0; }


.dome-utilities-head { text-align:center; margin:var(--column-gap) auto 2em; }
.dome-utilities-title {
  font-size:clamp(1.6rem, 3vw, 2.2rem);
  font-weight:700;
  color:#1f3a6e;
  margin:0 0 .5em;
}
.dome-utilities-desc { color:#5c5850; margin:0; }

.dome-utilities-featured {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(20px, 3vw, 28px);
}
.dome-utilities-grid {
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:clamp(16px, 2.5vw, 24px);
  margin-top:clamp(20px, 3vw, 28px);
}
.dome-utility-card {
  display:flex;
  flex-direction:column;
  background-color:#fff;
  border:1px solid rgba(24,29,26,.08);
  border-radius:1em;
  overflow:hidden;
  box-shadow:0 .5em 1.6em rgba(24,29,26,.06);
}
.dome-utility-card-large .dome-utility-photo { aspect-ratio:5/2; }
.dome-utility-card-large .dome-utility-photo::after {
  content:'';
  position:absolute;
  inset:auto 0 0 0;
  height:5em;
  background:linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,.95));
  pointer-events:none;
}
.dome-utility-card-large .dome-utility-body {
  position:relative;
  z-index:2;
  margin-top:-8em;
  padding:4.5em clamp(20px, 2.5vw, 32px) clamp(20px, 2.5vw, 32px);
  background:linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,.95) 35%, #fff 65%);
}
.dome-utility-photo { position:relative; overflow:hidden; aspect-ratio:2/1; }
.dome-utility-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.dome-utility-card:not(.dome-utility-card-large) .dome-utility-body { padding:20px; }

.dome-utility-head { display:flex; align-items:center; gap:.8em; margin:0 0 .8em; }
.dome-utility-icon {
  display:flex;
  align-items:center;
  justify-content:center;
  width:2.6em;
  height:2.6em;
  border-radius:50%;
  flex-shrink:0;
  border:0.1px solid currentColor;
}
.dome-utility-icon svg { width:1.3em; height:1.3em; fill:none; stroke:currentColor; }
.dome-utility-head h3 { line-height:1.4; font-size:1.1em; margin:0; color:var(--dome-ink); }
.dome-utility-card { font-size:.92em; }
.dome-utility-card-large { font-size:1em; }
.dome-utility-head h3 span { display:block; }
.dome-utility-head h3 .en { font-size:.75em; font-weight:400; opacity:.6; margin-top:.1em; font-family:inherit; }
.dome-utility-head h3 .ja { font-weight:700; }

.dome-utility-lead { font-weight:700; font-size:1.1em; margin:0 0 .6em; font-family:var(--serif-font); }
.dome-utility-desc { color:#5c5850; margin:0; }
.dome-utility-card-large .dome-utility-desc { margin-bottom:1.4em; }

.dome-utility-chips {
  display:flex;
  flex-wrap:wrap;
  gap:.8em 1.6em;
  list-style:none;
  margin:auto 0 0;
  padding-top:1em;
  border-top:1px solid rgba(24,29,26,.08);
}
.dome-utility-chips li { display:flex; align-items:center; gap:.6em; color:var(--dome-ink); }

.dome-checkbox {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.5em;
  height:1.5em;
  border-radius:.4em;
  background-color:var(--dome-ink);
  flex-shrink:0;
}
.dome-checkbox svg { width:.95em; height:.95em; fill:none; stroke:#fff; stroke-width:3; }

.dome-utility-blue .dome-utility-icon { background-color:#e7eefb; color:var(--util-blue); }
.dome-utility-blue .dome-utility-lead { color:var(--util-blue); }
.dome-utility-blue .dome-checkbox { background-color:var(--util-blue); }

.dome-utility-green .dome-utility-icon { background-color:#e6f3eb; color:var(--util-green); }
.dome-utility-green .dome-utility-lead { color:var(--util-green); }
.dome-utility-green .dome-checkbox { background-color:var(--util-green); }

.dome-utility-pink .dome-utility-icon { background-color:#fbeaef; color:var(--util-pink); }
.dome-utility-purple .dome-utility-icon { background-color:#efebfa; color:var(--util-purple); }

.dome-synergy {
  --synergy-green:#2e9e5b;
  --synergy-blue:#3b6fe0;
  margin-top:clamp(24px, 3vw, 32px);
  padding:var(--column-gap);
  background-color:#fff;
  border:1px solid rgba(24,29,26,.08);
  border-radius:1em;
}
.dome-synergy-inner {
  display:grid;
  grid-template-columns:2fr 2fr 1fr;
  gap:clamp(24px, 3vw, 40px);
  align-items:center;
}
.dome-synergy-title {
  font-size:clamp(1.3rem, 2.4vw, 1.7rem);
  font-weight:700;
  line-height:1.4;
  color:var(--synergy-green);
  margin:0 0 .6em;
}
.dome-synergy-desc { line-height:1.8; color:#5c5850; margin:0 0 1em; }
.dome-synergy-formula { font-weight:700; color:var(--dome-ink); margin:0 0 .4em; }
.dome-synergy-note { color:var(--synergy-green); margin:0; }

.dome-synergy-diagram { display:flex; flex-wrap:nowrap; align-items:center; justify-content:center; gap:clamp(12px, 2vw, 24px); }
.dome-synergy-node { display:flex; flex-direction:column; align-items:center; gap:.6em; flex:0 0 auto; }
.dome-synergy-icon {
  display:flex;
  align-items:center;
  justify-content:center;
  width:4.5em;
  height:4.5em;
  border-radius:.8em;
  background-color:rgba(59,111,224,.1);
  color:var(--synergy-blue);
}
.dome-synergy-icon svg { width:2.2em; height:2.2em; fill:none; stroke:currentColor; }
.dome-synergy-icon-green { background-color:rgba(46,158,91,.1); color:var(--synergy-green); }
.dome-synergy-node p { font-size:.8em; font-weight:700; margin:0; color:var(--dome-ink); }

.dome-synergy-flows { display:flex; flex-direction:column; gap:.75em; flex:1 1 auto; min-width:8em; }
.dome-synergy-flow { display:flex; flex-direction:column; align-items:center; gap:.4em; }
.dome-synergy-flow-label {
  line-height:1;
  color:#fff;
  padding:.5em;
  text-align:center;
  min-width:9em;
  border-radius:999px;
  white-space:nowrap;
}
.dome-synergy-flow-heat .dome-synergy-flow-label { background-color:var(--dome-orange); }
.dome-synergy-flow-power .dome-synergy-flow-label { background-color:var(--synergy-blue); }
.dome-synergy-flow-arrow {
  display:flex;
  align-items:center;
  width:100%;
}
.dome-synergy-flow-arrow-left { flex-direction:row; }
.dome-synergy-flow-line { flex:1 1 auto; height:4px; }
.dome-synergy-flow-arrowhead { width:.55em; height:.75em; flex-shrink:0; display:block; stroke:none; }
.dome-synergy-flow-heat .dome-synergy-flow-line { background-color:var(--dome-orange); }
.dome-synergy-flow-heat .dome-synergy-flow-arrowhead { fill:var(--dome-orange); }
.dome-synergy-flow-power .dome-synergy-flow-line { background-color:var(--synergy-blue); }
.dome-synergy-flow-power .dome-synergy-flow-arrowhead { fill:var(--synergy-blue); }
.dome-synergy-flow-list {
  display:flex;
  gap:.8em;
  list-style:none;
  flex-wrap:wrap;
  margin:0;
  padding:0;
  font-size:.875em;
  color:#5c5850;
  align-items:center;
  justify-content: center;
  line-height:1.4;
}
.dome-synergy-flow-list li { margin:0; }
.dome-synergy-value h3 { margin:0 0 .8em; color:var(--dome-ink); }
.dome-synergy-value ul { display:flex; flex-wrap:wrap; gap:.5em; list-style:none; margin:0; padding:0; }
.dome-synergy-value li { flex:1; min-width:10em; display:flex; align-items:center; gap:.7em; margin:0; font-weight:700; color:var(--dome-ink); }
.dome-synergy-value .dome-checkbox { background-color:var(--synergy-green); }


#dome-structure {
  background-color:var(--dome-navy);
  color:#fff;
  padding:0;
}
.dome-structure-inner {
  display:flex;
  flex-wrap:wrap-reverse;
  align-items:center;
  justify-content: center;
  gap:0 calc( var(--column-gap) * -1);
  padding:var(--column-gap) 0;
}
.dome-structure-text { flex:1 1 24em; max-width:28em; padding:var(--column-gap) 0; }
.dome-structure-image { flex:1 1 32em; min-width:32em; max-width:44em; min-width:0; }
.dome-structure-image img { display:block; width:100%; height:auto; }

.dome-structure-title {
  font-size:clamp(1.8rem, 3vw, 2.4rem);
  font-weight:700;
  line-height:1.4;
  margin:0 0 .6em;
  color:#fff;
}
.dome-structure-lead {
  font-size:1.3em;
  font-weight:700;
  line-height:1.6;
  color:var(--dome-orange);
  font-family:var(--serif-font); 
  margin:0 0 1em;
}
.dome-structure-desc {
  font-size:.95em;
  line-height:1.9;
  color:rgba(255,255,255,.75);
  margin:0 0 2.2em;
}
.dome-structure-features {
  display:flex;
  flex-wrap:wrap;
  gap:clamp(24px, 3vw, 40px);
  list-style:none;
  margin:0;
  padding:0;
}
.dome-structure-features li {
  display:flex;
  flex:1;
  text-align:center;
  flex-direction:column;
  align-items:center;
  gap:.5em;
  padding:.5em;
  font-size:.85em;
  font-weight:700;
  line-height:1.5;
  color:#fff;
  border:.5px solid var(--dome-orange);
  border-radius: 1em;
}
.dome-structure-feature-icon {
  width:4.6em;
  height:4.6em;
  fill:none;
  stroke:var(--dome-orange);
}

#dome-portfolio { background-color:white;}
.dome-portfolio-head { text-align:center; max-width:36em; margin:0 auto; }
.dome-portfolio-title {
  font-size:clamp(1.8rem, 3vw, 2.4rem);
  font-weight:700;
  margin:0 0 .6em;
  color:var(--dome-ink);
}
.dome-portfolio-title span { color:var(--dome-orange); }
.dome-portfolio-desc {
  font-size:.95em;
  line-height:1.9;
  color:#5c5850;
  margin:0;
}

#dome-cases {
  max-width:720px;
  margin:clamp(32px, 5vw, 56px) auto 0;
  padding-bottom:clamp(48px, 5vw, 72px);
  overflow: visible;
}
#dome-cases .gallery-item {
  position:relative;
  overflow:hidden;
  border-radius:.5em;
  background-color:#e4dcca;
}
.dome-case-photo {
  position:absolute;
  inset:0;
  aspect-ratio:2/1;
  width:100%;
  height:100%;
  object-fit:cover;
}
.dome-case-panel {
  position:absolute;
  z-index:2;
  left:1em;
  bottom:1em;
  background-color:#fff;
  border-radius:.5em;
  padding:.5em 1em;
  box-shadow:0 .6em 1.6em rgba(31,28,24,.15);
  transition:right .35s ease, width .35s ease, padding .35s ease;
}

.dome-case-desc {

  position:absolute;
  z-index:2;
  right:1em;
  top:1em;
  color:#fff;
  font-size:.875em;
}
.dome-case-tag {
  display:inline-block;
  font-size:.7em;
  font-weight:700;
  color:#fff;
  background-color:var(--dome-gold-dark);
  padding:.15em .5em;
  min-width:5em; 
  text-align:center;
  border-radius:999px;
  margin:0 0 .4em;
}
.dome-case-title {
  font-size:1.1em;
  font-weight:700;
  color:var(--dome-ink);
  font-family:var(--serif-font); 
  margin:0;
}

#dome-cases.swiper-container .swiper-pagination { position:static; margin-top:20px; }
#dome-cases .swiper-pagination-bullet-active { background-color:var(--dome-gold-dark); }
#dome-cases .swiper-button-prev, #dome-cases .swiper-button-next {
  width:2em;
  height:2em;
  border-radius:50%;
  background-color:#fff;
  background-size:34%;
  box-shadow:0 .4em 1.2em rgba(31,28,24,.2);
}
#dome-cases .swiper-button-prev { left:1em; background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 40'%3E%3Cpath d='M20.97,39.11L1.96,20.1,20.97,1.09' stroke='%231f1c18' fill='none' stroke-miterlimit='10' stroke-width='2px'/%3E%3C/svg%3E"); }
#dome-cases .swiper-button-next { right:1em; background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 40'%3E%3Cpath d='M1.1,1.09l19.01,19.01L1.1,39.11' stroke='%231f1c18' fill='none' stroke-miterlimit='10' stroke-width='2px'/%3E%3C/svg%3E"); }

@media screen and ( max-width : 900px ) {
  .dome-resort-features { display:grid; grid-template-columns:1fr 1fr; gap:1em 1.5em; }
  .dome-resort-features li { border:0!important; padding:0!important; }
  .dome-utilities-grid { grid-template-columns:1fr 1fr; }
  .dome-synergy-inner { grid-template-columns:1fr; }
  .dome-synergy-diagram { order:2; padding:1.5em 0; }
  .dome-synergy-value { order:3; }
}
@media screen and ( max-width : 782px ) {
  .dome-utilities-featured { grid-template-columns:1fr; }
  .dome-synergy-flows { width:100%; }
  .dome-synergy-flow-list { flex-direction:column; gap:.2em; }
  .dome-resort { min-height:auto; border-radius:1em 1em 0 0; }
  .dome-resort::before { background:linear-gradient(0deg, rgba(0,0,0,.85) 0%, rgba(0,0,0,.55) 25%, rgba(0,0,0,.15) 30%); }
  .dome-resort-top { padding:20px 20px 40px; }
  .dome-resort-info { display:none; }
  .dome-resort-bottom { padding:16px 20px 24px; }
  .dome-resort-info-mobile {
    display:block;
    background-color:var(--dome-gold-dark);
    color:#fff;
    text-align:center;
    padding:18px 20px;
    margin-top:0;
    border-radius:0 0 1em 1em;
  }
  .dome-resort-info-mobile .dome-resort-info-date {
    display:inline-block;
    font-size:.8rem;
    font-weight:700;
    margin:0 0 .5em;
    padding-bottom:.5em;
    border-bottom:1px solid rgba(255,255,255,.5);
  }
  .dome-resort-info-mobile .dome-resort-info-label {
    font-size:.75rem;
    opacity:.9;
    margin:0 0 .3em;
  }
  .dome-resort-info-mobile .dome-resort-info-name {
    font-size:1.4rem;
    margin:0;
  }
  .dome-services-inner { display:block; }
  .dome-services-list { width:100%; justify-content:space-between; gap:16px; }
  .dome-services-lead { margin-bottom:1em; }
  .dome-services-lead br { display:none; }
  #dome-hero {
    min-height:auto;
    padding:120px var(--column-gap) calc(240px - 12vw);
  }
  .dome-hero-image { 
    left:0; 
    top:240px;
  }
  .dome-hero-image::before {
    background:linear-gradient(180deg, var(--dome-cream) 0%, rgba(243,237,225,.0) 100%);
  }
  .dome-hero-badge {
    background-color:rgba(255,255,255,.7);
    padding:.25em .5em;
  }
  .dome-hero-copy { color:inherit; }
  .dome-hero-copy br { display:none; }
  .dome-hero-text { max-width:none; }
  .dome-intro { flex-direction:column; align-items:center; }

  .dome-intro-right {
    max-width:30em;
  }
  .dome-intro-right br { display:none; }
  .dome-intro-copy { justify-content:flex-start; }
  .dome-structure-image { padding-top:var(--column-gap)}
  .dome-structure-text { max-width:none; padding-top:0; }
  .dome-synergy-value ul { display:flex; flex-wrap:wrap; }
.dome-synergy-value li { width:50%; }

}
@media screen and ( max-width : 480px ) {
  .dome-utilities-grid { grid-template-columns:1fr; }
}

