/* сімсот медіа · фотографічні сцени та скло зі спільного референсу. */
:root {
  --story-ink:#07101e;
  --story-white:#f4f8ff;
  --story-blue:#087bff;
  --story-cyan:#4cd8ff;
  --glass-surface:linear-gradient(135deg,rgba(240,247,255,.7),rgba(210,227,248,.34) 55%,rgba(255,255,255,.6));
  --glass-edge:rgba(244,250,255,.78);
  --glass-shadow:0 22px 50px #02081538,inset 0 1px 0 #fff9,inset 0 -1px 0 #fff4;
}
.story-surface { position:relative; isolation:isolate; background:var(--story-ink); }
.story-photo { position:absolute; inset:0; z-index:-2; overflow:hidden; pointer-events:none; }
.story-photo img { width:100%; height:100%; object-fit:cover; }
.story-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,#07101e 0%,#07101e1a 22%,#07101e1a 75%,#07101e 100%); }
.story-glass { border:1px solid var(--glass-edge); background:var(--glass-surface); box-shadow:var(--glass-shadow); backdrop-filter:blur(22px) saturate(1.2); -webkit-backdrop-filter:blur(22px) saturate(1.2); color:#0c1c32; }
.story-glass-dark { border:1px solid #c7e4ff55; background:linear-gradient(140deg,#112c4ac4,#0715289e 58%,#1d42656b); box-shadow:0 24px 70px #01061166,inset 0 1px 0 #ebf9ff3b; backdrop-filter:blur(22px); -webkit-backdrop-filter:blur(22px); color:#f4f8ff; }
.scroll-progress { position:fixed; top:0; left:0; width:100%; height:3px; transform:scaleX(0); transform-origin:left; z-index:110; pointer-events:none; background:linear-gradient(90deg,#075bff,#59deff); }
@supports (animation-timeline:scroll()) {
  .scroll-progress { animation:page-progress linear both; animation-timeline:scroll(root block); }
}
@keyframes page-progress { to { transform:scaleX(1); } }
@media(prefers-reduced-motion:reduce) { .scroll-progress { display:none; } }

/* Shared photographic composition. The first reference hero stays intact. */
html { scroll-padding-top:110px; }
body { overflow-x:clip; }
.story-width { width:min(1160px,calc(100% - 96px)); margin-inline:auto; }
.story-surface { view-timeline-name:--scene; view-timeline-axis:block; }
.story-surface h1,.story-surface h2,.chapter-copy h2 { color:#fff; font-weight:650; line-height:1.13; letter-spacing:-.045em; margin:0; }
.story-surface h1 { font-size:clamp(42px,5.6vw,76px); }
.story-surface h2,.chapter-copy h2 { font-size:clamp(36px,4.4vw,62px); }
.story-surface h1 em,.story-surface h2 em,.chapter-copy h2 em { font-style:normal; background:linear-gradient(100deg,#1680ff 5%,#4bceff 85%); background-clip:text; -webkit-background-clip:text; color:transparent; }
.scene-eyebrow { display:flex; align-items:center; gap:18px; color:#64bfff; font-size:16px; font-weight:500; letter-spacing:.01em; margin:0 0 23px; }
.scene-eyebrow > span { width:48px; height:1px; flex-shrink:0; background:linear-gradient(90deg,transparent,#328df1); }.scene-eyebrow > span:last-child { transform:rotate(180deg); }
.story-heading { text-align:center; max-width:890px; margin:0 auto 70px; }.story-heading .scene-eyebrow { justify-content:center; }.story-heading > p:last-child:not(.scene-eyebrow) { max-width:660px; font-size:18px; line-height:1.7; color:#d2e0ef; margin:25px auto 0; }
.story-surface .button { font-size:16px; min-height:54px; padding:14px 24px; box-shadow:0 8px 24px #035cff33; }
.story-glass,.story-glass-dark { border-radius:18px; position:relative; }
.story-glass::before,.story-glass-dark::before { content:""; position:absolute; left:12%; right:12%; top:0; height:1px; background:linear-gradient(90deg,transparent,#fff,transparent); opacity:.75; pointer-events:none; }
.paper-kicker { display:block; font-size:14px; color:#385777; line-height:1.5; margin:0 0 12px; }
.story-glass-dark .paper-kicker { color:#7fceff; }
.package-orb,.desk-note-icon { display:grid; place-items:center; width:66px; height:66px; border-radius:50%; border:1px solid #fff7; color:#086ee6; background:linear-gradient(140deg,#fff,#e6f2ffae); box-shadow:0 5px 22px #0c294f1a,inset 0 2px 0 #fff; }
.package-orb svg,.desk-note-icon svg { width:33px; height:33px; stroke-width:1.7; }
.story-glass-dark .package-orb,.story-glass-dark .desk-note-icon { background:linear-gradient(135deg,#124b8c,#061731); border-color:#52b9ff4d; color:#8ae6ff; box-shadow:0 0 27px #137dff38,inset 0 1px 0 #8bcdff4d; }
.glass-signature { display:flex; justify-content:center; gap:5px; margin-top:20px; }.glass-signature i { width:5px; height:5px; background:#127bf6; border-radius:50%; }.glass-signature i:nth-child(2) { background:#33bdff; }
.story-glass-dark .glass-signature i { box-shadow:0 0 10px #17a5ff; }
.hero-story { position:relative; }.story-scroll-cue { display:flex; position:absolute; left:50%; bottom:16px; transform:translateX(-50%); align-items:center; gap:15px; color:#b7d4f0; font-size:14px; white-space:nowrap; z-index:4; }.story-scroll-cue i { color:#48c2ff; font-style:normal; font-size:22px; }

/* The desk stays in view as the three chapters move past it. */
.scroll-story { position:relative; isolation:isolate; }.journey-visual { height:100svh; min-height:640px; position:sticky; top:0; z-index:-1; overflow:hidden; background:#07101e; }.journey-photo { position:absolute; inset:-2%; opacity:0; }.journey-photo:first-child { opacity:1; }.journey-photo img { width:100%; height:100%; object-fit:cover; }.journey-photo:nth-child(2) img { object-position:center 58%; }.journey-shade { position:absolute; inset:0; background:linear-gradient(180deg,#07101e 0%,#07101e0d 18%,#07101e1c 80%,#07101e 100%),linear-gradient(90deg,#07101e80,#07101e12 80%); }.journey-position { position:absolute; left:28px; top:50%; display:flex; flex-direction:column; align-items:center; gap:14px; font-size:14px; color:#a3c4e4; }.journey-position i { height:94px; width:1px; background:#81baf652; position:relative; }.journey-position i::after { content:""; position:absolute; top:0; left:0; width:2px; height:100%; transform:scaleY(var(--journey-progress,.02)); transform-origin:top; background:#43c4ff; box-shadow:0 0 10px #1392ff; }
.journey-chapters { margin-top:-100svh; position:relative; }.story-chapter { display:grid; grid-template-columns:1.3fr 1fr; align-items:center; gap:100px; min-height:95svh; padding:110px 0; }.chapter-copy { max-width:620px; }.chapter-copy > p:not(.scene-eyebrow) { color:#e3edf7; font-size:18px; line-height:1.8; margin:27px 0 0; max-width:580px; text-shadow:0 2px 15px #03070d; }.chapter-copy .chapter-aside { font-size:14px!important; line-height:1.75!important; color:#b2c9df!important; max-width:530px; }.desk-note { padding:35px 31px 24px; max-width:350px; width:100%; justify-self:end; margin-top:230px; }.desk-note h3 { font-size:25px; margin:28px 0 16px; line-height:1.3; }.desk-note p { font-size:16px; line-height:1.75; margin:0; color:#29425c; }.desk-note.story-glass-dark p { color:#d2e4f7; }.chapter-right { grid-template-columns:1fr 1.3fr; }.chapter-right .chapter-copy { grid-column:2; grid-row:1; }.chapter-right .desk-note { grid-column:1; grid-row:1; justify-self:start; margin-top:280px; }

/* Glass cards sit over the real desktop, matching the reference cards. */
.package-scene { padding:105px 0 90px; }.package-scene .story-photo img { object-position:50% 60%; }.package-scene .story-photo::after { background:linear-gradient(#07101e 0%,#07101e57 20%,#07101e12 68%,#07101e 100%); }.glass-packages { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:stretch; }.glass-package { padding:33px 27px 24px; display:flex; flex-direction:column; }.glass-package .package-orb { align-self:center; margin-bottom:25px; }.glass-package > .paper-kicker { text-align:center; }.glass-package h3 { margin:0 0 17px; font-size:25px; text-align:center; line-height:1.3; }.glass-package > p:not(.paper-kicker) { font-size:16px; line-height:1.75; margin:0; color:#29445f; min-height:84px; }.glass-package.story-glass-dark > p:not(.paper-kicker) { color:#c4d9ef; }.glass-package-price { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px; margin:24px 0 22px; }.glass-package-price strong { font-size:37px; letter-spacing:-.04em; line-height:1.25; }.glass-package-price > span { font-size:14px; }.glass-package-price > span:last-child { display:block; width:100%; }.price-individual strong { font-size:27px; }.price-individual { min-height:78px; align-content:center; }.glass-package ul { margin:0 0 29px; padding:22px 0 0; list-style:none; border-top:1px solid #36577338; }.glass-package li { position:relative; padding-left:21px; margin-bottom:13px; font-size:15px; line-height:1.6; }.glass-package li::before { content:"✓"; position:absolute; left:0; color:#0875e6; }.glass-package.story-glass-dark ul { border-color:#9fc9f03d; }.glass-package.story-glass-dark li::before { color:#5dccff; }.glass-package .button { margin-top:auto; width:100%; padding-inline:13px; font-size:15px; }.scene-footnote { max-width:960px; margin:40px auto 0; font-size:14px; line-height:1.8; color:#ccdaeb; text-align:center; }
.build-scene { padding:110px 0 120px; }.photo-desk-detail img { object-position:center 77%; }.build-scene .story-photo::after { background:linear-gradient(#07101e 0%,#07101eb0 28%,#07101e26 58%,#07101e 100%); }.direction-deck { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:19px; margin-top:100px; }.direction-tile { padding:25px 17px 23px; text-align:center; text-decoration:none; display:flex; flex-direction:column; align-items:center; min-height:240px; }.direction-tile h3 { font-size:18px; line-height:1.4; margin:22px 0 13px; }.direction-tile .package-orb { width:57px; height:57px; }.tile-rule { display:block; height:2px; width:65px; background:#30476050; position:relative; margin:0 0 24px; }.tile-rule::after { content:""; height:2px; background:#30476040; position:absolute; top:7px; left:9px; right:9px; }.tile-link { margin-top:auto; font-size:14px; color:#0863b9; }.direction-tile:hover { background:linear-gradient(130deg,#fff,#c6e7ffd9); }.scene-center { margin-top:43px; display:flex; justify-content:center; }
.faq-scene { padding:100px 0 130px; }.faq-story-layout { display:grid; grid-template-columns:1fr 1.13fr; gap:85px; align-items:start; }.faq-story-layout > div > p:not(.scene-eyebrow) { font-size:18px; line-height:1.8; color:#c9dbee; margin-top:26px; }.glass-faq { padding:7px 30px; }.glass-faq details + details { border-top:1px solid #c4e2ff32; }.glass-faq summary { cursor:pointer; padding:25px 29px 25px 0; list-style:none; position:relative; font-size:16px; line-height:1.65; }.glass-faq summary::-webkit-details-marker { display:none; }.glass-faq summary::after { content:"+"; position:absolute; right:0; top:23px; color:#8ad6ff; font-size:24px; }.glass-faq details[open] summary::after { content:"−"; }.glass-faq details p { font-size:16px; line-height:1.8; color:#c8dbef; margin:0 0 27px; }.faq-scene .story-photo::after { background:linear-gradient(#07101e 0%,#07101e70 38%,#07101e70 74%,#07101e 100%); }
.conversation-scene { padding:110px 0 150px; }.conversation-layout { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:100px; }.conversation-copy > p:not(.scene-eyebrow) { font-size:18px; line-height:1.8; color:#d6e6f6; max-width:520px; margin:27px 0 0; }.conversation-form { padding:35px; }.conversation-form h3 { font-size:27px; margin:0 0 25px; }.conversation-scene .story-photo::after { background:linear-gradient(#07101e 0%,#07101e3b 32%,#07101e4a 75%,#07101e 100%); }

/* Forms use the same silver glass as the reference service cards. */
.story-glass .form-fields label { color:#183450; font-size:15px; }.story-glass .form-fields input { background:#f7fbffc4; border-color:#54718c4f; color:#0b223a; box-shadow:inset 0 1px 4px #0c284015; }.story-glass .form-fields input::placeholder { color:#556e87; }.story-glass .form-privacy,.story-glass .form-mode-note { font-size:13px; color:#2d4c68; }.story-glass .form-privacy a { color:#075396; }.story-glass .field-error { color:#a12224; }.story-glass .form-status { color:#074d80; }.story-glass .form-fields input[aria-invalid="true"] { border-color:#a12224; }.story-glass .form-plan { border-color:#375c8640; background:#f5fbff7a; }.story-glass .form-plan > strong { color:#133f66; font-size:16px; }.story-glass .form-plan li { color:#244461; background:#eaf5ff85; font-size:14px; }.story-glass .form-plan a { color:#075396; font-size:14px; }.story-glass .form-plan ul { display:grid; gap:9px; }.form-plan li > span { display:block; }.form-plan li strong { display:block; font-size:14px; margin-top:3px; }.form-estimate { padding-top:15px; border-top:1px solid #486b8c40; margin-top:15px; }.form-estimate div { display:flex; gap:18px; justify-content:space-between; margin-top:8px; font-size:14px; }.form-estimate div:last-of-type { font-size:17px; font-weight:700; }.form-estimate p { font-size:12px; line-height:1.7; margin:12px 0; }
.story-surface .messenger { border:1px solid #b8deff65; background:linear-gradient(130deg,#243b53a1,#0f243a9c); backdrop-filter:blur(16px); font-size:14px; color:#e5f4ff; padding:12px 15px; box-shadow:inset 0 1px 0 #ffffff26; }

/* About and contact are full photographic stages. */
.about-office { padding:75px 0 90px; }.about-office .story-photo img { object-position:center 20%; }.about-office .story-photo::after { background:linear-gradient(#07101e73 0%,#07101e00 33%,#07101e18 63%,#07101e 100%); }.about-office-copy { min-height:520px; }.about-office-copy > p:not(.scene-eyebrow) { max-width:550px; font-size:18px; line-height:1.8; color:#dce8f7; margin:27px 0 30px; }.team-desk { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; margin-top:65px; }.team-glass { padding:27px 23px 24px; display:flex; flex-direction:column; }.team-glass .package-orb { margin-bottom:27px; align-self:center; }.team-glass .paper-kicker { text-align:center; }.team-glass h2 { color:inherit; font-size:23px; text-align:center; line-height:1.3; margin:0 0 20px; letter-spacing:-.03em; }.team-glass p { font-size:16px; line-height:1.8; margin:0; }.team-glass .glass-signature { margin-top:auto; padding-top:24px; }.confidence-scene { padding:110px 0 135px; }.confidence-layout { display:grid; grid-template-columns:1.1fr 1fr; gap:100px; align-items:center; }.confidence-layout > div > p:not(.scene-eyebrow) { color:#d0e1f3; font-size:18px; line-height:1.85; margin-top:25px; }.confidence-paper { padding:35px; }.confidence-paper h3 { font-size:28px; line-height:1.35; margin:24px 0; }.confidence-paper dl { margin:0 0 25px; }.confidence-paper dl > div { border-top:1px solid #36547140; padding:18px 0; }.confidence-paper dt { font-size:16px; font-weight:700; margin-bottom:8px; }.confidence-paper dd { font-size:16px; line-height:1.65; margin:0; color:#284761; }
.contact-office { padding:65px 0 70px; min-height:100svh; }.contact-office .story-photo img { object-position:42% 30%; }.contact-office .story-photo::after { background:linear-gradient(#07101e70 0%,#07101e22 45%,#07101e88 83%,#07101e 100%); }.contact-office-layout { display:grid; grid-template-columns:1.06fr 1fr; gap:75px; align-items:start; }.contact-office-copy { padding-top:30px; }.contact-office-copy > p:not(.scene-eyebrow) { max-width:510px; color:#d8e7f7; font-size:18px; line-height:1.8; margin:26px 0 0; }.contact-office-copy h1 { font-size:clamp(40px,4.8vw,66px); }.contact-office-form { padding:32px; }.contact-office-form > h2 { font-size:28px; line-height:1.3; color:#102a44; }.contact-office-form > p { color:#375670; font-size:16px; margin:12px 0 27px; }.contact-office-details { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; padding:25px 30px; margin-top:8px; }.contact-office-details > div { display:flex; gap:17px; align-items:center; min-width:0; }.contact-office-details svg { width:30px; height:30px; flex-shrink:0; color:#80d3ff; }.contact-office-details strong { display:block; font-size:16px; font-weight:600; overflow-wrap:anywhere; }.contact-office-details small { display:block; font-size:13px; color:#c0d3e8; margin-top:4px; }.contact-afterword { display:flex; justify-content:space-between; align-items:center; gap:40px; padding:20px 0 70px; font-size:14px; line-height:1.9; color:#a9c3de; }.contact-afterword a { max-width:340px; color:#86c8fd; }
.site-footer { background:linear-gradient(#07101eeb,#040916); position:relative; }.footer-main { border-top:1px solid #cee6ff33; padding-top:55px; }.footer-links,.footer-contact,.footer-contact > button { font-size:14px; }.footer-main p { font-size:14px; }.header-shell { background:linear-gradient(100deg,#061020ed,#13243ab8); border-color:#bddcff25; }.legal-content { background:linear-gradient(145deg,#13283b99,#0c1a2dcc); border:1px solid #d8edff45; border-radius:20px; padding:35px!important; box-shadow:inset 0 1px 0 #e7f4ff24; backdrop-filter:blur(20px); }.legal-heading { position:relative; }.legal-content p,.legal-content li { font-size:16px; }.legal-content td,.legal-content th { font-size:14px; }

/* Constructor: the same desk and five frosted glass direction cards. */
.constructor-page { background:#07101e; }.constructor-office { position:fixed; inset:0; z-index:-2; pointer-events:none; }.constructor-office img { width:100%; height:100%; object-fit:cover; object-position:center; }.constructor-office::after { content:""; position:absolute; inset:0; background:linear-gradient(#07101e85,#07101e0d 70%,#07101e8c); }.constructor-main { position:relative; isolation:isolate; width:min(1300px,calc(100% - 72px)); padding:37px 0 85px; }.constructor-heading { align-items:center; margin-bottom:33px; }.constructor-heading h1 { font-size:clamp(36px,4vw,53px); letter-spacing:-.04em; }.constructor-heading h1 br { display:none; }.constructor-heading h1 em { margin-left:7px; color:transparent; background:linear-gradient(100deg,#1889ff,#6bdfff); background-clip:text; -webkit-background-clip:text; }.constructor-heading p { font-size:16px; line-height:1.7; color:#d0e0f1; }.constructor-heading .eyebrow { font-size:14px; color:#71caff; }.constructor-help { font-size:14px; color:#deedfd; }.constructor-help > span { font-size:14px; color:#94d9ff; }.constructor-workspace { grid-template-columns:minmax(0,1fr) 336px; gap:28px; align-items:start; }.category-rail { grid-column:1/-1; display:block; padding:0; position:relative; top:auto; margin:0; background:transparent; }.rail-bottom { display:none; }.rail-label { display:block; font-size:14px; letter-spacing:.04em; text-transform:none; color:#c7def6; padding:0 0 17px; }.category-tabs { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:18px; overflow:visible; padding:0; }.category-tab { display:flex; flex-direction:column; justify-content:center; align-items:center; position:relative; padding:19px 15px; min-height:146px; width:100%; min-width:0; border:1px solid #ecf7ffb0; border-radius:15px; text-align:center; font-size:16px; line-height:1.4; color:#142d47; background:var(--glass-surface); box-shadow:var(--glass-shadow); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); }.category-tab > svg { width:34px; height:34px; flex-shrink:0; color:#086fe2; background:#f3f9ffdc; border-radius:50%; padding:10px; box-sizing:content-box; border:1px solid #fff; }.category-tab > span:first-of-type { flex:0; font-weight:650; }.category-tab::after { content:""; display:block; width:42px; height:2px; background:#57718c6e; box-shadow:0 6px 0 -0.3px #57718c3b; margin-top:1px; }.category-tab:hover { color:#07233f; border-color:#fff; background:linear-gradient(135deg,#f5fbffd9,#c9e5ffb8); }.category-tab[aria-selected="true"] { background:radial-gradient(ellipse at 50% 0,#087df5a6,transparent 65%),linear-gradient(145deg,#0c294be0,#051122ee); color:#fff; border-color:#81d3ffb3; box-shadow:0 10px 28px #0576ff33,inset 0 1px 0 #b4e9ff; }.category-tab[aria-selected="true"]::before { height:2px; left:22%; right:22%; top:0; bottom:auto; width:auto; background:#68dbff; }.category-tab[aria-selected="true"] > svg { color:#8ce8ff; background:#0a2a53b8; border-color:#399aff63; }.category-badge { position:absolute; top:11px; right:11px; font-size:12px; padding:3px 7px; min-width:24px; color:#fff; background:#0875d1; }.category-tab[aria-selected="true"]::after { background:#4ba9e670; box-shadow:0 6px 0 -0.3px #75b0d946; }
.service-workbench { padding:27px; border:1px solid #c6e5ff6b; border-radius:20px; background:linear-gradient(150deg,#182e42a8,#0a182bdd); box-shadow:inset 0 1px 0 #eaf6ff40,0 25px 60px #0003; backdrop-filter:blur(18px); min-height:0; }.workbench-heading { padding-bottom:22px; margin-bottom:23px; border-color:#c1e1ff33; }.workbench-kicker { font-size:14px; color:#99d7ff; letter-spacing:.06em; }.workbench-heading h2 { font-size:31px; margin-top:8px; color:#fff; }.workbench-heading p { font-size:16px; line-height:1.65; color:#c1d5e9; max-width:510px; }.workbench-icon { display:none; }.builder-service-grid { gap:18px; min-height:0; }.builder-service { background:var(--glass-surface); color:#0d2944; border:1px solid var(--glass-edge); box-shadow:0 12px 23px #0002,inset 0 1px 0 #fff9; backdrop-filter:blur(14px); padding:23px 21px 19px; min-height:300px; border-radius:15px; }.builder-service:hover { background:linear-gradient(140deg,#ecf7ffeb,#bfdaf0ba); color:#07203b; border-color:#fff; }.builder-service-title { font-size:19px; font-weight:650; line-height:1.35; }.builder-service-text { font-size:16px; color:#294965; line-height:1.65; }.builder-service-top { margin-bottom:18px; }.builder-service-top > svg { width:29px; height:29px; color:#0869d6; }.selection-mark { background:#f5faff; border-color:#4f779b66; color:#1163a4; width:30px; height:30px; }.builder-service[aria-pressed="true"] { background:radial-gradient(ellipse at 15% 0,#0877dd6e,transparent 75%),linear-gradient(145deg,#0b2b4fee,#06142ae8); color:#fff; border-color:#6bcaff; box-shadow:inset 0 1px 0 #b1e3ff55,0 8px 25px #0579fd24; }.builder-service[aria-pressed="true"] .builder-service-text { color:#c2d9ef; }.builder-service[aria-pressed="true"] .builder-service-top > svg { color:#82d8ff; }.service-price { display:block; margin-top:auto; padding-top:21px; width:100%; }.service-price > strong { font-size:23px; line-height:1.35; letter-spacing:-.03em; }.service-price > small { font-size:14px; margin-left:6px; font-weight:400; }.service-scope { display:block; margin-top:7px; padding-top:9px; border-top:1px solid #3052703b; font-size:13px; line-height:1.65; color:#3a5872; }.builder-service[aria-pressed="true"] .service-scope { color:#a2c3df; border-color:#d0ebff33; }.workbench-footer { flex-direction:row; align-items:center; }.workbench-footer > p { font-size:14px; max-width:250px; color:#b6d2e9; }.next-category { font-size:14px; color:#b0dfff; }
.plan-panel { top:111px; padding:25px 24px; border:1px solid #e7f4ffe3; border-radius:18px; background:linear-gradient(140deg,#edf7ffda,#c4daedb8 60%,#f3f9ffdf); color:#142e49; box-shadow:var(--glass-shadow); backdrop-filter:blur(24px); }.plan-panel::before { background:#cbe4f924; border-color:#e6f4ff63; border-radius:18px; }.plan-top h2 { font-size:28px; }.plan-top .eyebrow { font-size:13px; color:#426483; }.selection-counter { background:linear-gradient(140deg,#086ee6,#24b8ef); color:#fff; border-color:#84dfff; }.plan-map { margin:17px 0 8px; }.plan-map > svg { max-height:90px; }.map-node > circle { fill:#ecf6ff; stroke:#709dc1; }.map-node > text { fill:#305477; }.map-business { fill:#e3f2ff; stroke:#73a4ca; }.map-business-text { fill:#1c527f; }.map-line { stroke:#6995ba; }.plan-empty { border-color:#3b608244; padding:12px 4px 24px; }.plan-empty > span { color:#116bcc; }.plan-empty h3 { font-size:17px; color:#1a3b5a; }.plan-empty p { font-size:14px; color:#365977; }.plan-items { max-height:320px; gap:9px; }.plan-item { padding:12px 10px; border-color:#6f95b75c; background:#eef8ff75; color:#173852; font-size:14px; line-height:1.5; }.plan-item > svg { color:#187dcc; }.plan-item > span { min-width:0; }.plan-item strong { font-size:15px; display:block; margin-top:5px; color:#0c578f; }.plan-item small { font-size:12px; font-weight:400; margin-left:4px; }.plan-item > button { background:#e1f0fddb; color:#174366; border:1px solid #7599b959; width:31px; height:31px; }.plan-item > button:hover { background:#0c6abc; color:#fff; }
.plan-estimate { margin-top:23px; border-top:1px solid #51769850; padding-top:16px; }.plan-estimate dl { margin:0 0 16px; }.plan-estimate dl > div { display:flex; justify-content:space-between; gap:14px; margin:9px 0; font-size:14px; }.plan-estimate dd { margin:0; font-weight:650; white-space:nowrap; }.estimate-main { border-top:1px solid #577d9c4f; padding-top:16px; }.estimate-main > span { display:block; font-size:14px; color:#345675; }.estimate-main > strong { display:block; margin-top:4px; font-size:36px; font-weight:700; line-height:1.3; letter-spacing:-.04em; font-variant-numeric:tabular-nums; }.plan-estimate > p { font-size:13px; line-height:1.7; color:#365777; margin:14px 0 21px; }.plan-submit { font-size:15px; min-height:50px; }.plan-utilities { align-items:start; }.plan-utilities button { color:#185985; font-size:13px; }.plan-utilities button:hover:not(:disabled) { color:#082d50; }.constructor-price-context { font-size:14px; line-height:1.8; color:#d7e7f5; max-width:840px; margin:32px 0 0; padding:19px 23px; border:1px solid #b2d2ef42; border-radius:13px; background:#0b1b2da3; backdrop-filter:blur(12px); }.plan-dialog .plan-estimate { color:#cee5ff; border-color:#b4d7f940; }.plan-dialog .estimate-main > span,.plan-dialog .plan-estimate > p { color:#b6d3ed; }.plan-dialog .plan-item { background:#173655; color:#e0efff; border-color:#78bafa55; }.plan-dialog .plan-item strong { color:#85d1ff; }.plan-dialog .plan-item > button { background:#244969; color:#d1e8ff; }.plan-dialog [data-mobile-plan-items] { max-height:38dvh; }.constructor-page .site-footer { z-index:0; }.plan-total-updated { animation:price-flash .55s ease-out; }
@keyframes price-flash { 0% { color:#0a7fe1; transform:translateY(3px); } 100% { color:inherit; transform:translateY(0); } }

/* Native scroll timelines progressively enhance all story blocks. */
@supports (animation-timeline:view()) and (animation-range:entry 0% entry 100%) {
  [data-scroll-reveal] { animation:story-arrival 1ms linear both; animation-timeline:view(block); animation-range:entry 0% entry 100%; }
  .story-surface .story-photo img { animation:scene-drift 1ms linear both; animation-timeline:--scene; animation-range:cover 0% cover 100%; }
}
@keyframes story-arrival { from { opacity:.2; transform:translate3d(0,55px,0) scale(.965); } to { opacity:1; transform:translate3d(0,0,0) scale(1); } }
@keyframes scene-drift { from { transform:translate3d(0,-2%,0) scale(1.075); } to { transform:translate3d(0,2%,0) scale(1.025); } }
[data-scroll-reveal]:focus-within { opacity:1!important; transform:none!important; }
.story-fallback [data-scroll-reveal] { opacity:var(--reveal-opacity,1); transform:translate3d(0,var(--reveal-y,0px),0) scale(var(--reveal-scale,1)); }
.story-fallback .story-surface .story-photo img { transform:translate3d(0,var(--scene-y,0px),0) scale(1.055); }

@media(min-width:1500px) { .story-width { width:min(1280px,calc(100% - 140px)); }.constructor-main { width:min(1430px,calc(100% - 100px)); }.constructor-workspace { grid-template-columns:minmax(0,1fr) 350px; gap:30px; }.category-tabs { gap:24px; }.builder-service-grid { gap:22px; }.builder-service { padding:28px; }.glass-package { padding:38px 33px 27px; } }
@media(max-width:1100px) { .story-width { width:calc(100% - 72px); }.story-chapter { gap:50px; }.glass-packages { gap:19px; }.glass-package { padding:28px 22px 24px; }.glass-package h3 { font-size:23px; }.glass-package-price strong { font-size:32px; }.price-individual strong { font-size:24px; }.direction-deck { gap:14px; }.direction-tile { padding:23px 12px; }.direction-tile h3 { font-size:16px; }.conversation-layout,.confidence-layout,.contact-office-layout,.faq-story-layout { gap:45px; }.team-desk { gap:17px; }.team-glass { padding:24px 18px; }.team-glass h2 { font-size:21px; }.constructor-main { width:calc(100% - 48px); }.constructor-workspace { grid-template-columns:minmax(0,1fr) 306px; gap:20px; }.category-tabs { gap:14px; }.category-tab { font-size:15px; padding:17px 10px; }.service-workbench { padding:23px 20px; }.builder-service { padding:20px 17px; }.builder-service-title { font-size:18px; }.plan-panel { padding:24px 20px; }.constructor-heading h1 { max-width:560px; }.constructor-heading h1 br { display:block; }.constructor-heading h1 em { margin-left:0; }.constructor-help { max-width:180px; }.workbench-footer { align-items:flex-start; flex-direction:column; gap:12px; } }
@media(max-width:860px) {
 .story-width { width:calc(100% - 44px); }.story-surface h1 { font-size:56px; }.story-surface h2,.chapter-copy h2 { font-size:45px; }.story-heading { margin-bottom:48px; }.story-heading > p:last-child:not(.scene-eyebrow) { font-size:17px; }.journey-position { left:9px; font-size:12px; }.journey-visual { min-height:0; }.story-chapter { min-height:100svh; gap:30px; padding:95px 12px; }.desk-note { padding:27px 23px 20px; max-width:290px; margin-top:280px; }.desk-note h3 { font-size:22px; }.chapter-copy > p:not(.scene-eyebrow) { font-size:17px; }.chapter-copy .scene-eyebrow { font-size:14px; }.package-scene { padding:85px 0; }.glass-packages { grid-template-columns:1fr; max-width:590px; margin-inline:auto; gap:27px; }.glass-package { padding:32px; }.glass-package > p:not(.paper-kicker) { min-height:0; text-align:center; }.glass-package h3 { font-size:28px; }.glass-package-price { justify-content:center; text-align:center; }.glass-package-price strong { font-size:39px; }.price-individual strong { font-size:30px; }.glass-package ul { display:grid; grid-template-columns:1fr 1fr; gap:13px 20px; }.glass-package li { margin:0; }.glass-package .button { max-width:380px; align-self:center; }.build-scene { padding:90px 0; }.direction-deck { grid-template-columns:repeat(3,minmax(0,1fr)); max-width:710px; margin:65px auto 0; gap:19px; }.direction-tile { min-height:225px; }.direction-tile h3 { font-size:18px; }.faq-story-layout { grid-template-columns:1fr; gap:35px; }.faq-story-layout > div:first-child { max-width:660px; }.glass-faq { max-width:none; }.faq-scene { padding:90px 0; }.conversation-layout { grid-template-columns:1fr; gap:43px; max-width:660px; }.conversation-scene { padding:80px 0 100px; }.conversation-copy .messengers { margin-top:24px; }.conversation-form { max-width:550px; width:100%; justify-self:end; }.team-desk { grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px; max-width:710px; }.about-office-copy { min-height:500px; }.about-office { padding-top:50px; }.about-office .story-photo img { object-position:62% 20%; }.team-glass { padding:29px 25px; }.team-glass h2 { font-size:25px; }.confidence-layout { grid-template-columns:1fr; gap:40px; max-width:680px; }.confidence-paper { max-width:580px; justify-self:end; }.contact-office-layout { gap:45px; grid-template-columns:1fr; max-width:650px; }.contact-office-copy { padding-top:0; }.contact-office-copy h1 { font-size:54px; }.contact-office-form { width:100%; max-width:560px; justify-self:end; }.contact-office-details { grid-template-columns:1fr; padding:26px; gap:25px; }.contact-office .story-photo img { object-position:26% center; }.contact-afterword { flex-direction:column; align-items:start; gap:10px; }.constructor-workspace { grid-template-columns:minmax(0,1fr) 275px; gap:17px; }.constructor-main { width:calc(100% - 36px); padding-top:28px; }.category-tabs { gap:11px; }.category-tab { font-size:14px; padding:17px 9px; }.category-tab > svg { width:27px; height:27px; padding:9px; }.builder-service-grid { grid-template-columns:1fr; }.builder-service { min-height:250px; }.category-rail { grid-column:1/-1; }.constructor-heading h1 { font-size:41px; }.constructor-heading p { font-size:15px; }.constructor-help { display:none; }.plan-panel { top:98px; padding:22px 18px; }.plan-utilities { gap:14px; }.plan-utilities button { font-size:12px; }.plan-submit { font-size:14px; }
}
@media(max-width:700px) {
 .story-surface h1 { font-size:47px; }.story-surface h2,.chapter-copy h2 { font-size:39px; }.scene-eyebrow { font-size:14px; gap:12px; margin-bottom:20px; }.scene-eyebrow > span { width:25px; }.story-scroll-cue { font-size:12px; bottom:9px; gap:12px; }.story-chapter,.chapter-right { display:flex; flex-direction:column; align-items:start; justify-content:center; padding:70px 6px; gap:35px; min-height:110svh; }.chapter-copy { max-width:550px; }.chapter-copy > p:not(.scene-eyebrow) { font-size:17px; line-height:1.75; }.chapter-copy .chapter-aside { font-size:14px!important; }.desk-note,.chapter-right .desk-note { align-self:flex-end; width:min(350px,90%); margin-top:0; padding:28px 25px 23px; }.desk-note h3 { font-size:24px; margin-top:23px; }.journey-photo img { object-position:60% center; }.journey-photo:nth-child(2) img { object-position:center 55%; }.journey-shade { background:linear-gradient(#07101e 0%,#07101e66 22%,#07101e33 70%,#07101e 100%); }.journey-position { display:none; }.direction-deck { grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; margin-top:50px; }.direction-tile:last-child { grid-column:1/-1; min-height:200px; }.direction-tile { min-height:235px; }.story-heading { margin-bottom:40px; }.conversation-form { padding:29px; }.conversation-copy > p:not(.scene-eyebrow) { font-size:17px; }.about-office-copy { min-height:470px; }.about-office-copy > p:not(.scene-eyebrow) { max-width:380px; font-size:17px; text-shadow:0 2px 12px #000; }.about-office .story-photo img { object-position:63% 20%; }.team-desk { gap:18px; margin-top:50px; }.team-glass { padding:25px 19px; }.team-glass h2 { font-size:23px; }.team-glass .paper-kicker { font-size:13px; }.confidence-scene { padding:80px 0 90px; }.confidence-paper { padding:29px; }.contact-office { padding:45px 0 40px; }.contact-office-copy h1 { font-size:46px; }.contact-office-copy > p:not(.scene-eyebrow) { font-size:17px; }.contact-office-form { padding:29px; }.contact-office-form > h2 { font-size:27px; }.contact-office-details { margin-top:0; }.constructor-main { width:calc(100% - 32px); padding-top:27px; padding-bottom:35px; }.constructor-heading h1 { font-size:39px; }.constructor-workspace { grid-template-columns:1fr; gap:20px; }.category-rail { position:sticky; top:80px; z-index:15; padding:11px 0 14px; margin-top:-11px; background:linear-gradient(#081524f2 83%,#08152400); }.rail-label { display:none; }.category-tabs { display:flex; overflow-x:auto; gap:12px; padding-bottom:6px; scrollbar-width:none; }.category-tab { flex:0 0 148px; min-width:148px; min-height:137px; padding:16px 12px; font-size:15px; }.category-tab > svg { width:29px; height:29px; padding:8px; }.service-workbench { padding:24px 21px; }.workbench-heading h2 { font-size:29px; }.workbench-heading p { font-size:16px; }.builder-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; }.builder-service { min-height:330px; padding:23px 18px 21px; }.builder-service-title { font-size:19px; }.builder-service-text { font-size:16px; }.service-price > strong { font-size:23px; }.service-price > small { display:block; margin:3px 0 0; font-size:14px; }.service-scope { font-size:13px; }.plan-panel { display:none; }.builder-bottom-bar { display:flex; z-index:45; background:linear-gradient(135deg,#ecf8fff2,#c6dff3ed); border-color:#f1f9ff; color:#0b2f52; box-shadow:0 12px 40px #0005,inset 0 1px 0 #fff; padding:13px 17px; gap:18px; bottom:max(12px,env(safe-area-inset-bottom)); }.mobile-plan-count { color:#092d4d; min-width:0; }.mobile-plan-count > span { font-size:23px; line-height:1.3; font-weight:750; white-space:nowrap; letter-spacing:-.03em; font-variant-numeric:tabular-nums; }.mobile-plan-count > small { font-size:12px; color:#315675; }.builder-bottom-bar > .button { font-size:14px; min-width:139px; min-height:47px; }.constructor-price-context { font-size:14px; line-height:1.8; margin-top:25px; padding:20px; }.constructor-page .footer-bottom { padding-bottom:110px; }.constructor-page .mobile-contact { display:none; }.legal-content { padding:24px!important; }.footer-links,.footer-contact,.footer-contact > button { font-size:14px; }.footer-main p { font-size:14px; }
}
@media(max-width:440px) {
 .story-width { width:calc(100% - 36px); }.story-surface h1 { font-size:42px; }.story-surface h2,.chapter-copy h2 { font-size:35px; }.story-chapter { padding-inline:0; }.scene-eyebrow { font-size:14px; }.story-heading > p:last-child:not(.scene-eyebrow) { font-size:16px; }.glass-package { padding:29px 25px; }.glass-package ul { display:block; }.glass-package li { margin-bottom:13px; font-size:16px; }.glass-package-price strong { font-size:37px; }.price-individual strong { font-size:29px; }.scene-footnote { text-align:left; font-size:14px; }.direction-deck { gap:13px; }.direction-tile { padding:23px 12px; }.direction-tile h3 { font-size:17px; }.tile-link { font-size:13px; }.glass-faq { padding-inline:23px; }.conversation-form,.contact-office-form { padding:27px 23px; }.conversation-form h3 { font-size:25px; }.story-surface .messenger { font-size:14px; padding:11px 13px; }.team-desk { grid-template-columns:1fr; max-width:370px; gap:23px; }.team-glass { padding:29px; }.team-glass h2 { font-size:27px; }.team-glass .paper-kicker { font-size:14px; }.about-office-copy { min-height:520px; }.about-office-copy h1 { font-size:43px; }.about-office .story-photo img { object-position:67% top; }.contact-office-copy h1 { font-size:43px; }.contact-office-form > h2 { font-size:25px; }.confidence-paper { padding:28px 24px; }.confidence-paper h3 { font-size:27px; }.story-surface .button { font-size:15px; padding-inline:19px; }.constructor-heading h1 { font-size:35px; }.constructor-heading p { font-size:15px; }.constructor-main { width:calc(100% - 28px); }.category-tab { min-width:143px; flex-basis:143px; }.builder-service-grid { grid-template-columns:1fr; gap:18px; }.builder-service { min-height:0; padding:25px 23px; }.builder-service-title { font-size:21px; }.service-price > small { display:inline; margin-left:6px; }.service-price { padding-top:24px; }.workbench-heading h2 { font-size:27px; }.service-workbench { padding:24px 18px; }.builder-bottom-bar { padding:12px 14px; gap:13px; }.mobile-plan-count > span { font-size:21px; }.builder-bottom-bar > .button { min-width:128px; font-size:13px; gap:10px; }.estimate-main > strong { font-size:33px; }.site-dialog { padding:27px 22px; }
}
@media(prefers-reduced-motion:reduce) { [data-scroll-reveal],.story-fallback [data-scroll-reveal] { opacity:1!important; transform:none!important; }.story-photo img,.story-fallback .story-photo img { transform:none!important; }.journey-photo { transform:none!important; }.journey-photo:not(:first-child) { display:none; }.scroll-progress { display:none; } }
@media print { .story-photo,.journey-visual,.constructor-office,.scroll-progress,.header-shell,.site-header,.builder-bottom-bar,.cookie-banner,.mobile-contact { display:none!important; }.journey-chapters { margin-top:0; }.story-chapter { min-height:0; padding-block:25px; }.story-surface,.scroll-story,.site-footer,body { background:white!important; color:black!important; }.story-surface h1,.story-surface h2,.chapter-copy h2,.story-surface h1 em,.story-surface h2 em,.chapter-copy h2 em { color:black!important; background:none; }.story-glass,.story-glass-dark { background:#f0f3f6!important; color:#111!important; box-shadow:none; backdrop-filter:none; }.story-surface p,.chapter-copy p { color:#222!important; text-shadow:none; } }

/* Whole photographic layer moves together with its HTML laptop screen. */
.hero-story .scene-layer { transform:translate3d(0,calc(var(--hero-progress,0) * -25px),0) scale(calc(1 + var(--hero-progress,0) * .018)); }
@supports (animation-timeline:scroll()) {
 .hero-story .scene-layer { animation:hero-drift 1ms linear both; animation-timeline:scroll(root block); animation-range:0px 100vh; }
}
@keyframes hero-drift { to { transform:translate3d(0,-25px,0) scale(1.018); } }
@media(prefers-reduced-motion:reduce) { .hero-story .scene-layer { transform:none!important; } }

/* Keep cart actions reachable even when many services have been selected. */
@media(min-width:701px) {
 .plan-panel { display:flex; flex-direction:column; max-height:calc(100svh - 130px); overflow-y:auto; scrollbar-width:thin; scrollbar-color:#6e9bbd transparent; }
 .plan-top,.plan-estimate,.plan-submit,.plan-utilities { flex-shrink:0; }
 .plan-items { min-height:72px; flex:0 1 auto; max-height:300px; }
 .plan-items:empty { min-height:0; }
 .plan-map.has-selection { display:none; }
 .plan-empty { flex:1 1 auto; min-height:90px; overflow:auto; }
 .plan-estimate { margin-top:18px; padding-top:13px; }
 .plan-estimate > p { margin:11px 0 16px; }
}
@media(max-height:650px) and (min-width:701px) {
 .plan-panel { position:static; max-height:none; }
 .plan-items { max-height:250px; }
}
@media(max-height:550px) and (max-width:700px) {
 .category-rail { position:relative; top:auto; }
 .category-tab { min-height:104px; }
 .category-tab > svg { width:22px; height:22px; padding:6px; }
}
