@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Unbounded:wght@500;600;700&display=swap');

:root {
  --mx: 0; --my: 0;
  --back-scale: 1.04; --back-y: 0px;
  --base-brightness: .78; --base-blur: 0px;
  --title-y: 0px; --title-scale: 1; --title-opacity: 1;
  --intro-y: 0px; --intro-opacity: 1;
  --after-clip: 100%; --reveal-x: 0%; --warmth: 0;
  --cable-opacity: .5; --comparison-opacity: 0; --finished-brightness: .68; --finished-saturation: .86; --sweep-opacity: 0;
  --before-label-opacity: 0; --after-label-opacity: 0;
  --shade-opacity: .18;
  --story1-opacity: 0; --story1-y: 58px;
  --story2-opacity: 0; --story2-y: 58px;
  --services-enter-x: 420vw; --services-opacity: 0; --controls-opacity: 0;
  --services-shift: 0px;
  --graphite: #090b0a; --deep-green: #123c2b; --lime: #b9ff39;
  --cream: #f4f1e8; --warm: #ffd98a; --concrete: #929995;
  color: var(--cream); background: var(--graphite); font-family: Manrope, system-ui, sans-serif;
}

* { box-sizing: border-box; }
html { min-height: 100%; scroll-behavior: smooth; background: var(--graphite); }
body { min-height: 100%; margin: 0; overflow-x: clip; background: var(--graphite); }
a { color: inherit; text-decoration: none; }
button { border: 0; font: inherit; }
.site-shell { min-height: 100vh; }
.cinema-scroll { position: relative; height: calc(100vh + 3700px); }
.stage { position: sticky; top: 0; height: 100vh; min-height: 660px; overflow: hidden; isolation: isolate; background: #111712; }
.world { position: absolute; inset: 0; overflow: hidden; background: #111712; }
.scene-img { position: absolute; display: block; user-select: none; pointer-events: none; }
.scene-base { z-index: 1; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }

.site-header { position: absolute; z-index: 30; top: 0; left: 0; right: 0; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 28px; padding: 26px 32px; border-bottom: 1px solid rgba(244,241,232,.13); background: linear-gradient(180deg,rgba(4,7,5,.7),transparent); }
.site-logo { justify-self: start; display: inline-flex; align-items: center; gap: 10px; font-weight: 800; font-size: .88rem; letter-spacing: .08em; }
.logo-mark { display: block; width: 38px; height: 31px; object-fit: contain; filter: drop-shadow(0 4px 10px rgba(0,0,0,.25)); }
.site-nav { display: flex; align-items: center; gap: clamp(24px,3vw,52px); }
.site-nav a { position: relative; color: rgba(244,241,232,.78); font-size: .86rem; font-weight: 600; }
.site-nav a::after { content: ''; position: absolute; left: 0; right: 100%; bottom: -8px; height: 1px; background: var(--lime); transition: right .25s ease; }
.site-nav a:hover::after,.site-nav a:focus-visible::after { right: 0; }
.header-cta { justify-self: end; padding: 12px 18px; border: 1px solid rgba(244,241,232,.32); border-radius: 999px; font-size: .78rem; font-weight: 700; transition: color .25s, background .25s; }
.header-cta:hover,.header-cta:focus-visible { color: var(--graphite); background: var(--lime); border-color: var(--lime); }
.menu-button { display: none; padding: 8px; background: transparent; }
.menu-button span { display: block; width: 22px; height: 1px; margin: 5px; background: var(--cream); }

.back-stack { position: absolute; z-index: 2; inset: 0; }
.after-reveal { position: absolute; z-index: 3; top: 0; bottom: 0; left: 0; width: calc(100% - var(--after-clip)); overflow: hidden; }
.finished-img { inset: 0; width: 100vw; max-width: none; height: 100%; object-fit: cover; object-position: center; }
.cable-map { position: absolute; z-index: 4; inset: 0; opacity: var(--cable-opacity); pointer-events: none; }
.trace { position: absolute; display: block; height: 2px; background: linear-gradient(90deg,transparent,rgba(185,255,57,.75),rgba(244,241,232,.4),transparent); box-shadow: 0 0 14px rgba(185,255,57,.28); transform-origin: left; }
.trace-a { left: 3%; top: 30%; width: 47%; transform: rotate(-4deg); }
.trace-b { right: 0; top: 42%; width: 55%; transform: rotate(8deg); }
.trace-c { left: 18%; top: 64%; width: 64%; transform: rotate(-1deg); }
.junction { position: absolute; width: 10px; height: 10px; border: 2px solid var(--lime); border-radius: 50%; box-shadow: 0 0 18px rgba(185,255,57,.5); }
.j1 { left: 30%; top: 28%; }.j2 { right: 27%; top: 48%; }.j3 { left: 57%; top: 63%; }

.eyebrow { position:absolute; z-index:10; top:18vh; left:5vw; margin:0; color:var(--lime); font-size:.72rem; font-weight:800; letter-spacing:.18em; white-space:nowrap; opacity:var(--title-opacity); }
.hero-title { position:absolute; z-index:7; left:5vw; top:24vh; width:min(76vw,1180px); margin:0; transform:translate3d(0,var(--title-y),0) scale(var(--title-scale)); transform-origin:left center; opacity:var(--title-opacity); font:600 clamp(3.7rem,7.5vw,8.2rem)/.86 Unbounded,sans-serif; letter-spacing:-.07em; text-align:left; text-transform:uppercase; text-shadow:0 18px 50px rgba(0,0,0,.42); will-change:transform,opacity; }
.hero-title span { display:block; }.hero-title span:last-child { color:var(--cream); -webkit-text-stroke:0; }

.shade { position: absolute; z-index: 6; inset: 0; pointer-events: none; opacity: var(--shade-opacity); background: linear-gradient(180deg,rgba(8,24,17,.18),rgba(9,17,12,.34) 52%,rgba(3,6,4,.68)); }
.light-sweep { position: absolute; z-index: 8; top: 0; bottom: 0; left: var(--reveal-x); width: 13vw; pointer-events: none; opacity: var(--sweep-opacity); background: linear-gradient(90deg,transparent,rgba(255,217,138,.22),transparent); transform: translateX(-50%); mix-blend-mode: screen; }
.comparison-marker { position: absolute; z-index: 17; top: 0; bottom: 0; left: var(--reveal-x); width: 1px; background: linear-gradient(transparent 10%,rgba(244,241,232,.78) 30%,rgba(244,241,232,.78) 70%,transparent 90%); opacity: var(--comparison-opacity); pointer-events: none; }
.comparison-marker i { position: absolute; top: 50%; left: 50%; width: 38px; height: 38px; border: 1px solid rgba(244,241,232,.8); border-radius: 50%; background: rgba(9,11,10,.5); transform: translate(-50%,-50%); backdrop-filter: blur(8px); }
.comparison-marker i::before,.comparison-marker i::after { content: ''; position: absolute; top: 50%; width: 7px; height: 7px; border-top: 1px solid var(--cream); border-left: 1px solid var(--cream); }
.comparison-marker i::before { left: 8px; transform: translateY(-50%) rotate(-45deg); }.comparison-marker i::after { right: 8px; transform: translateY(-50%) rotate(135deg); }
.before-after-label { position: absolute; z-index: 16; top: 18vh; display: flex; align-items: center; gap: 10px; padding: 10px 14px; border: 1px solid rgba(244,241,232,.28); border-radius: 999px; color: rgba(244,241,232,.9); background: rgba(9,11,10,.54); backdrop-filter: blur(10px); font-size: .72rem; font-weight: 700; pointer-events: none; }
.before-after-label span { color: var(--lime); font-weight: 800; letter-spacing: .12em; }.before-label { left: 4vw; opacity: var(--before-label-opacity); }.after-label { right: 4vw; opacity: var(--after-label-opacity); }

.intro-copy { position:absolute; z-index:15; left:5vw; bottom:clamp(36px,7vh,78px); width:min(680px,calc(100vw - 36px)); transform:translate3d(0,var(--intro-y),0); opacity:var(--intro-opacity); text-align:left; }
.intro-copy>p { margin: 0; font: 600 clamp(1.55rem,2.5vw,2.5rem)/1.05 Unbounded,sans-serif; }
.intro-note { display: block; max-width: 620px; margin: 14px auto 0; color: rgba(244,241,232,.76); font-size: 1rem; }
.hero-actions { display:flex; justify-content:flex-start; align-items:center; gap:24px; margin-top:26px; }
.primary-button,.contact-button { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 18px; min-height: 52px; padding: 0 24px; overflow: hidden; border-radius: 999px; color: #0b100c; background: var(--lime); font-size: .88rem; font-weight: 800; }
.primary-button span,.contact-button span { font-size: 1.2em; transition: transform .25s; }.primary-button:hover span,.contact-button:hover span { transform: translate(3px,-3px); }
.text-link { font-size: .86rem; font-weight: 700; border-bottom: 1px solid rgba(244,241,232,.4); }
.hero-tags { display:flex; justify-content:flex-start; flex-wrap:wrap; gap:8px; margin-top:22px; }
.hero-tags span { padding: 8px 13px; border: 1px solid rgba(244,241,232,.18); border-radius: 999px; color: rgba(244,241,232,.68); font-size: .72rem; }

.story-panel { position: absolute; z-index: 18; left: 50%; width: min(820px,calc(100vw - 40px)); text-align: center; pointer-events: none; }
.story-panel-wiring { top: 54%; opacity: var(--story1-opacity); transform: translate3d(-50%,calc(-50% + var(--story1-y)),0); }
.story-panel-panel { top: 48%; opacity: var(--story2-opacity); transform: translate3d(-50%,calc(-50% + var(--story2-y)),0); }
.panel-index,.section-kicker { display: inline-block; margin-bottom: 20px; color: var(--lime); font-size: .7rem; font-weight: 800; letter-spacing: .17em; }
.story-panel h2 { margin: 0; font: 600 clamp(2.5rem,5.4vw,5.4rem)/.94 Unbounded,sans-serif; letter-spacing: -.055em; }
.story-panel p { max-width: 620px; margin: 25px auto 0; color: rgba(244,241,232,.8); font-size: clamp(.95rem,1.2vw,1.1rem); line-height: 1.5; }
.facts { display: grid; grid-template-columns: repeat(2,1fr); gap: 70px; width: min(510px,100%); margin: 54px auto 0; }
.facts div { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 16px; text-align: left; }
.facts dt { color: var(--lime); font: 600 3.8rem/1 Unbounded,sans-serif; }.facts dd { margin: 0; font-size: .88rem; font-weight: 700; line-height: 1.25; }
.panel-button { margin-top: 30px; pointer-events: auto; }

.scroll-hint { position: absolute; z-index: 20; right: 28px; bottom: 32px; display: flex; align-items: center; gap: 10px; color: rgba(244,241,232,.5); font-size: .6rem; font-weight: 700; letter-spacing: .14em; writing-mode: vertical-rl; opacity: var(--intro-opacity); }
.scroll-hint span { display: block; width: 1px; height: 52px; background: linear-gradient(var(--lime),transparent); animation: pulse 1.8s ease-in-out infinite; }
@keyframes pulse { 50% { transform: scaleY(.5); opacity: .45; } }

.services-slider { position: absolute; z-index: 14; left: 0; right: 0; top: 18vh; opacity: var(--services-opacity); transform: translate3d(var(--services-enter-x),0,0); pointer-events: auto; will-change: transform,opacity; }
.services-heading { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin: 0 5vw 32px; }
.services-heading span { color: var(--lime); font-size: .7rem; font-weight: 800; letter-spacing: .16em; }
.services-heading strong { font: 600 clamp(1.6rem,3vw,3rem)/1 Unbounded,sans-serif; text-align: right; letter-spacing: -.04em; }
.services-track { display: flex; gap: 16px; align-items: stretch; transform: translate3d(calc(var(--services-shift) - 12vw),0,0); transition: transform 640ms cubic-bezier(.22,1,.36,1); will-change: transform; }
.services-track.is-jumping { transition: none; }
.service-card { position: relative; flex: 0 0 clamp(310px,23vw,390px); height: 300px; padding: 24px; overflow: hidden; border: 1px solid rgba(9,11,10,.1); border-radius: 26px; color: #0d100e; background: rgba(244,241,232,.96); box-shadow: 0 22px 60px rgba(0,0,0,.25); cursor: pointer; user-select: none; transition: background .25s,transform .25s; }
.service-card:hover,.service-card.is-active { background: var(--lime); transform: translateY(-7px); }
.service-card:focus-visible,.service-nav:focus-visible,a:focus-visible { outline: 3px solid var(--warm); outline-offset: 4px; }
.service-kicker { display: block; font-size: .66rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.service-icon { position: absolute; top: 20px; right: 22px; width: 60px; height: 60px; border: 1px solid rgba(9,11,10,.16); border-radius: 50%; }
.service-icon::before,.service-icon::after { content: ''; position: absolute; left: 50%; top: 50%; width: 24px; height: 2px; background: #0d100e; transform: translate(-50%,-50%); }
.service-icon::after { transform: translate(-50%,-50%) rotate(90deg); }
.service-card h3 { position: absolute; left: 24px; right: 60px; bottom: 92px; margin: 0; font: 600 1.45rem/.98 Unbounded,sans-serif; letter-spacing: -.04em; }
.service-card p { position: absolute; left: 24px; right: 24px; bottom: 24px; margin: 0; font-size: .82rem; line-height: 1.35; }
.card-arrow { position: absolute; right: 24px; bottom: 94px; font-size: 1.25rem; }
.services-controls { position: absolute; z-index: 24; left: 5vw; bottom: 7vh; display: flex; gap: 12px; opacity: var(--controls-opacity); pointer-events: none; }
.services-controls.is-ready { pointer-events: auto; }
.service-nav { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; color: var(--cream); background: rgba(9,11,10,.7); border: 1px solid rgba(244,241,232,.28); cursor: pointer; font-size: 1.15rem; }
.service-nav:hover { color: var(--graphite); background: var(--lime); border-color: var(--lime); }

.contact-section { position: relative; min-height: 88vh; padding: clamp(80px,12vw,180px) 5vw 34px; display: grid; grid-template-columns: 1.3fr .7fr; gap: 9vw; align-content: center; background: var(--lime); color: var(--graphite); }
.contact-copy h2 { margin: 0; max-width: 900px; font: 600 clamp(3rem,7vw,7.5rem)/.9 Unbounded,sans-serif; letter-spacing: -.07em; }
.contact-section .section-kicker { color: var(--graphite); }
.contact-action { align-self: end; padding-bottom: 8px; }
.contact-action p { margin: 0 0 28px; max-width: 430px; font-size: 1rem; line-height: 1.55; }
.contact-button { color: var(--cream); background: var(--graphite); }
.contact-action small { display: block; margin-top: 12px; opacity: .55; }
.contact-section footer { grid-column: 1/-1; align-self: end; display: flex; justify-content: space-between; padding-top: 60px; margin-top: 70px; border-top: 1px solid rgba(9,11,10,.2); font-size: .72rem; font-weight: 700; letter-spacing: .08em; }

/* Full content transferred from the original site */
.content-section { position:relative; padding:clamp(84px,10vw,160px) 5vw; color:var(--cream); background:var(--graphite); }
.content-section:nth-of-type(even) { background:#0d1712; }
.section-head { max-width:1100px; margin-bottom:clamp(46px,6vw,82px); }
.section-head h2 { margin:0; font:600 clamp(2.6rem,6.5vw,7rem)/.92 Unbounded,sans-serif; letter-spacing:-.065em; }
.section-head>p,.split-head>p { max-width:530px; margin:24px 0 0; color:rgba(244,241,232,.7); line-height:1.6; }
.split-head { display:grid; grid-template-columns:1.2fr .8fr; gap:8vw; max-width:none; align-items:end; }
.split-head>p { margin:0 0 6px; font-size:1.05rem; }
.card-grid,.principles-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; }
.problems-grid article { border:1px solid rgba(244,241,232,.12); }
.problems-grid article:nth-child(7) { grid-column:2; }
.card-grid article,.principles-grid article { min-height:280px; padding:30px; background:#0c100e; }
.card-grid article>span { color:var(--lime); font:600 1.2rem Unbounded,sans-serif; }
.card-grid h3,.principles-grid h3 { margin:70px 0 14px; font:600 1.35rem/1.12 Unbounded,sans-serif; letter-spacing:-.03em; }
.card-grid p,.principles-grid p { margin:0; color:rgba(244,241,232,.66); line-height:1.55; }
.price-list { border-top:1px solid rgba(244,241,232,.18); }
.price-list article { display:grid; grid-template-columns:70px 1.1fr 1fr auto; gap:28px; align-items:center; min-height:128px; border-bottom:1px solid rgba(244,241,232,.18); }
.price-list article>span { color:var(--lime); font-weight:800; }.price-list h3 { margin:0; font:600 1.18rem/1.2 Unbounded,sans-serif; }
.price-list p { margin:0; color:rgba(244,241,232,.6); }.price-list strong { font:600 1.15rem Unbounded,sans-serif; white-space:nowrap; }
.dark-button { margin-top:42px; }
.team-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.person-card { overflow:hidden; border-radius:26px; background:var(--cream); color:var(--graphite); }
.person-card img { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; object-position:center 30%; filter:saturate(.78); }
.person-card>div { padding:32px; }.person-card span { color:#357455; font-size:.68rem; font-weight:800; letter-spacing:.15em; }
.person-card h3 { margin:12px 0 22px; font:600 2rem Unbounded,sans-serif; }.person-card p { line-height:1.6; color:rgba(9,11,10,.7); }
.person-facts { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:12px; margin:0 0 22px; }.person-facts strong { padding:9px 12px; border-radius:999px; color:#102217; background:var(--lime); font-size:.78rem; white-space:nowrap; }.person-facts b { font-size:.85rem; }
.person-card ul { display:grid; gap:8px; margin:0 0 22px; padding-left:20px; color:rgba(9,11,10,.72); line-height:1.5; }.person-card .education { margin-bottom:0; padding-top:20px; border-top:1px solid rgba(9,11,10,.14); font-size:.88rem; }
.principles-grid article { min-height:230px; }.principles-grid h3 { margin:20px 0 18px; }
.process-list { list-style:none; margin:0; padding:0; border-top:1px solid rgba(244,241,232,.18); }
.process-list li { display:grid; grid-template-columns:110px 1fr; gap:30px; padding:38px 0; border-bottom:1px solid rgba(244,241,232,.18); }
.process-list li>span { color:var(--lime); font:600 2rem Unbounded,sans-serif; }
.process-list h3 { margin:0 0 10px; font:600 clamp(1.3rem,2.2vw,2.2rem) Unbounded,sans-serif; }.process-list p { max-width:650px; margin:0; color:rgba(244,241,232,.64); line-height:1.6; }
.gallery-grid { display:grid; grid-template-columns:1.4fr .6fr; gap:16px; }.gallery-grid figure { position:relative; min-height:340px; margin:0; overflow:hidden; border-radius:22px; background:#18221d; }
.gallery-grid .gallery-wide { grid-row:span 2; min-height:696px; }.gallery-grid img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }.gallery-grid figure:hover img { transform:scale(1.025); }
.gallery-grid figcaption { position:absolute; left:18px; bottom:18px; padding:9px 13px; border-radius:999px; background:rgba(9,11,10,.68); backdrop-filter:blur(8px); font-size:.72rem; }
.reviews-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }.reviews-grid blockquote { display:flex; min-height:330px; margin:0; padding:30px; flex-direction:column; justify-content:space-between; border-radius:24px; color:var(--graphite); background:var(--cream); }
.reviews-grid blockquote:nth-child(2) { background:var(--lime); }.reviews-grid p { margin:0; font-size:1.05rem; line-height:1.6; }.reviews-grid footer { display:grid; gap:5px; }.reviews-grid footer span { opacity:.62; font-size:.78rem; }
.faq-list { border-top:1px solid rgba(244,241,232,.2); }.faq-list details { border-bottom:1px solid rgba(244,241,232,.2); }
.faq-list summary { display:flex; justify-content:space-between; gap:30px; padding:28px 0; cursor:pointer; list-style:none; font:600 clamp(1.05rem,1.8vw,1.55rem) Unbounded,sans-serif; }.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary span { color:var(--lime); font-size:1.5rem; transition:transform .25s; }.faq-list details[open] summary span { transform:rotate(45deg); }
.faq-list details p { max-width:820px; margin:0 0 30px; color:rgba(244,241,232,.68); line-height:1.7; }
.contact-copy>p { max-width:700px; line-height:1.6; }.contact-links { display:flex; flex-wrap:wrap; gap:10px; margin-top:30px; }
.manager-row { display:flex; align-items:center; gap:12px; margin:0 0 24px; font-size:.68rem; font-weight:800; letter-spacing:.13em; }.manager-row img { width:54px; height:54px; object-fit:cover; border-radius:50%; border:2px solid rgba(9,11,10,.3); }
.contact-links a { padding:12px 16px; border:1px solid rgba(9,11,10,.25); border-radius:999px; font-size:.82rem; font-weight:800; }
.contact-form { align-self:end; display:grid; gap:17px; }.contact-form label { display:grid; gap:7px; font-size:.72rem; font-weight:800; letter-spacing:.06em; }
.contact-form input,.contact-form textarea { width:100%; padding:16px 0; border:0; border-bottom:1px solid rgba(9,11,10,.35); outline:0; resize:vertical; color:var(--graphite); background:transparent; font:500 1rem Manrope,sans-serif; }
.contact-form input:focus,.contact-form textarea:focus { border-color:var(--graphite); }.contact-form .contact-button { justify-self:start; border:0; cursor:pointer; }.contact-form small { opacity:.6; }

@media (max-width: 900px) {
  .site-header { grid-template-columns: 1fr auto; padding: 20px; }.site-nav,.header-cta { display: none; }.menu-button { display: block; }.site-header.menu-open .site-nav { position: absolute; top: 70px; left: 16px; right: 16px; display: flex; flex-direction: column; align-items: flex-start; padding: 24px; border-radius: 20px; background: rgba(9,11,10,.94); backdrop-filter: blur(16px); }
  .hero-title { top:23vh; width:88vw; font-size:clamp(3.4rem,10vw,6rem); }.services-heading { align-items:start; flex-direction:column; }.services-heading strong { text-align:left; }.contact-section { grid-template-columns:1fr; }.contact-action { max-width:520px; }.contact-section footer { margin-top:40px; }
  .split-head { grid-template-columns:1fr; }.split-head>p { margin-top:0; }.card-grid,.principles-grid { grid-template-columns:repeat(2,1fr); }.problems-grid article:nth-child(7) { grid-column:1 / -1; width:calc(50% - .5px); justify-self:center; }.price-list article { grid-template-columns:45px 1fr auto; }.price-list article p { display:none; }.team-grid,.reviews-grid { grid-template-columns:1fr; }
}

@media (max-width: 640px) {
  .stage { min-height:640px; }.site-logo { font-size:.72rem; }.logo-mark { width:32px; height:25px; }.eyebrow { top:16vh; left:20px; max-width:calc(100vw - 40px); overflow:hidden; font-size:.58rem; }.hero-title { left:20px; top:22vh; width:calc(100vw - 40px); font-size:clamp(2.8rem,14.5vw,4.5rem); line-height:.9; }.intro-copy { left:20px; bottom:28px; width:calc(100vw - 40px); }.intro-copy>p { font-size:1.35rem; }.intro-note { font-size:.86rem; }.hero-actions { gap:15px; }.primary-button { min-height:48px; padding:0 18px; font-size:.76rem; }.text-link { font-size:.76rem; }.hero-tags { display:none; }.scroll-hint { display:none; }.before-after-label { top:14vh; max-width:44vw; font-size:.62rem; line-height:1.2; }.before-after-label span { display:none; }
  .story-panel { width: calc(100vw - 28px); }.story-panel h2 { font-size: 2.35rem; }.story-panel p { font-size: .88rem; line-height: 1.45; }.facts { gap: 15px; margin-top: 30px; }.facts div { gap: 9px; }.facts dt { font-size: 2.5rem; }.facts dd { font-size: .72rem; }.panel-button { margin-top: 24px; }
  .services-slider { top: 13vh; }.services-heading { margin: 0 20px 24px; }.services-heading strong { font-size: 1.55rem; }.services-track { transform: translate3d(calc(var(--services-shift) - 9vw),0,0); gap: 12px; }.service-card { flex-basis: 82vw; height: 280px; }.services-controls { left: 20px; bottom: 30px; }
  .contact-section { min-height: 100vh; padding: 85px 20px 24px; }.contact-copy h2 { font-size: clamp(2.8rem,13vw,4.3rem); }.contact-section footer { flex-direction: column; gap: 12px; }
  .content-section { padding:76px 20px; }.section-head h2 { font-size:clamp(2.5rem,13vw,4.2rem); }.card-grid,.principles-grid { grid-template-columns:1fr; }.card-grid article { min-height:230px; }.card-grid h3 { margin-top:48px; }
  .problems-grid article:nth-child(7) { grid-column:auto; width:auto; }
  .price-list article { grid-template-columns:34px 1fr; gap:12px; padding:24px 0; }.price-list article strong { grid-column:2; }.person-card>div { padding:24px; }.person-card h3 { font-size:1.6rem; }
  .process-list li { grid-template-columns:55px 1fr; gap:12px; }.process-list li>span { font-size:1.35rem; }.gallery-grid figure,.gallery-grid .gallery-wide { min-height:360px; }.reviews-grid blockquote { min-height:290px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; } *,*::before,*::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
