/* Generated by build_marketing_css.py from styles.css; do not edit directly. */
@layer reset, base, component, utility;
@layer reset {
  *,*::before,*::after{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body,h1,h2,h3,p{margin:0}
  button,input,textarea{font:inherit}
  button,a{-webkit-tap-highlight-color:transparent}
}
@layer base {
  :root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:dark;
    --bg:#0a1020;--bg-alt:#101a2d;--panel:#131f33;--panel-strong:#1a2840;--text:#f2f7ff;--muted:#9baec5;--border:rgba(196,215,240,.12);
    --accent:#64d7fd;--accent-soft:rgba(100,215,253,.17);--accent-secondary:#a0a5ff;--shadow:0 30px 90px rgba(0,0,0,.18)}
  html{scroll-padding-top:95px}
  body{background:var(--bg);color:var(--text);line-height:1.6;min-width:320px}
  a{color:inherit;text-decoration:none}
  p{color:var(--muted)}
  h1,h2,h3{line-height:1.15;letter-spacing:-.035em;text-wrap:balance}
  h1{font-size:clamp(2.6rem,5.1vw,5.7rem);font-weight:720}
  h2{font-size:clamp(2rem,3.2vw,3.35rem);font-weight:680}
  h3{font-size:1.35rem;font-weight:660}
  button{cursor:pointer}
  ::selection{background:var(--accent);color:#101827}
  :focus-visible{outline:3px solid var(--accent);outline-offset:4px}
  .shell{width:min(1160px,calc(100% - clamp(32px,6.4vw,96px)));margin-inline:auto}
  .eyebrow{color:var(--accent);font-size:.74rem;font-weight:780;letter-spacing:.19em;line-height:1.5;text-transform:uppercase}
}
@layer component {
  .skip-link{position:absolute;z-index:100;top:-100px;left:15px;background:var(--accent);padding:12px;color:#08111f}
  .skip-link:focus{top:12px}
  .site-header{z-index:40;position:sticky;top:0;background:rgba(10,16,32,.84);border-bottom:1px solid var(--border);backdrop-filter:blur(22px)}
  .header-inner{height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px}
  .brand{display:inline-flex;align-items:center;gap:12px;min-width:0}
  .brand-icon{display:grid;place-items:center;width:42px;height:42px;background:var(--accent-soft);border:1px solid var(--accent);border-radius:13px;color:var(--accent);font-size:.93rem;font-weight:850;letter-spacing:-.05em}
  .brand-text{display:flex;flex-direction:column;font-size:1.1rem;font-weight:820;letter-spacing:-.03em;line-height:1.25}
  .brand-text small{color:var(--muted);font-size:.61rem;letter-spacing:.12em;font-weight:570;text-transform:uppercase}
  .nav{display:flex;gap:clamp(17px,2.1vw,35px);align-items:center}
  .nav>a:not(.button){font-size:.88rem;font-weight:560;color:#c5d2e4;transition:color .2s}
  .nav>a:not(.button):hover,.nav>a[aria-current]{color:var(--accent)}
  .menu-toggle{display:none;border:1px solid var(--border);border-radius:11px;color:var(--text);background:var(--panel);font-size:1.25rem;padding:4px 12px}
  .button{display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:14px 23px;border-radius:13px;border:1px solid transparent;font-weight:700;font-size:.87rem;min-height:49px;transition:transform .2s,background .2s,border-color .2s;white-space:nowrap}
  .button:hover:not(:disabled){transform:translateY(-2px)}
  .button:disabled{opacity:.6;cursor:wait}
  .button.small{padding:10px 17px;min-height:42px}
  .button.primary{background:var(--accent);color:#081425}
  .button.primary:hover{background:#ccf5ff}
  .button.secondary,.button.ghost{border-color:var(--border);background:rgba(255,255,255,.035);color:var(--text)}
  .button.secondary:hover,.button.ghost:hover{border-color:var(--accent)}
  .button.full{width:100%}
  .hero{position:relative;overflow:hidden;padding:82px 0 76px;background:radial-gradient(ellipse at 85% 20%,var(--accent-soft),transparent 43%),linear-gradient(180deg,#101b30,var(--bg))}
  .hero-glow{pointer-events:none;position:absolute;inset:-30% auto auto 35%;width:80%;height:100%;background:radial-gradient(circle,rgba(100,140,250,.09),transparent 65%)}
  .hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(38px,6vw,78px);align-items:center;max-width:none}
  .hero-copy{max-width:none}
  .hero-copy .eyebrow{display:flex;align-items:center;gap:11px;margin-bottom:27px}
  .pulse{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px var(--accent-soft)}
  .hero-copy h1{max-width:1060px}
  .hero-copy h1::first-letter{color:var(--accent)}
  .lead{font-size:clamp(1rem,1.5vw,1.15rem);max-width:850px;line-height:1.85;margin-top:27px}
  .hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:37px}
  .hero-points{display:flex;flex-wrap:wrap;gap:10px 25px;margin-top:36px;color:#d7e2ef;font-size:.8rem}
  .hero-points span::first-letter{color:var(--accent)}
  .visual-card{align-self:stretch;min-height:410px;border:1px solid rgba(204,225,255,.18);background:linear-gradient(135deg,#182941,#0d1525);border-radius:24px;box-shadow:var(--shadow);overflow:hidden;position:relative}
  .visual-card::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 55%,var(--accent-soft));pointer-events:none}
  .visual-top{position:relative;display:flex;align-items:center;gap:14px;padding:18px 20px;border-bottom:1px solid var(--border);font-size:.59rem;font-weight:750;letter-spacing:.11em;color:var(--muted)}
  .window-dots{display:flex;gap:5px;margin-right:10px}.window-dots i{width:7px;height:7px;border-radius:100%;background:#6b7e9f}
  .visual-top .online{margin-left:auto;color:var(--accent)}
  .visual-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;min-height:355px;padding:24px;text-align:center}
  .visual-label{font-size:.65rem;letter-spacing:.16em;color:var(--muted)}
  .visual-core{height:205px;width:205px;margin:10px auto;display:grid;place-items:center;position:relative}
  .orbit{position:absolute;inset:12px;border:1px dashed rgba(147,198,228,.33);border-radius:50%;transform:rotate(-25deg)}
  .orbit.two{inset:35px;border-style:solid;border-color:var(--accent);opacity:.23}
  .core-glyph{height:90px;width:90px;display:grid;place-items:center;border:2px solid var(--accent);background:var(--accent-soft);color:var(--accent);box-shadow:0 0 80px var(--accent-soft);border-radius:30px;font-size:2rem;font-weight:900}
  .visual-pillrow{display:flex;flex-wrap:wrap;justify-content:center;gap:7px}.visual-pillrow span{border:1px solid var(--border);padding:7px 9px;border-radius:7px;color:#c7d9eb;font-size:.59rem;letter-spacing:.03em}
  .visual-inner>p{font-size:.59rem;letter-spacing:.13em;margin-top:21px}
  .section{padding-top:100px;padding-bottom:100px}
  .section-head{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:38px}
  .section-head h2{margin-top:14px;max-width:630px}
  .section-head>p{max-width:335px;font-size:.91rem}
  .feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
  .feature-card{background:var(--panel);border:1px solid var(--border);border-radius:19px;padding:32px;min-height:315px;position:relative;transition:transform .2s,border-color .2s}
  .feature-card:hover{transform:translateY(-5px);border-color:var(--accent)}
  .feature-index{display:block;color:#7d91b0;font-size:.72rem;letter-spacing:.17em}
  .feature-icon{font-size:2.3rem;color:var(--accent);margin:25px 0 16px}
  .feature-card h3{margin:8px 0 13px}.feature-card p{font-size:.89rem;line-height:1.72}
  .feature-arrow{position:absolute;right:27px;bottom:25px;color:var(--accent);font-size:1.2rem}
  .alt-section{background:var(--bg-alt);border-block:1px solid var(--border)}
  .split-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
  .split-grid h2{margin-top:17px}.check-list p{padding:20px 0;border-bottom:1px solid var(--border);font-size:.97rem;line-height:1.8}
  .check-list p span{color:var(--accent);font-weight:750;margin-right:20px}.check-list strong{color:var(--text)}
  .contact-layout{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr);gap:24px}
  .contact-intro{border:1px solid var(--border);background:linear-gradient(150deg,var(--panel),var(--bg-alt));border-radius:20px;padding:37px;display:flex;flex-direction:column}
  .contact-symbol{font-size:3.2rem;color:var(--accent);margin-bottom:40px}.contact-intro h3{max-width:300px;font-size:1.8rem;margin-bottom:19px}
  .contact-intro p{font-size:.92rem;line-height:1.85}.contact-foot{margin-top:auto;padding-top:42px;color:var(--muted);font-size:.78rem}.contact-foot a{color:var(--accent)}
  .surface-form,.panel{border:1px solid var(--border);border-radius:20px;background:var(--panel);padding:35px}
  form{display:flex;flex-direction:column;gap:20px}
  .form-row{display:grid;grid-template-columns:1fr;gap:15px}
  .form-note{margin-bottom:-8px;color:var(--muted);font-size:.79rem}
  label{display:flex;flex-direction:column;gap:9px;font-size:.78rem;font-weight:630;color:#d8e3f2}
  input:not([type="checkbox"]),textarea{min-width:0;width:100%;border:1px solid rgba(180,205,237,.21);border-radius:10px;background:#0d1829;padding:12px 15px;color:var(--text);resize:vertical;font-size:.88rem;line-height:1.6}
  input:focus,textarea:focus{outline:1px solid var(--accent);border-color:var(--accent)}
  input::placeholder,textarea::placeholder{color:#7588a3}
  .checkline{display:flex;flex-direction:row;align-items:flex-start;gap:12px;line-height:1.65;color:var(--muted);font-size:.75rem;font-weight:400}
  .checkline input{accent-color:var(--accent);width:17px;height:17px;flex:none;margin-top:2px}.checkline a{color:var(--accent);text-decoration:underline}
  .form-action{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.form-status{min-height:1.4rem;font-size:.81rem;color:var(--muted);overflow-wrap:anywhere}
  .form-status.success{color:#79e5bb}.form-status.error{color:#ff9a9c}
  .honeypot{position:absolute;left:-9999px;height:1px;overflow:hidden}
  .site-footer{border-top:1px solid var(--border);background:#0b1526;padding:36px 0}
  .footer-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-inner>div:nth-child(2){display:flex;flex-wrap:wrap;gap:26px;color:var(--muted);font-size:.79rem}
  .footer-inner strong{font-weight:800}.footer-inner p{margin-top:5px;font-size:.79rem}.footer-inner a:hover{color:var(--accent)}
  .chat-wrap{position:fixed;right:clamp(15px,3vw,45px);bottom:clamp(16px,2.5vw,35px);z-index:49;display:flex;flex-direction:column;align-items:flex-end;gap:13px;max-width:calc(100vw - 30px)}
  .chat-toggle{padding:14px 20px;border:1px solid var(--accent);border-radius:30px;background:var(--accent);color:#081425;box-shadow:0 7px 30px var(--accent-soft);font-weight:790}
  .chat-panel{width:min(380px,calc(100vw - 30px));max-height:min(640px,75vh);overflow-y:auto;background:var(--panel);border-radius:18px;border:1px solid var(--border);box-shadow:0 25px 80px #0008}
  .chat-panel[hidden]{display:none}.chat-panel header{padding:18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}
  .chat-panel header div{display:flex;flex-direction:column}.chat-panel small{font-size:.68rem;color:var(--muted)}.chat-close{background:transparent;border:0;color:var(--text);font-size:1.5rem}
  .chat-log{padding:17px;min-height:116px;max-height:230px;overflow-y:auto;display:flex;flex-direction:column;gap:11px}.chat-log p{font-size:.84rem;line-height:1.65}
  .chat-question{align-self:flex-end;max-width:90%;padding:10px 14px;background:var(--accent-soft);border-radius:12px;color:var(--text)}
  .chat-answer{padding:10px 14px;background:var(--bg-alt);border-radius:12px}
  .chat-panel form{padding:17px;gap:13px;border-top:1px solid var(--border)}.chat-panel .button{min-height:43px}
  .legal-page h1{font-size:clamp(2.2rem,4.1vw,4rem)}
  .info-box{padding:25px;border:1px solid var(--border);background:var(--panel);border-radius:15px}.info-box p{margin-top:11px}
  .legal-page{max-width:950px;min-height:70vh}.legal-page h1{margin:14px 0 30px}.legal-page>p{margin:18px 0;line-height:1.9}.legal-page a:not(.button){color:var(--accent);text-decoration:underline}
  .fallback-hero{padding-block:8rem;min-height:65vh}.fallback-hero h1{margin:20px 0}.fallback-hero .button{margin-top:24px}
}
@layer utility {
  @media (max-width: 1000px){.hero-grid{grid-template-columns:1fr}.hero{padding:70px 0}.visual-card{max-width:600px;min-height:325px}.visual-inner{min-height:270px}.hero-points{margin-top:35px}.section{padding-top:75px;padding-bottom:75px}.feature-card{padding:25px}.split-grid{gap:40px}}
  @media (max-width: 720px){
    .header-inner{height:70px}.menu-toggle{display:block}.nav{display:none;position:absolute;left:0;right:0;top:70px;padding:22px clamp(20px,6vw,50px);background:var(--bg-alt);flex-direction:column;align-items:stretch;gap:20px;box-shadow:0 14px 34px #0006}.nav.open{display:flex}
    .hero{padding:64px 0}.hero-actions{gap:10px}.hero-actions .button{width:100%}.hero-points{gap:12px;font-size:.74rem}
    .section-head,.split-grid,.contact-layout{display:grid;grid-template-columns:1fr;gap:22px}
    .section-head>p{max-width:unset}.feature-grid{grid-template-columns:1fr}.feature-card{min-height:245px}.contact-intro{min-height:270px}
    .form-row{grid-template-columns:1fr}.surface-form,.panel,.contact-intro{padding:24px}.footer-inner{align-items:flex-start;flex-direction:column}
    .chat-toggle span{display:none}.chat-toggle{width:49px;height:49px;padding:0;font-size:1.25rem}
  }
  @media (max-width: 420px){.visual-card{min-height:280px}.visual-inner{min-height:240px}.visual-core{width:160px;height:165px}.visual-top{padding:14px;font-size:.53rem}.hero-points{display:grid}.check-list p span{margin-right:8px}.button{white-space:normal;text-align:center}}
  @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
  @media (prefers-color-scheme:light){
    :root{color-scheme:light;--bg:#f4f7fc;--bg-alt:#e9eef7;--panel:#fff;--panel-strong:#f0f4fc;--text:#1c2e49;--muted:#506381;--border:rgba(45,76,117,.16);--shadow:0 22px 75px #10284722}
    .site-header{background:#f5f8ffed}.nav>a:not(.button){color:#35506d}.hero{background:radial-gradient(ellipse at 85% 20%,var(--accent-soft),transparent 43%),linear-gradient(180deg,#edf5ff,var(--bg))}
    .visual-card{color:#f2f7ff}.visual-card p{color:#abc0d7}.visual-label{color:#abc0d7}.hero-points{color:var(--text)}
    .site-footer{background:#e4edfa}.surface-form input:not([type="checkbox"]),.surface-form textarea,.panel input,.panel textarea,.chat-panel textarea{color:var(--text);background:#f3f7fd}
  }
}

/* Dev Fabric identity: editorial sections, graphite, warm white and acid lime */
:root[data-brand="dev-fabric"] {
  color-scheme: light; --bg:#f5f4ef; --bg-alt:#eae9e1; --panel:#fffefa; --panel-strong:#f0efe7;
  --text:#1d2430; --muted:#646b76; --border:rgba(29,36,48,.14); --accent:#c4f65b;
  --accent-soft:rgba(196,246,91,.26); --accent-secondary:#7058cf; --shadow:0 24px 70px rgba(30,38,47,.12);
}
:root[data-brand="dev-fabric"] .site-header { background:rgba(245,244,239,.92); border-color:var(--border); }
:root[data-brand="dev-fabric"] .brand-icon { background:transparent; border-color:transparent; color:var(--accent); border-radius:50%; overflow:hidden; padding:0; }
:root[data-brand="dev-fabric"] .brand-icon img { display:block; width:100%; height:100%; object-fit:cover; }
:root[data-brand="dev-fabric"] .nav>a:not(.button) { color:#4a515c; }
:root[data-brand="dev-fabric"] .nav>a:not(.button):hover { color:#111722; }
:root[data-brand="dev-fabric"] .button.primary { color:#18200f; }
:root[data-brand="dev-fabric"] .button.primary:hover { background:#d7ff8a; }
:root[data-brand="dev-fabric"] .button.secondary { border-color:var(--border); color:var(--text); background:transparent; }
:root[data-brand="dev-fabric"] .site-footer { background:#1d2430; color:#f3f3ed; }
:root[data-brand="dev-fabric"] .site-footer p,:root[data-brand="dev-fabric"] .site-footer a,:root[data-brand="dev-fabric"] .site-footer span { color:#bdc3cb; }
.df-hero { position:relative; overflow:hidden; padding:clamp(56px,6.4vw,88px) 0 clamp(50px,6vw,82px); background:radial-gradient(ellipse at 82% 42%,rgba(196,246,91,.28),transparent 32%),linear-gradient(118deg,#f5f4ef 0%,#f5f4ef 52%,#e9eee0 100%); }
.df-hero-grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(350px,.92fr); gap:clamp(30px,5vw,78px); align-items:center; }
.df-hero-copy .eyebrow { display:flex; align-items:center; gap:11px; margin-bottom:24px; color:#52602e; }
:root[data-brand="dev-fabric"] .pulse { background:#8cba31; box-shadow:0 0 0 5px rgba(196,246,91,.35); }
.df-hero-copy h1 { max-width:680px; font-size:clamp(2.15rem,3.4vw,3.4rem); line-height:1.1; letter-spacing:-.05em; }
.df-hero-copy h1::first-letter { color:inherit; }
.df-hero-copy .lead { max-width:680px; color:#555d68; font-size:clamp(.98rem,1.2vw,1.08rem); line-height:1.75; margin-top:20px; }
.df-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:25px; }
.df-hero-meta { display:flex; align-items:center; gap:12px; margin-top:24px; color:#69717b; font-size:.8rem; }
.df-hero-meta i { color:#788c43; font-style:normal; }
.df-capability-band { border-top:1px solid var(--border); border-bottom:1px solid var(--border); background:#eeeee7; }
.df-capability-inner { min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap; }
.df-capability-inner>span { color:#858b8e; font-size:.66rem; font-weight:800; letter-spacing:.14em; }
.df-capability-inner>b { font-size:.85rem; font-weight:700; color:#303844; }.df-capability-inner>i { width:5px; height:5px; border-radius:50%; background:#93b54b; }
.df-section { padding-top:clamp(56px,6vw,88px); padding-bottom:clamp(56px,6vw,88px); }
.df-section-head { align-items:end; margin-bottom:28px; }
.df-section-head .eyebrow { color:#748d3b; }
.df-section-head h2 { max-width:700px; margin-top:14px; font-size:clamp(2rem,3.8vw,3.4rem); letter-spacing:-.055em; }
.df-section-head>p { max-width:390px; color:#646b76; font-size:.95rem; line-height:1.75; }
.df-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.df-service-card { min-height:380px; padding:clamp(23px,2.5vw,34px); display:flex; flex-direction:column; background:#fffefa; border:1px solid var(--border); border-radius:5px; position:relative; }
.df-service-card::before { content:""; position:absolute; inset:0 0 auto; height:4px; background:#c4f65b; }.df-service-card:nth-child(2)::before { background:#7058cf; }.df-service-card:nth-child(3)::before { background:#34404e; }
.df-service-top { display:flex; align-items:center; justify-content:space-between; color:#777f85; font-size:.66rem; font-weight:800; letter-spacing:.12em; }
.df-service-glyph { color:#728e3c; font-size:1.3rem; }.df-service-featured .df-service-glyph { color:#7058cf; }
.df-service-card h3 { margin:34px 0 14px; font-size:1.5rem; letter-spacing:-.045em; }.df-service-card>p { color:#626a74; font-size:.88rem; line-height:1.8; }
.df-tags { display:flex; flex-wrap:wrap; gap:7px; margin-top:auto; padding-top:24px; }.df-tags span { padding:7px 9px; border:1px solid var(--border); border-radius:4px; color:#5d6670; font-size:.69rem; }
.df-process-section { padding:clamp(60px,6.2vw,90px) 0; background:#1d2430; color:#f5f4ef; }
.df-process-section .df-section-head .eyebrow { color:#c4f65b; }.df-process-section .df-section-head>p { color:#c0c5cb; }.df-process-section .df-section-head h2 { color:#f5f4ef; }
.df-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid rgba(245,244,239,.22); }
.df-steps article { padding:25px 22px 22px 0; border-bottom:1px solid rgba(245,244,239,.14); }.df-steps article+article { padding-left:22px; border-left:1px solid rgba(245,244,239,.15); }
.df-steps article>span { color:#c4f65b; font-size:.75rem; font-weight:800; letter-spacing:.12em; }.df-steps h3 { margin:25px 0 11px; color:#f8f8f2; font-size:1.14rem; }.df-steps p { color:#bfc5ce; font-size:.84rem; line-height:1.75; }
.df-example { display:grid; grid-template-columns:minmax(0,.9fr) minmax(380px,1.1fr); gap:30px 45px; align-items:center; margin-top:45px; padding:clamp(25px,4vw,48px); background:#2a3341; border:1px solid rgba(245,244,239,.14); border-radius:5px; }
.df-example-copy .eyebrow { color:#c4f65b; }.df-example-copy h3 { margin:14px 0; font-size:clamp(1.4rem,2.3vw,2rem); color:#f6f5ef; }.df-example-copy>p:last-child { color:#c1c7cf; font-size:.9rem; line-height:1.8; }
.df-route { display:flex; align-items:center; justify-content:center; gap:10px; }.df-route>div { min-width:105px; display:flex; flex-direction:column; gap:5px; }.df-route small { color:#c4f65b; font-size:.58rem; letter-spacing:.1em; }.df-route b { color:#f5f4ef; font-size:.95rem; }.df-route span { color:#b7c0ca; font-size:.66rem; line-height:1.4; }.df-route>i { color:#c4f65b; font-style:normal; }
.df-example-note { grid-column:1/-1; margin-top:-9px; color:#9fa9b5; font-size:.73rem; }
.df-approach { padding-top:clamp(64px,7vw,96px); padding-bottom:clamp(64px,7vw,96px); display:grid; grid-template-columns:1fr 1fr; gap:clamp(35px,8vw,120px); align-items:center; }
.df-approach-mark { min-height:310px; padding:clamp(28px,4vw,50px); background:#c4f65b; display:flex; flex-direction:column; justify-content:space-between; }
.df-approach-mark>span { color:#52662d; font-size:.66rem; font-weight:800; letter-spacing:.15em; }.df-approach-mark strong { color:#20282e; font-size:clamp(2rem,4vw,3.7rem); line-height:1.04; letter-spacing:-.06em; }.df-approach-mark em { color:#7058cf; font-style:normal; }
.df-approach-copy .eyebrow { color:#748d3b; }.df-approach-copy h2 { margin:14px 0 17px; font-size:clamp(1.8rem,3vw,2.6rem); }.df-approach-copy>p:not(.eyebrow) { color:#606873; line-height:1.8; }
.df-approach-copy ul { margin:22px 0 0; padding:0; list-style:none; }.df-approach-copy li { padding:11px 0 11px 23px; border-top:1px solid var(--border); color:#333c46; font-size:.87rem; position:relative; }.df-approach-copy li::before { content:""; position:absolute; left:1px; top:19px; width:8px; height:8px; border-radius:50%; background:#91b842; }
.df-contact-section { padding-top:16px; padding-bottom:82px; }.df-contact-intro { background:#1d2430; border-color:#1d2430; }.df-contact-intro h3 { color:#f5f4ef; }.df-contact-intro p { color:#c1c7cf; }.df-contact-intro .contact-foot { color:#aeb6c0; }.df-contact-intro .contact-foot a { color:#c4f65b; }
:root[data-brand="dev-fabric"] .surface-form { background:#fffefa; border-color:var(--border); }
:root[data-brand="dev-fabric"] .surface-form label { color:#414a54; }
:root[data-brand="dev-fabric"] .surface-form input:not([type="checkbox"]),:root[data-brand="dev-fabric"] .surface-form textarea { color:var(--text); background:#f8f8f3; border-color:var(--border); }
:root[data-brand="dev-fabric"] .surface-form input::placeholder,:root[data-brand="dev-fabric"] .surface-form textarea::placeholder { color:#969ca1; }
@media (max-width:1000px) {
 .df-hero-grid { grid-template-columns:1fr; }.df-hero-copy { max-width:850px; }
 .df-service-grid { grid-template-columns:1fr 1fr; }.df-service-card:last-child { grid-column:1/-1; min-height:300px; }.df-steps { grid-template-columns:1fr 1fr; }
 .df-steps article:nth-child(3) { border-left:0; padding-left:0; }.df-example { grid-template-columns:1fr; }
}
@media (max-width:720px) {
 :root[data-brand="dev-fabric"] .header-inner { height:72px; }:root[data-brand="dev-fabric"] .nav { background:#f5f4ef; }:root[data-brand="dev-fabric"] .menu-toggle { color:var(--text); background:#fffefa; border-color:var(--border); }
 .df-hero { padding-top:58px; }.df-hero-copy h1 { font-size:clamp(2.15rem,7.5vw,3rem); }
 .df-capability-inner { justify-content:flex-start; padding-block:18px; gap:12px 17px; }.df-capability-inner>span { width:100%; }.df-capability-inner>i { display:none; }
 .df-service-grid { grid-template-columns:1fr; }.df-service-card,.df-service-card:last-child { grid-column:auto; min-height:0; }
 .df-steps { grid-template-columns:1fr; }.df-steps article,.df-steps article+article,.df-steps article:nth-child(3) { padding:22px 0; border-left:0; }.df-steps h3 { margin:14px 0 8px; }
 .df-example { gap:24px; }.df-route { align-items:stretch; flex-direction:column; }.df-route>i { transform:rotate(90deg); align-self:flex-start; margin-left:45px; }.df-example-note { margin-top:0; }
 .df-approach { grid-template-columns:1fr; }.df-approach-mark { min-height:260px; }.df-contact-section { padding-bottom:60px; }
}
@media (max-width:420px) {
 .df-hero-meta { align-items:flex-start; flex-direction:column; gap:5px; }.df-hero-meta i { transform:rotate(90deg); margin-left:8px; }.df-route>div { min-width:0; }.df-capability-inner>b { font-size:.78rem; }
}

/* Public examples describe client facing outcomes, not our internal delivery process. */
.df-solution-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.df-solution-card { min-height:230px; padding:clamp(22px,3vw,34px); border:1px solid rgba(245,244,239,.17); background:#252f3d; display:flex; flex-direction:column; }
.df-solution-card>span { color:#c4f65b; font-size:.64rem; font-weight:800; letter-spacing:.15em; }
.df-solution-card h3 { margin:22px 0 10px; color:#f6f5ef; font-size:1.3rem; }
.df-solution-card p { color:#c1c7cf; font-size:.86rem; line-height:1.75; }
.df-solution-card small { margin-top:auto; padding-top:18px; color:#c4f65b; font-size:.68rem; letter-spacing:.04em; }
.df-solution-note { margin-top:18px; color:#aeb7c2; font-size:.75rem; line-height:1.6; }
@media (max-width:720px) { .df-solution-grid { grid-template-columns:1fr; } .df-solution-card { min-height:0; } .df-solution-card h3 { margin-top:15px; } }

.df-contact-prompts { margin:18px 0 0; padding:0; list-style:none; display:grid; gap:11px; }
.df-contact-prompts li { position:relative; padding-left:19px; color:#e0e4e8; font-size:.82rem; line-height:1.55; }
.df-contact-prompts li::before { content:""; position:absolute; left:0; top:.55em; width:7px; height:7px; border-radius:50%; background:#c4f65b; }
.df-contact-hint { margin:18px 0 0; color:#abb4bf !important; font-size:.75rem !important; line-height:1.6; }

/* Structured Dev-Fabric intake and repeatable offer cards. */
:root[data-brand="dev-fabric"] select { min-width:0;width:100%;border:1px solid rgba(29,36,48,.2);border-radius:10px;background:#fffefa;padding:12px 15px;color:var(--text);font:inherit;font-size:.88rem;line-height:1.6; }
.df-offer-card { min-height:0; }
.df-offer-card .button { align-self:flex-start;margin-top:20px; }
.intake-data { margin:0;padding:14px 16px 16px;border:1px solid var(--border);border-radius:10px; }
.intake-data legend { padding:0 7px;color:#d8e3f2;font-size:.78rem;font-weight:630; }
.intake-checks { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 14px; }
.intake-checks label { display:flex;flex-direction:row;align-items:flex-start;gap:9px;font-size:.75rem;font-weight:450;line-height:1.5; }
.intake-checks input { flex:none;margin-top:3px;accent-color:var(--accent); }
:root[data-brand="dev-fabric"] .intake-data legend { color:#37414d; }
@media (max-width:720px) {
  :root[data-brand="dev-fabric"] .df-solution-grid { grid-template-columns:1fr; }
  .intake-checks { grid-template-columns:1fr; }
  .df-offer-card .button { width:100%; }
}

/* Unified Dev-Fabric offer pages */
.df-landing-page{background:var(--bg);color:var(--text)}
.df-landing-page .site-header{position:sticky}
.df-landing-hero{overflow:hidden;border-bottom:1px solid var(--border);background:radial-gradient(circle at 78% 45%,rgba(196,246,91,.22),transparent 28%),linear-gradient(135deg,#f5f4ef 0%,#f1f3e8 100%)}
.df-landing-hero-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:clamp(38px,6vw,82px);align-items:center;min-height:620px;padding-block:clamp(64px,8vw,108px)}
.df-landing-hero-copy{max-width:790px}.df-landing-back{display:inline-block;margin-bottom:34px;color:#656d76;font-size:.78rem;font-weight:700}.df-landing-back:hover{color:#111722}
.df-landing-hero .eyebrow{display:flex;align-items:center;gap:11px;color:#606a55}.df-landing-hero h1{max-width:800px;margin:18px 0 0;font-size:clamp(2.7rem,5.3vw,5rem);line-height:1.02;letter-spacing:-.058em}.df-landing-hero .lead{max-width:760px;margin-top:26px;color:#626a74;line-height:1.82}
.df-landing-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.df-landing-summary{min-height:390px;padding:clamp(27px,3vw,40px);display:flex;flex-direction:column;background:#1d2430;color:#f5f4ef;box-shadow:var(--shadow)}
.df-landing-summary>span{color:#b8c28f;font-size:.64rem;font-weight:800;letter-spacing:.15em}.df-landing-summary>strong{margin-top:auto;font-size:clamp(2rem,3.2vw,3.2rem);line-height:1.04;letter-spacing:-.055em}.df-landing-summary>p{margin-top:24px;color:#c8ccd2;line-height:1.72}.df-landing-summary>small{margin-top:26px;padding-top:18px;border-top:1px solid #ffffff1c;color:#aeb5bf;font-size:.7rem;line-height:1.6}
.df-landing-content{padding-block:clamp(68px,8vw,108px)}
.df-landing-audience{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);gap:clamp(35px,8vw,110px);align-items:start;padding-bottom:clamp(55px,7vw,88px)}
.df-landing-audience h2,.df-landing-section-head h2{margin-top:10px;font-size:clamp(2rem,3.3vw,3.35rem)}.df-landing-audience>p{max-width:710px;color:#515a64;font-size:clamp(1.05rem,1.7vw,1.3rem);line-height:1.8}
.df-landing-scope{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.df-landing-card{min-height:390px;padding:clamp(26px,3.4vw,42px);border:1px solid var(--border);border-radius:22px;background:#fffefa}.df-landing-card-muted{background:#eef0e8}.df-landing-card>span{color:#8aa838;font-size:.67rem;font-weight:850;letter-spacing:.16em}.df-landing-card h2{margin:34px 0 19px;font-size:clamp(1.65rem,2.6vw,2.45rem)}.df-landing-card ul{margin:0;padding-left:1.2rem}.df-landing-card li{margin:13px 0;color:#555f69;line-height:1.72}.df-landing-card li::marker{color:#8cba31}
.df-landing-block,.df-landing-nav{padding-top:clamp(72px,9vw,116px)}
.df-landing-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,390px);gap:42px;align-items:end;margin-bottom:34px}.df-landing-section-head>p{line-height:1.75}
.df-landing-process ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0;padding:0;list-style:none;background:var(--border);border:1px solid var(--border)}.df-landing-process li{min-height:230px;padding:28px;background:var(--bg)}.df-landing-process li>span{color:#8aa838;font-size:.68rem;font-weight:850;letter-spacing:.15em}.df-landing-process li>strong{display:block;margin:48px 0 12px;font-size:1.15rem}.df-landing-process li>p{font-size:.86rem;line-height:1.7}.df-landing-note{margin-top:18px;font-size:.76rem}
.df-landing-faq-list{border-top:1px solid var(--border)}.df-landing-faq{border-bottom:1px solid var(--border);background:#fffefa}.df-landing-faq summary{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:24px;cursor:pointer;font-weight:760;list-style:none}.df-landing-faq summary::-webkit-details-marker{display:none}.df-landing-faq summary span{width:32px;height:32px;display:grid;place-items:center;flex:none;border:1px solid var(--border);border-radius:50%;color:#718240;font-size:1.15rem;transition:transform .2s}.df-landing-faq[open] summary span{transform:rotate(45deg)}.df-landing-faq p{max-width:820px;padding:0 70px 25px 24px;line-height:1.75}
.df-landing-nav-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.df-landing-nav-card{min-height:88px;padding:17px 20px;display:grid;grid-template-columns:36px minmax(0,1fr) 22px;gap:13px;align-items:center;border:1px solid var(--border);border-radius:14px;background:#fffefa;transition:border-color .2s,transform .2s}.df-landing-nav-card:hover{transform:translateY(-2px);border-color:#9abc47}.df-landing-nav-card>span{color:#8aa838;font-size:.66rem;font-weight:800}.df-landing-nav-card>strong{font-size:.88rem}.df-landing-nav-card>i{color:#747d86;font-style:normal}.df-landing-nav-card.is-current{background:#e8edda;border-color:#abc96c}
.df-landing-cta{margin-top:clamp(75px,9vw,118px);padding:clamp(30px,5vw,58px);display:flex;align-items:end;justify-content:space-between;gap:35px;background:#1d2430;color:#f5f4ef}.df-landing-cta .eyebrow{color:#b8c28f}.df-landing-cta h2{max-width:760px;margin:12px 0 16px;font-size:clamp(2rem,3.5vw,3.5rem)}.df-landing-cta p:not(.eyebrow){max-width:670px;color:#bdc3cb}.df-landing-cta>.button{flex:none}
@media(max-width:900px){.df-landing-hero-grid{grid-template-columns:1fr;min-height:0}.df-landing-summary{min-height:300px}.df-landing-audience{grid-template-columns:1fr;gap:22px}.df-landing-section-head{grid-template-columns:1fr;gap:15px}.df-landing-cta{align-items:flex-start;flex-direction:column}}
@media(max-width:700px){.df-landing-hero-grid{padding-block:48px 58px}.df-landing-back{margin-bottom:26px}.df-landing-hero h1{font-size:clamp(2.35rem,11vw,3.5rem)}.df-landing-actions .button{width:100%}.df-landing-summary{min-height:260px}.df-landing-scope,.df-landing-process ol,.df-landing-nav-grid{grid-template-columns:1fr}.df-landing-card{min-height:0}.df-landing-process li{min-height:190px}.df-landing-cta>.button{width:100%}}

.df-offer-card .df-offer-detail{display:inline-block;margin:14px 0 0 14px;color:var(--accent);font-weight:700;text-underline-offset:4px}
@media(max-width:520px){.df-offer-card .df-offer-detail{margin-left:0}}

/* Dev Fabric AI consultant */
:root[data-brand="dev-fabric"] .chat-panel { background:#fffefa; color:var(--text); border-color:rgba(29,36,48,.16); box-shadow:0 28px 85px rgba(29,36,48,.22); }
:root[data-brand="dev-fabric"] .chat-panel header { background:#f4f4ed; border-color:var(--border); }
:root[data-brand="dev-fabric"] .chat-panel header strong { color:#1d2430; }
:root[data-brand="dev-fabric"] .chat-panel header small { color:#69717b; }
:root[data-brand="dev-fabric"] .chat-panel label { color:#414a54; }
:root[data-brand="dev-fabric"] .chat-panel textarea { min-height:92px; color:var(--text); background:#f8f8f3; border-color:var(--border); }
:root[data-brand="dev-fabric"] .chat-panel textarea::placeholder { color:#969ca1; }
:root[data-brand="dev-fabric"] .chat-panel .chat-answer { background:#f0efe7; }
:root[data-brand="dev-fabric"] .chat-typing { width:max-content; min-width:92px; display:flex; align-items:center; gap:8px; color:#747b83; }
:root[data-brand="dev-fabric"] .chat-typing-label { font-size:.79rem; }
:root[data-brand="dev-fabric"] .chat-typing-dots { display:inline-flex; align-items:center; gap:3px; }
:root[data-brand="dev-fabric"] .chat-typing-dots i { width:5px; height:5px; border-radius:50%; background:#858c93; opacity:.35; animation:df-chat-typing 1.15s infinite ease-in-out; }
:root[data-brand="dev-fabric"] .chat-typing-dots i:nth-child(2){animation-delay:.16s}
:root[data-brand="dev-fabric"] .chat-typing-dots i:nth-child(3){animation-delay:.32s}
@keyframes df-chat-typing { 0%,60%,100%{transform:translateY(0);opacity:.32} 30%{transform:translateY(-3px);opacity:1} }
:root[data-brand="dev-fabric"] .chat-panel .chat-question { background:var(--accent-soft); }
:root[data-brand="dev-fabric"] .chat-panel .checkline { color:#646b76; }
:root[data-brand="dev-fabric"] .chat-panel form>.button { align-self:stretch; justify-content:center; }
:root[data-brand="dev-fabric"] .chat-toggle { cursor:pointer; }

:root[data-brand="dev-fabric"] .chat-lead-box { padding:15px 17px 17px; border-top:1px solid var(--border); background:#f6f6ef; }
:root[data-brand="dev-fabric"] .chat-lead-box[hidden] { display:none; }
:root[data-brand="dev-fabric"] .chat-lead-box>div { display:flex; flex-direction:column; gap:2px; margin-bottom:12px; }
:root[data-brand="dev-fabric"] .chat-lead-box>div strong { font-size:.82rem; }
:root[data-brand="dev-fabric"] .chat-lead-box form { gap:11px; }
:root[data-brand="dev-fabric"] .chat-lead-box input:not([type="checkbox"]) { color:var(--text); background:#fffefa; border-color:var(--border); }
:root[data-brand="dev-fabric"] .chat-lead-box .button { min-height:40px; justify-content:center; }

/* Dev-Fabric UI audit fixes — 2026-10-12 */
:root[data-brand="dev-fabric"] .nav>a:not(.button){white-space:nowrap}
:root[data-brand="dev-fabric"] .df-service-card{min-height:320px}
:root[data-brand="dev-fabric"] .df-solution-card{min-height:0}
:root[data-brand="dev-fabric"] .df-solution-card .button.secondary{
  color:#f6f5ef;
  border-color:rgba(245,244,239,.34);
  background:rgba(245,244,239,.06);
}
:root[data-brand="dev-fabric"] .df-solution-card .button.secondary:hover{
  color:#18200f;
  border-color:#c4f65b;
  background:#c4f65b;
}
:root[data-brand="dev-fabric"] .df-offer-card .button{margin-top:16px}
:root[data-brand="dev-fabric"] .df-offer-card .df-offer-detail{margin-top:12px}
:root[data-brand="dev-fabric"] .contact-layout{align-items:start}
:root[data-brand="dev-fabric"] .df-contact-intro{align-self:start;position:sticky;top:96px;min-height:0}

@media (max-width:1180px) and (min-width:721px){
  :root[data-brand="dev-fabric"] .header-inner{gap:14px}
  :root[data-brand="dev-fabric"] .brand{gap:9px}
  :root[data-brand="dev-fabric"] .brand-text{font-size:1rem}
  :root[data-brand="dev-fabric"] .brand-text small{font-size:.55rem;letter-spacing:.09em}
  :root[data-brand="dev-fabric"] .nav{gap:13px}
  :root[data-brand="dev-fabric"] .nav>a:not(.button){font-size:.8rem}
  :root[data-brand="dev-fabric"] .nav .button.small{padding:10px 14px;font-size:.79rem}
}
@media (max-width:1000px){
  :root[data-brand="dev-fabric"] .df-service-card{min-height:280px}
}
@media (max-width:720px){
  :root[data-brand="dev-fabric"] .df-contact-intro{position:static}
  :root[data-brand="dev-fabric"] .df-service-card{min-height:0}
  :root[data-brand="dev-fabric"] .df-solution-card{padding:22px}
  :root[data-brand="dev-fabric"] .df-solution-card .button.secondary{width:100%}
}

/* Public form anti-bot and local registration */
.captcha-box{margin:14px 0;padding:12px;border:1px solid var(--border);border-radius:12px;background:#f8fafc}.captcha-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px;font-size:.82rem;font-weight:700}.captcha-refresh{border:0;background:transparent;color:#4b5563;text-decoration:underline;cursor:pointer}.captcha-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.captcha-row img{width:210px;height:72px;object-fit:contain;border:1px solid #d9dee5;border-radius:8px;background:#fff}.captcha-row label{flex:1;min-width:150px}.captcha-error{border-color:#d45c55}.nav-cabinet{white-space:nowrap}@media(max-width:820px){.captcha-row{align-items:flex-start}.captcha-row img{max-width:100%}}
/* Dev-Fabric compact messenger UX — 2026-10-12 */
:root[data-brand="dev-fabric"] .brand{flex:0 0 auto;min-width:max-content}
:root[data-brand="dev-fabric"] .brand-text{white-space:nowrap}
:root[data-brand="dev-fabric"] .chat-panel{display:flex;flex-direction:column;overflow:hidden;width:min(410px,calc(100vw - 24px));height:min(620px,calc(100dvh - 24px));max-height:calc(100dvh - 24px)}
:root[data-brand="dev-fabric"] .chat-panel[hidden]{display:none}
:root[data-brand="dev-fabric"] .chat-panel>header{flex:0 0 auto;padding:14px 16px}
:root[data-brand="dev-fabric"] .chat-panel>header strong{font-size:.95rem;line-height:1.2}
:root[data-brand="dev-fabric"] .chat-log{flex:1 1 auto;min-height:0;max-height:none;padding:14px 16px;gap:9px;overflow-y:auto;overscroll-behavior:contain}
:root[data-brand="dev-fabric"] .chat-log p{font-size:.82rem;line-height:1.48}
:root[data-brand="dev-fabric"] .chat-question,:root[data-brand="dev-fabric"] .chat-answer{padding:9px 12px;border-radius:14px;max-width:88%}
:root[data-brand="dev-fabric"] #chat-form{flex:0 0 auto;padding:10px 14px 12px;gap:8px;background:#fffefa;border-top:1px solid var(--border)}
:root[data-brand="dev-fabric"] #chat-form>label:first-child{font-size:0;line-height:0}
:root[data-brand="dev-fabric"] #chat-form textarea{min-height:52px!important;max-height:112px;height:52px;padding:11px 12px;resize:none;font-size:.86rem;line-height:1.38;overflow-y:auto}
:root[data-brand="dev-fabric"] #chat-form .checkline{align-items:flex-start;gap:7px;font-size:.67rem;line-height:1.35;margin:0}
:root[data-brand="dev-fabric"] #chat-form .checkline input{margin-top:2px;flex:0 0 auto}
:root[data-brand="dev-fabric"] #chat-form>.button{min-height:38px;height:38px;padding:8px 14px;font-size:.78rem}
:root[data-brand="dev-fabric"] #chat-status:empty{display:none}
:root[data-brand="dev-fabric"] .chat-lead-box{flex:0 0 auto;max-height:52%;overflow-y:auto;padding:12px 14px}
@media (max-width:1240px){
:root[data-brand="dev-fabric"] .menu-toggle{display:block}
:root[data-brand="dev-fabric"] .nav{display:none;position:absolute;left:0;right:0;top:70px;padding:18px clamp(18px,svw,42px);background:var(--bg-alt);flex-direction:column;align-items:stretch;gap:14px;box-shadow:0 14px 34px #0003}
:root[data-brand="dev-fabric"] .nav.open{display:flex}
:root[data-brand="dev-fabric"] .header-inner{height:70px}
:root[data-brand="dev-fabric"] .brand-text{font-size:1rem}
:root[data-brand="dev-fabric"] .brand-text small{font-size:.52rem}
:root[data-brand="dev-fabric"] .chat-wrap{right:12px;bottom:12px;max-width:calc(100vw - 24px)}
:root[data-brand="dev-fabric"] .chat-panel{width:min(410px,calc(100vw - 24px));height:min(560px,calc(100dvh - 24px))}
}
@media (max-width:720px){
:root[data-brand="dev-fabric"] .chat-wrap{left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom));max-width:none}
:root[data-brand="dev-fabric"] .chat-panel{width:100%;height:min(560px,calc(100dvh - max(16px,env(safe-area-inset-top)) - max(16px,env(safe-area-inset-bottom))));max-height:calc(100dvh - max(16px,env(safe-area-inset-top)) - max(16px,env(safe-area-inset-bottom)));border-radius:16px}
:root[data-brand="dev-fabric"] .chat-toggle{align-self:flex-end}
}
/* compact CAPTCHA inside public chat */
:root[data-brand="dev-fabric"] #chat-captcha{margin:0;padding:7px 8px;border-radius:9px}
:root[data-brand="dev-fabric"] #chat-captcha .captcha-head{margin-bottom:5px;font-size:.62rem;gap:8px}
:root[data-brand="dev-fabric"] #chat-captcha .captcha-refresh{font-size:.62rem}
:root[data-brand="dev-fabric"] #chat-captcha .captcha-row{gap:8px;flex-wrap:nowrap;align-items:center}
:root[data-brand="dev-fabric"] #chat-captcha .captcha-row img{width:118px;height:40px;border-radius:6px}
:root[data-brand="dev-fabric"] #chat-captcha .captcha-row label{min-width:0;flex:1;font-size:0;line-height:0}
:root[data-brand="dev-fabric"] #chat-captcha .captcha-answer{height:40px;padding:7px 9px;font-size:.8rem;line-height:1.2}

/* Progressive public chat actions — 2026-10-13 */
:root[data-brand="dev-fabric"] .chat-lead-box{padding:8px 12px;max-height:44%;overflow-y:auto;background:#fffefa;border-top:1px solid var(--border)}
:root[data-brand="dev-fabric"] .chat-lead-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;border:0;background:transparent;color:#1b2430;padding:8px 4px;font:inherit;font-size:.78rem;font-weight:800;text-align:left;cursor:pointer}
:root[data-brand="dev-fabric"] .chat-lead-toggle span{transition:transform .18s ease}
:root[data-brand="dev-fabric"] .chat-lead-toggle.open span{transform:rotate(90deg)}
:root[data-brand="dev-fabric"] .chat-lead-details[hidden]{display:none}
:root[data-brand="dev-fabric"] .chat-lead-details{padding:4px 2px 2px}
:root[data-brand="dev-fabric"] .chat-lead-note{margin:0 0 9px;color:var(--muted);font-size:.68rem;line-height:1.35}
:root[data-brand="dev-fabric"] #chat-lead-form{display:grid;gap:8px}
:root[data-brand="dev-fabric"] #chat-lead-form label{gap:4px;font-size:.72rem}
:root[data-brand="dev-fabric"] #chat-lead-form input{min-height:39px;padding:8px 10px}
:root[data-brand="dev-fabric"] #chat-captcha{margin:0 0 2px;padding:7px 8px;background:#f7f8f5;border:1px solid #d8ddd3}
:root[data-brand="dev-fabric"] #chat-captcha .captcha-head>span{font-size:.64rem}
:root[data-brand="dev-fabric"] #chat-captcha .captcha-row img{width:112px;height:38px;background:#fff}
:root[data-brand="dev-fabric"] #chat-captcha .captcha-answer{height:38px!important;min-height:38px!important;background:#fff!important;color:#1b2430!important;border:1px solid #cbd2ca!important;border-radius:7px!important;box-shadow:none!important}
:root[data-brand="dev-fabric"] #chat-captcha .captcha-answer::placeholder{color:#8b9490}
@media(max-width:720px){:root[data-brand="dev-fabric"] .chat-lead-box{max-height:46%;padding:7px 10px}:root[data-brand="dev-fabric"] #chat-captcha .captcha-row{gap:6px}:root[data-brand="dev-fabric"] #chat-captcha .captcha-row img{width:104px;height:36px}:root[data-brand="dev-fabric"] #chat-captcha .captcha-answer{height:36px!important;min-height:36px!important}}

/* Compact tablet navigation + dense service cards — 2026-10-13 */
@media (max-width:1240px){
  :root[data-brand="dev-fabric"] .header-inner{position:relative}
  :root[data-brand="dev-fabric"] .nav{
    left:auto;right:0;top:64px;width:min(340px,calc(100vw - 24px));
    padding:8px;background:#f7f6f1;border:1px solid var(--border);border-radius:14px;
    gap:2px;align-items:stretch;box-shadow:0 18px 44px #17202d24;z-index:70
  }
  :root[data-brand="dev-fabric"] .nav>a:not(.button){
    display:block;padding:10px 12px;border-radius:9px;font-size:.84rem;line-height:1.2;color:#3f4855
  }
  :root[data-brand="dev-fabric"] .nav>a:not(.button):hover{background:#eceee8;color:#17202d}
  :root[data-brand="dev-fabric"] .nav .button.small{
    width:100%;min-height:40px;margin-top:4px;padding:9px 12px;font-size:.8rem;justify-content:center
  }
  :root[data-brand="dev-fabric"] .df-service-grid{align-items:start}
  :root[data-brand="dev-fabric"] .df-service-card,
  :root[data-brand="dev-fabric"] .df-service-card:last-child{min-height:0;align-self:start}
  :root[data-brand="dev-fabric"] .df-tags{margin-top:16px;padding-top:0}
}
@media (max-width:720px){
  :root[data-brand="dev-fabric"] .nav{right:0;left:auto;top:62px;width:min(320px,calc(100vw - 24px));padding:7px}
  :root[data-brand="dev-fabric"] .nav>a:not(.button){padding:10px 11px}
}

/* Dev-Fabric card typography + action alignment — 2026-10-13 */
:root[data-brand="dev-fabric"] .df-service-grid{align-items:stretch}
:root[data-brand="dev-fabric"] .df-service-card,
:root[data-brand="dev-fabric"] .df-service-card:last-child{
  min-height:0;
  height:100%;
  align-self:stretch;
  padding:clamp(24px,2.35vw,32px);
}
:root[data-brand="dev-fabric"] .df-service-card h3{
  margin:30px 0 14px;
  line-height:1.16;
  text-wrap:balance;
}
:root[data-brand="dev-fabric"] .df-service-card>p{
  margin:0;
  color:#626a74;
  font-size:.9rem;
  line-height:1.72;
  text-align:justify;
  text-align-last:left;
  hyphens:auto;
  -webkit-hyphens:auto;
  text-wrap:pretty;
}
:root[data-brand="dev-fabric"] .df-tags{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:auto;
  padding-top:20px;
  align-items:stretch;
}
:root[data-brand="dev-fabric"] .df-tags span{
  min-width:0;
  min-height:40px;
  padding:8px 8px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  white-space:nowrap;
  line-height:1.15;
  font-size:.69rem;
}
:root[data-brand="dev-fabric"] .df-solution-card>p{
  text-align:justify;
  text-align-last:left;
  hyphens:auto;
  -webkit-hyphens:auto;
  text-wrap:pretty;
}
:root[data-brand="dev-fabric"] .df-offer-card .button.secondary{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
@media (max-width:1240px) and (min-width:721px){
  :root[data-brand="dev-fabric"] .df-service-grid{align-items:stretch}
  :root[data-brand="dev-fabric"] .df-service-card,
  :root[data-brand="dev-fabric"] .df-service-card:last-child{height:100%;align-self:stretch}
  :root[data-brand="dev-fabric"] .df-tags{margin-top:auto;padding-top:18px}
  :root[data-brand="dev-fabric"] .df-tags span{font-size:.67rem;padding-inline:6px}
}
@media (max-width:720px){
  :root[data-brand="dev-fabric"] .df-service-card,
  :root[data-brand="dev-fabric"] .df-service-card:last-child{height:auto;padding:22px 20px}
  :root[data-brand="dev-fabric"] .df-service-card>p{text-align:left;hyphens:none;font-size:.88rem;line-height:1.65}
  :root[data-brand="dev-fabric"] .df-tags{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding-top:16px}
  :root[data-brand="dev-fabric"] .df-tags span{white-space:normal;min-height:40px;font-size:.7rem;padding:8px 7px}
  :root[data-brand="dev-fabric"] .df-tags span:last-child:nth-child(odd){grid-column:1/-1}
  :root[data-brand="dev-fabric"] .df-solution-card>p{text-align:left;hyphens:none}
}

/* Keep solution-card actions aligned across rows */
:root[data-brand="dev-fabric"] .df-solution-grid{align-items:stretch}
:root[data-brand="dev-fabric"] .df-solution-card{height:100%}
:root[data-brand="dev-fabric"] .df-offer-card small{min-height:3.2em}
:root[data-brand="dev-fabric"] .df-offer-card .button.secondary{width:max-content;min-width:160px;margin-top:14px}
:root[data-brand="dev-fabric"] .df-offer-card .df-offer-detail{margin-top:12px}
@media(max-width:720px){
  :root[data-brand="dev-fabric"] .df-solution-card{height:auto}
  :root[data-brand="dev-fabric"] .df-offer-card small{min-height:0}
  :root[data-brand="dev-fabric"] .df-offer-card .button.secondary{width:100%;min-width:0}
}

/* Feedback + dedicated application page */
:root[data-brand="dev-fabric"] .feedback-form{align-self:start}
:root[data-brand="dev-fabric"] .feedback-application-link{margin-top:24px;width:max-content;max-width:100%}
:root[data-brand="dev-fabric"] .application-page{padding-top:clamp(54px,7vw,92px);padding-bottom:90px}
:root[data-brand="dev-fabric"] .application-head{max-width:860px;margin-bottom:34px}
:root[data-brand="dev-fabric"] .application-head h1{font-size:clamp(2.35rem,5vw,4.6rem);letter-spacing:-.055em;margin:12px 0 18px}
:root[data-brand="dev-fabric"] .application-head>p:last-child{max-width:760px;color:var(--muted);font-size:1rem;line-height:1.7}
:root[data-brand="dev-fabric"] .application-layout{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(0,1.65fr);gap:24px;align-items:start}
:root[data-brand="dev-fabric"] .application-aside{position:sticky;top:92px;padding:26px;border:1px solid var(--border);border-radius:14px;background:#f7f6f1}
:root[data-brand="dev-fabric"] .application-aside h3{margin-bottom:15px}:root[data-brand="dev-fabric"] .application-aside ol{padding-left:20px;color:var(--muted);display:grid;gap:11px;line-height:1.55;margin-bottom:20px}
:root[data-brand="dev-fabric"] .application-form{max-width:none}
:root[data-brand="dev-fabric"] .file-field{display:grid;gap:8px;padding:16px;border:1px dashed #b9c1c9;border-radius:12px;background:#fafaf7}
:root[data-brand="dev-fabric"] .file-field>span,:root[data-brand="dev-fabric"] .file-field small{color:var(--muted);font-size:.72rem;font-weight:500}
:root[data-brand="dev-fabric"] .file-field input[type="file"]{width:100%;padding:10px;background:#fff;border:1px solid var(--border);border-radius:8px}
@media(max-width:820px){:root[data-brand="dev-fabric"] .application-layout{grid-template-columns:1fr}:root[data-brand="dev-fabric"] .application-aside{position:static}:root[data-brand="dev-fabric"] .application-page{padding-top:34px}:root[data-brand="dev-fabric"] .feedback-layout{grid-template-columns:1fr}}

/* 2026-10-13: balanced Russian typography on solution pages for phones */
@media (max-width:700px){
  .df-landing-hero .lead,
  .df-landing-summary>p,
  .df-landing-audience>p,
  .df-landing-section-head>p,
  .df-landing-card li,
  .df-landing-process li>p,
  .df-landing-faq p,
  .df-landing-cta p:not(.eyebrow){
    text-align:justify;
    text-align-last:left;
    hyphens:auto;
    -webkit-hyphens:auto;
    overflow-wrap:break-word;
    word-break:normal;
    text-wrap:pretty;
  }
  .df-landing-hero .lead{line-height:1.68;}
  .df-landing-summary>p{line-height:1.66;}
  .df-landing-audience>p{line-height:1.68;}
  .df-landing-card li,.df-landing-process li>p,.df-landing-faq p{line-height:1.64;}
}

/* Very narrow phones: avoid stretched word spacing. */
@media (max-width:420px){
  .df-landing-hero .lead,
  .df-landing-summary>p,
  .df-landing-audience>p,
  .df-landing-section-head>p,
  .df-landing-card li,
  .df-landing-process li>p,
  .df-landing-faq p,
  .df-landing-cta p:not(.eyebrow){
    text-align:left;
    text-wrap:pretty;
  }
}

/* 2026-10-13: iPhone/Safari form stability and horizontal-overflow hardening */
@media (max-width:720px){
  html[data-brand="dev-fabric"]{-webkit-text-size-adjust:100%;text-size-adjust:100%;}
  html[data-brand="dev-fabric"],
  html[data-brand="dev-fabric"] body{
    width:100%;
    min-width:0;
    max-width:100%;
    overflow-x:hidden;
  }
  :root[data-brand="dev-fabric"] .shell{
    width:calc(100% - 24px);
    max-width:100%;
  }
  :root[data-brand="dev-fabric"] main,
  :root[data-brand="dev-fabric"] section,
  :root[data-brand="dev-fabric"] .contact-layout,
  :root[data-brand="dev-fabric"] .surface-form,
  :root[data-brand="dev-fabric"] form,
  :root[data-brand="dev-fabric"] .form-row,
  :root[data-brand="dev-fabric"] label,
  :root[data-brand="dev-fabric"] .captcha-box,
  :root[data-brand="dev-fabric"] .captcha-row{
    min-width:0;
    max-width:100%;
  }
  /* iOS Safari auto-zooms focused controls below 16px, which visually shifts/crops the page. */
  :root[data-brand="dev-fabric"] input:not([type="checkbox"]),
  :root[data-brand="dev-fabric"] textarea,
  :root[data-brand="dev-fabric"] select{
    font-size:16px!important;
  }
  :root[data-brand="dev-fabric"] #lead-captcha .captcha-row{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:10px;
  }
  :root[data-brand="dev-fabric"] #lead-captcha .captcha-row img{
    width:min(210px,100%);
    max-width:100%;
    height:auto;
  }
  :root[data-brand="dev-fabric"] #lead-captcha .captcha-row label{
    width:100%;
    min-width:0;
  }
}

/* 2026-10-13: iPhone narrow-width audit fixes */
@media (max-width:720px){
  :root[data-brand="dev-fabric"] .contact-layout > *,
  :root[data-brand="dev-fabric"] .feedback-layout > *{
    min-width:0;
    width:100%;
    max-width:100%;
  }
  :root[data-brand="dev-fabric"] #lead-captcha .captcha-head{
    flex-wrap:wrap;
    row-gap:6px;
  }
  :root[data-brand="dev-fabric"] #lead-captcha .captcha-row{
    display:grid;
    grid-template-columns:118px minmax(0,1fr);
    align-items:center;
    gap:10px;
  }
  :root[data-brand="dev-fabric"] #lead-captcha .captcha-row img{
    width:118px;
    height:44px;
    max-width:100%;
    object-fit:contain;
  }
  :root[data-brand="dev-fabric"] #lead-captcha .captcha-row label{
    width:100%;
    min-width:0;
  }
  :root[data-brand="dev-fabric"] .feedback-application-link{
    min-width:0;
    max-width:100%;
  }
}
@media (max-width:340px){
  :root[data-brand="dev-fabric"] .surface-form,
  :root[data-brand="dev-fabric"] .contact-intro{
    padding:18px;
  }
  :root[data-brand="dev-fabric"] #lead-captcha .captcha-row{
    grid-template-columns:minmax(0,1fr);
  }
  :root[data-brand="dev-fabric"] #lead-captcha .captcha-row img{
    width:min(180px,100%);
    height:auto;
  }
  :root[data-brand="dev-fabric"] .feedback-application-link{
    width:100%;
    white-space:normal;
  }
}

/* Dev Fabric purple secondary accent — 2026-10-14 */
:root[data-brand="dev-fabric"]{
  --accent-secondary-soft:rgba(112,88,207,.10);
  --accent-secondary-border:rgba(112,88,207,.30);
}
:root[data-brand="dev-fabric"] .nav>a:not(.button):hover,
:root[data-brand="dev-fabric"] .nav>a[aria-current="page"]{color:var(--accent-secondary)}
:root[data-brand="dev-fabric"] .button.secondary{
  border-color:var(--accent-secondary-border);
  background:rgba(112,88,207,.035);
}
:root[data-brand="dev-fabric"] .button.secondary:hover{
  border-color:rgba(112,88,207,.52);
  background:rgba(112,88,207,.10);
  color:#4f4191;
}
:root[data-brand="dev-fabric"] a:focus-visible,
:root[data-brand="dev-fabric"] button:focus-visible,
:root[data-brand="dev-fabric"] input:focus-visible,
:root[data-brand="dev-fabric"] textarea:focus-visible,
:root[data-brand="dev-fabric"] select:focus-visible{outline-color:rgba(112,88,207,.65)}
:root[data-brand="dev-fabric"] .df-hero{
  background:radial-gradient(ellipse at 82% 42%,rgba(196,246,91,.28),transparent 32%),radial-gradient(circle at 91% 76%,rgba(112,88,207,.11),transparent 24%),linear-gradient(118deg,#f5f4ef 0%,#f5f4ef 52%,#e9eee0 100%);
}
:root[data-brand="dev-fabric"] .df-capability-inner>i{background:var(--accent-secondary);opacity:.62}
:root[data-brand="dev-fabric"] .df-solution-card:nth-child(even)>span,
:root[data-brand="dev-fabric"] .df-solution-card:nth-child(even)>small{color:#aa9af3}
:root[data-brand="dev-fabric"] .df-tags span:hover{border-color:rgba(112,88,207,.35);background:rgba(112,88,207,.055)}

/* Dev Fabric materials grid — 3-up desktop */
:root[data-brand="dev-fabric"] #materials .df-solution-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
@media (max-width:1100px) and (min-width:861px){
  :root[data-brand="dev-fabric"] #materials .df-solution-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:860px) and (min-width:721px){
  :root[data-brand="dev-fabric"] #materials .df-solution-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  :root[data-brand="dev-fabric"] #materials .df-solution-card:last-child{grid-column:1/-1;min-height:190px}
}
@media (max-width:720px){
  :root[data-brand="dev-fabric"] #materials .df-solution-grid{grid-template-columns:1fr;}
}

/* Dev Fabric compact vertical rhythm — 2026-10-14 */
:root[data-brand="dev-fabric"] .df-hero{padding:clamp(42px,4.8vw,64px) 0 clamp(34px,4vw,56px)}
:root[data-brand="dev-fabric"] .df-capability-inner{min-height:58px}
:root[data-brand="dev-fabric"] .df-section{padding-top:clamp(40px,4.3vw,62px);padding-bottom:clamp(40px,4.3vw,62px)}
:root[data-brand="dev-fabric"] .df-section-head{margin-bottom:20px}
:root[data-brand="dev-fabric"] .df-process-section{padding:clamp(44px,4.8vw,66px) 0}
:root[data-brand="dev-fabric"] .df-example{margin-top:30px}
:root[data-brand="dev-fabric"] .df-approach{padding-top:clamp(44px,5vw,68px);padding-bottom:clamp(44px,5vw,68px)}
:root[data-brand="dev-fabric"] .df-contact-section{padding-top:8px;padding-bottom:56px}
@media (max-width:720px){
  :root[data-brand="dev-fabric"] .df-hero{padding-top:42px;padding-bottom:34px}
  :root[data-brand="dev-fabric"] .df-capability-inner{padding-block:13px;min-height:0}
  :root[data-brand="dev-fabric"] .df-section{padding-top:34px;padding-bottom:34px}
  :root[data-brand="dev-fabric"] .df-section-head{margin-bottom:16px}
  :root[data-brand="dev-fabric"] .df-process-section{padding:38px 0}
  :root[data-brand="dev-fabric"] .df-example{margin-top:22px}
  :root[data-brand="dev-fabric"] .df-approach{padding-top:38px;padding-bottom:38px}
  :root[data-brand="dev-fabric"] .df-contact-section{padding-top:4px;padding-bottom:44px}
}

/* Dev Fabric compact vertical rhythm v2 — 2026-10-14 */
:root[data-brand="dev-fabric"] .df-hero{padding:clamp(30px,3.5vw,46px) 0 clamp(26px,3vw,40px)}
:root[data-brand="dev-fabric"] .df-capability-inner{min-height:48px}
:root[data-brand="dev-fabric"] .df-section{padding-top:clamp(28px,3.1vw,44px);padding-bottom:clamp(28px,3.1vw,44px)}
:root[data-brand="dev-fabric"] .df-section-head{margin-bottom:14px}
:root[data-brand="dev-fabric"] .df-process-section{padding:clamp(32px,3.5vw,50px) 0}
:root[data-brand="dev-fabric"] .df-example{margin-top:22px}
:root[data-brand="dev-fabric"] .df-approach{padding-top:clamp(30px,3.6vw,50px);padding-bottom:clamp(30px,3.6vw,50px)}
:root[data-brand="dev-fabric"] .df-contact-section{padding-top:2px;padding-bottom:40px}
:root[data-brand="dev-fabric"] #materials.df-section{padding-top:26px;padding-bottom:28px}
@media (max-width:720px){
  :root[data-brand="dev-fabric"] .df-hero{padding-top:30px;padding-bottom:26px}
  :root[data-brand="dev-fabric"] .df-capability-inner{padding-block:10px;min-height:0}
  :root[data-brand="dev-fabric"] .df-section{padding-top:26px;padding-bottom:26px}
  :root[data-brand="dev-fabric"] .df-section-head{margin-bottom:12px}
  :root[data-brand="dev-fabric"] .df-process-section{padding:30px 0}
  :root[data-brand="dev-fabric"] .df-example{margin-top:18px}
  :root[data-brand="dev-fabric"] .df-approach{padding-top:28px;padding-bottom:28px}
  :root[data-brand="dev-fabric"] .df-contact-section{padding-top:0;padding-bottom:34px}
  :root[data-brand="dev-fabric"] #materials.df-section{padding-top:24px;padding-bottom:24px}
}

/* Ready Solutions product showcase */
:root[data-brand="dev-fabric"] .df-ready-section{padding-top:clamp(54px,6vw,82px);padding-bottom:clamp(24px,2.8vw,38px)}
.df-ready-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.df-ready-card{position:relative;min-height:360px;padding:clamp(26px,3.3vw,42px);display:flex;flex-direction:column;border:1px solid var(--border);border-radius:22px;background:#fffefa;color:var(--text);overflow:hidden;transition:transform .2s,border-color .2s,box-shadow .2s}.df-ready-card::after{content:"";position:absolute;right:-55px;top:-55px;width:170px;height:170px;border-radius:50%;background:rgba(196,246,91,.20);pointer-events:none}.df-ready-card:nth-child(2)::after{background:rgba(112,88,207,.16)}.df-ready-card:nth-child(3)::after{background:rgba(233,154,96,.18)}.df-ready-card:nth-child(4)::after{background:rgba(80,140,169,.16)}.df-ready-card:hover{transform:translateY(-4px);border-color:#a5bd70;box-shadow:0 18px 48px rgba(31,39,49,.09)}.df-ready-kicker{font-size:.65rem;font-weight:850;letter-spacing:.15em;color:#77815f}.df-ready-card h3,.df-ready-card h2{margin:44px 0 14px;font-size:clamp(1.7rem,2.7vw,2.55rem);letter-spacing:-.052em}.df-ready-card>p{max-width:560px;color:#5c6570;line-height:1.75}.df-ready-tags{display:flex;flex-wrap:wrap;gap:7px;margin:22px 0 30px}.df-ready-tags span{padding:7px 10px;border:1px solid var(--border);border-radius:999px;background:#f3f4ee;color:#555e67;font-size:.68rem;font-weight:720}.df-ready-card>b{margin-top:auto;display:flex;align-items:center;justify-content:space-between;padding-top:22px;border-top:1px solid var(--border);font-size:.8rem}.df-ready-card>b i{font-style:normal;font-size:1.15rem}.df-ready-all{display:flex;justify-content:center;margin-top:24px}.df-ready-grid-hub .df-ready-card{min-height:390px}
.df-product-page{background:var(--bg);color:var(--text)}.df-product-hero{border-bottom:1px solid var(--border);background:radial-gradient(circle at 78% 32%,rgba(196,246,91,.2),transparent 28%),linear-gradient(135deg,#f5f4ef,#f0f2e8)}.df-product-hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:clamp(38px,6vw,82px);align-items:center;min-height:650px;padding-block:clamp(58px,8vw,105px)}.df-product-copy h1{max-width:820px;margin:18px 0 0;font-size:clamp(2.8rem,5.4vw,5.25rem);line-height:1;letter-spacing:-.061em}.df-product-copy .lead{max-width:760px;margin-top:25px;color:#5c6670;line-height:1.78;font-size:clamp(1rem,1.45vw,1.18rem)}.df-product-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.df-product-chips span{padding:7px 11px;border:1px solid #cbd2bd;border-radius:999px;background:#f9faef;font-size:.7rem;font-weight:760;color:#5d6750}.df-product-screen{min-height:410px;padding:26px;display:flex;flex-direction:column;border-radius:24px;background:#1d2430;color:#f6f5ef;box-shadow:0 30px 80px rgba(24,31,40,.18)}.df-product-screen-head{display:flex;justify-content:space-between;gap:20px;padding-bottom:19px;border-bottom:1px solid #ffffff18;font-size:.68rem;font-weight:800;letter-spacing:.11em}.df-product-screen-head i{font-style:normal;color:#c4f65b;letter-spacing:.25em}.df-product-screen h2{margin:28px 0 16px;font-size:1.55rem}.df-product-screen>div:not(.df-product-screen-head){display:grid;grid-template-columns:1fr 1.35fr;gap:15px;padding:13px 0;border-bottom:1px solid #ffffff12}.df-product-screen>div span{color:#aeb6c0;font-size:.73rem}.df-product-screen>div b{font-size:.78rem}.df-product-screen>small{margin-top:auto;padding-top:22px;color:#9fa8b3;font-size:.67rem}.df-product-intro{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);gap:clamp(40px,8vw,112px);align-items:start}.df-product-intro h2{margin-top:12px;font-size:clamp(2.1rem,3.5vw,3.6rem)}.df-product-intro>p{font-size:clamp(1.05rem,1.6vw,1.28rem);line-height:1.8;color:#515b65}.df-product-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.df-product-feature{min-height:290px;padding:clamp(26px,3.2vw,40px);border:1px solid var(--border);border-radius:20px;background:#fffefa}.df-product-feature>span{font-size:.66rem;font-weight:850;letter-spacing:.15em;color:#83a53d}.df-product-feature h2{margin:44px 0 15px;font-size:clamp(1.45rem,2.1vw,2rem)}.df-product-feature p{color:#5b6570;line-height:1.75}.df-product-flow ol{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0;list-style:none;border:1px solid var(--border);background:var(--border);gap:1px}.df-product-flow li{min-height:150px;padding:22px;background:#fffefa;display:flex;flex-direction:column}.df-product-flow li span{font-size:.64rem;font-weight:850;color:#83a53d}.df-product-flow li b{margin-top:auto;font-size:.9rem}.df-product-cta{margin-bottom:clamp(70px,9vw,118px)}.df-solutions-hub-hero{padding:clamp(75px,10vw,130px) 0}.df-solutions-hub-hero h1{max-width:900px;margin:15px 0;font-size:clamp(3rem,7vw,6.4rem);line-height:.96;letter-spacing:-.065em}.df-solutions-hub-hero .lead{max-width:800px;color:#5b6570;font-size:clamp(1.05rem,1.6vw,1.3rem);line-height:1.75}
@media(max-width:900px){.df-product-hero-grid{grid-template-columns:1fr;min-height:0}.df-product-screen{min-height:330px}.df-product-intro{grid-template-columns:1fr;gap:24px}.df-product-flow ol{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.df-ready-grid,.df-product-feature-grid{grid-template-columns:1fr}.df-ready-card,.df-ready-grid-hub .df-ready-card{min-height:0}.df-ready-card h3,.df-ready-card h2{margin-top:30px}.df-product-hero-grid{padding-block:44px 56px}.df-product-copy h1{font-size:clamp(2.45rem,11.5vw,3.65rem)}.df-product-screen{min-height:300px;padding:20px}.df-product-flow ol{grid-template-columns:1fr}.df-product-flow li{min-height:105px}.df-landing-actions .button{width:100%}.df-solutions-hub-hero{padding:64px 0}.df-ready-all .button{width:100%}}

/* Homepage section handoff: remove dead vertical zone between Ready Solutions and Directions */
:root[data-brand="dev-fabric"] #ready-solutions.df-ready-section{padding-bottom:12px!important}
:root[data-brand="dev-fabric"] #ready-solutions .df-ready-all{margin-top:18px;margin-bottom:0}
:root[data-brand="dev-fabric"] #services.df-section{padding-top:18px!important}
@media(max-width:720px){
 :root[data-brand="dev-fabric"] #ready-solutions.df-ready-section{padding-bottom:10px!important}
 :root[data-brand="dev-fabric"] #services.df-section{padding-top:14px!important}
}

@media(max-width:720px){
  .df-product-page .df-product-intro.section{padding-bottom:18px}
  .df-product-page .df-product-feature-grid{gap:10px}
  .df-product-page .df-product-feature{min-height:0;padding:22px 22px 24px;border-radius:18px}
  .df-product-page .df-product-feature h2{margin:24px 0 10px;font-size:clamp(1.35rem,6.2vw,1.72rem);line-height:1.16}
  .df-product-page .df-product-feature p{margin:0;line-height:1.62}
}
@media(max-width:430px){
  .df-product-page .df-product-intro.section{padding-bottom:14px}
  .df-product-page .df-product-feature-grid{gap:8px}
  .df-product-page .df-product-feature{padding:19px 18px 21px}
  .df-product-page .df-product-feature h2{margin-top:20px}
}
