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

:root { --red:#eb4b3f; --red-dark:#c83d34; --ink:#1e1e20; --muted:#6c6b6a; --paper:#f8f7f3; --cream:#f1eee8; --mint:#d9eee2; --line:rgba(30,30,32,.14); --shadow:0 22px 60px rgba(30,30,32,.08); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:'Manrope', system-ui, sans-serif; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
a { color:inherit; text-decoration:none; }
button,input,textarea { font:inherit; }
.container { width:min(1160px, calc(100% - 64px)); margin:0 auto; }
.section-pad { padding:120px 0; }
.scroll-progress { position:fixed; z-index:20; top:0; left:0; width:100%; height:3px; pointer-events:none; background:transparent; }.scroll-progress span { display:block; height:100%; width:0; background:var(--red); }

/* Header */
.site-header { position:absolute; z-index:10; left:0; top:0; width:100%; }.header-inner { display:flex; align-items:center; justify-content:space-between; height:92px; }.brand { display:flex; align-items:center; gap:10px; font-weight:800; letter-spacing:-.04em; }.brand-mark { display:grid; place-items:center; width:35px; height:35px; border:1.5px solid var(--ink); border-radius:11px; color:var(--red); background:transparent; }.brand-mark svg { width:25px; height:25px; }.brand-name { font-size:15px; }.brand-name span { color:var(--red); font-size:18px; margin:0 1px; }.main-nav { display:flex; gap:34px; margin-left:70px; }.main-nav a,.header-contact { font-size:12px; font-weight:700; letter-spacing:.02em; }.main-nav a { color:#6b6a68; transition:color .2s; }.main-nav a:hover { color:var(--red); }.header-contact { display:flex; align-items:center; gap:12px; }.arrow { display:grid; place-items:center; width:31px; height:31px; border:1px solid var(--ink); border-radius:50%; font-size:16px; transition:background .2s,color .2s,transform .2s; }.header-contact:hover .arrow { color:#fff; background:var(--red); border-color:var(--red); transform:rotate(45deg); }.menu-toggle { display:none; border:0; background:none; padding:8px; }.menu-toggle span { display:block; width:25px; height:2px; margin:5px; background:var(--ink); transition:transform .25s; }

/* Hero */
.hero { position:relative; min-height:820px; overflow:hidden; padding-top:184px; background:var(--paper); }.hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }.hero-copy { padding-bottom:23px; }.eyebrow { display:flex; align-items:center; gap:9px; margin:0 0 25px; font-family:'DM Mono',monospace; font-size:10px; text-transform:uppercase; letter-spacing:.13em; color:#7b7975; }.eyebrow-dot { width:6px; height:6px; border-radius:50%; background:var(--red); }.eyebrow-line { width:36px; height:1px; background:var(--line); margin-left:8px; }.hero h1 { max-width:600px; margin:0; font-size:clamp(52px, 6.2vw, 87px); font-weight:700; letter-spacing:-.075em; line-height:.96; }.hero h1 em,.about h2 span { color:var(--red); font-style:normal; }.hero-lead { max-width:470px; margin:31px 0 0; color:var(--muted); font-size:15px; line-height:1.75; }.hero-actions { display:flex; align-items:center; gap:28px; margin-top:34px; }.button { display:inline-flex; align-items:center; justify-content:center; gap:25px; min-height:52px; padding:0 19px 0 23px; border:0; border-radius:4px; cursor:pointer; font-size:12px; font-weight:800; transition:transform .25s,background .25s,box-shadow .25s; }.button span { font-size:18px; font-weight:400; }.button-primary { color:#fff; background:var(--red); box-shadow:0 11px 25px rgba(235,75,63,.2); }.button-primary:hover { background:var(--red-dark); transform:translateY(-3px); box-shadow:0 15px 30px rgba(235,75,63,.26); }.text-link { display:flex; gap:10px; align-items:center; font-size:12px; font-weight:800; }.text-link span { color:var(--red); font-size:19px; transition:transform .2s; }.text-link:hover span { transform:translateY(4px); }.hero-note { display:flex; align-items:center; gap:12px; margin-top:57px; font-family:'DM Mono',monospace; font-size:9px; line-height:1.55; text-transform:uppercase; letter-spacing:.08em; color:#878580; }.note-stars { color:var(--red); font-size:22px; }.hero-note strong { color:var(--ink); font-weight:500; }
.hero-orb { position:absolute; border-radius:50%; pointer-events:none; }.hero-orb-one { width:540px; height:540px; right:-260px; top:30px; background:#f7ddd3; }.hero-orb-two { width:230px; height:230px; left:-110px; bottom:90px; background:#e6efdd; }.hero-visual { position:relative; min-height:510px; }.visual-card { position:absolute; top:13px; right:10px; width:min(100%,470px); padding:17px; border-radius:8px; background:#fff; box-shadow:var(--shadow); transform:rotate(3deg); }.visual-topline,.visual-footer { display:flex; align-items:center; justify-content:space-between; font-family:'DM Mono',monospace; font-size:9px; text-transform:uppercase; letter-spacing:.06em; color:#797773; }.status { display:flex; align-items:center; gap:6px; color:#4f9b75; }.status i { width:6px; height:6px; border-radius:50%; background:#57bb83; box-shadow:0 0 0 3px #e4f7eb; }.city-scene { position:relative; height:360px; margin:13px 0 15px; overflow:hidden; border-radius:4px; background:linear-gradient(180deg,#ffd7c9 0%,#f4a889 57%,#a8c296 57%,#7a9c6f 100%); }.sun { position:absolute; right:42px; top:37px; width:53px; height:53px; border-radius:50%; background:#fef2c8; box-shadow:0 0 0 9px rgba(254,242,200,.25); }.cloud { position:absolute; width:75px; height:15px; border-radius:20px; background:rgba(255,255,255,.45); }.cloud:before,.cloud:after { content:''; position:absolute; bottom:0; border-radius:50%; background:inherit; }.cloud:before { width:27px; height:27px; left:16px; }.cloud:after { width:18px; height:18px; right:14px; }.cloud-a { left:36px; top:68px; }.cloud-b { right:118px; top:115px; transform:scale(.65); }.building { position:absolute; bottom:53px; background:#e9c3a9; }.building span { position:relative; display:inline-block; width:14px; height:22px; margin:7px 7px 0 0; border-radius:2px; background:#fff0d8; box-shadow:0 0 0 2px rgba(255,255,255,.15); }.building-back { right:30px; width:152px; height:207px; padding:8px 0 0 9px; background:#d27f64; transform:skewY(-5deg); opacity:.86; }.building-back span { width:15px; height:19px; margin-right:7px; background:#f8dec4; }.building-front { left:84px; width:205px; height:257px; padding:35px 0 0 16px; background:#efaa83; box-shadow:-15px 10px 0 rgba(163,105,83,.17); }.building-front .roof { position:absolute; left:0; top:-29px; width:205px; height:30px; background:#b45a4b; clip-path:polygon(8% 100%,100% 0,100% 100%); }.building-front span { width:22px; height:27px; margin:8px 10px 0 0; background:#fff2d4; }.building-front span:nth-of-type(3n) { background:#e77f6e; }.tree { position:absolute; bottom:42px; width:49px; height:97px; }.tree b { position:absolute; z-index:2; bottom:0; left:22px; width:6px; height:52px; border-radius:5px; background:#745444; }.tree i,.tree i:before,.tree i:after { position:absolute; display:block; width:46px; height:46px; border-radius:50%; background:#6e9a65; content:''; }.tree i { top:12px; left:1px; }.tree i:before { top:-18px; left:18px; width:38px; height:38px; background:#86ae74; }.tree i:after { top:12px; left:-13px; width:35px; height:35px; background:#5d895e; }.tree-a { left:30px; transform:scale(.78); }.tree-b { right:17px; transform:scale(.62); }.path { position:absolute; z-index:3; bottom:-45px; left:123px; width:130px; height:150px; border-radius:50%; background:#c9b790; transform:perspective(120px) rotateX(24deg) rotateZ(-5deg); }.visual-footer { padding:0 2px; line-height:1.55; }.visual-footer strong { color:var(--ink); font-family:'Manrope',sans-serif; font-size:11px; font-weight:700; text-transform:none; letter-spacing:0; }.footer-icon { display:grid; place-items:center; width:31px; height:31px; border:1px solid var(--line); border-radius:50%; color:var(--red); font-size:17px; }.visual-scribble { position:absolute; z-index:2; top:0; left:5px; color:var(--red); font-size:13px; line-height:1.25; font-weight:800; transform:rotate(-9deg); }.visual-scribble span { display:inline-block; font-size:23px; transform:rotate(8deg); }.floating-tag { position:absolute; z-index:4; display:flex; align-items:center; gap:8px; padding:11px 15px; border-radius:99px; font-size:11px; font-weight:800; box-shadow:0 8px 23px rgba(30,30,32,.12); animation:float 4s ease-in-out infinite; }.floating-tag span { color:var(--red); font-size:16px; }.tag-reliable { top:100px; left:-11px; background:#fff; transform:rotate(-5deg); }.tag-clean { right:0; bottom:70px; color:#345541; background:var(--mint); animation-delay:1.3s; }.tag-clean span { color:#4e9e6e; }
.hero-bottom { position:relative; z-index:1; display:flex; justify-content:space-between; align-items:flex-end; margin-top:85px; }.hero-scroll { display:flex; align-items:center; gap:12px; color:#94918b; font-family:'DM Mono',monospace; font-size:9px; text-transform:uppercase; letter-spacing:.06em; }.scroll-line { display:block; width:38px; height:1px; background:var(--red); }.hero-stats { display:flex; gap:57px; }.hero-stats > div { display:flex; align-items:flex-start; gap:12px; }.hero-stats strong { color:var(--red); font-size:23px; letter-spacing:-.08em; }.hero-stats span { color:#76736e; font-family:'DM Mono',monospace; font-size:9px; line-height:1.5; text-transform:uppercase; letter-spacing:.04em; }

/* Services */
.services { background:#fff; }.section-heading { position:relative; max-width:680px; margin-bottom:53px; }.section-heading h2,.about h2,.contact h2 { margin:0; font-size:clamp(39px,4.2vw,59px); line-height:1.02; letter-spacing:-.07em; }.section-heading h2 span { color:var(--red); }.section-heading h2 em,.contact h2 em { color:#f68a71; font-style:normal; }.heading-note { max-width:380px; margin:23px 0 0 147px; color:var(--muted); font-size:13px; line-height:1.65; }.service-list { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }.service-card { position:relative; min-height:390px; padding:28px 30px 27px; overflow:hidden; border-radius:5px; transition:transform .28s,box-shadow .28s; }.service-card:hover { transform:translateY(-8px); box-shadow:var(--shadow); }.service-card-red { color:#fff; background:var(--red); }.service-card-cream { background:var(--cream); }.service-card-green { background:var(--mint); }.service-number { position:absolute; top:27px; right:30px; font-family:'DM Mono',monospace; font-size:10px; opacity:.65; }.service-icon { display:grid; place-items:center; width:65px; height:65px; margin-bottom:39px; border-radius:50%; color:var(--red); background:#fff; }.service-card-red .service-icon { color:var(--red); }.service-card-cream .service-icon,.service-card-green .service-icon { color:var(--ink); background:rgba(255,255,255,.68); }.service-icon svg { width:37px; height:37px; }.service-card h3 { margin:0; font-size:22px; line-height:1.11; letter-spacing:-.05em; }.service-card p { max-width:270px; margin:18px 0 0; font-size:12px; line-height:1.6; opacity:.75; }.card-link { position:absolute; bottom:28px; left:30px; display:flex; align-items:center; gap:14px; font-size:11px; font-weight:800; }.card-link span { display:grid; place-items:center; width:25px; height:25px; border:1px solid currentColor; border-radius:50%; font-size:15px; transition:transform .2s; }.card-link:hover span { transform:rotate(45deg); }

/* About */
.about { background:var(--cream); }.about-grid { display:grid; grid-template-columns:1fr 1.1fr; align-items:center; gap:105px; }.about-stamp { position:relative; display:grid; place-items:center; width:360px; height:360px; margin:0 auto; border-radius:50%; background:var(--red); color:#fff; transform:rotate(-7deg); }.stamp-ring { position:absolute; inset:23px; border:1px solid rgba(255,255,255,.6); border-radius:50%; }.stamp-ring span { position:absolute; left:50%; width:260px; text-align:center; font-family:'DM Mono',monospace; font-size:10px; letter-spacing:.14em; text-transform:uppercase; transform:translateX(-50%); }.stamp-ring span:first-child { top:20px; font-size:12px; font-weight:500; }.stamp-ring span:last-child { bottom:20px; font-size:7px; letter-spacing:.1em; }.stamp-center { display:grid; place-items:center; width:157px; height:157px; border-radius:50%; background:#f06d5d; font-size:47px; font-weight:800; line-height:.68; letter-spacing:-.1em; text-align:center; }.stamp-center small { display:block; margin-top:10px; font-family:'DM Mono',monospace; font-size:8px; font-weight:400; letter-spacing:.06em; }.about-copy { max-width:510px; }.about h2 span { color:var(--ink); }.about-copy > p:not(.eyebrow) { max-width:410px; margin:25px 0 31px; color:var(--muted); font-size:14px; line-height:1.75; }.button-dark { color:#fff; background:var(--ink); }.button-dark:hover { background:var(--red); transform:translateY(-3px); }

/* Advantages */
.advantages { background:#fff; }.section-heading.compact { margin-bottom:62px; }.section-heading.compact h2 { font-size:clamp(42px,4.8vw,67px); }.advantage-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); }.advantage-item { min-height:190px; padding:25px 24px 0 0; border-right:1px solid var(--line); }.advantage-item:not(:first-child) { padding-left:23px; }.advantage-item:last-child { border-right:0; }.advantage-icon { display:block; margin-bottom:32px; color:var(--red); font-family:'DM Mono',monospace; font-size:10px; }.advantage-item h3 { margin:0 0 12px; font-size:16px; letter-spacing:-.04em; }.advantage-item p { max-width:205px; margin:0; color:var(--muted); font-size:12px; line-height:1.65; }

/* Contact */
.contact { padding-top:25px; padding-bottom:80px; background:#fff; }.contact-panel { display:grid; grid-template-columns:1fr 1fr; gap:90px; padding:64px 75px 61px; border-radius:6px; color:#fff; background:var(--ink); overflow:hidden; }.eyebrow-light { color:#b1aea9; }.contact h2 { color:#fff; }.contact h2 em { color:#f87564; }.contact-copy > p:not(.eyebrow) { max-width:360px; margin:23px 0 34px; color:#aaa7a2; font-size:13px; line-height:1.7; }.contact-details { display:flex; flex-direction:column; gap:9px; }.contact-details a { width:max-content; border-bottom:1px solid rgba(255,255,255,.3); font-family:'DM Mono',monospace; font-size:11px; letter-spacing:.04em; transition:color .2s,border-color .2s; }.contact-details a:hover { color:#f87564; border-color:#f87564; }.contact-form { display:flex; flex-direction:column; gap:19px; align-self:center; }.contact-form label { display:flex; flex-direction:column; gap:8px; color:#aaa7a2; font-family:'DM Mono',monospace; font-size:9px; text-transform:uppercase; letter-spacing:.07em; }.contact-form input,.contact-form textarea { width:100%; padding:0 0 11px; border:0; border-bottom:1px solid rgba(255,255,255,.27); border-radius:0; color:#fff; background:transparent; outline:none; font-family:'Manrope',sans-serif; font-size:13px; resize:vertical; transition:border-color .2s; }.contact-form textarea { min-height:50px; }.contact-form input::placeholder,.contact-form textarea::placeholder { color:#777572; }.contact-form input:focus,.contact-form textarea:focus { border-color:#f87564; }.button-light { align-self:flex-start; color:var(--ink); background:#fff; }.button-light:hover { color:#fff; background:var(--red); transform:translateY(-3px); }.form-message { min-height:18px; margin:0; color:#82d7a6; font-size:11px; }

/* Footer */
.site-footer { padding:27px 0 33px; background:var(--paper); }.footer-inner { display:flex; align-items:center; gap:28px; }.brand-footer .brand-mark { width:28px; height:28px; border-radius:8px; }.brand-footer .brand-mark svg { width:21px; height:21px; }.brand-footer .brand-name { font-size:13px; }.footer-inner p { margin:0; padding-left:28px; border-left:1px solid var(--line); color:#85827c; font-family:'DM Mono',monospace; font-size:9px; line-height:1.5; text-transform:uppercase; letter-spacing:.04em; }.footer-copy { margin-left:auto; color:#aaa7a2; font-family:'DM Mono',monospace; font-size:9px; text-transform:uppercase; }

/* Motion */
.reveal { opacity:0; transform:translateY(18px); transition:opacity .7s ease,transform .7s ease; }.reveal.is-visible { opacity:1; transform:translateY(0); }.reveal-delay { transition-delay:.14s; }.reveal-delay-sm { transition-delay:.08s; }.reveal-delay-lg { transition-delay:.22s; } @keyframes float { 0%,100% { translate:0 0; } 50% { translate:0 -8px; } }

@media (max-width: 900px) { .container { width:min(100% - 40px, 680px); }.section-pad { padding:88px 0; }.main-nav { margin-left:0; gap:20px; }.hero { min-height:auto; padding-top:145px; padding-bottom:70px; }.hero-grid { grid-template-columns:1fr; gap:45px; }.hero h1 { font-size:clamp(55px,11vw,80px); }.hero-visual { width:min(100%,520px); min-height:490px; margin:0 auto; }.hero-bottom { align-items:flex-start; flex-direction:column-reverse; gap:31px; margin-top:50px; }.hero-stats { gap:28px; }.service-list { grid-template-columns:1fr; gap:12px; }.service-card { min-height:330px; }.about-grid { grid-template-columns:1fr; gap:50px; }.about-stamp { width:290px; height:290px; }.stamp-center { width:130px; height:130px; font-size:39px; }.stamp-ring span { width:210px; }.contact-panel { gap:54px; padding:48px 38px; } }
@media (max-width: 620px) { .container { width:calc(100% - 36px); }.header-inner { height:78px; }.main-nav,.header-contact { display:none; }.menu-toggle { display:block; }.site-header.menu-open { background:var(--paper); box-shadow:0 8px 20px rgba(30,30,32,.06); }.site-header.menu-open .main-nav { position:absolute; top:78px; left:0; display:flex; flex-direction:column; width:100%; gap:0; padding:9px 18px 17px; background:var(--paper); }.site-header.menu-open .main-nav a { padding:13px 0; border-bottom:1px solid var(--line); }.site-header.menu-open .menu-toggle span:first-child { transform:translateY(3.5px) rotate(45deg); }.site-header.menu-open .menu-toggle span:last-child { transform:translateY(-3.5px) rotate(-45deg); }.hero { padding-top:125px; }.hero h1 { font-size:clamp(50px,14vw,68px); }.hero-lead { font-size:13px; }.hero-actions { align-items:flex-start; flex-direction:column; gap:19px; }.hero-note { margin-top:39px; }.hero-visual { min-height:395px; margin-top:7px; }.visual-card { right:-4px; width:calc(100% - 6px); padding:12px; transform:rotate(2deg); }.city-scene { height:285px; }.building-front { left:50px; transform:scale(.83); transform-origin:bottom left; }.building-back { right:7px; transform:scale(.83) skewY(-5deg); transform-origin:bottom right; }.tree-a { left:3px; }.tree-b { right:-6px; }.path { left:84px; transform:scale(.8) perspective(120px) rotateX(24deg) rotateZ(-5deg); }.floating-tag { font-size:9px; padding:9px 12px; }.tag-reliable { top:65px; left:-7px; }.tag-clean { right:-3px; bottom:42px; }.visual-scribble { left:0; font-size:10px; }.hero-stats { gap:15px; width:100%; justify-content:space-between; }.hero-stats > div { gap:6px; }.hero-stats strong { font-size:19px; }.hero-stats span { font-size:8px; }.section-heading { margin-bottom:38px; }.heading-note { margin-left:0; }.section-heading h2,.about h2,.contact h2 { font-size:44px; }.service-card { min-height:315px; padding:24px; }.service-icon { margin-bottom:29px; }.service-card h3 { font-size:21px; }.card-link { left:24px; bottom:23px; }.about-stamp { width:250px; height:250px; }.stamp-ring { inset:16px; }.stamp-ring span { width:180px; font-size:8px; }.stamp-ring span:first-child { top:14px; font-size:10px; }.stamp-ring span:last-child { bottom:14px; font-size:6px; }.stamp-center { width:110px; height:110px; font-size:31px; }.stamp-center small { font-size:7px; }.about-copy > p:not(.eyebrow) { font-size:13px; }.advantage-grid { grid-template-columns:1fr 1fr; }.advantage-item { min-height:205px; padding:20px 13px 0 0; }.advantage-item:not(:first-child) { padding-left:13px; }.advantage-item:nth-child(2) { border-right:0; }.advantage-item:nth-child(n+3) { border-top:1px solid var(--line); }.advantage-item h3 { font-size:14px; }.advantage-item p { font-size:11px; }.contact { padding-top:0; padding-bottom:51px; }.contact-panel { grid-template-columns:1fr; gap:40px; padding:40px 25px 34px; }.contact-copy > p:not(.eyebrow) { font-size:12px; }.footer-inner { flex-wrap:wrap; gap:18px; }.footer-inner p { width:100%; padding:15px 0 0; border-left:0; border-top:1px solid var(--line); }.footer-copy { margin-left:0; width:100%; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; }.reveal { opacity:1; transform:none; transition:none; }.floating-tag { animation:none; } }

/* Contact details are intentionally generic until official company details are provided. */
.contact-details span { width:max-content; color:#aaa7a2; font-family:'DM Mono',monospace; font-size:10px; letter-spacing:.04em; }
