@charset "UTF-8";
:root {
  --ink: #0b1421;
  --muted: #626873;
  --sun: #ffc400;
  --sun-light: #ffe884;
  --line: #e9e9e7;
  --cream: #fcfbf7;
  --radius: 20px;
  --shadow: 0 13px 30px rgba(19,26,39,.06);
}
* {box-sizing:border-box}
html {scroll-behavior:smooth;scroll-padding-top:20px}
body {margin:0;min-width:320px;background:#f7f6f2;color:var(--ink);font-family:Inter,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}
a {color:inherit;text-decoration:none}
button,input {font:inherit}
button {cursor:pointer}
img {display:block;max-width:100%}
h1,h2,h3,p {margin:0}
h1,h2,h3 {letter-spacing:-.035em}
:focus-visible {outline:3px solid #f6b500;outline-offset:4px}
::selection {background:#ffd74b;color:#111}
.skip-link {position:absolute;left:20px;top:-55px;background:#fff;padding:10px;z-index:100}
.skip-link:focus {top:10px}
.shell {width:min(1520px,calc(100% - 44px));margin:22px auto 0;background:#fff;border-radius:20px;box-shadow:var(--shadow);overflow:hidden}
.container {max-width:1480px;padding-left:22px;padding-right:22px;margin:0 auto}
.section {scroll-margin-top:38px}
.hero-shell {min-height:605px;position:relative;isolation:isolate;overflow:hidden;background:#dae2e7}
.hero-photo {position:absolute;inset:0;z-index:-1;background-image:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.95) 24%,rgba(255,255,255,.74) 42%,rgba(255,255,255,.07) 72%),url("/assets/hero.jpg");background-size:cover;background-position:center 56%}
.hero-shell::after {content:"";position:absolute;inset:auto 0 0;height:150px;background:linear-gradient(0deg,rgba(6,17,18,.10),transparent);pointer-events:none;z-index:-1}
.site-header {height:92px;position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:0 30px 0 52px;background:rgba(255,255,255,.90);backdrop-filter:blur(16px);border-radius:0 0 22px 22px;box-shadow:0 2px 35px rgba(25,35,45,.04);gap:24px}
.brand {display:inline-flex;align-items:center;white-space:nowrap;gap:13px;font-size:35px;font-weight:830;letter-spacing:-.065em;line-height:1}
.brand-house {width:49px;height:49px;color:var(--sun);flex:none}
.brand-accent {color:#fbbd00}
.desktop-nav {display:flex;align-items:center;gap:clamp(16px,3vw,52px);font-weight:500;font-size:16px;margin-left:auto;margin-right:auto}
.desktop-nav a,.site-footer nav a,.mobile-nav a {transition:color .2s}
.desktop-nav a:hover,.site-footer nav a:hover,.mobile-nav a:hover {color:#b78c00}
.button {display:inline-flex;align-items:center;justify-content:center;gap:24px;border:0;padding:17px 27px;min-height:56px;border-radius:13px;font-size:16px;font-weight:700;white-space:nowrap;transition:transform .2s,background .2s,box-shadow .2s;box-shadow:0 8px 23px rgba(0,0,0,.07)}
.button:hover {transform:translateY(-2px)}
.button:active {transform:translateY(0)}
.button-primary {background:linear-gradient(135deg,#ffd31b,#ffbd00);color:#111;box-shadow:0 10px 24px rgba(255,196,0,.19)}
.button-primary:hover {background:linear-gradient(135deg,#ffe05c,#ffcb0a)}
.button-white {background:#fff;color:var(--ink)}
.button-white:hover {background:#f6f6f6}
.button .arrow {font-size:23px;line-height:.7;font-weight:400;transition:transform .2s}
.button:hover .arrow {transform:translateX(4px)}
.header-cta {min-width:222px;min-height:51px;padding:14px 24px}
.menu-toggle {display:none;position:relative;z-index:12;background:#ffcb10;border:0;border-radius:11px;width:46px;height:44px;align-items:center;justify-content:center;flex-direction:column;gap:5px}
.menu-toggle span {display:block;width:23px;height:2px;background:#121820;border-radius:2px}
.mobile-nav {display:none}
.hero-content {position:relative;z-index:1;padding:90px 52px 100px;max-width:800px}
.eyebrow,.kicker {display:inline-flex;align-items:center;gap:14px;color:#5b626c;font-size:13px;font-weight:600;letter-spacing:.13em}
.eyebrow-line,.kicker::before {content:"";display:block;width:37px;height:3px;background:var(--sun);flex:none}
.hero-eyebrow {font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:28px;color:#51596a}
.hero-content h1 {font-size:clamp(40px,4.7vw,71px);line-height:1.065;font-weight:850;max-width:720px;letter-spacing:-.064em}
.hero-content>p {font-size:23px;line-height:1.43;color:#61656d;margin-top:24px;font-weight:400}
.hero-actions {display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.hero-index {position:absolute;bottom:30px;right:42px;color:#fff;text-shadow:0 1px 9px #000;font-size:12px;letter-spacing:.18em}
.section-heading {display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}
.section-heading h2,.process h2,.advantages h2,.about-section h2,.faq h2,.contact-band h2 {font-weight:840;letter-spacing:-.05em;font-size:clamp(31px,3.7vw,52px);line-height:1.12}
.section-heading h2 {margin-top:10px}
.service-heading h2 {font-size:clamp(28px,3vw,38px)}
.service-heading>p {max-width:320px;color:var(--muted);line-height:1.5;font-size:15px}
.services {padding:34px 24px 25px}
.service-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.service-card {min-width:0;border:1px solid #eeede9;border-radius:14px;overflow:hidden;transition:transform .2s,box-shadow .2s;background:#fff;box-shadow:0 7px 14px rgba(25,25,25,.026)}
.service-card:hover {transform:translateY(-5px);box-shadow:0 12px 30px rgba(19,26,39,.12)}
.service-card img {width:100%;height:176px;object-fit:cover}
.service-body {padding:17px 24px 17px;position:relative;min-height:184px}
.service-icon {width:45px;height:41px;margin-bottom:7px;color:#0c1421}
.service-icon svg {width:39px;height:39px}
svg use, .service-icon svg,.adv-icon svg,.step-symbol svg,.faq-icon svg,.form-field svg {fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.service-body h3 {font-size:20px;font-weight:800;margin-bottom:6px;letter-spacing:-.045em}
.service-body p {color:var(--muted);font-size:15px;line-height:1.45;padding-right:18px}
.circle-arrow {display:grid;place-items:center;width:36px;height:36px;border:1.5px solid #f3b800;border-radius:50%;font-size:24px;line-height:1;margin-top:14px;transition:background .2s}
.service-card:hover .circle-arrow {background:var(--sun)}
main {background:#fff}
.projects {padding-top:95px;padding-bottom:28px}
.text-arrow {display:inline-flex;align-items:center;gap:18px;color:#ae7700;font-size:15px;font-weight:700;padding-bottom:9px}
.text-arrow span {font-size:30px;color:#ffbc00;font-weight:400;transition:transform .2s}
.text-arrow:hover span {transform:translateX(6px)}
.project-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.project-card {border:1px solid #eeece7;border-radius:12px;overflow:hidden;background:white;box-shadow:0 6px 15px rgba(20,20,20,.045);transition:transform .2s,box-shadow .2s}
.project-card:hover {transform:translateY(-4px);box-shadow:var(--shadow)}
.project-card img {width:100%;height:245px;object-fit:cover}
.project-info {display:flex;gap:8px;justify-content:space-between;align-items:center;padding:17px 20px 20px}
.project-info h3 {font-size:19px;letter-spacing:-.045em;margin-bottom:5px}
.project-info p {color:var(--muted);font-size:15px;line-height:1.38}
.project-link {flex:none;font-size:30px;line-height:1;color:#f9b800;padding:4px;transition:transform .2s}
.project-link:hover {transform:translateX(5px)}
.process {padding-top:54px;padding-bottom:40px}
.process h2 {margin:11px 0 28px}
.steps {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.step {position:relative;display:flex;gap:14px;align-items:flex-start;min-width:0}
.step-number {display:grid;place-items:center;flex:none;width:54px;height:54px;border-radius:50%;background:var(--sun);color:#0b1421;font-size:27px;font-weight:800}
.step-symbol {display:grid;place-items:center;flex:none;width:52px;height:52px;border:1px solid #ecece8;border-radius:50%;background:#fff}
.step-symbol svg {width:31px;height:31px}
.step h3 {font-size:17px;font-weight:800;margin:9px 0 5px}
.step p {font-size:14px;color:var(--muted);line-height:1.45}
.step-arrow {position:absolute;right:0;top:9px;color:#ffc200;font-size:25px}
.advantages {display:grid;grid-template-columns:1.53fr 1fr;gap:45px;padding-top:15px;padding-bottom:94px;align-items:center}
.advantage-picture {height:460px;border-radius:12px;overflow:hidden}
.advantage-picture img {width:100%;height:100%;object-fit:cover}
.advantages-copy {padding:15px 0 15px 0}
.advantages-copy h2 {margin:13px 0 12px}
.advantages-copy .intro {max-width:500px;font-size:16px;line-height:1.48;color:var(--muted);margin-bottom:20px}
.advantage-list {display:grid;gap:17px}
.advantage-item {display:flex;align-items:flex-start;gap:20px}
.adv-icon {display:grid;place-items:center;flex:none;width:64px;height:64px;border-radius:50%;background:#fff2c6}
.adv-icon svg {width:32px;height:32px}
.advantage-item h3 {font-size:16px;letter-spacing:-.025em;margin:3px 0 5px}
.advantage-item p {font-size:14px;line-height:1.4;color:var(--muted)}
.about-section {display:grid;grid-template-columns:1fr 1.16fr;background:#fcfbf8}
.about-text {display:flex;align-items:center;justify-content:center;padding:58px 30px 58px 8%}
.about-inner {max-width:600px;width:100%}
.about-inner h2 {margin:18px 0 17px}
.about-inner>p {font-size:20px;color:#59616d;line-height:1.45;margin-bottom:24px}
.about-photo {min-height:410px;overflow:hidden}
.about-photo img {width:100%;height:100%;object-fit:cover;max-height:560px}
.faq {padding-top:70px;padding-bottom:64px}
.faq h2 {margin:15px 0 26px}
.faq-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.faq-item {min-width:0;border:1px solid #e7e7e3;border-radius:14px;background:#fff;overflow:hidden}
.faq-item summary {display:flex;align-items:center;gap:16px;list-style:none;padding:21px 18px;cursor:pointer;min-height:126px}
.faq-item summary::-webkit-details-marker {display:none}
.faq-item[open] {box-shadow:var(--shadow)}
.faq-icon {display:grid;place-items:center;width:58px;height:58px;flex:none;background:#ffe36e;border-radius:50%}
.faq-icon svg {width:30px;height:30px}
.faq-summary {display:grid;gap:8px;min-width:0}
.faq-summary strong {font-size:16px;letter-spacing:-.035em}
.faq-summary>span {font-size:14px;line-height:1.45;color:var(--muted)}
.faq-chevron {color:#f5b600;font-size:25px;margin-left:auto;transition:transform .2s}
.faq-item[open] .faq-chevron {transform:rotate(90deg)}
.faq-item>p {padding:0 23px 22px;font-size:14px;line-height:1.58;color:var(--muted)}
.contact-band {scroll-margin-top:20px;display:grid;grid-template-columns:1.35fr .74fr;gap:44px;align-items:center;min-height:355px;background:linear-gradient(90deg,rgba(11,20,25,.79) 0%,rgba(11,20,25,.32) 62%,rgba(11,20,25,.20)),url("/assets/hero.jpg") center 60%/cover;color:white;padding:45px clamp(32px,6vw,90px)}
.contact-copy {max-width:665px}
.contact-kicker {font-size:12px;letter-spacing:.14em;font-weight:700;color:#ffe072}
.contact-band h2 {margin:12px 0 19px;font-size:clamp(35px,4.2vw,60px)}
.contact-copy p {font-size:21px;line-height:1.5;max-width:580px}
.contact-form {background:#fff;border-radius:14px;padding:23px 23px 18px;display:grid;gap:11px;max-width:440px;width:100%;justify-self:end;box-shadow:0 12px 35px #0002;color:var(--ink)}
.form-field {border:1px solid #e2e3e5;border-radius:12px;height:54px;display:flex;align-items:center;gap:14px;padding:0 17px;background:#fff}
.form-field:focus-within {border-color:#ffcb14;box-shadow:0 0 0 3px rgba(255,205,10,.14)}
.form-field svg {width:22px;height:22px;flex:none;color:#7a7e86}
.form-field input {border:0;outline:0;min-width:0;width:100%;height:100%;font-size:15px;color:#111}
.form-field input::placeholder {color:#70747f}
.submit-btn {width:100%;font-size:18px;min-height:57px;margin-top:1px}
.form-note {font-size:12px;line-height:1.35;text-align:center;color:#797e87}
.form-feedback {font-size:13px;color:#936d00;line-height:1.35;text-align:center}
.form-feedback:empty {display:none}
.site-footer {background:#fff;display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;max-width:1480px;margin:0 auto;padding:30px 35px 34px}
.site-footer nav {display:flex;gap:0}
.site-footer nav a {font-size:15px;padding:0 24px;border-right:1px solid #e3e2df}
.site-footer nav a:last-child {border-right:0}
.site-footer .brand {font-size:30px}
.site-footer .brand-house {width:44px;height:44px}
.disclaimer {color:#8a8f98;font-size:12px;line-height:1.5;flex-basis:100%;text-align:center;margin-top:8px}
.disclaimer a {text-decoration:underline}
.icon-sprite {position:absolute;width:0;height:0;overflow:hidden}
@media (max-width:1250px) {
  .site-header {padding:0 25px}
  .desktop-nav {gap:23px}
  .brand {font-size:29px;gap:8px}
  .brand-house {width:42px;height:42px}
  .service-grid {gap:13px}
  .service-body {padding:14px}
  .service-body h3 {font-size:17px}
  .step {gap:9px}
  .step-number {width:44px;height:44px;font-size:21px}
  .step-symbol {width:43px;height:43px}
  .step-symbol svg {width:26px;height:26px}
  .step-arrow {display:none}
  .advantages {gap:25px}
}
@media (max-width:1020px) {
  .header-cta {display:none}
  .site-header {height:78px}
  .hero-shell {min-height:540px}
  .hero-content {padding:93px 34px 80px}
  .hero-content h1 {font-size:clamp(42px,6vw,60px)}
  .hero-content>p {font-size:20px}
  .service-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-card img {height:200px}
  .service-body {min-height:158px;padding:14px 21px}
  .service-body h3 {font-size:20px}
  .project-card img {height:185px}
  .steps {grid-template-columns:repeat(2,minmax(0,1fr));row-gap:25px}
  .advantages {grid-template-columns:1.1fr 1fr}
  .advantage-picture {height:470px}
  .faq-grid {grid-template-columns:1fr;gap:12px}
  .faq-item summary {min-height:100px}
  .about-text {padding:40px}
  .about-photo {min-height:340px}
  .contact-band {gap:20px;grid-template-columns:1.2fr .9fr}
  .site-footer {gap:20px}
  .site-footer nav a {padding:0 12px}
}
@media (max-width:760px) {
  .shell {width:calc(100% - 20px);margin-top:10px;border-radius:15px}
  .site-header {height:70px;padding:0 17px}
  .brand {font-size:27px;gap:7px}
  .brand-house {width:40px;height:40px}
  .desktop-nav {display:none}
  .menu-toggle {display:flex}
  .mobile-nav:not([hidden]) {display:flex;flex-direction:column;gap:0;position:absolute;top:76px;right:18px;left:18px;z-index:9;background:white;padding:7px 20px;border-radius:13px;box-shadow:0 10px 30px #0002}
  .mobile-nav a {padding:13px 0;border-bottom:1px solid #efeeeb;font-weight:600}
  .mobile-nav a:last-child {border-bottom:0}
  .hero-shell {min-height:620px}
  .hero-photo {background-image:linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.92) 27%,rgba(255,255,255,.55) 53%,rgba(255,255,255,.13) 100%),url("/assets/hero.jpg");background-position:55% center}
  .hero-content {padding:85px 22px 140px}
  .hero-content h1 {font-size:clamp(35px,8vw,55px)}
  .hero-content>p {font-size:17px;margin-top:20px}
  .hero-eyebrow {font-size:10px;line-height:1.4;margin-bottom:18px}
  .hero-actions {gap:10px;margin-top:26px}
  .hero-actions .button {min-height:50px;padding:13px 15px;font-size:14px;gap:12px}
  .hero-index {bottom:18px;right:22px}
  .services {padding:30px 14px 18px}
  .service-heading>p {display:none}
  .service-grid {gap:12px}
  .service-card img {height:140px}
  .service-body {min-height:184px;padding:14px}
  .service-body h3 {font-size:17px}
  .service-body p {font-size:13px}
  .circle-arrow {width:30px;height:30px;margin-top:10px}
  .container {padding-left:19px;padding-right:19px}
  .projects {padding-top:68px}
  .section-heading {align-items:start}
  .section-heading h2,.process h2,.advantages h2,.about-section h2,.faq h2,.contact-band h2 {font-size:clamp(30px,7vw,44px)}
  .text-arrow {display:none}
  .project-grid {grid-template-columns:1fr;gap:17px}
  .project-card img {height:245px}
  .process {padding-top:40px}
  .steps {grid-template-columns:1fr 1fr;gap:25px 13px}
  .step {display:grid;grid-template-columns:45px 1fr;align-items:center}
  .step-symbol {display:none}
  .step>div {min-width:0}
  .step h3 {margin:0 0 4px;font-size:16px}
  .step p {font-size:13px}
  .advantages {grid-template-columns:1fr;padding-top:20px;padding-bottom:65px;gap:23px}
  .advantage-picture {height:330px}
  .advantages-copy {padding:0}
  .advantages-copy h2 br {display:none}
  .advantage-item {gap:16px}
  .about-section {grid-template-columns:1fr}
  .about-text {padding:52px 26px}
  .about-inner>p {font-size:17px}
  .about-photo {min-height:310px;height:310px}
  .faq {padding-top:62px;padding-bottom:60px}
  .faq-item summary {padding:15px;gap:12px}
  .faq-summary strong {font-size:15px}
  .faq-summary>span {font-size:13px}
  .faq-icon {width:48px;height:48px}
  .contact-band {grid-template-columns:1fr;gap:25px;padding:50px 20px;background-position:65% center}
  .contact-copy p {font-size:17px}
  .contact-form {justify-self:stretch;max-width:none}
  .site-footer {padding:32px 21px;justify-content:center}
  .site-footer nav {flex-wrap:wrap;justify-content:center;row-gap:14px}
  .site-footer nav a {font-size:13px}
}
@media (max-width:420px) {
  .hero-content {padding-top:70px}
  .hero-content h1 {font-size:35px}
  .hero-actions {flex-direction:column;align-items:stretch;max-width:310px}
  .hero-actions .button {width:100%}
  .hero-shell {min-height:670px}
  .service-card img {height:122px}
  .service-body {padding:11px;min-height:194px}
  .service-body h3 {font-size:16px}
  .service-body p {font-size:12px}
  .project-card img {height:210px}
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after {scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
