:root{--ink-950: #140e0d;--ink-900: #1b1412;--ink-850: #221a18;--ink-800: #2b211e;--ink-700: #46362f;--paper-50: #fbf8f4;--paper-100: #f5f0e9;--paper-200: #ece4d9;--red-700: #8e181d;--red-600: #a91e24;--red-500: #c02730;--red-050: #f9e9e9;--orange-500: #f1962e;--orange-400: #f5ad57;--orange-300: #f9c589;--text-strong: #171010;--text-body: #453a36;--text-soft: #7b6d66;--text-inverse: #f7f2ec;--text-inverse-soft: rgba(247, 242, 236, .68);--text-inverse-faint: rgba(247, 242, 236, .45);--line-light: rgba(23, 16, 16, .14);--line-light-soft: rgba(23, 16, 16, .08);--line-dark: rgba(247, 242, 236, .16);--line-dark-soft: rgba(247, 242, 236, .09);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--step--1: clamp(.82rem, .79rem + .14vw, .9rem);--step-0: clamp(.97rem, .93rem + .2vw, 1.08rem);--step-1: clamp(1.13rem, 1.06rem + .34vw, 1.32rem);--step-2: clamp(1.35rem, 1.24rem + .56vw, 1.66rem);--step-3: clamp(1.62rem, 1.44rem + .9vw, 2.12rem);--step-4: clamp(1.94rem, 1.66rem + 1.42vw, 2.72rem);--step-5: clamp(2.33rem, 1.9rem + 2.17vw, 3.52rem);--step-6: clamp(2.8rem, 2.15rem + 3.25vw, 4.58rem);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4.5rem;--space-9: 6.5rem;--container: 72rem;--radius: 6px;color-scheme:light}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:var(--step-0);line-height:1.62;color:var(--text-body);background:var(--paper-50);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img,svg{display:block;max-width:100%}a{color:var(--red-600);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,h4{color:var(--text-strong);line-height:1.12;letter-spacing:-.022em;font-weight:700;text-wrap:balance}::selection{background:var(--orange-400);color:var(--ink-950)}:focus-visible{outline:2px solid var(--orange-500);outline-offset:3px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:clamp(1.25rem,4vw,2.5rem)}.skip-link{position:absolute;left:-9999px;z-index:100;background:var(--ink-950);color:var(--text-inverse);padding:var(--space-3) var(--space-5)}.skip-link:focus{left:var(--space-4);top:var(--space-4)}.kicker{display:flex;align-items:center;gap:.75em;font-family:var(--font-mono);font-size:.72rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--red-600)}.kicker:before{content:"";width:1.6rem;height:1px;background:currentColor;flex:none}.section--dark .kicker{color:var(--orange-400)}.section-head{max-width:46rem;display:grid;gap:var(--space-4);margin-bottom:var(--space-7)}.section-head h2{font-size:var(--step-4)}.lead{font-size:var(--step-1);line-height:1.55;color:var(--text-soft);text-wrap:pretty}.section--dark .lead{color:var(--text-inverse-soft)}.section{padding-block:var(--space-9);position:relative}.section--tight{padding-block:var(--space-8)}.section--dark{background:var(--ink-950);color:var(--text-inverse-soft)}.section--dark h2,.section--dark h3{color:var(--text-inverse)}.section--paper2{background:var(--paper-100)}.section--rule-top{border-top:1px solid var(--line-light-soft)}.bg-grid{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(var(--line-dark-soft) 1px,transparent 1px),linear-gradient(90deg,var(--line-dark-soft) 1px,transparent 1px);background-size:72px 72px;mask-image:radial-gradient(ellipse 90% 80% at 50% 0%,black 30%,transparent 78%);-webkit-mask-image:radial-gradient(ellipse 90% 80% at 50% 0%,black 30%,transparent 78%)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;padding:.82em 1.5em;border-radius:var(--radius);border:1px solid transparent;font-weight:600;font-size:var(--step--1);letter-spacing:.01em;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease;text-decoration:none}.btn:hover{text-decoration:none;transform:translateY(-1px)}.btn--primary{background:var(--red-600);color:#fff}.btn--primary:hover{background:var(--red-500)}.btn--ghost{border-color:var(--line-light);color:var(--text-strong);background:transparent}.btn--ghost:hover{border-color:var(--text-strong)}.section--dark .btn--ghost,.btn--ghost-dark{border-color:var(--line-dark);color:var(--text-inverse)}.section--dark .btn--ghost:hover,.btn--ghost-dark:hover{border-color:var(--orange-400);color:var(--orange-300)}.btn .arrow{transition:transform .16s ease}.btn:hover .arrow{transform:translate(3px)}.text-link{font-weight:600;color:var(--red-600);display:inline-flex;align-items:center;gap:.4em}.card{position:relative;border:1px solid var(--line-light);background:var(--paper-50);padding:var(--space-6);border-radius:var(--radius);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.card:hover{transform:translateY(-3px);border-color:#a91e2466;box-shadow:0 14px 34px -22px #17101059}.card h3{font-size:var(--step-1);margin-bottom:var(--space-3)}.card p{font-size:var(--step--1);color:var(--text-soft)}.card:before{content:"";position:absolute;top:-1px;left:-1px;width:14px;height:14px;border-top:2px solid var(--red-600);border-left:2px solid var(--red-600);opacity:0;transition:opacity .18s ease}.card:hover:before{opacity:1}.card--dark{background:var(--ink-900);border-color:var(--line-dark-soft)}.card--dark h3{color:var(--text-inverse)}.card--dark p{color:var(--text-inverse-soft)}.card--dark:hover{border-color:#f1962e73;box-shadow:0 14px 34px -20px #000000b3}.card--dark:before{border-color:var(--orange-500)}.card .card-index{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;color:var(--text-soft);display:block;margin-bottom:var(--space-4)}.card--dark .card-index{color:var(--text-inverse-faint)}.grid{display:grid;gap:var(--space-4)}.grid--2{grid-template-columns:repeat(2,1fr)}.grid--3{grid-template-columns:repeat(3,1fr)}.grid--4{grid-template-columns:repeat(4,1fr)}@media(max-width:900px){.grid--3,.grid--4{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.grid--2,.grid--3,.grid--4{grid-template-columns:1fr}}.site-header{background:var(--ink-950);border-bottom:1px solid var(--line-dark-soft);position:sticky;top:0;z-index:50}.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);min-height:4.25rem}.brand{display:inline-flex;align-items:center;gap:.6rem;flex:none}.brand img{height:2.4rem;width:auto}.brand:hover{text-decoration:none}.nav-desktop{display:flex;align-items:center;gap:clamp(.9rem,2vw,1.6rem)}.nav-link{font-size:.86rem;font-weight:500;color:var(--text-inverse-soft);white-space:nowrap}.nav-link:hover{color:var(--text-inverse);text-decoration:none}.nav-link[aria-current=page]{color:var(--orange-400)}.lang-switch{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.1em;border:1px solid var(--line-dark);border-radius:var(--radius);padding:.42em .9em;color:var(--text-inverse)}.lang-switch:hover{border-color:var(--orange-400);color:var(--orange-300);text-decoration:none}.nav-toggle{display:none;background:none;border:1px solid var(--line-dark);border-radius:var(--radius);color:var(--text-inverse);padding:.45rem .7rem;cursor:pointer}.nav-mobile{display:none}@media(max-width:980px){.nav-desktop{display:none}.nav-toggle{display:inline-flex;align-items:center;gap:.5em}.nav-mobile{display:grid;gap:0;background:var(--ink-900);border-top:1px solid var(--line-dark-soft)}.nav-mobile a{padding:.95rem clamp(1.25rem,4vw,2.5rem);color:var(--text-inverse-soft);border-bottom:1px solid var(--line-dark-soft);font-weight:500}.nav-mobile a:hover{color:var(--text-inverse);text-decoration:none}.nav-mobile a[aria-current=page]{color:var(--orange-400)}}.hero{background:radial-gradient(ellipse 70% 55% at 78% 8%,rgba(169,30,36,.28),transparent 70%),var(--ink-950);color:var(--text-inverse-soft);position:relative;overflow:hidden}.hero .container{position:relative;display:grid;grid-template-columns:minmax(0,6fr) minmax(0,7fr);gap:clamp(2rem,5vw,4rem);align-items:center;padding-block:clamp(4rem,9vw,7.5rem)}.hero h1{font-size:var(--step-6);color:var(--text-inverse);letter-spacing:-.03em;line-height:1.04}.hero h1 .accent{color:var(--orange-400);display:block}.hero .lead{max-width:34rem;margin-top:var(--space-5)}.hero-ctas{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-top:var(--space-6)}.hero-visual{position:relative}.hero-visual figcaption{margin-top:var(--space-4);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;color:var(--text-inverse-faint)}@media(max-width:900px){.hero .container{grid-template-columns:1fr}.hero-visual{max-width:30rem}}.arch-graph .edge{stroke:#f7f2ec38;stroke-width:1.2;fill:none}.arch-graph .edge--flow{stroke:var(--orange-500);stroke-width:1.4;stroke-dasharray:5 9;animation:edge-flow 2.8s linear infinite;opacity:.85}@keyframes edge-flow{to{stroke-dashoffset:-28}}.arch-graph .node{fill:var(--ink-900);stroke:#f7f2ec4d;stroke-width:1}.arch-graph .node--core{stroke:var(--orange-500);stroke-width:1.4}.arch-graph .boundary{fill:none;stroke:#f1962e80;stroke-width:1;stroke-dasharray:6 6}.arch-graph .label{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.04em;fill:#f7f2ecd9}.arch-graph .label--soft{fill:#f7f2ec73;font-size:8.5px;letter-spacing:.14em;text-transform:uppercase}.arch-graph .dot{fill:var(--red-500)}.arch-graph .dot--pulse{animation:dot-pulse 2.4s ease-in-out infinite;transform-origin:center;transform-box:fill-box}@keyframes dot-pulse{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.5)}}.eco-card{border:1px solid var(--line-dark-soft);background:linear-gradient(160deg,var(--ink-900),var(--ink-850));border-radius:var(--radius);padding:var(--space-7) var(--space-6);display:flex;flex-direction:column;gap:var(--space-4);position:relative;overflow:hidden}.eco-card:after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--red-600),var(--orange-500))}.eco-card .tag{align-self:flex-start;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--orange-400);border:1px solid rgba(241,150,46,.35);border-radius:999px;padding:.3em .9em}.eco-card h3{font-size:var(--step-3);color:var(--text-inverse);letter-spacing:-.02em}.eco-card p{color:var(--text-inverse-soft);flex:1}.eco-card .eco-links{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-top:var(--space-2)}.steps{counter-reset:step;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}@media(max-width:900px){.steps{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.steps{grid-template-columns:1fr}}.step{border:1px solid var(--line-light);border-radius:var(--radius);padding:var(--space-5);background:var(--paper-50);position:relative}.step .step-num{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.14em;color:var(--red-600);display:block;margin-bottom:var(--space-3)}.step h3{font-size:var(--step-1);margin-bottom:var(--space-2)}.step p{font-size:var(--step--1);color:var(--text-soft)}.service-block{border-top:1px solid var(--line-light);padding-block:var(--space-7);display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(1.5rem,4vw,4rem)}@media(max-width:820px){.service-block{grid-template-columns:1fr}}.service-block .service-title .index{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.14em;color:var(--red-600);display:block;margin-bottom:var(--space-3)}.service-block h2{font-size:var(--step-3)}.service-block .problem{margin-top:var(--space-4);color:var(--text-soft);font-size:var(--step-0)}.service-detail{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}@media(max-width:620px){.service-detail{grid-template-columns:1fr}}.service-detail h3{font-family:var(--font-mono);font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-soft);margin-bottom:var(--space-3)}.service-detail ul{list-style:none;padding:0;display:grid;gap:var(--space-2)}.service-detail li{font-size:var(--step--1);padding-left:1.1em;position:relative}.service-detail li:before{content:"";position:absolute;left:0;top:.62em;width:.45em;height:1px;background:var(--red-600)}.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2) var(--space-6);list-style:none;padding:0}@media(max-width:620px){.check-grid{grid-template-columns:1fr}}.check-grid li{padding:.55em 0 .55em 1.6em;position:relative;border-bottom:1px solid var(--line-light-soft);font-size:var(--step--1)}.check-grid li:before{content:"◆";position:absolute;left:0;color:var(--orange-500);font-size:.6em;top:1.05em}.prose{max-width:44rem;display:grid;gap:var(--space-4)}.prose p{text-wrap:pretty}.cta-band{background:radial-gradient(ellipse 60% 90% at 20% 110%,rgba(241,150,46,.18),transparent 65%),linear-gradient(140deg,var(--red-700),var(--red-600));color:#fff;border-radius:calc(var(--radius) * 2);padding:clamp(2.5rem,6vw,4.5rem);display:grid;gap:var(--space-5);justify-items:start;position:relative;overflow:hidden}.cta-band h2{color:#fff;font-size:var(--step-4);max-width:24ch}.cta-band p{color:#ffffffd9;max-width:46rem;font-size:var(--step-1)}.cta-band .btn--primary{background:var(--ink-950)}.cta-band .btn--primary:hover{background:var(--ink-800)}.cta-band .btn--ghost{border-color:#fff6;color:#fff}.cta-band .btn--ghost:hover{border-color:#fff}.cta-band .cta-actions{display:flex;flex-wrap:wrap;gap:var(--space-4)}.page-head{background:radial-gradient(ellipse 60% 70% at 85% 0%,rgba(169,30,36,.22),transparent 70%),var(--ink-950);color:var(--text-inverse-soft);padding-block:clamp(3.5rem,7vw,5.5rem);position:relative;overflow:hidden}.page-head h1{color:var(--text-inverse);font-size:var(--step-5);margin-block:var(--space-4);letter-spacing:-.028em}.page-head .lead{max-width:46rem}.contact-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}@media(max-width:820px){.contact-grid{grid-template-columns:1fr}}.form-grid{display:grid;gap:var(--space-5)}.form-row{display:grid;gap:var(--space-5);grid-template-columns:repeat(2,1fr)}@media(max-width:620px){.form-row{grid-template-columns:1fr}}.field{display:grid;gap:var(--space-2)}.field label{font-size:var(--step--1);font-weight:600;color:var(--text-strong)}.field input,.field select,.field textarea{border:1px solid var(--line-light);border-radius:var(--radius);padding:.75em .9em;background:#fff;font-size:var(--step--1);width:100%}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--orange-500);outline-offset:1px;border-color:transparent}.notice{border:1px solid var(--line-light);border-left:3px solid var(--orange-500);background:var(--paper-100);border-radius:var(--radius);padding:var(--space-5)}.site-footer{background:var(--ink-950);color:var(--text-inverse-soft);padding-block:var(--space-8) var(--space-6);border-top:1px solid var(--line-dark-soft)}.footer-grid{display:grid;grid-template-columns:minmax(0,5fr) repeat(3,minmax(0,2.3fr));gap:var(--space-6);padding-bottom:var(--space-7);border-bottom:1px solid var(--line-dark-soft)}@media(max-width:820px){.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:540px){.footer-grid{grid-template-columns:1fr}}.footer-brand img{height:2rem;width:auto;margin-bottom:var(--space-4)}.footer-brand p{font-size:var(--step--1);max-width:26rem;color:var(--text-inverse-faint)}.footer-col h3{font-family:var(--font-mono);font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-inverse-faint);margin-bottom:var(--space-4)}.footer-col ul{list-style:none;padding:0;display:grid;gap:var(--space-2)}.footer-col a{color:var(--text-inverse-soft);font-size:var(--step--1)}.footer-col a:hover{color:var(--orange-300);text-decoration:none}.footer-meta{padding-top:var(--space-5);display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-6);justify-content:space-between;font-size:.8rem;color:var(--text-inverse-faint)}
