:root { font-family: 'Onest', 'Segoe UI', sans-serif; color: #182029; background: #f4f5f3; font-synthesis: none; scroll-behavior: smooth; }
* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; cursor: pointer; }
a { color: inherit; text-decoration: none; }
button:focus-visible, a:focus-visible { outline: 3px solid #f16e51; outline-offset: 4px; }
svg { width: 1.15em; height: 1.15em; flex: none; }

/* The selector is a working surface; every card opens a live design. */
.gallery-mode { background: #11151b; color: #f0f0e9; }
.gallery { max-width: 1700px; padding: 0 clamp(18px, 4.5vw, 80px) 70px; margin: auto; }
.gallery-head { display: flex; justify-content: space-between; align-items: center; min-height: 78px; border-bottom: 1px solid #555a60; font-size: 15px; font-weight: 700; }
.gallery-brand span { margin-left: 22px; font-size: 12px; font-weight: 500; color: #aab0b4; text-transform: uppercase; letter-spacing: .12em; }
.gallery-count, .overline { font: 500 12px 'DM Sans', sans-serif; text-transform: uppercase; letter-spacing: .12em; color: #aeb5ba; }
.gallery-intro { display: flex; justify-content: space-between; gap: 4rem; align-items: end; padding: 38px 0 27px; }
.gallery-intro h1 { font: 500 clamp(42px, 5vw, 70px)/1.04 'Unbounded', sans-serif; letter-spacing: -.075em; margin: 14px 0 0; }
.gallery-intro h1 em { color: #b6f37d; font-style: normal; }
.gallery-intro p { max-width: 350px; margin: 0 0 7px; font-size: 16px; line-height: 1.55; color: #bfc5c8; }
.gallery-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; }
.gallery-card { grid-column: span 2; min-height: 375px; display: flex; flex-direction: column; padding: 19px; border: 1px solid #43494e; border-radius: 12px; overflow: hidden; transition: transform .3s, border-color .3s, background .3s; }
.gallery-card:nth-child(4), .gallery-card:nth-child(5) { grid-column: span 3; }
.gallery-card:hover { transform: translateY(-5px); border-color: #a9b1b0; background: #1b2027; }
.card-top { display: flex; justify-content: space-between; text-transform: uppercase; letter-spacing: .13em; font: 500 11px 'DM Sans', sans-serif; color: #c1c4c4; }
.card-art { min-height: 150px; margin: 15px 0; overflow: hidden; position: relative; }
.art-surface { position: relative; width: 100%; height: 100%; overflow: hidden; display: grid; place-items: center; }
.art-surface span { position: relative; z-index: 2; }
.art-surface i, .art-surface b { position: absolute; display: block; }
.card-editorial .art-surface { background: #f4f0e8; color: #24446c; font: 56px Prata, Georgia, serif; }
.card-editorial .art-surface::before { content: ''; position: absolute; inset: 13px; border: 1px solid #24446c; }
.card-editorial .art-surface i { width: 110%; height: 1px; background: #d97853; transform: rotate(-18deg); }
.card-editorial .art-surface b { width: 95px; height: 95px; right: 10%; border: 1px solid #d97853; border-radius: 50%; }
.card-bold .art-surface { background: #c7f42a; color: #10233e; font: 800 86px Oswald, sans-serif; letter-spacing: -.1em; }
.card-bold .art-surface i { width: 45%; height: 120%; background: #10233e; transform: skewX(-20deg); right: -10%; }
.card-bold .art-surface b { width: 50%; height: 9px; background: #fff; left: -4%; bottom: 25%; transform: rotate(-9deg); }
.card-aurora .art-surface { color: white; background: radial-gradient(circle at 68% 43%, #6480ff, transparent 36%), radial-gradient(circle at 30% 80%, #3fc5b3, transparent 43%), #101c2b; font: 600 52px Unbounded, sans-serif; }
.card-aurora .art-surface i { width: 190px; height: 190px; border: 1px solid #ffffff83; border-radius: 50%; }
.card-aurora .art-surface b { width: 130px; height: 130px; border: 1px solid #ffffff75; transform: rotate(35deg); }
.card-material .art-surface { background: url('abstract-stone.png') center / cover; color: #334737; font: 55px Prata, Georgia, serif; }
.card-material .art-surface::after { content: ''; position: absolute; inset: 16px; border: 1px solid #3347378a; }
.card-material .art-surface i { width: 120px; height: 120px; left: -35px; bottom: -60px; border-radius: 50%; background: #ad6246b0; }
.card-route .art-surface { background: linear-gradient(135deg, #082630a1, #215a5c85), url('abstract-route.png') center / cover; color: #d6fff1; font: 700 65px Onest, sans-serif; }
.card-route .art-surface::before { content: ''; position: absolute; inset: 15px; border: 1px solid #b4fbe999; border-radius: 13px; }
.card-route .art-surface i { width: 210px; height: 95px; border: 2px solid #8cf0d8; border-radius: 50%; transform: rotate(-25deg); box-shadow: 0 0 25px #8cf0d8a0; }
.card-route .art-surface b { width: 14px; height: 14px; border-radius: 50%; background: #ff9376; right: 21%; top: 21%; box-shadow: 0 0 20px #ff9376; }
.card-bottom { display: flex; gap: 15px; justify-content: space-between; align-items: end; flex: 1; }
.card-bottom h2 { margin: 0 0 8px; font-size: clamp(22px, 2vw, 31px); font-weight: 600; letter-spacing: -.045em; }
.card-bottom p { max-width: 260px; margin: 0 0 12px; color: #b8bfc1; font-size: 14px; line-height: 1.45; }
.card-bottom small { color: #8d979b; font-size: 12px; }
.card-bottom button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; background: #f1f2eb; color: #171d22; border: 0; border-radius: 999px; padding: 11px 14px; font-weight: 700; font-size: 12px; white-space: nowrap; transition: background .25s, transform .25s; }
.card-bottom button:hover { background: #b6f37d; transform: translateX(2px); }
.swatches { display: flex; gap: 5px; margin-top: 16px; }
.swatches span { width: 30px; height: 5px; border-radius: 3px; }
.gallery-note { font-size: 13px; color: #909b9d; margin: 28px 0 0; }
.gallery-intro-side { display: grid; justify-items: start; gap: 18px; }
.font-lab-trigger { display: inline-flex; align-items: center; gap: 12px; padding: 14px 18px; border: 1px solid #b6f37d; border-radius: 999px; color: #11151b; background: #b6f37d; font-weight: 700; transition: transform .2s, background .2s; }
.font-lab-trigger:hover { transform: translateX(3px); background: #d0ffa4; }

/* Font comparison uses the same hero copy as the design previews. */
.font-lab-mode { background: #e9eeeb; color: #153037; }
.font-lab { max-width: 1700px; margin: auto; padding: 0 clamp(18px, 4.5vw, 80px) 80px; }
.font-lab-head { min-height: 70px; display: flex; justify-content: space-between; align-items: center; gap: 20px; border-bottom: 1px solid #aebfbd; font: 600 12px 'DM Sans', sans-serif; text-transform: uppercase; letter-spacing: .08em; }
.font-lab-head button { display: inline-flex; gap: 10px; align-items: center; border: 0; padding: 10px 0; background: none; color: inherit; }
.font-lab-head button:hover { color: #258b79; }
.font-lab-intro { display: flex; align-items: end; justify-content: space-between; gap: 50px; padding: clamp(35px, 5vw, 80px) 0 48px; }
.font-lab-intro h1 { margin: 16px 0 0; font: 600 clamp(42px, 4.6vw, 68px)/1.03 'Unbounded', sans-serif; letter-spacing: -.075em; }
.font-lab-intro h1 em { font-style: normal; color: #588e80; }
.font-lab-intro p { max-width: 370px; font-size: 17px; line-height: 1.6; margin: 0 0 5px; }
.font-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.font-card { min-width: 0; display: flex; flex-direction: column; border: 1px solid #bdd0ca; border-radius: 18px; background: #f9fbf8; overflow: hidden; box-shadow: 0 8px 28px #27443b0b; }
.font-card-top, .font-card-names, .font-card-bottom { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.font-card-top { padding: 18px 24px 0; font: 600 11px 'DM Sans', sans-serif; color: #5d7776; text-transform: uppercase; letter-spacing: .07em; }
.rating-stars { color: #e4a72d; font-size: 15px; letter-spacing: .08em; }
.font-card-names { padding: 25px 24px 22px; justify-content: start; font-size: clamp(17px, 2vw, 25px); letter-spacing: -.04em; }
.font-card-names strong:first-child { font-family: var(--sample-display); font-weight: var(--sample-weight, 600); }
.font-card-names strong:last-child { font-family: var(--sample-label, var(--sample-body)); font-weight: 600; }
.font-card-names > span { color: #7c9992; }
.font-specimen { padding: 30px clamp(22px, 3vw, 44px) 34px; background: #e8f1ed; min-height: 385px; }
.font-specimen h2 { max-width: 740px; margin: 25px 0 20px; font: var(--sample-weight, 600) clamp(25px, 2.8vw, 42px)/1.14 var(--sample-display); letter-spacing: -.045em; overflow-wrap: anywhere; }
.font-specimen p { max-width: 620px; font: 400 15px/1.6 var(--sample-body); margin: 0 0 25px; }
.font-specimen-action { display: inline-flex; align-items: center; gap: 15px; padding: 12px 16px; border-radius: 999px; background: #163d41; color: #f5fbf8; font: 600 13px var(--sample-body); }
.font-card-bottom { flex: 1; padding: 20px 24px 22px; font: 500 12px/1.55 'Onest', sans-serif; color: #617574; }
.font-card-bottom button { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; border: 0; border-radius: 999px; padding: 12px 15px; color: #113137; background: #b6f37d; font-weight: 700; transition: transform .2s; }
.font-card-bottom button:hover { transform: translateX(3px); }
.pair-manrope-dm, .font-manrope-dm { --sample-display: Manrope, sans-serif; --sample-body: 'DM Sans', sans-serif; --sample-weight: 700; }
.pair-onest-space, .font-onest-space { --sample-display: Onest, sans-serif; --sample-body: 'Space Grotesk', sans-serif; --sample-weight: 700; }
.pair-space-inter, .font-space-inter { --sample-display: 'Space Grotesk', sans-serif; --sample-body: Inter, sans-serif; --sample-weight: 600; }
.pair-unbounded-onest, .font-unbounded-onest { --sample-display: Unbounded, sans-serif; --sample-body: Onest, sans-serif; --sample-weight: 600; }
.pair-dm-fira, .font-dm-fira { --sample-display: 'DM Sans', sans-serif; --sample-body: 'Fira Sans', sans-serif; --sample-weight: 700; }
.pair-commissioner-inter, .font-commissioner-inter { --sample-display: Commissioner, sans-serif; --sample-body: Inter, sans-serif; --sample-weight: 600; }
.pair-golos-manrope, .font-golos-manrope { --sample-display: 'Golos Text', sans-serif; --sample-body: Manrope, sans-serif; --sample-weight: 700; }
.pair-rubik-inter, .font-rubik-inter { --sample-display: Rubik, sans-serif; --sample-body: Inter, sans-serif; --sample-weight: 600; }
.pair-montserrat-manrope, .font-montserrat-manrope { --sample-display: Montserrat, sans-serif; --sample-body: Manrope, sans-serif; --sample-weight: 700; }
.pair-sora-inter, .font-sora-inter { --sample-display: Sora, sans-serif; --sample-body: Inter, sans-serif; --sample-weight: 600; }
.pair-archivo-onest, .font-archivo-onest { --sample-display: Archivo, sans-serif; --sample-body: Onest, sans-serif; --sample-weight: 700; }
.pair-oswald-manrope, .font-oswald-manrope { --sample-display: Oswald, sans-serif; --sample-body: Manrope, sans-serif; --sample-weight: 600; }
.preview-mode[class*="font-"] { --display-font: var(--sample-display); --body-font: var(--sample-body); --display-weight: var(--sample-weight); }
.preview-mode[class*="font-"] .eyebrow, .preview-mode[class*="font-"] .section-tag, .preview-mode[class*="font-"] .benefit-num, .preview-mode[class*="font-"] .task-index, .preview-mode[class*="font-"] .service-kicker { font-family: var(--sample-label, var(--sample-body)); }
.preview-mode[class*="font-"] .fresh, .preview-mode[class*="font-"] .route-shell { font-family:var(--sample-body), sans-serif; }
.preview-mode[class*="font-"] .fresh h1, .preview-mode[class*="font-"] .fresh h2, .preview-mode[class*="font-"] .route-shell h1, .preview-mode[class*="font-"] .route-shell h2 { font-family:var(--sample-display), sans-serif !important; font-weight:var(--sample-weight, 700) !important; }

/* Shared preview mechanics and content hierarchy. */
.preview-mode { background: var(--page); color: var(--ink); font-family: var(--body-font); }
.preview-switcher { position: sticky; top: 0; z-index: 30; height: 56px; display: flex; align-items: center; gap: 25px; padding: 0 clamp(15px, 3vw, 52px); background: #11151b; color: #ecefe8; box-shadow: 0 3px 18px #0002; font: 500 12px 'DM Sans', sans-serif; }
.preview-switcher button { border: 0; background: transparent; color: inherit; }
.preview-switcher > button { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; padding: 8px 0; }
.preview-switcher button:hover { color: #b6f37d; }
.switcher-list { display: flex; gap: 4px; height: 100%; align-items: center; margin: auto; }
.switcher-list button { height: 35px; padding: 0 10px; border-radius: 5px; color: #a7afb1; white-space: nowrap; }
.switcher-list button.active { color: #11151b; background: #b6f37d; }
.switcher-hint { color: #a7afb1; white-space: nowrap; }
.preview-switcher .switcher-fonts { flex: none; gap: 8px; border: 1px solid #687571; border-radius: 7px; padding: 7px 10px; color: #b6f37d; }
.switcher-fonts span { max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.design-page { overflow: clip; }
.design-page .section, .design-page .hero, .design-page .site-head, .design-page .site-foot { max-width: 1500px; margin-left: auto; margin-right: auto; }
.site-head { display: flex; align-items: center; gap: 38px; padding: 24px var(--gutter); min-height: 102px; }
.brand { display: flex; flex-direction: column; font-size: 23px; font-weight: 700; line-height: 1.15; letter-spacing: -.05em; white-space: nowrap; }
.brand span { margin-top: 6px; font-size: 10px; font-weight: 500; letter-spacing: .02em; }
.site-head nav { display: flex; align-items: center; gap: 22px; margin-left: auto; font-size: 13px; }
.site-head nav a { position: relative; white-space: nowrap; }
.site-head nav a::after { content: ''; position: absolute; left: 0; right: 100%; bottom: -4px; height: 1px; background: currentColor; transition: right .25s; }
.site-head nav a:hover::after { right: 0; }
.head-index { font-size: 11px; white-space: nowrap; opacity: .6; }
.primary-btn { display: inline-flex; align-items: center; justify-content: space-between; gap: 20px; border: 1px solid transparent; background: var(--accent); color: var(--button-ink); min-height: 50px; padding: 13px 20px; font-size: 14px; font-weight: 700; transition: transform .25s, background .25s, box-shadow .25s; }
.primary-btn:hover { transform: translateY(-3px); box-shadow: 0 10px 25px #0002; }
.head-cta { min-height: 42px; font-size: 12px; white-space: nowrap; }
.hero { position: relative; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(340px, .9fr); gap: clamp(24px, 5vw, 80px); align-items: stretch; min-height: 620px; padding: 45px var(--gutter) 65px; }
.hero-copy { align-self: center; position: relative; z-index: 1; }
.eyebrow, .section-tag { display: block; font-size: 12px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.hero h1 { margin: 25px 0; font-family: var(--display-font); font-size: clamp(40px, 4.9vw, 72px); font-weight: var(--display-weight, 400); line-height: 1.08; letter-spacing: -.055em; }
.hero p { max-width: 590px; font-size: clamp(16px, 1.3vw, 18px); line-height: 1.6; margin: 0 0 26px; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; }
.text-link, .source-link { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; font-size: 14px; border-bottom: 1px solid currentColor; padding: 4px 0; }
.hero-facts { display: flex; gap: 22px; flex-wrap: wrap; margin-top: 36px; padding-top: 18px; border-top: 1px solid currentColor; font-size: 12px; font-weight: 600; }
.hero-facts span { max-width: 140px; }
.hero-art { min-width: 0; min-height: 400px; }
.visual-stage { position: relative; height: 100%; width: 100%; min-height: 400px; display: flex; flex-direction: column; justify-content: space-between; padding: 26px; overflow: hidden; }
.visual-label { align-self: flex-end; position: relative; z-index: 2; padding: 8px 12px; font-size: 11px; font-weight: 600; }
.visual-detail { position: relative; z-index: 2; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; }
.section { padding: 100px var(--gutter); }
.design-page section { scroll-margin-top: 56px; }
.section-intro { max-width: 640px; }
.section h2 { font-family: var(--display-font); font-size: clamp(35px, 4vw, 61px); font-weight: var(--display-weight, 400); line-height: 1.12; letter-spacing: -.045em; margin: 16px 0; }
.section-intro p { font-size: 16px; line-height: 1.65; }
.benefit-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 38px; }
.benefit { padding: 24px; }
.benefit-num { display: block; margin-bottom: 30px; font-size: 13px; }
.benefit h3 { font-size: 21px; letter-spacing: -.035em; margin: 0 0 9px; }
.benefit p { font-size: 14px; line-height: 1.55; margin: 0; }
.trust { display: grid; grid-template-columns: .85fr 1.15fr; gap: 50px; align-items: end; }
.trust-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.trust-stats div { display: flex; flex-direction: column; gap: 9px; padding: 18px; }
.trust-stats strong { font-size: clamp(38px, 4.3vw, 66px); line-height: 1; letter-spacing: -.07em; }
.trust-stats span { font-size: 13px; }
.source-link { margin-top: 26px; }
.sale { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; }
.sale .section-intro { max-width: 660px; }
.sale-label { display: block; margin-top: 24px; font-size: 14px; font-weight: 700; }
.sale .primary-btn { margin-top: 18px; }
.sale small { display: block; margin-top: 12px; font-size: 12px; }
.sale-steps { list-style: none; display: flex; flex-direction: column; justify-content: center; gap: 0; padding: 0; margin: 0; }
.sale-steps li { display: flex; align-items: center; gap: 24px; padding: 18px 4px; border-bottom: 1px solid currentColor; font-size: 22px; font-weight: 600; }
.sale-steps li span { font-size: 13px; font-weight: 500; min-width: 28px; }
.services .section-intro { margin-bottom: 36px; }
.service-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 15px; }
.service-card { display: flex; flex-direction: column; grid-column: span 2; min-width: 0; overflow: hidden; }
.service-card:nth-child(4), .service-card:nth-child(5) { grid-column: span 3; }
.service-art { position: relative; min-height: 145px; overflow: hidden; isolation: isolate; display: flex; align-items: start; justify-content: space-between; padding: 18px; }
.service-art span { position: relative; z-index: 2; font-size: 12px; font-weight: 700; }
.service-art > svg { position: absolute; z-index: 2; left: 50%; top: 50%; width: 56px; height: 56px; transform: translate(-50%, -50%); stroke-width: 1.25; filter: drop-shadow(0 4px 14px #071d1933); }
.service-art i, .service-art b { display: block; position: absolute; border: 1px solid currentColor; pointer-events: none; }
.service-art i { width: 130px; height: 130px; border-radius: 50%; left: 50%; top: 50%; transform: translate(-50%, -50%); }
.service-art b { width: 70px; height: 70px; right: 19%; top: 25%; transform: rotate(24deg); }
.service-2 .service-art i { border-radius: 0; transform: translate(-50%, -50%) rotate(30deg); }
.service-3 .service-art b { border-radius: 50%; }
.service-4 .service-art i { width: 220px; height: 75px; border-radius: 100px; transform: translate(-50%, -50%) rotate(-18deg); }
.service-5 .service-art b { width: 140px; height: 55px; transform: rotate(-25deg); }
.service-body { display: flex; flex-direction: column; flex: 1; padding: 23px; }
.service-kicker { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; }
.service-card h3 { font-family: var(--display-font); font-size: clamp(23px, 2.15vw, 34px); font-weight: var(--display-weight, 400); letter-spacing: -.04em; line-height: 1.15; margin: 15px 0 12px; }
.service-card p { font-size: 14px; line-height: 1.55; margin: 0 0 22px; }
.service-card button { display: flex; align-items: center; justify-content: space-between; width: 100%; margin-top: auto; padding: 12px 0 0; border: 0; border-top: 1px solid currentColor; background: transparent; color: inherit; font-weight: 700; font-size: 13px; text-align: left; }
.service-card button svg { transition: transform .25s; }
.service-card button:hover svg { transform: translateX(5px); }
.services-note { margin: 24px 0 0; font-size: 13px; line-height: 1.5; }
.tasks .section-intro { margin-bottom: 38px; }
.task-list { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.task-card { text-align: left; min-height: 180px; display: flex; flex-direction: column; align-items: start; justify-content: space-between; gap: 15px; padding: 22px; border: 1px solid currentColor; color: inherit; background: transparent; font-size: 17px; font-weight: 700; line-height: 1.3; transition: transform .25s, background .25s, color .25s; }
.task-card:hover { transform: translateY(-5px); background: var(--accent); color: var(--button-ink); }
.task-card svg { align-self: flex-end; }
.task-index { font-size: 12px; font-weight: 500; }
.newbuilds .section-intro { margin-bottom: 36px; }
.city-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.city-card { display: flex; flex-direction: column; overflow: hidden; }
.city-art { min-height: 240px; position: relative; overflow: hidden; isolation: isolate; }
.city-art-number { position: absolute; top: 20px; left: 22px; z-index: 2; font: 500 13px 'DM Sans', sans-serif; }
.city-art-orbit { display: block; position: absolute; width: min(42vw, 360px); aspect-ratio: 1; border: 1px solid currentColor; border-radius: 50%; left: 50%; top: 48%; transform: translate(-50%, -50%); opacity: .65; }
.city-art-orbit::before, .city-art-orbit::after { content: ''; position: absolute; border: 1px solid currentColor; border-radius: 50%; inset: 15%; }
.city-art-orbit::after { inset: 32%; }
.city-art-cross { position: absolute; right: 23px; bottom: 10px; font-size: 40px; font-weight: 300; }
.city-body { padding: 30px; flex: 1; display: flex; flex-direction: column; align-items: start; }
.city-kicker { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; }
.city-body h3 { font-family: var(--display-font); font-size: clamp(27px, 2.75vw, 43px); font-weight: var(--display-weight, 400); letter-spacing: -.045em; line-height: 1.15; margin: 22px 0 16px; }
.city-body p { font-size: 15px; line-height: 1.6; max-width: 540px; margin: 0 0 23px; }
.criteria { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 24px; }
.criteria span { border: 1px solid currentColor; border-radius: 100px; padding: 7px 10px; font-size: 11px; font-weight: 600; }
.city-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: auto; padding: 11px 0; border: 0; border-bottom: 1px solid currentColor; background: transparent; color: inherit; font-size: 14px; font-weight: 700; }
.city-button:hover svg { transform: translateX(4px); }
.city-button svg { transition: transform .25s; }
.process-list { margin-top: 45px; }
.process-item { display: grid; grid-template-columns: 80px 1fr 40px; align-items: start; gap: 20px; padding: 25px 10px; border-top: 1px solid currentColor; }
.process-item:last-child { border-bottom: 1px solid currentColor; }
.process-index { font-size: 16px; }
.process-item h3 { margin: 0 0 9px; font-size: clamp(21px, 2vw, 30px); line-height: 1.2; letter-spacing: -.035em; }
.process-item p { max-width: 590px; margin: 0; font-size: 14px; line-height: 1.55; }
.process-mark { opacity: .65; text-align: right; }
.process-note { margin: 22px 0 0; font-size: 13px; line-height: 1.5; }
.faq { display: grid; grid-template-columns: .7fr 1.3fr; gap: 50px; }
.faq-list { min-width: 0; }
.faq-list details { border-top: 1px solid currentColor; }
.faq-list details:last-child { border-bottom: 1px solid currentColor; }
.faq-list summary { list-style: none; cursor: pointer; display: grid; grid-template-columns: 40px 1fr 30px; gap: 13px; align-items: center; padding: 22px 4px; font-size: 16px; font-weight: 700; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-index { font-size: 12px; font-weight: 500; opacity: .65; }
.faq-plus { justify-self: end; font-size: 25px; font-weight: 300; line-height: .8; transition: transform .25s; }
.faq-list details[open] .faq-plus { transform: rotate(45deg); }
.faq-list details p { margin: 0 45px 23px 57px; font-size: 14px; line-height: 1.6; max-width: 560px; }
.final-contact { display: grid; grid-template-columns: .65fr 1.35fr; gap: clamp(30px, 6vw, 90px); align-items: center; }
.final-art { min-height: 350px; position: relative; display: grid; place-items: center; overflow: hidden; }
.final-art > span { position: relative; z-index: 2; font-family: var(--display-font); font-size: clamp(90px, 16vw, 230px); letter-spacing: -.15em; line-height: 1; }
.final-art i, .final-art b { position: absolute; display: block; }
.final-copy h2 { max-width: 850px; }
.final-copy p { max-width: 610px; font-size: 16px; line-height: 1.6; }
.final-copy .primary-btn { margin-top: 14px; }
.final-links { display: flex; gap: 15px 22px; flex-wrap: wrap; margin-top: 32px; font-size: 13px; font-weight: 600; }
.final-links a { border-bottom: 1px solid currentColor; padding-bottom: 3px; }
.site-foot { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 34px var(--gutter); font-size: 12px; }
.site-foot button { display: inline-flex; align-items: center; gap: 7px; border: 0; background: none; color: inherit; padding: 5px; font-weight: 700; }

/* Each direction changes composition and behavior, as well as palette. */
.theme-editorial { --page: #f4f0e8; --ink: #24446c; --accent: #d97853; --button-ink: #fff; --display-font: Prata, Georgia, serif; --body-font: Onest, sans-serif; --display-weight: 400; --gutter: clamp(24px, 5.5vw, 90px); }
.theme-editorial .site-head { border-bottom: 1px solid #24446c58; }
.theme-editorial .brand { font-family: Prata, serif; font-size: 21px; }
.theme-editorial .brand span { font-family: Onest, sans-serif; }
.theme-editorial .hero { grid-template-columns: 56% 44%; gap: 0; }
.theme-editorial .hero-copy { padding-right: 55px; }
.theme-editorial .hero h1 { font-size: clamp(42px, 4.5vw, 70px); letter-spacing: -.07em; }
.theme-editorial .visual-stage { background: linear-gradient(90deg, #ecede9a0, #ded6c8a0), url('abstract-stone.png') center / cover; border: 1px solid #24446c4d; }
.theme-editorial .visual-stage::before { content: ''; position: absolute; width: 72%; height: 72%; border: 1px solid #d97853b8; border-radius: 50%; left: 14%; top: 13%; animation: orbit 14s linear infinite; }
.theme-editorial .visual-label { background: #f4f0e8d9; }
.theme-editorial .benefits { border-top: 1px solid #24446c70; }
.theme-editorial .benefit { border-left: 1px solid #24446c66; padding-left: 22px; }
.theme-editorial .trust { background: #e7e0d5; }
.theme-editorial .trust-stats div { border-top: 1px solid #24446c; }
.theme-editorial .sale { border-top: 1px solid #24446c70; }
.theme-editorial .sale-steps li { border-color: #24446c55; }
.theme-editorial .services { background: #e7e0d5; }
.theme-editorial .service-card { background: #f9f5ed; border: 1px solid #24446c55; }
.theme-editorial .service-art { background: #d8d5cf; color: #24446c; }
.theme-editorial .service-2 .service-art, .theme-editorial .service-5 .service-art { background: #24446c; color: #f9f5ed; }
.theme-editorial .service-4 .service-art { background: url('abstract-stone.png') center / cover; }
.theme-editorial .service-body { border-top: 1px solid #24446c55; }
.theme-editorial .tasks { background: #24446c; color: #f4f0e8; }
.theme-editorial .task-card { border-color: #ddd5c94d; }
.theme-editorial .site-foot { border-top: 1px solid #24446c70; }
.theme-editorial .newbuilds { border-top: 1px solid #24446c70; }
.theme-editorial .city-card { border: 1px solid #24446c70; }
.theme-editorial .city-sterlitamak .city-art { background: url('abstract-stone.png') center / cover; }
.theme-editorial .city-ufa .city-art { background: #24446c; color: #f4f0e8; }
.theme-editorial .city-ufa .city-art::before { content: ''; position: absolute; inset: 20px; border: 1px solid #f4f0e896; }
.theme-editorial .city-body { background: #f9f5ed; }
.theme-editorial .process { background: #e7e0d5; }
.theme-editorial .process-index, .theme-editorial .faq-index { color: #d97853; }
.theme-editorial .faq-list details { border-color: #24446c75; }
.theme-editorial .final-contact { background: #24446c; color: #f4f0e8; }
.theme-editorial .final-art { border: 1px solid #f4f0e89c; }
.theme-editorial .final-art i { width: 90%; height: 1px; background: #d97853; transform: rotate(-38deg); }
.theme-editorial .final-art b { width: 58%; aspect-ratio: 1; border: 1px solid #d97853; border-radius: 50%; }

.theme-bold { --page: #e7ebed; --ink: #10233e; --accent: #c7f42a; --button-ink: #10233e; --display-font: Oswald, Impact, sans-serif; --body-font: Manrope, sans-serif; --display-weight: 600; --gutter: clamp(22px, 4vw, 64px); }
.theme-bold .site-head { background: #10233e; color: #e7ebed; }
.theme-bold .brand { font-family: Oswald, sans-serif; text-transform: uppercase; font-size: 29px; letter-spacing: -.03em; }
.theme-bold .brand span { font-family: Manrope, sans-serif; }
.theme-bold .hero { max-width: none; min-height: 660px; padding-top: 20px; background: #10233e; color: #e7ebed; grid-template-columns: 1.15fr .85fr; }
.theme-bold .hero h1 { text-transform: uppercase; font-size: clamp(57px, 6.2vw, 102px); line-height: .99; letter-spacing: -.025em; }
.theme-bold .hero p { max-width: 520px; }
.theme-bold .hero-facts { color: #c7f42a; }
.theme-bold .visual-stage { background: #c7f42a; color: #10233e; clip-path: polygon(17% 0, 100% 0, 100% 100%, 0 100%, 0 19%); }
.theme-bold .visual-stage::before { content: 'АК'; font: 600 clamp(140px, 20vw, 320px)/1 Oswald, sans-serif; letter-spacing: -.12em; position: absolute; left: 0; top: 15%; opacity: .15; transform: rotate(-12deg); animation: bold-slide 7s ease-in-out infinite alternate; }
.theme-bold .visual-label { border: 2px solid currentColor; text-transform: uppercase; }
.theme-bold .section h2 { text-transform: uppercase; letter-spacing: -.015em; }
.theme-bold .benefits { display: grid; grid-template-columns: 1fr 2fr; gap: 35px; }
.theme-bold .benefit-list { margin: 0; }
.theme-bold .benefit { background: #fff; border-bottom: 7px solid #10233e; }
.theme-bold .trust { background: #c7f42a; }
.theme-bold .trust-stats div { background: #10233e; color: #c7f42a; }
.theme-bold .sale { background: #fff; }
.theme-bold .sale-steps li { text-transform: uppercase; border-bottom: 2px solid #10233e; }
.theme-bold .services { background: #e7ebed; }
.theme-bold .service-card { border: 3px solid #10233e; background: #fff; }
.theme-bold .service-art { background: #c7f42a; color: #10233e; }
.theme-bold .service-card:nth-child(2n) .service-art { background: #10233e; color: #c7f42a; }
.theme-bold .service-4 .service-art { background: url('abstract-collage.png') center / cover; color: #fff; }
.theme-bold .service-art i, .theme-bold .service-art b { border-width: 5px; }
.theme-bold .service-card h3 { text-transform: uppercase; }
.theme-bold .service-card button { border-top-width: 2px; text-transform: uppercase; }
.theme-bold .tasks { background: #10233e; color: #e7ebed; }
.theme-bold .task-card { border: 2px solid #e7ebed; text-transform: uppercase; font-family: Oswald, sans-serif; font-size: 24px; }
.theme-bold .site-foot { border-top: 3px solid; }
.theme-bold .newbuilds { background: #e7ebed; }
.theme-bold .city-card { border: 3px solid #10233e; }
.theme-bold .city-sterlitamak .city-art { background: #c7f42a url('abstract-collage.png') center / cover; }
.theme-bold .city-ufa .city-art { background: #10233e; color: #c7f42a; }
.theme-bold .city-art-orbit { border-width: 5px; border-radius: 0; transform: translate(-50%, -50%) rotate(-18deg); }
.theme-bold .city-body { background: #fff; }
.theme-bold .city-body h3 { text-transform: uppercase; }
.theme-bold .criteria span { border-radius: 0; background: #c7f42a; border: 0; }
.theme-bold .process { background: #10233e; color: #e7ebed; }
.theme-bold .process-list { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; }
.theme-bold .process-item { display: block; border: 2px solid #e7ebed; margin-left: -2px; padding: 20px; min-height: 290px; }
.theme-bold .process-index { display: block; color: #c7f42a; font: 600 70px/.9 Oswald, sans-serif; margin-bottom: 25px; }
.theme-bold .process-item h3 { font-family: Oswald, sans-serif; text-transform: uppercase; }
.theme-bold .process-mark { display: none; }
.theme-bold .faq { background: #c7f42a; }
.theme-bold .faq-list details { border-width: 2px; }
.theme-bold .final-contact { background: #10233e; color: #e7ebed; }
.theme-bold .final-art { background: #c7f42a url('abstract-collage.png') center / cover; color: #10233e; }
.theme-bold .final-art span { font-family: Oswald, sans-serif; font-weight: 700; transform: rotate(-9deg); }

.theme-aurora { --page: #101c2b; --ink: #edf4ff; --accent: #65d9c7; --button-ink: #10212b; --display-font: Unbounded, sans-serif; --body-font: 'DM Sans', 'Segoe UI', sans-serif; --display-weight: 500; --gutter: clamp(22px, 5vw, 78px); }
.theme-aurora .design-page { background: radial-gradient(ellipse 58% 31% at 78% 4%, #505acf58, transparent 85%), radial-gradient(ellipse 57% 35% at 15% 48%, #247f8355, transparent 85%), #101c2b; }
.theme-aurora .site-head { border-bottom: 1px solid #cde1ed28; }
.theme-aurora .brand { font-family: Unbounded, sans-serif; font-size: 19px; }
.theme-aurora .brand span { font-family: 'DM Sans', sans-serif; }
.theme-aurora .hero { grid-template-columns: 1fr 1fr; min-height: 690px; }
.theme-aurora .hero h1 { font-size: clamp(38px, 4.35vw, 65px); line-height: 1.18; letter-spacing: -.07em; }
.theme-aurora .hero p, .theme-aurora .section-intro p { color: #b8cddd; }
.theme-aurora .hero-facts { border-color: #a8d9d65e; }
.theme-aurora .visual-stage { background: radial-gradient(circle at 56% 45%, #7278eaaa 0, #3c6b9a66 27%, transparent 58%), radial-gradient(circle at 38% 70%, #35b5a983 0, transparent 43%), #1a3144; border: 1px solid #b7e6ed4f; border-radius: 48% 48% 14px 14px; box-shadow: inset 0 0 70px #b0d6ff29, 0 25px 80px #0007; }
.theme-aurora .visual-stage::before { content: ''; position: absolute; width: 62%; aspect-ratio: 1; left: 18%; top: 18%; border: 1px solid #e3e7ff96; border-radius: 50%; box-shadow: 0 0 55px #87bfffa3; animation: glow 5s ease-in-out infinite alternate; }
.theme-aurora .visual-stage::after { content: ''; position: absolute; width: 45%; aspect-ratio: 1; left: 26%; top: 27%; border: 1px solid #65d9c7bb; border-radius: 50%; }
.theme-aurora .visual-label { background: #101c2b99; border-radius: 100px; }
.theme-aurora .section h2 { line-height: 1.22; letter-spacing: -.06em; }
.theme-aurora .benefit { border: 1px solid #b7e6ed32; background: #dce8ff0d; border-radius: 22px; backdrop-filter: blur(10px); }
.theme-aurora .trust { border-top: 1px solid #b7e6ed40; border-bottom: 1px solid #b7e6ed40; }
.theme-aurora .trust-stats div { border: 1px solid #65d9c759; border-radius: 17px; background: #dce8ff12; }
.theme-aurora .trust-stats strong { color: #80e3d6; }
.theme-aurora .sale { background: #ffffff0b; border-radius: 28px; }
.theme-aurora .sale-steps li { border-color: #cde1ed42; }
.theme-aurora .service-card { border: 1px solid #b7e6ed52; border-radius: 22px; background: #dce8ff0d; }
.theme-aurora .service-art { background: radial-gradient(circle at 60% 30%, #7984ed8a, transparent 50%), #1b314a; }
.theme-aurora .service-card:nth-child(2n) .service-art { background: radial-gradient(circle at 35% 70%, #65d9c78a, transparent 55%), #1b314a; }
.theme-aurora .service-5 .service-art { background: url('abstract-glass.png') center / cover; }
.theme-aurora .service-art i, .theme-aurora .service-art b { box-shadow: 0 0 25px #65d9c759; }
.theme-aurora .service-card button { border-color: #b7e6ed70; }
.theme-aurora .tasks { background: radial-gradient(circle at 80% 70%, #5b4fc070, transparent 50%), #111b35; }
.theme-aurora .task-card { border-color: #b7e6ed52; border-radius: 19px; background: #ffffff0c; }
.theme-aurora .site-foot { border-top: 1px solid #b7e6ed40; }
.theme-aurora .city-card { border: 1px solid #b7e6ed45; border-radius: 22px; background: #dce8ff0d; }
.theme-aurora .city-sterlitamak .city-art { background: radial-gradient(circle at 35% 55%, #59cab6a0, transparent 44%), #172c42; }
.theme-aurora .city-ufa .city-art { background: url('abstract-glass.png') center / cover; }
.theme-aurora .city-art-orbit { box-shadow: 0 0 28px #65d9c7a2; }
.theme-aurora .criteria span { border-color: #65d9c777; }
.theme-aurora .process { background: #0b1524; }
.theme-aurora .process-list { border-left: 1px solid #65d9c7ad; margin-left: 21px; }
.theme-aurora .process-item { position: relative; margin-left: 20px; border-color: #b7e6ed38; }
.theme-aurora .process-item::before { content: ''; position: absolute; left: -46px; top: 31px; width: 10px; height: 10px; border-radius: 50%; background: #65d9c7; box-shadow: 0 0 16px #65d9c7; }
.theme-aurora .process-index { color: #65d9c7; }
.theme-aurora .faq-list details { border-color: #b7e6ed45; }
.theme-aurora .final-contact { background: radial-gradient(circle at 28% 50%, #575fce74, transparent 40%), #172541; }
.theme-aurora .final-art { border-radius: 50%; border: 1px solid #8fe7e27f; box-shadow: inset 0 0 80px #6b7cf472, 0 0 55px #6b7cf438; background: url('abstract-glass.png') center / cover; }
.theme-aurora .final-art span { text-shadow: 0 0 40px #65d9c7; }

.theme-material { --page: #eee8d8; --ink: #334737; --accent: #ad6246; --button-ink: #fff9eb; --display-font: Prata, Georgia, serif; --body-font: 'Golos Text', sans-serif; --display-weight: 400; --gutter: clamp(22px, 5vw, 76px); }
.theme-material .site-head { border-bottom: 1px solid #33473745; }
.theme-material .brand { font-family: Prata, serif; font-size: 21px; }
.theme-material .brand span { font-family: 'Golos Text', sans-serif; }
.theme-material .primary-btn { border-radius: 100px; }
.theme-material .hero { min-height: 650px; }
.theme-material .hero h1 { font-size: clamp(42px, 4.5vw, 67px); }
.theme-material .visual-stage { background: linear-gradient(135deg, #eee8d83b, #8f9f8c36), url('abstract-stone.png') center / cover; border-radius: 49% 49% 6px 6px; box-shadow: inset 0 0 0 10px #eee8d883; }
.theme-material .visual-stage::before { content: ''; position: absolute; width: 45%; height: 45%; border-radius: 50%; background: #ad624680; filter: blur(55px); bottom: -15%; left: -10%; animation: glow 6s ease-in-out infinite alternate; }
.theme-material .visual-label { background: #eee8d8cc; border-radius: 100px; }
.theme-material .benefits { background: #f6f0e3; }
.theme-material .benefit { background: #eee8d8; border-radius: 18px; }
.theme-material .trust { background: #334737; color: #f5eedf; }
.theme-material .trust-stats div { border-bottom: 1px solid #f5eedf8a; }
.theme-material .sale { background: linear-gradient(135deg, #f7f2e8, #e9dbc6); }
.theme-material .sale-steps li { border-color: #33473762; }
.theme-material .services { background: #eee8d8; }
.theme-material .service-card { border-radius: 120px 120px 16px 16px; background: #f7f1e5; box-shadow: 0 10px 24px #33473713; }
.theme-material .service-art { min-height: 190px; background: url('abstract-stone.png') center / cover; }
.theme-material .service-card:nth-child(2n) .service-art { background: #ad6246; color: #fff9e9; }
.theme-material .service-art i, .theme-material .service-art b { border-style: dashed; }
.theme-material .service-body { padding: 26px; }
.theme-material .tasks { background: #e0d4bd; }
.theme-material .task-list { grid-template-columns: repeat(3, 1fr); }
.theme-material .task-card { border: 0; border-radius: 17px; background: #f6f0e3; min-height: 150px; box-shadow: 0 10px 25px #33473710; }
.theme-material .task-card:nth-child(4), .theme-material .task-card:nth-child(5) { grid-column: span 1; }
.theme-material .site-foot { border-top: 1px solid #3347376d; }
.theme-material .newbuilds { background: #f6f0e3; }
.theme-material .city-card { border-radius: 170px 170px 18px 18px; background: #eee8d8; }
.theme-material .city-sterlitamak .city-art { background: url('abstract-stone.png') center / cover; }
.theme-material .city-ufa .city-art { background: linear-gradient(130deg, #ad6246, #d1a47c); color: #fff8e8; }
.theme-material .city-art-orbit { border-style: dashed; animation: material-orbit 18s linear infinite; }
.theme-material .city-body { padding: 32px; }
.theme-material .criteria span { border-color: #33473777; }
.theme-material .process { background: #e0d4bd; }
.theme-material .process-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; }
.theme-material .process-item { display: flex; flex-direction: column; gap: 15px; border: 0; border-radius: 16px; padding: 28px; background: #f7f1e5; min-height: 210px; }
.theme-material .process-item:last-child { border: 0; }
.theme-material .process-index { color: #ad6246; font-family: Prata, serif; font-size: 35px; }
.theme-material .process-mark { display: none; }
.theme-material .faq-list details { border-color: #33473785; }
.theme-material .final-contact { background: #334737; color: #f7f1e5; }
.theme-material .final-art { background: url('abstract-stone.png') center / cover; border-radius: 46% 46% 7px 7px; color: #334737; }
.theme-material .final-art i { width: 130px; height: 130px; border-radius: 50%; background: #ad624698; right: -20px; bottom: -20px; }

.theme-route { --page: #f5efe5; --ink: #202342; --accent: #ff785d; --button-ink: #202342; --display-font: Onest, sans-serif; --body-font: Onest, sans-serif; --display-weight: 750; --gutter: clamp(22px, 5vw, 88px); }
.theme-route .site-head { min-height: 82px; background: #f5efe5; border-bottom: 2px solid #202342; }
.theme-route .brand { letter-spacing: -.06em; }
.theme-route .site-head nav { padding: 0; background: transparent; border: 0; border-radius: 0; }
.theme-route .site-head nav a { border-bottom: 1px solid transparent; }
.theme-route .site-head nav a:hover { border-color: #ff785d; }
.theme-route .head-cta, .theme-route .primary-btn { border-radius: 4px; background: #ff785d; color: #202342; box-shadow: 5px 5px 0 #202342; transition: transform .25s ease, box-shadow .25s ease, background .25s ease; }
.theme-route .head-cta:hover, .theme-route .primary-btn:hover { transform: translate(4px, 4px); box-shadow: 1px 1px 0 #202342; background: #d5ec67; }
.theme-route .head-index, .theme-route .section-tag, .theme-route .benefit-num, .theme-route .task-index, .theme-route .service-kicker, .theme-route .sale-label, .theme-route .city-kicker, .theme-route .process-index, .theme-route .faq-index { display: none; }
.theme-route .hero { min-height: 650px; color: #202342; background: #f5efe5; grid-template-columns: minmax(0, .94fr) minmax(370px, 1.06fr); gap: clamp(26px, 5vw, 88px); overflow: hidden; }
.theme-route .hero::before { content: ''; position: absolute; width: 51vw; height: 51vw; right: -20vw; top: -38vw; border: 2px solid #5165ff; border-radius: 50%; opacity: .65; }
.theme-route .hero::after { content: ''; position: absolute; width: 14vw; height: 14vw; right: 7%; bottom: -7vw; background: #d5ec67; border-radius: 50%; z-index: 0; }
.theme-route .hero h1 { max-width: 740px; letter-spacing: -.085em; font-size: clamp(47px, 5.2vw, 82px); font-weight: 750; }
.theme-route .hero p { max-width: 520px; color: #454a66; font-size: 18px; }
.theme-route .hero-facts { border-color: #202342; color: #202342; }
.theme-route .hero-facts span::before { background: #ff785d; }
.theme-route .text-link { color: #202342; font-weight: 700; }
.theme-route .text-link:hover { color: #5165ff; }
.theme-route .route-showcase { position: relative; min-height: 490px; height: 100%; overflow: hidden; background: #5165ff; border: 2px solid #202342; box-shadow: 12px 12px 0 #202342; isolation: isolate; }
.theme-route .route-showcase::before { content: ''; position: absolute; inset: 13px; border: 1px solid #d5ec67; pointer-events: none; }
.theme-route .route-sun { position: absolute; width: 230px; aspect-ratio: 1; right: 7%; top: 16%; background: #ff785d; border-radius: 50%; box-shadow: 0 0 0 14px #d5ec67; animation: route-sun 6s ease-in-out infinite alternate; }
.theme-route .route-orbit { position: absolute; border: 2px solid #d5ec67; border-radius: 50%; }
.theme-route .orbit-one { width: 470px; height: 210px; right: -91px; top: 45px; transform: rotate(-28deg); }
.theme-route .orbit-two { width: 320px; height: 130px; left: -91px; bottom: 56px; border-color: #ff785d; transform: rotate(27deg); }
.theme-route .route-stamp { position: absolute; z-index: 2; left: 10%; top: 15%; padding: 14px 17px; background: #f5efe5; color: #202342; font-weight: 700; font-size: 15px; line-height: 1.05; transform: rotate(-7deg); box-shadow: 5px 5px 0 #202342; }
.theme-route .route-ticket { position: absolute; z-index: 2; display: flex; align-items: center; justify-content: space-between; width: 49%; padding: 15px 17px; background: #202342; color: #f5efe5; font-weight: 700; letter-spacing: -.03em; box-shadow: 5px 5px 0 #ff785d; }
.theme-route .route-ticket b { font-size: 12px; color: #d5ec67; }
.theme-route .ticket-sale { left: 8%; top: 51%; transform: rotate(-5deg); }
.theme-route .ticket-buy { right: 7%; top: 67%; transform: rotate(4deg); background: #ff785d; color: #202342; box-shadow: 5px 5px 0 #202342; }
.theme-route .route-city { position: absolute; z-index: 2; padding: 7px 10px; border: 1px solid #202342; background: #d5ec67; color: #202342; font-size: 11px; font-weight: 700; }
.theme-route .city-left { left: 15%; bottom: 12%; transform: rotate(6deg); }
.theme-route .city-right { right: 8%; top: 16%; transform: rotate(-4deg); }
.theme-route .route-word { position: absolute; z-index: 1; left: -3%; bottom: -12%; color: #f5efe5; font-weight: 800; font-size: clamp(100px, 16vw, 230px); letter-spacing: -.14em; line-height: 1; opacity: .88; }
.theme-route .benefits { background: #d5ec67; }
.theme-route .section-intro h2 { letter-spacing: -.075em; }
.theme-route .benefit-list { gap: 0; border: 2px solid #202342; }
.theme-route .benefit { min-height: 245px; border: 0; border-right: 2px solid #202342; border-radius: 0; background: #d5ec67; box-shadow: none; transition: background .28s ease, color .28s ease, transform .28s ease; }
.theme-route .benefit:last-child { border-right: 0; }
.theme-route .benefit:hover { background: #202342; color: #f5efe5; transform: translateY(-8px); }
.theme-route .trust { background: #ff785d; color: #202342; }
.theme-route .trust-stats div { border: 2px solid #202342; border-radius: 0; background: #f5efe5; box-shadow: 5px 5px 0 #202342; }
.theme-route .trust-stats strong { color: #5165ff; }
.theme-route .source-link { color: #202342; border-bottom-color: #202342; }
.theme-route .sale { background: #202342; color: #f5efe5; }
.theme-route .sale p, .theme-route .sale small { color: #d8d7e0; }
.theme-route .sale .primary-btn { background: #d5ec67; }
.theme-route .sale-steps { gap: 0; border-top: 1px solid #f5efe588; }
.theme-route .sale-steps li { border: 0; border-bottom: 1px solid #f5efe588; border-radius: 0; padding: 22px 0; background: transparent; font-size: 20px; }
.theme-route .sale-steps li span { display: inline-block; width: 45px; color: #ff785d; }
.theme-route .services { background: #f5efe5; }
.theme-route .service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.theme-route .service-card, .theme-route .service-card:nth-child(n) { grid-column: span 1; border: 2px solid #202342; border-radius: 0; background: #f5efe5; box-shadow: none; transition: transform .28s ease, box-shadow .28s ease; }
.theme-route .service-card:hover { transform: translate(-6px, -6px); box-shadow: 9px 9px 0 #5165ff; }
.theme-route .service-card:nth-child(3) { background: #d5ec67; }
.theme-route .service-card:nth-child(4) { background: #ff785d; }
.theme-route .service-art { min-height: 145px; color: #f5efe5; background: #5165ff; border-bottom: 2px solid #202342; }
.theme-route .service-2 .service-art, .theme-route .service-5 .service-art { background: #202342; }
.theme-route .service-3 .service-art { background: #ff785d; color: #202342; }
.theme-route .service-4 .service-art { background: #d5ec67; color: #202342; }
.theme-route .service-art i { border-radius: 0; transform: translate(-50%, -50%) rotate(45deg); }
.theme-route .service-art b { border-radius: 0; }
.theme-route .service-card button { border-color: #202342; border-radius: 0; color: #202342; }
.theme-route .tasks { background: #5165ff; color: #f5efe5; }
.theme-route .tasks .section-intro p { color: #dfdeff; }
.theme-route .task-list { gap: 0; border: 2px solid #f5efe5; }
.theme-route .task-card { min-height: 165px; border: 0; border-right: 1px solid #f5efe5; border-radius: 0; background: #5165ff; color: #f5efe5; box-shadow: none; transition: background .25s ease, color .25s ease, transform .25s ease; }
.theme-route .task-card:nth-child(1), .theme-route .task-card:nth-child(3) { background: #5165ff; color: #f5efe5; }
.theme-route .task-card:last-child { border-right: 0; }
.theme-route .task-card:hover { background: #d5ec67; color: #202342; transform: translateY(-8px); }
.theme-route .task-card svg { color: currentColor; }
.theme-route .newbuilds { background: #f5efe5; }
.theme-route .city-card { border: 2px solid #202342; border-radius: 0; box-shadow: 8px 8px 0 #ff785d; }
.theme-route .city-art { background: #ff785d; color: #202342; border-bottom: 2px solid #202342; }
.theme-route .city-ufa .city-art { background: #d5ec67; }
.theme-route .city-art-orbit { border: 2px solid #202342; border-radius: 0; transform: translate(-50%, -50%) rotate(45deg); box-shadow: none; }
.theme-route .city-art-orbit::after { background: #5165ff; border: 0; width: 14px; height: 14px; }
.theme-route .city-body { background: #f5efe5; }
.theme-route .criteria span { border-color: #202342; border-radius: 0; background: transparent; }
.theme-route .city-button { border-radius: 0; border-color: #202342; color: #202342; }
.theme-route .process { background: #d5ec67; }
.theme-route .process-item { grid-template-columns: 1fr 40px; border-color: #202342; }
.theme-route .process-mark { color: #5165ff; }
.theme-route .faq { background: #f5efe5; }
.theme-route .faq-list details { border-color: #202342; border-width: 2px; }
.theme-route .faq-list details[open] { background: #ff785d; }
.theme-route .faq-list summary { grid-template-columns: 1fr 30px; }
.theme-route .faq-list details p { margin-left: 0; }
.theme-route .faq-plus { color: #5165ff; }
.theme-route .final-contact { background: #202342; color: #f5efe5; }
.theme-route .final-art { border: 2px solid #f5efe5; border-radius: 0; background: #5165ff; box-shadow: 10px 10px 0 #ff785d; }
.theme-route .final-art i { width: 70%; height: 70%; border: 2px solid #d5ec67; border-radius: 0; transform: rotate(45deg); box-shadow: none; }
.theme-route .final-art span { color: #f5efe5; text-shadow: none; }
.theme-route .final-contact .primary-btn { background: #d5ec67; color: #202342; }
.theme-route .final-links a { border-color: #f5efe577; }
.theme-route .site-foot { background: #202342; color: #f5efe5; border-top: 1px solid #f5efe577; }
.theme-route .site-foot button { color: #d5ec67; }
.theme-route .route-reveal { opacity: 0; transform: translateY(34px); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.8,.2,1); }
.theme-route .hero-copy.route-reveal { transform: translateX(-34px); }
.theme-route .route-showcase.route-reveal { transform: translateX(34px) rotate(1.5deg); }
.theme-route .route-reveal.route-visible { opacity: 1; transform: translate(0) rotate(0); }

.contact-dialog { width: min(480px, calc(100vw - 28px)); border: 0; border-radius: 13px; background: #f7f7f2; color: #142029; padding: 25px; box-shadow: 0 25px 100px #0007; }
.contact-dialog::backdrop { background: #0b1824b9; backdrop-filter: blur(5px); }
.dialog-top { display: flex; align-items: center; justify-content: space-between; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; }
.dialog-close { display: grid; place-items: center; background: transparent; border: 1px solid #78929b; border-radius: 50%; width: 35px; height: 35px; }
.contact-dialog h2 { font: 600 29px/1.2 Onest, sans-serif; letter-spacing: -.045em; margin: 30px 0 22px; }
.dialog-topic { font-size: 14px; padding: 12px; background: #e7eeed; border-radius: 6px; }
.contact-options { display: grid; gap: 8px; }
.contact-options a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px; border: 1px solid #bdc9c9; border-radius: 6px; font-weight: 700; font-size: 14px; transition: background .2s; }
.contact-options a:hover { background: #e1eeee; }
.dialog-note { font-size: 12px; color: #58656c; margin: 20px 0 0; line-height: 1.5; }
.dialog-divider { display:flex; align-items:center; gap:12px; margin:24px 0 14px; color:#68777a; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }.dialog-divider::before,.dialog-divider::after { content:''; flex:1; height:1px; background:#bdc9c9; }.contact-request { display:grid; gap:9px; }.contact-request input,.contact-request textarea { width:100%; border:1px solid #bdc9c9; border-radius:7px; padding:12px 13px; background:#fffefa; color:#142029; font:inherit; font-size:14px; }.contact-request textarea { resize:vertical; min-height:82px; }.contact-request input:focus,.contact-request textarea:focus { outline:2px solid #77b8a9; outline-offset:1px; border-color:#77b8a9; }.contact-request button { display:flex; justify-content:space-between; align-items:center; margin-top:3px; border:0; border-radius:7px; padding:14px 15px; background:#153c36; color:#f7f7f2; font:700 14px Onest,sans-serif; cursor:pointer; }.contact-request button:hover { background:#235a4f; }.contact-request [data-contact-status] { min-height:16px; margin:2px 0 0; color:#28765f; font-size:12px; line-height:1.4; }

@keyframes orbit { to { transform: rotate(360deg); } }
@keyframes material-orbit { from { transform: translate(-50%, -50%) rotate(0); } to { transform: translate(-50%, -50%) rotate(360deg); } }
@keyframes bold-slide { to { transform: translateX(32px) rotate(5deg); } }
@keyframes glow { to { transform: scale(1.13); opacity: .55; } }
@keyframes draw { to { stroke-dashoffset: 0; } }
@keyframes route-float { to { transform: translateY(-9px) rotate(-1deg); } }
@keyframes route-sun { from { transform: translateY(-8px) rotate(-4deg); } to { transform: translateY(9px) rotate(5deg); } }

@media (max-width: 1100px) {
  .site-head nav { display: none; }
  .site-head .head-index { margin-left: auto; }
  .switcher-list button span { display: none; }
  .hero, .theme-editorial .hero, .theme-bold .hero, .theme-aurora .hero { grid-template-columns: 1fr 1fr; }
  .hero h1, .theme-bold .hero h1 { font-size: clamp(38px, 5vw, 65px); }
  .benefit-list { grid-template-columns: repeat(3, 1fr); }
  .theme-bold .benefits { display: block; }
  .theme-bold .benefit-list { margin-top: 35px; }
  .task-list { grid-template-columns: repeat(3, 1fr); }
  .service-grid, .theme-route .service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-card, .service-card:nth-child(4), .service-card:nth-child(5), .theme-route .service-card:nth-child(n) { grid-column: span 1; }
  .theme-bold .process-list { grid-template-columns: repeat(3, 1fr); gap: 10px; }
  .theme-bold .process-item { margin-left: 0; }
}
@media (max-width: 760px) {
  .gallery-intro { display: block; padding-top: 42px; }
  .gallery-intro h1 { font-size: clamp(37px, 8vw, 65px); }
  .gallery-intro p { margin-top: 23px; }
  .font-lab-intro { display: block; }
  .font-lab-intro p { margin-top: 22px; }
  .font-grid { grid-template-columns: 1fr; }
  .font-specimen { min-height: 0; }
  .gallery-grid { grid-template-columns: 1fr 1fr; }
  .gallery-card, .gallery-card:nth-child(4), .gallery-card:nth-child(5) { grid-column: span 1; }
  .card-bottom { display: block; }
  .card-bottom button { margin-top: 10px; }
  .preview-switcher { gap: 12px; }
  .switcher-hint { display: none; }
  .site-head { min-height: 80px; }
  .head-index { display: none; }
  .head-cta { margin-left: auto; }
  .hero, .theme-editorial .hero, .theme-bold .hero, .theme-aurora .hero { display: flex; flex-direction: column; gap: 30px; min-height: 0; }
  .theme-editorial .hero-copy { padding-right: 0; }
  .hero h1, .theme-editorial .hero h1, .theme-bold .hero h1, .theme-aurora .hero h1, .theme-material .hero h1, .theme-route .hero h1 { font-size: clamp(38px, 7vw, 56px); }
  .hero-art, .visual-stage, .theme-route .map-visual, .theme-route .route-showcase { min-height: 330px; }
  .section { padding-top: 74px; padding-bottom: 74px; }
  .trust, .sale { grid-template-columns: 1fr; }
  .city-grid, .faq, .final-contact { grid-template-columns: 1fr; }
  .city-art { min-height: 190px; }
  .final-art { min-height: 220px; }
  .theme-bold .process-list, .theme-material .process-list { grid-template-columns: 1fr 1fr; }
  .theme-bold .process-item { min-height: 245px; }
  .trust-stats { margin-top: 5px; }
  .task-list, .theme-material .task-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .theme-route .route-showcase { box-shadow: 8px 8px 0 #202342; }
  .site-foot { flex-wrap: wrap; }
}
@media (max-width: 540px) {
  .font-lab-head { font-size: 10px; }
  .font-lab-head > span { text-align: right; }
  .font-lab-intro h1 { font-size: clamp(34px, 10vw, 52px); }
  .font-card-top, .font-card-names, .font-card-bottom { padding-left: 18px; padding-right: 18px; }
  .font-card-top { align-items: start; }
  .font-card-top span:last-child { text-align: right; }
  .font-card-bottom { flex-direction: column; align-items: start; }
  .font-card-bottom button { white-space: normal; }
  .font-specimen h2 { font-size: clamp(26px, 8vw, 36px); }
  .gallery-head { min-height: 65px; }
  .gallery-brand span, .gallery-count { display: none; }
  .gallery-grid { grid-template-columns: 1fr; }
  .gallery-card { min-height: 390px; }
  .card-bottom { display: flex; }
  .card-art { min-height: 175px; }
  .preview-switcher { height: 54px; padding: 0 12px; }
  .preview-switcher > button { font-size: 0; }
  .preview-switcher > button svg { width: 21px; height: 21px; }
  .preview-switcher .switcher-fonts { font-size: 15px; padding: 5px 8px; }
  .switcher-fonts span { display: none; }
  .switcher-list { gap: 2px; }
  .switcher-list button { padding: 0 8px; }
  .site-head { padding-top: 15px; padding-bottom: 15px; }
  .brand { font-size: 17px; }
  .theme-bold .brand { font-size: 21px; }
  .theme-aurora .brand { font-size: 14px; }
  .head-cta { padding: 10px; min-height: 38px; font-size: 11px; }
  .head-cta svg { display: none; }
  .hero { padding-top: 30px; }
  .hero h1, .theme-editorial .hero h1, .theme-bold .hero h1, .theme-aurora .hero h1, .theme-material .hero h1, .theme-route .hero h1 { font-size: clamp(35px, 9.4vw, 48px); }
  .hero-facts { gap: 12px; }
  .hero-facts span { width: calc(50% - 7px); }
  .hero-art, .visual-stage, .theme-route .map-visual, .theme-route .route-showcase { min-height: 280px; }
  .benefit-list, .theme-bold .benefit-list { grid-template-columns: 1fr; }
  .benefit { padding: 22px; }
  .benefit-num { margin-bottom: 15px; }
  .trust-stats { grid-template-columns: 1fr 1fr 1fr; gap: 5px; }
  .trust-stats div { padding: 11px; }
  .trust-stats strong { font-size: 36px; }
  .trust-stats span { font-size: 10px; }
  .task-list, .theme-material .task-list { grid-template-columns: 1fr; }
  .service-grid, .theme-route .service-grid { grid-template-columns: 1fr; }
  .service-card, .service-card:nth-child(4), .service-card:nth-child(5), .theme-route .service-card:nth-child(n) { grid-column: span 1; }
  .service-art, .theme-route .service-art { min-height: 130px; }
  .theme-route .hero-art, .theme-route .route-showcase { min-height: 340px; }
  .theme-route .route-stamp { font-size: 12px; }
  .theme-route .route-ticket { padding: 10px; font-size: 12px; }
  .theme-route .route-sun { width: 145px; }
  .task-card { min-height: 105px; }
  .city-body { padding: 22px; }
  .city-body h3 { font-size: 30px; }
  .process-item { grid-template-columns: 38px 1fr 20px; gap: 10px; }
  .theme-route .process-item { grid-template-columns: 1fr 20px; gap: 10px; }
  .process-item h3 { font-size: 20px; }
  .theme-bold .process-list, .theme-material .process-list { grid-template-columns: 1fr; }
  .theme-bold .process-item, .theme-material .process-item { min-height: 0; }
  .faq-list summary { grid-template-columns: 25px 1fr 20px; gap: 8px; font-size: 15px; }
  .faq-list details p { margin-left: 33px; margin-right: 20px; }
  .final-art { min-height: 185px; }
  .site-foot { flex-direction: column; align-items: start; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* Route is deliberately independent from the shared preview layouts. */
.theme-route { --route-paper:#f7f0e5; --route-ink:#17233f; --route-blue:#5669f6; --route-orange:#ff785e; --route-lime:#d7ef71; background:var(--route-paper); color:var(--route-ink); }
.theme-route .route-shell { max-width:1500px; margin:auto; overflow:hidden; font-family:Onest,sans-serif; }
.theme-route .route-nav { min-height:94px; padding:18px clamp(22px,5vw,82px); display:flex; align-items:center; gap:42px; border-bottom:2px solid var(--route-ink); }
.route-name { font-size:21px; font-weight:800; line-height:.87; letter-spacing:-.09em; }
.route-nav nav { display:flex; gap:26px; margin-left:auto; font-size:13px; font-weight:600; }
.route-nav nav a { border-bottom:1px solid transparent; padding-bottom:4px; }
.route-nav nav a:hover { border-color:var(--route-orange); }
.route-nav-cta,.route-action { display:inline-flex; align-items:center; justify-content:space-between; gap:18px; border:2px solid var(--route-ink); border-radius:0; padding:13px 17px; background:var(--route-orange); color:var(--route-ink); font:700 13px Onest,sans-serif; box-shadow:5px 5px 0 var(--route-ink); transition:transform .22s ease,box-shadow .22s ease,background .22s ease; }
.route-nav-cta:hover,.route-action:hover { transform:translate(4px,4px); box-shadow:1px 1px 0 var(--route-ink); background:var(--route-lime); }
.route-intro { min-height:680px; display:grid; grid-template-columns:.95fr 1.05fr; align-items:stretch; border-bottom:2px solid var(--route-ink); }
.route-intro-copy { position:relative; padding:clamp(52px,8vw,120px) clamp(22px,5vw,82px) 70px; }
.route-opening,.route-section-head p,.route-sale-title>p,.route-requests>p,.route-contact p,.route-kicker { font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.route-opening { margin:0 0 44px; }
.route-intro h1 { margin:0; font-size:clamp(58px,7.4vw,122px); line-height:.82; letter-spacing:-.115em; font-weight:800; }
.route-intro h1 em { color:var(--route-orange); font-style:normal; }
.route-lead { max-width:480px; margin:44px 0 25px; font-size:17px; line-height:1.58; }
.route-intro-actions { display:flex; align-items:center; flex-wrap:wrap; gap:24px; }
.route-intro-actions a { font-size:13px; font-weight:700; border-bottom:1px solid var(--route-ink); padding-bottom:5px; }
.route-intro-actions a span { padding-left:12px; color:var(--route-blue); font-size:18px; }
.route-poster { position:relative; overflow:hidden; margin:clamp(28px,4vw,64px) clamp(22px,5vw,82px) clamp(28px,4vw,64px) 0; min-height:500px; background:var(--route-blue); border:2px solid var(--route-ink); box-shadow:12px 12px 0 var(--route-ink); }
.route-poster strong { position:absolute; z-index:3; bottom:-.07em; left:8%; color:var(--route-paper); font-size:clamp(78px,11vw,170px); line-height:.74; letter-spacing:-.13em; }
.poster-disc { position:absolute; z-index:2; width:clamp(170px,21vw,300px); aspect-ratio:1; top:18%; right:14%; border-radius:50%; background:var(--route-orange); border:14px solid var(--route-lime); animation:route-sun 6s ease-in-out infinite alternate; }
.poster-line { position:absolute; z-index:2; width:120%; height:1px; background:var(--route-lime); transform-origin:left; }
.line-a { top:31%; left:-12%; transform:rotate(20deg); }.line-b { bottom:31%; left:-5%; transform:rotate(-31deg); background:var(--route-orange); }
.poster-sticker { position:absolute; z-index:4; top:12%; left:11%; padding:11px 13px; background:var(--route-paper); color:var(--route-ink); font-size:13px; font-weight:700; line-height:1.05; transform:rotate(-8deg); box-shadow:4px 4px 0 var(--route-ink); }
.poster-card { position:absolute; z-index:4; display:block; padding:13px 17px; font-size:15px; font-weight:700; color:var(--route-paper); background:var(--route-ink); box-shadow:5px 5px 0 var(--route-orange); }.card-a { top:55%; left:9%; transform:rotate(-5deg); }.card-b { right:9%; top:66%; color:var(--route-ink); background:var(--route-lime); box-shadow:5px 5px 0 var(--route-ink); transform:rotate(4deg); }
.route-reasons { padding:0 clamp(22px,5vw,82px) 95px; background:var(--route-lime); border-bottom:2px solid var(--route-ink); }
.route-caption { max-width:450px; padding:28px 0 64px; font-size:18px; line-height:1.35; font-weight:700; letter-spacing:-.04em; }
.route-reason-grid { display:grid; grid-template-columns:repeat(3,1fr); border:2px solid var(--route-ink); }
.route-reason-grid article { position:relative; min-height:235px; padding:27px; border-right:2px solid var(--route-ink); transition:background .3s,color .3s,transform .3s; }.route-reason-grid article:last-child { border:0; }.route-reason-grid article:hover { background:var(--route-ink); color:var(--route-paper); transform:translateY(-10px); }
.route-reason-grid h2 { max-width:220px; margin:0 0 14px; font-size:26px; line-height:1.06; letter-spacing:-.065em; }.route-reason-grid p { max-width:300px; margin:0; font-size:14px; line-height:1.56; }.route-reason-grid span { position:absolute; bottom:19px; right:22px; font-size:30px; color:var(--route-orange); }
.route-proof { display:grid; grid-template-columns:.9fr 1.1fr; gap:60px; padding:105px clamp(22px,5vw,82px); background:var(--route-ink); color:var(--route-paper); }.route-proof h2 { max-width:500px; margin:20px 0 35px; font-size:clamp(36px,4vw,63px); line-height:1; letter-spacing:-.08em; }.route-proof a { display:inline-flex; gap:10px; padding-bottom:6px; border-bottom:1px solid var(--route-lime); color:var(--route-lime); font-size:13px; font-weight:700; }.route-numbers { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; align-self:end; background:#f7f0e544; }.route-numbers div { min-height:190px; display:flex; flex-direction:column; justify-content:end; padding:19px; background:var(--route-ink); }.route-numbers strong { color:var(--route-orange); font-size:clamp(46px,5vw,76px); line-height:.8; letter-spacing:-.08em; }.route-numbers span { margin-top:13px; font-size:12px; line-height:1.35; }
.route-sale { display:grid; grid-template-columns:1fr 1fr; gap:7vw; padding:110px clamp(22px,5vw,82px); background:var(--route-orange); border-bottom:2px solid var(--route-ink); }.route-sale h2,.route-section-head h2,.route-contact h2 { margin:18px 0 32px; font-size:clamp(40px,4.6vw,70px); line-height:.98; letter-spacing:-.09em; }.route-sale-side>p { max-width:500px; margin:0 0 29px; font-size:17px; line-height:1.58; }.route-sale ol { list-style:none; padding:0; margin:0; border-top:1px solid var(--route-ink); }.route-sale li { display:flex; justify-content:space-between; padding:15px 0; border-bottom:1px solid var(--route-ink); font-size:20px; font-weight:700; letter-spacing:-.04em; }.route-sale li span { color:var(--route-blue); }.route-sale small { display:block; margin-top:16px; font-size:12px; }
.route-services,.route-cities,.route-path,.route-questions { padding:110px clamp(22px,5vw,82px); }.route-section-head { max-width:560px; }.route-service-list { margin-top:55px; border-top:2px solid var(--route-ink); }.route-service-list article { display:grid; grid-template-columns:86px 1fr 52px; gap:30px; align-items:center; min-height:130px; padding:24px 0; border-bottom:2px solid var(--route-ink); transition:padding .3s,background .3s; }.route-service-list article:hover { padding-left:17px; padding-right:17px; background:var(--route-lime); }.route-service-icon { display:grid; place-items:center; width:65px; height:65px; background:var(--route-blue); color:var(--route-paper); }.route-service-icon svg { width:31px; height:31px; }.route-service-list h3 { margin:0 0 6px; font-size:25px; letter-spacing:-.055em; }.route-service-list p { max-width:580px; margin:0; font-size:14px; line-height:1.5; }.route-service-list button { display:grid; place-items:center; width:45px; height:45px; border:2px solid var(--route-ink); background:transparent; transition:background .25s,color .25s,transform .25s; }.route-service-list button:hover { background:var(--route-ink); color:var(--route-paper); transform:rotate(-25deg); }
.route-requests { padding:92px clamp(22px,5vw,82px); background:var(--route-blue); color:var(--route-paper); }.route-requests>p { margin:0 0 30px; }.route-requests>div { border-top:1px solid #f7f0e580; }.route-requests button { width:100%; display:flex; justify-content:space-between; align-items:center; padding:18px 0; color:inherit; border:0; border-bottom:1px solid #f7f0e580; background:transparent; text-align:left; font-size:clamp(26px,3.3vw,49px); font-weight:700; letter-spacing:-.075em; transition:padding .25s,color .25s; }.route-requests button:hover { padding-left:20px; color:var(--route-lime); }.route-requests button span { color:var(--route-orange); }
.route-cities { background:var(--route-paper); }.route-city-panels { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:55px; }.route-city-panels article { position:relative; min-height:460px; padding:30px; overflow:hidden; border:2px solid var(--route-ink); display:flex; flex-direction:column; align-items:start; }.route-city-one { background:var(--route-orange); }.route-city-two { background:var(--route-lime); }.route-city-panels article::after { content:''; position:absolute; width:280px; aspect-ratio:1; right:-70px; bottom:-90px; border:2px solid var(--route-ink); transform:rotate(45deg); }.route-city-mark { position:relative; z-index:1; padding:8px 10px; background:var(--route-ink); color:var(--route-paper); font-size:12px; font-weight:700; }.route-city-panels h3 { position:relative; z-index:1; max-width:460px; margin:80px 0 15px; font-size:clamp(29px,3vw,46px); line-height:1; letter-spacing:-.075em; }.route-city-panels p { position:relative; z-index:1; max-width:480px; margin:0; font-size:14px; line-height:1.55; }.route-tags { position:relative; z-index:1; display:flex; flex-wrap:wrap; gap:6px; margin-top:22px; }.route-tags span { border:1px solid var(--route-ink); padding:7px 9px; font-size:11px; font-weight:700; }.route-city-panels button { position:relative; z-index:1; display:inline-flex; gap:12px; align-items:center; margin-top:auto; padding:10px 0; border:0; border-bottom:1px solid var(--route-ink); background:transparent; color:var(--route-ink); font-size:13px; font-weight:700; }
.route-path { background:var(--route-ink); color:var(--route-paper); }.route-path-list { display:grid; grid-template-columns:repeat(5,1fr); gap:0; margin-top:55px; }.route-path-list article { position:relative; min-height:210px; padding:30px 22px 20px 0; border-top:2px solid var(--route-lime); }.route-path-list article+article { padding-left:22px; border-left:1px solid #f7f0e533; }.route-path-list i { position:absolute; top:-8px; width:14px; height:14px; border-radius:50%; background:var(--route-orange); }.route-path-list h3 { max-width:170px; margin:20px 0 9px; font-size:20px; line-height:1.05; letter-spacing:-.05em; }.route-path-list p,.route-path-note { font-size:13px; line-height:1.5; color:#d9dae3; }.route-path-note { max-width:560px; margin:30px 0 0; }
.route-questions { display:grid; grid-template-columns:.75fr 1.25fr; gap:8vw; }.route-questions>div:last-child { border-top:2px solid var(--route-ink); }.route-questions details { border-bottom:2px solid var(--route-ink); }.route-questions summary { display:grid; grid-template-columns:1fr 26px; gap:20px; padding:22px 0; cursor:pointer; list-style:none; font-size:20px; font-weight:700; letter-spacing:-.04em; }.route-questions summary::-webkit-details-marker { display:none; }.route-questions summary span { color:var(--route-orange); font-size:27px; line-height:.75; }.route-questions details[open] summary span { transform:rotate(45deg); }.route-questions details p { max-width:600px; margin:0 0 22px; font-size:14px; line-height:1.6; }
.route-contact { display:grid; grid-template-columns:.7fr 1.3fr; gap:8vw; padding:100px clamp(22px,5vw,82px); background:var(--route-blue); color:var(--route-paper); }.route-contact-symbol { display:grid; place-items:center; min-height:320px; border:2px solid var(--route-paper); color:var(--route-lime); font-size:clamp(80px,12vw,170px); font-weight:800; letter-spacing:-.14em; transform:rotate(-3deg); }.route-contact h2 { max-width:680px; }.route-contact>div>span { display:block; max-width:520px; font-size:16px; line-height:1.55; }.route-contact .route-action { margin-top:28px; background:var(--route-lime); }.route-contact nav { display:flex; flex-wrap:wrap; gap:17px; margin-top:35px; }.route-contact nav a { padding-bottom:4px; border-bottom:1px solid #f7f0e588; font-size:13px; font-weight:700; }.route-footer { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:28px clamp(22px,5vw,82px); background:var(--route-ink); color:var(--route-paper); font-size:13px; }.route-footer a { font-size:19px; font-weight:800; letter-spacing:-.06em; }.route-footer button { display:inline-flex; align-items:center; gap:9px; border:0; color:var(--route-lime); background:none; font-weight:700; }
.theme-route .route-motion { opacity:0; transform:translateY(35px); transition:opacity .7s ease,transform .75s cubic-bezier(.2,.8,.2,1); }.theme-route .route-motion.route-visible { opacity:1; transform:translateY(0); }.theme-route .route-intro.route-motion { transform:translateY(0); opacity:1; }.theme-route .route-intro-copy,.theme-route .route-poster { animation:route-enter .8s cubic-bezier(.2,.8,.2,1) both; }.theme-route .route-poster { animation-delay:.1s; }
@keyframes route-enter { from { opacity:0; transform:translateY(34px); } to { opacity:1; transform:translateY(0); } }
@media (max-width:760px) { .route-nav { min-height:76px; gap:18px; }.route-nav nav { display:none; }.route-nav-cta { margin-left:auto; padding:10px 12px; font-size:11px; }.route-intro,.route-proof,.route-sale,.route-questions,.route-contact { grid-template-columns:1fr; }.route-intro-copy { padding-top:58px; }.route-intro h1 { font-size:clamp(58px,16vw,93px); }.route-poster { margin:0 22px 45px; min-height:370px; }.route-reason-grid,.route-city-panels { grid-template-columns:1fr; }.route-reason-grid article { border-right:0; border-bottom:2px solid var(--route-ink); }.route-reason-grid article:last-child { border-bottom:0; }.route-proof,.route-sale,.route-services,.route-cities,.route-path,.route-questions,.route-contact { padding-top:75px; padding-bottom:75px; }.route-numbers { gap:1px; }.route-numbers div { min-height:135px; padding:12px; }.route-numbers strong { font-size:38px; }.route-numbers span { font-size:10px; }.route-service-list article { grid-template-columns:64px 1fr 38px; gap:14px; }.route-service-icon { width:49px; height:49px; }.route-service-list h3 { font-size:20px; }.route-service-list p { font-size:12px; }.route-service-list button { width:35px; height:35px; }.route-city-panels article { min-height:390px; }.route-path-list { grid-template-columns:1fr; }.route-path-list article,.route-path-list article+article { min-height:0; padding:23px 0 23px 25px; border-left:0; }.route-path-list i { left:0; top:23px; }.route-contact-symbol { min-height:190px; }.route-footer { flex-wrap:wrap; } }

/* Four remaining directions use their own independent page surface. */
.fresh { --f-bg:#f5f0e7; --f-ink:#1e2f50; --f-accent:#d77555; --f-soft:#e5dfd1; max-width:1500px; margin:auto; overflow:hidden; background:var(--f-bg); color:var(--f-ink); font-family:Onest,sans-serif; }.fresh-nav,.fresh-footer { display:flex; align-items:center; gap:30px; padding:23px clamp(22px,5vw,82px); }.fresh-nav { border-bottom:1px solid currentColor; }.fresh-nav>a { font-weight:800; letter-spacing:-.06em; font-size:21px; }.fresh-nav nav { display:flex; gap:24px; margin-left:auto; font-size:13px; font-weight:600; }.fresh-nav button,.fresh-hero button,.fresh-sale button,.fresh-contact button { display:inline-flex; gap:12px; align-items:center; border:1px solid currentColor; padding:12px 16px; background:var(--f-accent); color:var(--f-ink); font-weight:700; box-shadow:4px 4px 0 currentColor; transition:transform .23s,box-shadow .23s,background .23s; }.fresh-nav button:hover,.fresh-hero button:hover,.fresh-sale button:hover,.fresh-contact button:hover { transform:translate(3px,3px); box-shadow:1px 1px 0 currentColor; background:var(--f-soft); }.fresh-hero { display:grid; grid-template-columns:1fr 1fr; min-height:620px; padding:clamp(50px,7vw,110px) clamp(22px,5vw,82px); gap:6vw; }.fresh-hero>div { align-self:center; }.fresh-hero p,.fresh-head>p,.fresh-proof p,.fresh-requests>p,.fresh-contact p { margin:0 0 22px; font-size:11px; letter-spacing:.1em; font-weight:700; text-transform:uppercase; }.fresh-hero h1,.fresh-head h2,.fresh-proof h2,.fresh-contact h2 { margin:0; font-size:clamp(42px,5.2vw,81px); line-height:1; letter-spacing:-.085em; }.fresh-hero>div>span { display:block; max-width:520px; margin:32px 0; font-size:17px; line-height:1.58; }.fresh-hero aside { position:relative; overflow:hidden; display:grid; place-items:center; min-height:420px; background:var(--f-soft); border:1px solid currentColor; }.fresh-hero aside b { position:relative; z-index:2; font-size:clamp(90px,15vw,220px); line-height:.7; letter-spacing:-.14em; }.fresh-hero aside i { position:absolute; width:62%; aspect-ratio:1; border:1px solid currentColor; border-radius:50%; transform:rotate(22deg); }.fresh-hero aside em { position:absolute; z-index:2; right:18px; top:19px; max-width:115px; font-size:12px; font-style:normal; font-weight:700; }.fresh-reasons,.fresh-proof,.fresh-sale,.fresh-services,.fresh-requests,.fresh-cities,.fresh-process,.fresh-faq,.fresh-contact { padding:100px clamp(22px,5vw,82px); }.fresh-head { max-width:610px; }.fresh-reasons>div:last-child { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:43px; }.fresh-reasons article { min-height:220px; padding:25px; background:var(--f-soft); }.fresh-reasons h3 { margin:0 0 16px; font-size:23px; letter-spacing:-.055em; }.fresh-reasons article p,.fresh-services p,.fresh-city-grid p,.fresh-process p { margin:0; font-size:14px; line-height:1.58; }.fresh-proof { display:grid; grid-template-columns:.85fr 1.15fr; align-items:end; gap:55px; background:var(--f-ink); color:var(--f-bg); }.fresh-proof h2 { font-size:clamp(34px,4vw,62px); }.fresh-proof a { display:inline-flex; gap:9px; margin-top:28px; color:var(--f-accent); border-bottom:1px solid currentColor; padding-bottom:5px; font-size:13px; font-weight:700; }.fresh-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:#fff3; }.fresh-stats article { min-height:185px; display:flex; flex-direction:column; justify-content:end; padding:19px; background:var(--f-ink); }.fresh-stats strong { color:var(--f-accent); font-size:clamp(42px,5vw,75px); letter-spacing:-.09em; line-height:.8; }.fresh-stats span { margin-top:14px; font-size:12px; }.fresh-sale { display:grid; grid-template-columns:1fr 1fr; gap:8vw; }.fresh-sale .fresh-head>span { display:block; margin-top:24px; font-size:16px; line-height:1.6; }.fresh-sale button { margin-top:25px; }.fresh-sale ol { list-style:none; align-self:center; margin:0; padding:0; border-top:1px solid currentColor; }.fresh-sale li { display:flex; justify-content:space-between; padding:17px 0; border-bottom:1px solid currentColor; font-size:21px; font-weight:700; }.fresh-sale li b { color:var(--f-accent); }.fresh-services-list { display:grid; grid-template-columns:repeat(5,1fr); gap:13px; margin-top:47px; }.fresh-services-list article { min-width:0; padding:20px; border:1px solid currentColor; }.fresh-services-list article>div { width:52px; height:52px; display:grid; place-items:center; background:var(--f-accent); }.fresh-services-list h3 { margin:45px 0 10px; font-size:20px; letter-spacing:-.05em; }.fresh-services-list button { display:inline-flex; gap:8px; align-items:center; margin-top:25px; padding:0 0 4px; border:0; border-bottom:1px solid currentColor; background:none; color:inherit; font-size:12px; font-weight:700; }.fresh-requests { background:var(--f-accent); }.fresh-requests h2 { margin:0 0 35px; font-size:clamp(38px,4vw,60px); letter-spacing:-.075em; }.fresh-requests>div { border-top:1px solid currentColor; }.fresh-requests button { display:flex; justify-content:space-between; width:100%; padding:17px 0; border:0; border-bottom:1px solid currentColor; background:none; color:inherit; text-align:left; font-size:clamp(23px,3vw,43px); font-weight:700; letter-spacing:-.065em; transition:padding .2s; }.fresh-requests button:hover { padding-left:17px; }.fresh-cities { background:var(--f-bg); }.fresh-city-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:47px; }.fresh-city-grid article { position:relative; min-height:420px; padding:28px; overflow:hidden; background:var(--f-soft); }.fresh-city-grid article:last-child { background:var(--f-accent); }.fresh-city-grid article::after { content:''; position:absolute; width:210px; height:210px; right:-45px; bottom:-70px; border:1px solid currentColor; border-radius:50%; }.fresh-city-grid span { position:relative; z-index:1; font-size:12px; font-weight:700; }.fresh-city-grid h3 { position:relative; z-index:1; max-width:430px; margin:75px 0 14px; font-size:clamp(28px,3vw,44px); line-height:1; letter-spacing:-.075em; }.fresh-city-grid p,.fresh-city-grid button,.fresh-tags { position:relative; z-index:1; }.fresh-tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:20px; }.fresh-tags i { padding:6px 8px; border:1px solid currentColor; font-size:11px; font-style:normal; }.fresh-city-grid button { display:inline-flex; align-items:center; gap:9px; margin-top:25px; padding:0 0 5px; border:0; border-bottom:1px solid currentColor; background:none; color:inherit; font-size:13px; font-weight:700; }.fresh-process { background:var(--f-soft); }.fresh-process>div:last-of-type { display:grid; grid-template-columns:repeat(5,1fr); gap:0; margin-top:48px; }.fresh-process article { min-height:205px; padding:20px; border-top:2px solid currentColor; }.fresh-process article+article { border-left:1px solid #0003; }.fresh-process article i { display:block; width:12px; height:12px; margin-top:-27px; border-radius:50%; background:var(--f-accent); }.fresh-process h3 { margin:26px 0 10px; font-size:19px; letter-spacing:-.04em; }.fresh-process small { display:block; max-width:590px; margin-top:32px; font-size:12px; line-height:1.5; }.fresh-faq { display:grid; grid-template-columns:.8fr 1.2fr; gap:8vw; }.fresh-faq>div:last-child { border-top:1px solid currentColor; }.fresh-faq details { border-bottom:1px solid currentColor; }.fresh-faq summary { display:flex; justify-content:space-between; gap:20px; padding:20px 0; list-style:none; cursor:pointer; font-size:19px; font-weight:700; }.fresh-faq summary::-webkit-details-marker { display:none; }.fresh-faq summary b { color:var(--f-accent); font-size:25px; line-height:.7; }.fresh-faq details[open] summary b { transform:rotate(45deg); }.fresh-faq details p { margin:0 0 20px; font-size:14px; line-height:1.6; }.fresh-contact { display:grid; grid-template-columns:.75fr 1.25fr; gap:7vw; background:var(--f-ink); color:var(--f-bg); }.fresh-contact-mark { display:grid; place-items:center; min-height:290px; border:1px solid currentColor; color:var(--f-accent); font-size:clamp(80px,12vw,165px); font-weight:800; letter-spacing:-.14em; }.fresh-contact>div>span { display:block; max-width:520px; margin-top:22px; font-size:16px; line-height:1.55; }.fresh-contact button { margin-top:26px; }.fresh-contact nav { display:flex; gap:18px; flex-wrap:wrap; margin-top:33px; }.fresh-contact nav a { border-bottom:1px solid #fff7; padding-bottom:4px; font-size:13px; font-weight:700; }.fresh-footer { justify-content:space-between; background:var(--f-ink); color:var(--f-bg); border-top:1px solid #fff4; font-size:13px; }.fresh-footer button { display:inline-flex; align-items:center; gap:8px; border:0; background:none; color:var(--f-accent); font-weight:700; }.fresh.fresh-reveal { opacity:0; }.fresh-motion { opacity:0; transform:translateY(34px); transition:opacity .65s ease,transform .72s cubic-bezier(.2,.8,.2,1); }.fresh-motion.fresh-visible { opacity:1; transform:translateY(0); }
.fresh-editorial { --f-bg:#f5f0e7; --f-ink:#1f426a; --f-accent:#d57555; --f-soft:#e4ded2; font-family:'Golos Text',sans-serif; }.fresh-editorial .fresh-hero h1,.fresh-editorial .fresh-head h2,.fresh-editorial .fresh-proof h2,.fresh-editorial .fresh-contact h2 { font-family:Prata,serif; font-weight:400; letter-spacing:-.055em; }.fresh-editorial .fresh-hero { grid-template-columns:1.2fr .8fr; }.fresh-editorial .fresh-hero aside { background:#e7dfd1; }.fresh-editorial .fresh-hero aside i { border-radius:0; transform:rotate(35deg); }.fresh-editorial .fresh-reasons article:first-child { grid-column:span 2; }.fresh-editorial .fresh-services-list { grid-template-columns:repeat(2,1fr); }.fresh-editorial .fresh-services-list article { display:grid; grid-template-columns:66px 1fr; column-gap:20px; }.fresh-editorial .fresh-services-list h3 { margin:0; }.fresh-editorial .fresh-services-list p,.fresh-editorial .fresh-services-list button { grid-column:2; }
.fresh-bold { --f-bg:#e9edf0; --f-ink:#10233e; --f-accent:#c7f42a; --f-soft:#fff; font-family:Manrope,sans-serif; }.fresh-bold .fresh-hero h1,.fresh-bold .fresh-head h2,.fresh-bold .fresh-proof h2,.fresh-bold .fresh-contact h2 { font-family:Oswald,sans-serif; text-transform:uppercase; letter-spacing:-.06em; }.fresh-bold .fresh-hero { min-height:650px; background:var(--f-accent); }.fresh-bold .fresh-hero aside { background:var(--f-ink); color:var(--f-accent); border-width:0; transform:skewY(-6deg); }.fresh-bold .fresh-hero aside>* { transform:skewY(6deg); }.fresh-bold .fresh-reasons { background:var(--f-ink); color:white; }.fresh-bold .fresh-reasons article { background:#ffffff14; border:1px solid #fff5; }.fresh-bold .fresh-reasons article:hover { background:var(--f-accent); color:var(--f-ink); }.fresh-bold .fresh-services-list article:nth-child(odd) { background:var(--f-accent); }.fresh-bold .fresh-process { background:var(--f-ink); color:white; }.fresh-bold .fresh-contact-mark { transform:rotate(-8deg); background:var(--f-accent); color:var(--f-ink); }
.fresh-aurora { --f-bg:#101a2b; --f-ink:#ecf0ff; --f-accent:#6b84ff; --f-soft:#1a2b49; background:radial-gradient(circle at 80% 20%,#546ed94d,transparent 28%),#101a2b; font-family:'DM Sans',sans-serif; }.fresh-aurora .fresh-hero h1,.fresh-aurora .fresh-head h2,.fresh-aurora .fresh-proof h2,.fresh-aurora .fresh-contact h2 { font-family:Unbounded,sans-serif; font-weight:500; letter-spacing:-.07em; }.fresh-aurora .fresh-nav,.fresh-aurora .fresh-footer { border-color:#dbe4ff4f; }.fresh-aurora .fresh-hero aside { background:radial-gradient(circle at 58% 42%,#61e0c0,transparent 15%),radial-gradient(circle at 50% 50%,#6c83ff,transparent 40%),#152741; border-color:#b9c8ff8c; }.fresh-aurora .fresh-hero aside i { width:75%; border-color:#dce5ff; }.fresh-aurora .fresh-reasons article { border:1px solid #b4c4ff52; background:#ffffff08; backdrop-filter:blur(15px); }.fresh-aurora .fresh-proof { background:#0c1525; }.fresh-aurora .fresh-city-grid article,.fresh-aurora .fresh-process { background:#152641; }.fresh-aurora .fresh-city-grid article:last-child,.fresh-aurora .fresh-requests { background:#435bc1; }.fresh-aurora .fresh-contact { background:#0d1526; }.fresh-aurora .fresh-services-list article { border-color:#a9b8ff75; }.fresh-aurora .fresh-services-list article>div { background:#54cdb7; color:#10213a; }
.fresh-material { --f-bg:#eee8d8; --f-ink:#344637; --f-accent:#ad6246; --f-soft:#d6c9ad; font-family:'Golos Text',sans-serif; }.fresh-material .fresh-hero h1,.fresh-material .fresh-head h2,.fresh-material .fresh-proof h2,.fresh-material .fresh-contact h2 { font-family:Prata,serif; font-weight:400; letter-spacing:-.05em; }.fresh-material .fresh-hero aside { background:url('abstract-stone.png') center/cover; border-radius:45% 45% 4px 4px; }.fresh-material .fresh-hero aside i { border-radius:45% 45% 0 0; }.fresh-material .fresh-reasons article { border-radius:20px 20px 3px 3px; }.fresh-material .fresh-city-grid article { border-radius:43% 43% 6px 6px; }.fresh-material .fresh-city-grid article:last-child { background:#c9b88f; }.fresh-material .fresh-process { background:#d8cbb0; }.fresh-material .fresh-contact-mark { border-radius:48% 48% 3px 3px; background:url('abstract-stone.png') center/cover; }.fresh-material .fresh-services-list article { border-radius:13px; }.fresh-material .fresh-services-list article>div { border-radius:50%; }
@media (max-width:900px) { .fresh-services-list { grid-template-columns:repeat(2,1fr); }.fresh-process>div:last-of-type { grid-template-columns:repeat(3,1fr); }.fresh-editorial .fresh-services-list { grid-template-columns:1fr; } }
@media (max-width:760px) { .fresh-nav { min-height:74px; }.fresh-nav nav { display:none; }.fresh-nav button { margin-left:auto; font-size:11px; padding:10px; }.fresh-hero,.fresh-proof,.fresh-sale,.fresh-faq,.fresh-contact { grid-template-columns:1fr; }.fresh-hero { min-height:0; padding-top:62px; }.fresh-hero aside { min-height:310px; }.fresh-reasons,.fresh-proof,.fresh-sale,.fresh-services,.fresh-requests,.fresh-cities,.fresh-process,.fresh-faq,.fresh-contact { padding-top:72px; padding-bottom:72px; }.fresh-reasons>div:last-child,.fresh-city-grid,.fresh-services-list { grid-template-columns:1fr; }.fresh-editorial .fresh-reasons article:first-child { grid-column:auto; }.fresh-stats { gap:1px; }.fresh-stats article { min-height:125px; padding:12px; }.fresh-stats strong { font-size:39px; }.fresh-stats span { font-size:10px; }.fresh-services-list article { min-height:0; }.fresh-process>div:last-of-type { grid-template-columns:1fr; }.fresh-process article,.fresh-process article+article { min-height:0; padding:20px 0 20px 22px; border-left:0; }.fresh-process article i { margin:0; position:absolute; left:0; }.fresh-contact-mark { min-height:190px; }.fresh-footer { flex-wrap:wrap; } }

.checklist-mode { min-height:100vh; background:#f4f1eb; color:#182b44; font-family:Onest,sans-serif; }
.checklist { min-height:100vh; max-width:980px; margin:auto; padding:0 24px 72px; }
.checklist-head { display:flex; justify-content:space-between; align-items:center; min-height:82px; border-bottom:1px solid #182b4438; font-size:13px; }
.checklist-head button { border:0; background:none; color:inherit; font:inherit; cursor:pointer; }
.checklist-card,.checklist-result { max-width:720px; margin:90px auto 0; }
.checklist-progress { display:flex; justify-content:space-between; margin-bottom:10px; color:#6d7885; font-size:12px; }
.checklist-progress-bar { height:4px; background:#d8d3c8; }
.checklist-progress-bar i { display:block; height:100%; background:#c76d50; transition:width .2s ease; }
.checklist-kicker { margin:58px 0 16px; color:#c76d50; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.checklist h1 { max-width:700px; margin:0; font-size:clamp(36px,6vw,64px); line-height:1; letter-spacing:-.06em; }
.checklist-options { display:grid; gap:10px; margin-top:42px; }
.checklist-option { display:flex; align-items:center; gap:14px; min-height:58px; padding:14px 16px; border:1px solid #182b4440; background:#fffaf2; color:inherit; text-align:left; font:inherit; cursor:pointer; }
.checklist-option span { display:grid; place-items:center; width:24px; height:24px; border:1px solid #182b4466; color:#fffaf2; font-size:14px; }
.checklist-option.is-selected { border-color:#c76d50; background:#f0d4c7; }
.checklist-option.is-selected span { border-color:#c76d50; background:#c76d50; }
.checklist-nav,.checklist-actions { display:flex; justify-content:space-between; gap:12px; margin-top:36px; }
.checklist-nav button,.checklist-actions button { padding:13px 18px; border:1px solid #182b44; background:transparent; color:inherit; font:inherit; cursor:pointer; }
.checklist-nav button:disabled { opacity:.35; cursor:not-allowed; }
.checklist-nav .checklist-next,.checklist-actions button:first-child { background:#182b44; color:#f4f1eb; }
.checklist-result h1 { max-width:620px; }
.checklist-result>p:not(.checklist-kicker) { color:#687484; line-height:1.6; }
.checklist-result ol { display:grid; gap:12px; margin:42px 0 0; padding:0; list-style:none; }
.checklist-result li { display:grid; gap:6px; padding:15px 16px; background:#fffaf2; border-left:3px solid #c76d50; }
.checklist-result li strong { font-size:13px; }
.checklist-result li span { color:#687484; font-size:14px; }
.checklist-link { display:flex; align-items:center; gap:10px; margin-top:14px; padding:12px 0; border:0; border-bottom:1px solid currentColor; background:none; color:inherit; font:inherit; cursor:pointer; }
@media (max-width:600px) { .checklist { padding:0 18px 48px; }.checklist-head { min-height:70px; }.checklist-card,.checklist-result { margin-top:58px; }.checklist-kicker { margin-top:42px; }.checklist-nav,.checklist-actions { flex-wrap:wrap; }.checklist-nav button,.checklist-actions button { flex:1; } }

.aliya-design-mode { --a-bg:#f3f0e8; --a-surface:#fffdf7; --a-ink:#102b46; --a-muted:#607180; --a-line:#102b4630; --a-teal:#5ed7c3; --a-green:#b8ee70; --a-orange:#ef7652; margin:0; background:var(--a-bg); color:var(--a-ink); font-family:Manrope,sans-serif; transition:background .35s,color .35s; }
.aliya-design-mode.is-dark { --a-bg:#0d1c2b; --a-surface:#142b40; --a-ink:#eff8f3; --a-muted:#afc1c4; --a-line:#eff8f333; --a-teal:#64e0cd; --a-green:#b9f275; --a-orange:#ff8a6a; }
.aliya-design { max-width:1500px; margin:auto; overflow:hidden; }
.aliya-nav { position:sticky; top:0; z-index:20; display:flex; align-items:center; gap:30px; min-height:76px; padding:0 clamp(20px,5vw,76px); border-bottom:1px solid var(--a-line); background:color-mix(in srgb,var(--a-bg) 92%,transparent); backdrop-filter:blur(14px); }
.aliya-logo { font-size:24px; font-weight:800; letter-spacing:-.1em; }.aliya-logo span { color:var(--a-orange); margin-left:3px; }.aliya-nav nav { display:flex; gap:24px; margin-left:auto; font-size:12px; }.aliya-nav nav a,.aliya-footer a { color:inherit; text-decoration:none; }.aliya-nav-actions { display:flex; align-items:center; gap:12px; }.theme-toggle { width:34px; height:34px; border:1px solid var(--a-line); border-radius:50%; background:none; color:inherit; cursor:pointer; }.aliya-cta,.aliya-button { display:inline-flex; align-items:center; gap:12px; padding:12px 15px; background:var(--a-ink); color:var(--a-bg); text-decoration:none; font-size:12px; font-weight:800; }.aliya-cta span,.aliya-button span { color:var(--a-teal); }
.aliya-hero { display:grid; grid-template-columns:1fr 1fr; min-height:690px; padding:clamp(70px,9vw,145px) clamp(20px,7vw,110px); gap:7vw; }.aliya-hero-copy { align-self:center; }.aliya-eyebrow { margin:0 0 24px; color:var(--a-muted); font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }.aliya-eyebrow span { color:var(--a-orange); }.aliya-hero h1,.aliya-section h2,.aliya-contact h2 { margin:0; font-size:clamp(54px,7.2vw,108px); line-height:.92; letter-spacing:-.09em; }.aliya-hero h1 em,.aliya-section h2 em,.aliya-contact h2 em { color:var(--a-orange); font-style:normal; }.aliya-lead { max-width:440px; margin:33px 0; color:var(--a-muted); font-size:16px; line-height:1.6; }.aliya-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:22px; }.aliya-text-link { display:inline-flex; gap:10px; align-items:center; color:inherit; border-bottom:1px solid var(--a-line); padding-bottom:5px; font-size:12px; font-weight:800; text-decoration:none; }.aliya-hero-visual { position:relative; align-self:center; }.aliya-photo-placeholder { position:relative; display:flex; align-items:flex-end; min-height:540px; padding:26px; overflow:hidden; background:linear-gradient(145deg,var(--a-teal),var(--a-green)); color:var(--a-ink); }.aliya-photo-placeholder::before { content:'АК'; position:absolute; top:10%; left:10%; font-size:clamp(120px,20vw,290px); font-weight:800; letter-spacing:-.16em; opacity:.2; }.aliya-photo-placeholder span { position:relative; z-index:1; font-size:12px; font-weight:800; }.aliya-photo-placeholder b { position:absolute; top:26px; right:26px; font-size:12px; }.aliya-sticker { position:absolute; z-index:2; padding:14px 16px; background:var(--a-orange); color:#fff9ed; font-size:11px; font-style:normal; font-weight:800; line-height:1.3; }.sticker-one { top:-18px; right:-18px; }.sticker-two { bottom:-18px; left:-18px; background:var(--a-ink); color:var(--a-bg); }
.aliya-proof { display:flex; align-items:center; gap:18px; padding:23px clamp(20px,7vw,110px); background:var(--a-ink); color:var(--a-bg); }.aliya-proof strong { color:var(--a-teal); font-size:32px; letter-spacing:-.08em; }.aliya-proof span { max-width:90px; color:var(--a-muted); font-size:10px; text-transform:uppercase; }.aliya-proof a { margin-left:auto; color:var(--a-green); font-size:12px; font-weight:800; text-decoration:none; }
.aliya-section { padding:clamp(82px,10vw,150px) clamp(20px,7vw,110px); }.aliya-section-head { max-width:660px; }.aliya-section-head>span { display:block; max-width:420px; margin-top:28px; color:var(--a-muted); font-size:14px; line-height:1.6; }.aliya-service-grid { display:grid; grid-template-columns:1.35fr 1fr 1fr; gap:12px; margin-top:62px; }.aliya-service-grid article { min-height:330px; padding:26px; background:var(--a-surface); border:1px solid var(--a-line); }.aliya-service-grid article>span,.aliya-case-grid b { color:var(--a-orange); font-size:12px; font-weight:800; }.aliya-service-grid h3,.aliya-case-grid h3 { margin:82px 0 12px; font-size:25px; letter-spacing:-.06em; }.aliya-service-grid p,.aliya-case-grid p,.aliya-about>div:last-child>p,.aliya-contact>div>p:last-child { color:var(--a-muted); font-size:13px; line-height:1.6; }.aliya-service-grid a { display:inline-block; margin-top:18px; color:inherit; font-size:12px; font-weight:800; text-decoration:none; }.service-feature { background:var(--a-teal)!important; color:var(--a-ink); border-color:transparent!important; }.service-feature p { color:var(--a-ink); }
.aliya-cases { background:var(--a-ink); color:var(--a-bg); }.aliya-case-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:62px; }.aliya-case-grid article { min-height:290px; padding:24px; border:1px solid var(--a-line); }.aliya-case-grid h3 { margin-top:80px; }.aliya-case-grid p { color:var(--a-muted); }.aliya-case-grid button { margin-top:22px; border:0; border-bottom:1px solid var(--a-teal); padding:0 0 5px; background:none; color:var(--a-teal); font:inherit; font-size:12px; cursor:pointer; }.case-empty { display:grid; place-items:center; text-align:center; background:var(--a-green); color:var(--a-ink); border:0!important; }.case-empty b { color:var(--a-ink); }.case-empty span { font-size:23px; font-weight:800; line-height:1.15; }
.aliya-about { display:grid; grid-template-columns:.7fr 1.3fr; gap:8vw; align-items:center; }.aliya-about-mark { display:grid; place-items:center; min-height:320px; background:var(--a-teal); color:var(--a-ink); font-size:clamp(90px,16vw,220px); font-weight:800; letter-spacing:-.15em; }.aliya-about>div:last-child>p { max-width:520px; margin:32px 0; }.aliya-reviews { border-top:1px solid var(--a-line); }.aliya-review-track { display:flex; gap:12px; margin-top:62px; overflow:auto; }.aliya-review-track blockquote { flex:0 0 min(470px,80vw); margin:0; padding:30px; background:var(--a-surface); border-left:4px solid var(--a-orange); font-size:24px; line-height:1.2; letter-spacing:-.05em; }.aliya-review-track cite { display:block; margin-top:34px; color:var(--a-muted); font-size:12px; font-style:normal; letter-spacing:0; }.aliya-process { background:var(--a-green); color:var(--a-ink); }.aliya-process ol { display:grid; grid-template-columns:repeat(5,1fr); gap:0; margin:65px 0 0; padding:0; list-style:none; }.aliya-process li { min-height:140px; padding:18px; border-top:2px solid var(--a-ink); }.aliya-process li+li { border-left:1px solid #102b464d; }.aliya-process b { display:block; color:var(--a-orange); font-size:12px; }.aliya-process strong { display:block; margin-top:50px; font-size:15px; }
.aliya-contact { display:grid; grid-template-columns:1fr 1fr; gap:8vw; padding:clamp(85px,10vw,150px) clamp(20px,7vw,110px); background:var(--a-teal); color:var(--a-ink); }.aliya-contact h2 { font-size:clamp(44px,6vw,82px); }.aliya-contact-links { border-top:1px solid #102b4673; }.aliya-contact-links a { display:grid; grid-template-columns:90px 1fr 20px; align-items:center; gap:18px; padding:17px 0; border-bottom:1px solid #102b4673; color:inherit; font-size:18px; font-weight:800; text-decoration:none; }.aliya-contact-links small { font-size:10px; font-weight:800; text-transform:uppercase; }.aliya-contact-links span { color:var(--a-orange); }.aliya-footer { display:flex; justify-content:space-between; gap:20px; padding:24px clamp(20px,7vw,110px); background:var(--a-ink); color:var(--a-bg); font-size:11px; }.aliya-footer nav { display:flex; gap:18px; }
@media (max-width:800px) { .aliya-nav nav { display:none; }.aliya-nav-actions { margin-left:auto; }.aliya-hero,.aliya-about,.aliya-contact { grid-template-columns:1fr; }.aliya-hero { min-height:0; padding-top:74px; }.aliya-hero-visual { margin-top:38px; }.aliya-proof { flex-wrap:wrap; }.aliya-proof a { width:100%; margin-left:0; }.aliya-service-grid,.aliya-case-grid { grid-template-columns:1fr; }.aliya-service-grid article { min-height:250px; }.aliya-service-grid h3,.aliya-case-grid h3 { margin-top:55px; }.aliya-process ol { grid-template-columns:1fr; }.aliya-process li,.aliya-process li+li { min-height:0; border-left:0; padding:18px 0 18px 30px; }.aliya-process strong { margin-top:18px; }.aliya-footer { flex-wrap:wrap; }.aliya-footer nav { order:3; width:100%; } }
