@font-face{font-family:Vazirmatn Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/vazirmatn-arabic-wght-normal.woff2)format("woff2-variations");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Vazirmatn Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/vazirmatn-latin-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Vazirmatn Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/vazirmatn-latin-wght-normal.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#0d0e10;--surface:#15171a;--raised:#1d2025;--wash:#23272e;--ink:#eef0f4;--muted:#a6acb7;--line:#30353d;--accent:#b1cbe5;--action-ink:#111923;--danger:#efb5a3;--blue:var(--accent);--white:var(--ink);--font:"Vazirmatn Variable", Tahoma, sans-serif;--radius:14px;--ease:cubic-bezier(.2, .8, .2, 1);--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-6:48px;--space-8:64px}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f6f7f9;--surface:#fff;--raised:#edf0f4;--wash:#e6ebf1;--ink:#19212c;--muted:#566171;--line:#d2d8e1;--accent:#365e82;--action-ink:#fff;--danger:#9d3823}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{background:var(--paper);color:var(--ink);font:400 16px/1.9 var(--font);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed}button,a{transition:background .2s, color .2s, border-color .2s, transform .2s var(--ease)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex="0"]:focus-visible{outline:2px solid var(--accent);outline-offset:5px}::selection{background:var(--accent);color:var(--action-ink)}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{text-wrap:balance;font-weight:700;line-height:1.65}p{color:var(--muted)}svg{flex-shrink:0}img{max-width:100%;height:auto}em{color:var(--accent);font-style:normal}.wrap{width:min(1200px,100% - 96px);margin-inline:auto}.header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;min-height:98px;display:flex}.brand{white-space:nowrap;align-items:center;gap:11px;font-size:24px;font-weight:750;line-height:1;display:inline-flex}.brand-mark{border:1px solid var(--line);background:var(--raised);width:36px;height:36px;color:var(--accent);border-radius:9px;place-items:center;display:grid}.brand-mark svg{width:25px;height:25px;display:block;overflow:visible}.brand-dot{color:var(--accent)}.header nav{align-items:center;gap:25px;font-size:13px;display:flex}.header nav a{min-height:44px;color:var(--muted);align-items:center;display:flex}.header nav a:hover{color:var(--ink)}.header-actions{align-items:center;gap:12px;display:flex}.header-contact{background:var(--raised);border:1px solid var(--line);white-space:nowrap;border-radius:9px;align-items:center;gap:15px;min-height:44px;padding:10px 16px;font-size:12px;display:flex}.header-contact:hover{border-color:var(--muted)}.arrow{flex-shrink:0;font:22px/1 Arial,sans-serif;display:inline-block}.theme-toggle{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:9px;place-items:center;width:44px;height:44px;padding:0;display:grid}.theme-toggle svg{width:19px;height:19px}.theme-toggle span{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.theme-toggle:hover{background:var(--raised);color:var(--ink)}.eyebrow{color:var(--muted);align-items:center;gap:9px;font-size:11px;font-weight:500;line-height:1.8;display:flex}.eyebrow>span{background:var(--accent);border-radius:1px;width:5px;height:5px}.tiny{color:var(--muted);font-size:11px;line-height:1.7}.button{background:var(--accent);min-height:48px;color:var(--action-ink);border:1px solid #0000;border-radius:9px;justify-content:space-between;align-items:center;gap:24px;padding:12px 20px;font-size:13px;font-weight:600;display:inline-flex}.button:hover{filter:brightness(1.06);transform:translateY(-2px)}.button:active{transform:translateY(0)}.button:disabled{opacity:.6;transform:none}.button-secondary{background:var(--raised);color:var(--ink);border-color:var(--line)}.button-secondary:hover{background:var(--wash)}.text-link{align-items:center;gap:12px;min-height:44px;font-size:13px;display:inline-flex}.text-link:hover{color:var(--accent)}.hero{grid-template-columns:1.08fr 1fr;align-items:center;gap:64px;padding-top:64px;display:grid}.hero h1{letter-spacing:-.035em;margin-top:19px;font-size:clamp(39px,4.4vw,62px);line-height:1.65}.hero-description{max-width:420px;margin-top:24px;font-size:15px;line-height:2.15}.hero-actions{flex-wrap:wrap;align-items:center;gap:24px;margin-top:30px;display:flex}.hero-bottom{border-block:1px solid var(--line);color:var(--muted);grid-column:1/-1;justify-content:space-between;gap:16px;margin-top:5px;padding:20px 0;font-size:11px;display:flex}.hero-bottom [dir=ltr]{letter-spacing:.06em;font:10px/1.9 monospace}.build-map{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:0;overflow:hidden;box-shadow:0 16px 40px #0000000d}.map-top{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.map-index{letter-spacing:.1em;color:var(--muted);font:10px/1.6 monospace}.product-stage{background:var(--raised);height:285px;position:relative;overflow:hidden}.map-grid{background-image:radial-gradient(var(--muted) .7px, transparent .7px);opacity:.19;background-size:19px 19px;position:absolute;inset:0}.product-ruler{color:var(--muted);opacity:.6;flex-direction:column;justify-content:space-between;font:9px monospace;display:flex;position:absolute;top:16px;bottom:16px;left:12px}.wireframe{border:1px solid var(--muted);background:var(--surface);height:188px;box-shadow:-8px 9px 0 var(--line);animation:wire-in .35s var(--ease);border-radius:8px;transition:box-shadow .25s;position:absolute;top:46px;left:15%;right:11%;overflow:hidden}.wireframe-chrome{border-bottom:1px solid var(--line);direction:ltr;align-items:center;gap:5px;height:25px;padding:0 10px;display:flex}.wireframe-chrome i{background:var(--muted);border-radius:50%;width:4px;height:4px}.wireframe-chrome span{background:var(--line);width:45%;height:5px;margin-left:auto}.wireframe-body{height:calc(100% - 25px);display:flex}.wireframe-sidebar{border-left:1px solid var(--line);flex-direction:column;gap:12px;width:38px;padding:17px 11px;display:flex}.wireframe-sidebar i{background:var(--line);width:14px;height:3px}.wireframe-sidebar i:first-child{background:var(--accent);border-radius:3px;width:12px;height:12px;margin-bottom:7px}.wireframe-main{flex:1;padding:21px}.wireframe-kicker{background:var(--accent);width:23px;height:3px;margin-bottom:11px}.wireframe-title{background:var(--ink);opacity:.8;border-radius:2px;width:65%;height:8px;margin-bottom:6px}.wireframe-title.short{width:45%;margin-bottom:13px}.wireframe-description{background:var(--muted);opacity:.55;width:80%;height:3px;margin-bottom:5px}.wireframe-description.short{width:58%}.wireframe-action{background:var(--accent);border-radius:3px;width:45px;height:14px;margin-top:12px}.wireframe-panels{gap:7px;margin-top:14px;display:flex}.wireframe-panels i{background:var(--raised);border:1px solid var(--line);border-radius:3px;flex:1;height:18px}.wireframe-disclaimer{text-align:center;color:var(--muted);font-size:9px;position:absolute;bottom:12px;left:0;right:0}[data-product=app] .wireframe{border-radius:18px;height:225px;top:24px;left:32%;right:26%}[data-product=app] .wireframe-chrome{justify-content:center;height:23px}[data-product=app] .wireframe-chrome i{display:none}[data-product=app] .wireframe-chrome span{background:var(--muted);border-radius:3px;width:28%;height:4px;margin:0}[data-product=app] .wireframe-sidebar{display:none}[data-product=app] .wireframe-main{padding:17px 14px}[data-product=app] .wireframe-title{width:85%}[data-product=app] .wireframe-panels{flex-direction:column;gap:5px}[data-product=app] .wireframe-panels i{min-height:17px}.map-tabs{background:var(--raised);border-block:1px solid var(--line);gap:5px;padding:5px;display:flex}.map-tabs button{min-height:42px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:7px;flex:1;justify-content:space-between;align-items:center;padding:9px 15px;font-size:12px;display:flex}.map-tabs button[aria-selected=true]{background:var(--surface);border-color:var(--line);color:var(--ink)}.map-tabs button span{opacity:.6;font-size:10px}.map-caption{min-height:143px;padding:17px 20px}.map-caption-title{color:var(--ink);margin-top:5px;font-size:16px;font-weight:700;line-height:1.8}.map-caption>p:last-child{margin-top:7px;font-size:12px;line-height:2}.section{padding-block:80px}.section-heading{grid-template-columns:150px minmax(0,1.3fr) minmax(0,1fr);align-items:start;gap:35px;margin-bottom:36px;display:grid}.section-heading h2{letter-spacing:-.02em;max-width:480px;font-size:28px;line-height:1.7}.section-heading>p:last-child{font-size:13px;line-height:2.1}.section-heading>.eyebrow{padding-top:8px}.service-list{grid-template-columns:1fr 1fr;gap:18px;display:grid}.service-row{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);transition:border-color .25s, transform .25s var(--ease);grid-template-columns:28px minmax(0,1fr);gap:12px 14px;padding:30px;display:grid;position:relative}.service-row:hover{border-color:var(--muted);transform:translateY(-3px)}.number{color:var(--muted);font-variant-numeric:tabular-nums;padding-top:6px;font-size:11px}.service-row h3{font-size:22px;font-weight:650;line-height:1.7}.service-row h3 a:hover{color:var(--accent)}.service-row>div{grid-column:2}.service-row p{font-size:14px;line-height:2.15}.service-row>.arrow{color:var(--muted);font-size:19px;position:absolute;top:30px;left:25px}.service-tags{color:var(--muted);margin-top:17px;font-size:11px;display:block}.service-detail{color:var(--accent);align-items:center;gap:12px;width:fit-content;min-height:44px;margin-top:15px;font-size:12px;display:flex}.service-detail .arrow{font-size:19px}.process-section{border-block:1px solid var(--line);background:var(--surface)}.steps{counter-reset:steps;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin:45px 0 0;padding:0;list-style:none;display:grid}.steps li{border-top:1px solid var(--line);padding-top:25px;position:relative}.steps li:before{content:"";background:var(--accent);border-radius:4px;width:24px;height:5px;position:absolute;top:-3px;right:0}.steps span{color:var(--muted);font-size:11px}.steps h3{margin:16px 0 10px;font-size:19px}.steps p{font-size:13px;line-height:2.15}.team{grid-template-columns:150px minmax(0,1fr);gap:35px;display:grid}.team>div{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:0 60px;display:grid}.team h2{grid-row:span 2;max-width:330px;font-size:28px;line-height:1.8}.team p:not(.eyebrow){margin-bottom:14px;font-size:14px;line-height:2.2}.notes{border-block:1px solid var(--line);grid-template-columns:1fr 2fr;gap:48px;padding-block:48px;display:grid}.notes h2{margin-top:14px;font-size:27px}.note-link{min-width:0;display:block}.note-link h3,.note-link h2{margin-top:9px;font-size:24px;line-height:1.8}.note-link p{margin-block:10px 13px;font-size:14px;line-height:2.1}.note-link .text-link{color:var(--accent)}.closing{background:var(--surface);border:1px solid var(--line);border-radius:18px;margin-top:60px;margin-bottom:60px;padding:75px 38px;position:relative;overflow:hidden}.closing:before{content:"";background:var(--accent);width:54px;height:3px;position:absolute;top:0;right:38px}.closing h2{max-width:750px;margin:15px 0 20px;font-size:clamp(28px,3vw,40px)}.closing>div{justify-content:space-between;align-items:center;gap:35px;display:flex}.closing>div p{max-width:450px;font-size:14px}.closing-direct{width:fit-content;color:var(--muted);align-items:center;gap:12px;min-height:30px;margin-top:22px;font-size:11px;display:flex}.closing-direct .arrow{font-size:17px}.footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:25px;padding-block:30px;display:flex}.footer .brand{font-size:19px}.footer .brand-mark{border-radius:7px;width:29px;height:29px}.footer .brand-mark svg{width:21px;height:21px}.footer p{font-size:11px}.footer>div{align-items:center;gap:22px;font-size:11px;display:flex}.footer a{align-items:center;gap:8px;min-height:36px;display:inline-flex}.footer>div>span{color:var(--muted);font:9px monospace}.skip{background:var(--accent);color:var(--action-ink);z-index:100;padding:12px 20px;position:fixed;top:-100px;right:15px}.skip:focus{top:15px}.breadcrumb{color:var(--muted);margin-bottom:25px;font-size:11px}.breadcrumb ol{flex-wrap:wrap;align-items:center;gap:9px;margin:0;padding:0;list-style:none;display:flex}.breadcrumb li{align-items:center;gap:9px;min-width:0;display:flex}.breadcrumb svg{opacity:.65;width:14px;height:14px}.breadcrumb a{padding-block:5px}.breadcrumb a:hover,.breadcrumb [aria-current=page]{color:var(--ink)}.page-intro{border-bottom:1px solid var(--line);padding-block:45px 35px}.page-intro h1{margin:15px 0;font-size:clamp(31px,3.8vw,48px);line-height:1.7}.page-intro>p:last-child{max-width:650px;font-size:15px;line-height:2.15}.contact-intro{grid-template-columns:1fr 1fr;column-gap:40px;padding-bottom:30px;display:grid}.contact-intro .breadcrumb{grid-column:1/-1;margin-bottom:20px}.contact-intro>.eyebrow{grid-column:1/-1}.contact-intro h1{margin:13px 0;font-size:40px;line-height:1.65}.contact-intro>p:last-child{align-self:center;max-width:440px;font-size:14px}.contact-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:42px;padding-block:40px 80px;display:grid}.contact-info{padding:25px 5px 25px 24px}.contact-symbol{border:1px solid var(--line);width:42px;height:42px;color:var(--accent);border-radius:12px;place-items:center;margin-bottom:24px;font:25px Arial;display:grid}.contact-info h2{margin-bottom:12px;font-size:23px;line-height:1.7}.contact-info>p{max-width:360px;font-size:13px;line-height:2.1}.contact-channels{gap:10px;margin-top:27px;display:grid}.contact-channel{border:1px solid var(--line);background:var(--surface);border-radius:10px;grid-template-columns:35px minmax(0,1fr) 16px;align-items:center;gap:12px;padding:15px;display:grid}.contact-channel:hover{border-color:var(--muted);background:var(--raised)}.channel-icon{background:var(--raised);width:34px;height:34px;color:var(--accent);border-radius:9px;place-items:center;display:grid}.channel-icon svg{width:20px;height:20px}.channel-text{flex-direction:column;gap:2px;min-width:0;display:flex}.channel-label{color:var(--muted);font-size:10px}.channel-text bdi{font:13px/1.8 var(--font);overflow-wrap:anywhere;text-align:right;color:var(--ink);direction:ltr;unicode-bidi:isolate}.external-icon{width:16px;height:16px;color:var(--muted)}.contact-info .privacy-note{max-width:360px;margin-top:22px;font-size:11px;line-height:2.1}.form-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:27px}.form-panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;padding-bottom:20px;display:flex}.form-panel-heading .eyebrow{color:var(--ink);font-size:13px}.form-panel-heading .tiny{font-size:10px}.form{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px 16px;display:grid}.form>div:nth-child(n+3){grid-column:1/-1}.form label{color:var(--ink);justify-content:space-between;align-items:center;font-size:12px;line-height:1.8;display:flex}.form label>span{color:var(--muted);font-size:12px}.form input,.form textarea{border:1px solid var(--line);background:var(--paper);width:100%;color:var(--ink);border-radius:8px;min-width:0;min-height:46px;margin-top:8px;padding:11px 13px;font-size:13px;line-height:1.9;transition:border-color .2s,box-shadow .2s;display:block}.form input::placeholder,.form textarea::placeholder{color:var(--muted);opacity:.7;font-size:12px}.form input:focus,.form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--wash);outline:none}.form textarea{resize:vertical;min-height:145px}.form .hint{margin-top:8px;font-size:10px;line-height:1.9}.form .trap{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.form-bottom{justify-content:space-between;align-items:center;gap:20px;padding-top:2px;display:flex}.form-bottom p{max-width:200px;font-size:10px;line-height:1.9}.form-bottom a{text-underline-offset:3px;text-decoration:underline}.form-status{border:1px solid var(--line);background:var(--wash);border-radius:8px;padding:15px;font-size:13px}.form-status p{color:var(--ink)}.form-status.error{border-color:var(--danger)}.form-status a{color:var(--accent);margin-top:8px;font-size:12px;text-decoration:underline;display:inline-block}.article-head{max-width:800px;margin:auto;padding:44px 0 35px}.article-head h1{letter-spacing:-.015em;margin:15px 0;font-size:clamp(28px,3.2vw,40px);line-height:1.8}.article-head .lead{font-size:17px;line-height:2.2}.article-meta{color:var(--muted);flex-wrap:wrap;gap:10px 22px;margin-top:20px;font-size:11px;display:flex}.article-layout{border-top:1px solid var(--line);grid-template-columns:200px minmax(0,740px);justify-content:center;gap:50px;padding-block:35px 80px;display:grid}.toc{border:1px solid var(--line);background:var(--surface);border-radius:10px;align-self:start;max-height:65vh;padding:15px;position:sticky;top:24px;overflow:auto}.toc summary{cursor:pointer;min-height:30px;font-size:12px;font-weight:650}.toc ol{margin:12px 0 0;padding:0;list-style:none}.toc a{color:var(--muted);padding:7px 0;font-size:11px;line-height:1.9;display:block}.toc a:hover{color:var(--accent)}.prose{min-width:0}.prose h2{margin:42px 0 17px;scroll-margin-top:25px;font-size:25px;line-height:1.9}.prose section:first-child h2{margin-top:0}.prose h3{margin:26px 0 12px;font-size:19px}.prose p,.prose li{font-size:18px;line-height:2.2}.prose p{margin-bottom:19px}.prose ul,.prose ol{padding-inline-start:25px}.prose a{color:var(--accent);text-underline-offset:4px;text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line)}.prose a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.prose strong{color:var(--ink)}.prose :not(pre)>code{background:var(--raised);direction:ltr;unicode-bidi:isolate;border-radius:4px;padding:2px 5px;font:14px monospace}.callout{border:1px solid var(--line);border-right:3px solid var(--accent);background:var(--surface);border-radius:8px;margin:24px 0;padding:18px 22px}.callout p{margin:0;font-size:15px;line-height:2.1}.diagram{background:var(--raised);border:1px solid var(--line);border-radius:10px;justify-content:center;align-items:center;gap:8px;margin-block:24px;padding:25px 14px;display:flex}.diagram span{background:var(--surface);border:1px solid var(--line);text-align:center;border-radius:7px;padding:10px 12px;font-size:12px}.diagram b{color:var(--accent);font-weight:400}.prose pre{text-align:left;background:var(--surface);border:1px solid var(--line);max-width:100%;color:var(--ink);direction:ltr;border-radius:9px;padding:22px;font:13px/1.9 monospace;overflow:auto}.table-scroll{border:1px solid var(--line);border-radius:9px;max-width:100%;margin-block:25px;overflow:auto}.prose table{border-collapse:collapse;text-align:right;width:100%;min-width:570px;font-size:13px;line-height:2}.prose th,.prose td{border-bottom:1px solid var(--line);vertical-align:top;padding:13px 15px}.prose th{background:var(--raised);font-weight:650}.prose tr:last-child td{border-bottom:0}.prose .sources li{overflow-wrap:anywhere;font-size:14px;line-height:2.2}.prose .article-contact{border-top:1px solid var(--line);margin-top:36px;padding-top:24px;font-size:14px}.legal{max-width:740px;padding-block:45px 80px}.legal h1{margin:15px 0 25px;font-size:36px;line-height:1.8}.legal h2{margin:30px 0 14px;font-size:23px}.legal p{margin-bottom:17px;font-size:16px;line-height:2.2}.legal a{color:var(--accent);overflow-wrap:anywhere}.not-found{text-align:center;padding-block:100px}.not-found h1{margin-top:18px;font-size:35px}.not-found p{margin:20px}.note-list{padding-block:30px 70px}.note-list .note-link{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);max-width:800px;padding:25px}.service-hero{border-bottom:1px solid var(--line);padding-block:40px 55px}.service-hero h1{max-width:900px;margin:19px 0;font-size:clamp(32px,3.6vw,48px);line-height:1.8}.service-hero .lead{max-width:760px;margin-bottom:27px;font-size:17px;line-height:2.2}.service-fit{border-bottom:1px solid var(--line);grid-template-columns:150px minmax(0,1fr);gap:35px;padding-block:48px;display:grid}.service-fit p:not(.eyebrow){max-width:750px;font-size:16px;line-height:2.2}.deliverables{grid-template-columns:repeat(4,minmax(0,1fr));gap:25px;display:grid}.deliverables article{border-top:1px solid var(--line);padding-top:20px}.deliverables h3{margin:15px 0 10px;font-size:18px}.deliverables p{font-size:13px;line-height:2.2}.service-decisions{background:var(--surface);border-block:1px solid var(--line)}.service-decisions h2{margin-top:18px;font-size:29px}.decisions{grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin-top:35px;display:grid}.decisions h3{margin-bottom:13px;font-size:18px}.decisions p{font-size:14px;line-height:2.15}.scope-note{border-top:1px solid var(--line);margin-top:30px;padding-top:20px;font-size:13px}.service-faq{border-bottom:1px solid var(--line);grid-template-columns:1fr 2fr;gap:50px;display:grid}.service-faq h2{margin-top:15px;font-size:27px}.service-faq details{border-bottom:1px solid var(--line)}.service-faq summary{cursor:pointer;justify-content:space-between;align-items:center;gap:22px;padding-block:21px;font-size:15px;list-style:none;display:flex}.service-faq summary::-webkit-details-marker{display:none}.service-faq summary span{color:var(--accent);font:22px monospace;transition:transform .2s}.service-faq details[open] summary span{transform:rotate(45deg)}.service-faq details p{animation:wire-in .25s var(--ease);padding:0 0 22px 22px;font-size:14px;line-height:2.15}.service-related{color:var(--accent);margin-top:27px;font-size:12px;line-height:2.1;display:block}@keyframes wire-in{0%{opacity:.6;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1050px){.wrap{width:calc(100% - 64px)}.header{gap:16px}.header nav{gap:17px;font-size:12px}.header-contact{gap:9px;padding:9px 12px;font-size:11px}.hero{gap:35px}.section-heading{grid-template-columns:125px minmax(0,1.2fr) minmax(0,1fr);gap:24px}.section-heading h2{font-size:25px}.team{grid-template-columns:125px minmax(0,1fr);gap:24px}.team>div{column-gap:30px}.team h2{font-size:25px}.service-row{padding:24px}.service-row h3{font-size:20px}.contact-layout{gap:28px}.contact-info{padding-left:0}.form-panel{padding:23px}.article-layout{grid-template-columns:165px minmax(0,1fr);gap:30px}.deliverables{grid-template-columns:1fr 1fr}.footer{flex-wrap:wrap}.footer p{margin-right:auto}.footer>div{justify-content:space-between;width:100%}}@media (max-width:760px){.wrap{width:calc(100% - 40px)}.header{flex-wrap:wrap;gap:15px;min-height:0;padding-block:20px 12px}.brand{font-size:22px}.brand-mark{width:33px;height:33px}.brand-mark svg{width:24px;height:24px}.header nav{border-top:1px solid var(--line);order:3;justify-content:space-between;gap:10px;width:100%;padding-top:10px;font-size:11px}.header nav a{min-height:36px}.header-actions{gap:8px}.header-contact{border-radius:8px;min-height:40px;padding:8px 11px;font-size:11px}.header-contact .arrow{font-size:18px}.theme-toggle{border-radius:8px;width:40px;height:40px}.hero{grid-template-columns:1fr;gap:30px;padding-top:35px}.hero h1{letter-spacing:-.035em;margin-top:17px;font-size:clamp(35px,9.8vw,48px);line-height:1.65}.hero-description{max-width:420px;margin-top:19px;font-size:14px}.hero-actions{gap:20px;margin-top:23px}.hero-bottom{flex-wrap:wrap;gap:10px;margin-top:0;padding-block:16px}.hero-bottom span{font-size:10px}.hero-bottom [dir=ltr]{font-size:9px}.build-map{margin-inline:0}.product-stage{height:265px}.wireframe{height:177px;top:43px;left:13%;right:10%}.wireframe-main{padding:18px 14px}.wireframe-sidebar{width:33px;padding-inline:9px}[data-product=app] .wireframe{height:217px;top:21px;left:30%;right:24%}.map-caption{min-height:143px;padding:16px 18px}.map-caption-title{font-size:15px}.map-caption>p:last-child{font-size:12px}.button{gap:20px;padding:11px 16px;font-size:12px}.section{padding-block:55px}.section-heading{grid-template-columns:1fr;gap:13px;margin-bottom:25px}.section-heading>.eyebrow{padding-top:0}.section-heading h2{max-width:100%;font-size:26px;line-height:1.8}.section-heading>p:last-child{max-width:500px;font-size:13px}.service-list{grid-template-columns:1fr;gap:14px}.service-row{grid-template-columns:22px minmax(0,1fr);gap:11px;padding:23px}.service-row h3{padding-left:10px;font-size:21px}.service-row p{font-size:13px}.service-row>.arrow{font-size:17px;top:25px;left:20px}.service-tags{margin-top:13px;font-size:10px}.service-detail{min-height:40px;margin-top:10px;font-size:11px}.steps{grid-template-columns:1fr;gap:30px;margin-top:30px}.steps li{padding-top:20px}.steps h3{margin-block:12px 9px;font-size:19px}.steps p{max-width:450px;font-size:13px}.team,.team>div{display:block}.team h2{max-width:none;margin-block:17px 20px;font-size:26px;line-height:1.8}.team p:not(.eyebrow){max-width:560px;font-size:14px}.notes{grid-template-columns:1fr;gap:27px;padding-block:35px}.notes h2{margin-top:12px;font-size:25px}.note-link{border-top:1px solid var(--line);padding-top:23px}.note-link h3{font-size:22px}.note-link p{font-size:13px}.closing{border-radius:13px;margin-block:35px;padding:33px 24px}.closing:before{right:24px}.closing h2{margin-block:13px 17px;font-size:28px;line-height:1.8}.closing>div{flex-direction:column;align-items:flex-start;gap:23px}.closing>div p{font-size:13px}.closing-direct{gap:8px;margin-top:18px;font-size:10px}.footer{gap:18px;padding-block:24px}.footer p{width:100%;margin:0;font-size:10px}.footer>div{flex-wrap:wrap;gap:13px;font-size:10px}.footer .brand{font-size:19px}.page-intro{padding-block:30px}.page-intro h1{font-size:33px;line-height:1.8}.page-intro>p:last-child{font-size:14px}.contact-intro{grid-template-columns:1fr;gap:0}.contact-intro .breadcrumb{margin-bottom:20px}.contact-intro h1{margin-block:14px 18px;font-size:34px;line-height:1.65}.contact-intro>p:last-child{font-size:13px}.contact-layout{grid-template-columns:1fr;gap:26px;padding-block:28px 50px}.contact-info{padding:0}.contact-symbol{display:none}.contact-info h2{margin-bottom:10px;font-size:22px}.contact-info>p{max-width:100%}.contact-channels{grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.contact-channel{grid-template-columns:minmax(0,1fr) 14px;gap:8px;padding:13px}.channel-icon{display:none}.channel-text bdi{font-size:11px}.external-icon{width:14px;height:14px}.channel-label{font-size:10px}.contact-info .privacy-note{max-width:none;margin-top:16px;font-size:10px}.form-panel{border-radius:12px;padding:21px}.form-panel-heading{margin-bottom:20px}.form{grid-template-columns:1fr;gap:19px}.form>div:nth-child(n){grid-column:auto}.form-bottom{flex-direction:column;align-items:stretch;gap:13px}.form-bottom .button{width:100%}.form-bottom p{max-width:none;font-size:10px}.form textarea{min-height:150px}.article-head{padding-block:28px}.article-head h1{font-size:29px;line-height:1.85}.article-head .lead{font-size:16px;line-height:2.15}.article-meta{gap:7px 16px;font-size:10px}.breadcrumb{margin-bottom:22px;font-size:10px}.breadcrumb ol,.breadcrumb li{gap:5px}.breadcrumb svg{width:12px;height:12px}.article-layout{grid-template-columns:1fr;gap:30px;padding-block:23px 55px}.toc{max-height:240px;padding:13px 16px;position:static}.toc a{min-height:35px;padding-block:6px;font-size:12px}.toc ol{margin-top:7px}.prose p,.prose li{font-size:17px;line-height:2.15}.prose h2{margin-block:33px 16px;font-size:23px;line-height:1.9}.prose h3{font-size:19px}.prose pre{padding:18px;font-size:12px}.callout{padding:16px 18px}.callout p{font-size:14px}.diagram{grid-template-columns:1fr 12px 1fr;gap:8px;padding:20px 12px;display:grid}.diagram b:nth-of-type(2){display:none}.diagram span:last-child{grid-column:1/-1}.diagram span{padding:10px;font-size:11px}.legal{padding-block:35px 60px}.legal h1{font-size:31px}.legal p{font-size:16px}.legal h2{font-size:22px}.not-found{padding-block:70px}.not-found h1{font-size:29px}.service-hero{padding-block:28px 35px}.service-hero h1{font-size:33px;line-height:1.8}.service-hero .lead{font-size:15px}.service-fit{grid-template-columns:1fr;gap:18px;padding-block:35px}.service-fit h2{margin-bottom:16px;font-size:25px}.service-fit p:not(.eyebrow){font-size:15px}.deliverables{grid-template-columns:1fr;gap:27px}.deliverables h3{font-size:20px}.deliverables p{font-size:14px}.service-decisions h2{font-size:26px}.decisions{grid-template-columns:1fr;gap:25px}.decisions h3{font-size:19px}.decisions p{font-size:14px}.scope-note{font-size:12px}.service-faq{grid-template-columns:1fr;gap:20px}.service-faq h2{font-size:26px}.service-faq summary{font-size:15px;line-height:2}.service-faq details p{padding-left:0;font-size:14px}.service-related{font-size:12px}.note-list .note-link{padding:23px}}@media (max-width:380px){.wrap{width:calc(100% - 32px)}.brand{gap:8px;font-size:20px}.header-contact{gap:8px;padding-inline:9px;font-size:10px}.header nav{font-size:10px}.contact-channels{grid-template-columns:1fr}.contact-channel{grid-template-columns:32px minmax(0,1fr) 15px}.channel-icon{width:32px;height:32px;display:grid}.channel-text bdi{font-size:12px}.form-panel{padding:18px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.section-heading{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 60px}.section-heading>.eyebrow{grid-column:1/-1;padding-top:0}.section-heading h2{font-size:28px;line-height:1.8}.section-heading>p:last-child{padding-top:4px}.team{display:block}.team>.eyebrow{margin-bottom:16px}.team>div{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;column-gap:60px}.team h2{max-width:none}.team>div>p:first-of-type{padding-top:4px}.notes{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:60px}.notes .note-link{padding-top:0}.notes .tiny{min-height:20px;display:block}.notes h2,.note-link h3{margin-top:14px;font-size:26px}.service-row h3{padding-left:15px}.service-row{grid-template-rows:auto 1fr}.service-row>div{flex-direction:column;align-items:flex-start;display:flex}.service-detail{margin-top:auto;padding-top:15px}@media (max-width:760px){.section-heading{grid-template-columns:1fr;gap:13px}.section-heading h2{font-size:25px}.section-heading>p:last-child{padding-top:0}.team>div{display:block}.team h2{margin-top:0;font-size:25px}.notes{grid-template-columns:1fr;gap:24px}.notes .note-link{padding-top:23px}.notes h2,.note-link h3{font-size:23px}.notes{align-items:start}}.code-example{border:1px solid var(--line);background:var(--surface);border-radius:12px;margin:28px 0;position:relative;overflow:hidden}.code-toolbar{border-bottom:1px solid var(--line);background:var(--raised);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.code-toolbar>span{overflow-wrap:anywhere;gap:12px;min-width:0;font:12px monospace;display:flex}.code-toolbar small{color:var(--muted);font-size:10px}.code-toolbar>div{gap:6px;display:flex}.code-toolbar button,.playground button,.console-toolbar button{min-height:34px;color:var(--ink);border:1px solid var(--line);background:0 0;border-radius:6px;padding:6px 10px;font-size:11px}.code-toolbar button:hover,.playground button:hover{background:var(--wash)}.code-scroll{background:var(--surface);scrollbar-gutter:stable;direction:ltr;max-height:480px;overflow:auto}.prose .code-scroll pre{border:0;border-radius:0;min-width:fit-content;padding:20px;font:13px/1.9 ui-monospace,monospace;overflow:visible;background:0 0!important;margin:0!important}.code-scroll .shiki,.code-scroll .shiki span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}[data-theme=light] .code-scroll .shiki,[data-theme=light] .code-scroll .shiki span{color:var(--shiki-light)!important;background-color:var(--shiki-light-bg)!important}.code-scroll .line{min-width:100%;padding-inline:4px;display:inline-block}.code-scroll .line.highlighted-line{border-inline-start:2px solid var(--accent);background:var(--wash)!important}.code-example figcaption{color:var(--muted);border-top:1px solid var(--line);padding:13px 17px;font-size:12px;line-height:2}.copy-feedback{min-height:0;color:var(--accent);padding-inline:15px;font-size:10px;display:block}.copy-feedback:not(:empty){padding-block:7px}.code-menu{z-index:1000;border:1px solid var(--line);background:var(--raised);direction:rtl;border-radius:10px;width:245px;padding:6px;position:fixed;box-shadow:0 15px 50px #0006}.code-menu button{text-align:right;width:100%;color:var(--ink);background:0 0;border:0;border-radius:5px;min-height:40px;padding:9px 12px;font-size:12px;display:block}.code-menu button:hover,.code-menu button:focus-visible{background:var(--wash)}.code-menu button:disabled{color:var(--muted);opacity:.45}.playground{border-top:1px solid var(--line);background:var(--surface)}.playground-toolbar{border-bottom:1px solid var(--line);background:var(--raised);justify-content:space-between;align-items:center;gap:12px;padding:11px 14px;display:flex}.playground-toolbar>span{letter-spacing:.09em;color:var(--muted);font:9px monospace}.playground-toolbar>div{gap:7px;display:flex}.playground .run-button{background:var(--accent);color:var(--action-ink);border-color:#0000}.workspace{direction:ltr;grid-template-columns:125px minmax(0,1fr) minmax(0,1fr);display:grid}.file-tree{border-right:1px solid var(--line);background:var(--paper);min-width:0;padding:14px 8px}.file-tree>.tiny{text-align:right;margin-bottom:12px;padding-right:6px;font-size:10px;display:block}.file-tree button{text-align:left;overflow-wrap:anywhere;border:0;align-items:center;gap:7px;width:100%;padding:7px;font:11px/1.9 monospace;display:flex}.file-tree button span{color:var(--accent)}.file-tree button[aria-pressed=true]{background:var(--wash)}.workspace-editor{background:#282c34;min-width:0}.file-tab{border-bottom:1px solid var(--line);color:var(--muted);background:var(--raised);justify-content:space-between;gap:12px;min-height:40px;padding:10px 14px;font:11px/1.7 monospace;display:flex}.file-tab>span{font:10px var(--font);color:var(--muted)}.workspace-preview{border-left:1px solid var(--line);direction:rtl;min-width:0}.workspace-preview iframe{background:#f6f7f9;border:0;width:100%;height:380px;display:block}.preview-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;height:380px;padding:24px;display:flex}.preview-empty>span{color:var(--accent);font-size:38px}.preview-empty p,.prose .preview-empty p{margin:0;font-size:13px;line-height:2}.preview-empty small{color:var(--muted);font-size:11px;line-height:2}.editor-loading{color:#eef0f4;direction:rtl;background:#1b1e24;flex-direction:column;justify-content:center;align-items:center;gap:15px;height:380px;padding:25px;display:flex}.editor-loading strong{font-size:13px}.editor-loading p{color:#a6acb7;text-align:center;font-size:11px;line-height:2}.loading-bars{gap:6px;display:flex}.loading-bars i{background:#b1cbe5;border-radius:3px;width:8px;height:20px;animation:1s ease-in-out infinite alternate load-bars}.loading-bars i:nth-child(2){animation-delay:.15s}.loading-bars i:nth-child(3){animation-delay:.3s}.console-toolbar{border-block:1px solid var(--line);background:var(--raised);justify-content:space-between;padding:8px 12px;display:flex}.console-toolbar button{border:0}.console-output{color:#d4dbe6;white-space:pre-wrap;overflow-wrap:anywhere;background:#0d0e10;min-height:80px;max-height:200px;padding:15px;font:12px/1.9 monospace;overflow:auto}.console-placeholder{color:#9aa4b5}.console-output .error{color:#f1b9a9}.console-output .status,.console-output .done{color:#b1cbe5}.test-results{border-top:1px solid var(--line);margin:0;list-style:none;padding:14px!important}.test-results li{background:var(--raised);border-radius:5px;align-items:center;gap:10px;margin-bottom:6px;padding:8px 10px;display:flex;font-size:12px!important}.test-results b{margin-right:auto;font-size:10px;font-weight:500}.test-results .passed>span{color:var(--accent)}.test-results .failed>span{color:var(--danger)}.file-explanation{border-top:1px solid var(--line);padding:15px 18px}.file-explanation strong{font-size:12px}.file-explanation p,.prose .file-explanation p{margin:7px 0 0;font-size:13px;line-height:2}.playground-note,.prose .playground-note{border-top:1px solid var(--line);margin:0;padding:12px 17px;font-size:10px;line-height:2.1}.lesson-hints{border:1px solid var(--line);background:var(--surface);border-radius:9px;margin:22px 0;padding:5px 17px}.lesson-hints summary{cursor:pointer;padding-block:12px;font-size:13px}.lesson-hints p,.prose .lesson-hints p{margin:0;padding-bottom:15px;font-size:14px;line-height:2.1}@keyframes load-bars{to{opacity:.5;transform:scaleY(.4)}}@media (max-width:1050px){.workspace{grid-template-columns:100px minmax(0,1fr)}.workspace-preview{border-left:0;border-top:1px solid var(--line);grid-column:1/-1}.workspace-preview iframe,.preview-empty{height:280px}}@media (max-width:760px){.code-toolbar{flex-wrap:wrap;padding:10px 12px}.code-toolbar>div{gap:5px}.code-toolbar button{padding-inline:9px;font-size:10px}.playground-toolbar{flex-wrap:wrap}.playground-toolbar>span{font-size:8px}.playground-toolbar>div{justify-content:space-between;gap:5px;width:100%}.playground button{padding-inline:8px;font-size:10px}.workspace{grid-template-columns:minmax(0,1fr)}.file-tree{border:0;border-bottom:1px solid var(--line);gap:5px;padding:7px;display:flex;overflow:auto}.file-tree>.tiny{display:none}.file-tree button{white-space:nowrap;flex-shrink:0;width:auto;padding:6px 10px}.workspace-preview{grid-column:1}.code-scroll pre{font-size:12px!important}.file-tab{padding:9px 12px}.editor-loading{height:330px}.console-output{font-size:11px}}.ui-icon{width:30px;height:30px;display:block}.service-icon{background:var(--raised);border:1px solid var(--line);width:46px;height:46px;color:var(--accent);border-radius:12px;place-items:center;display:grid}.service-icon .ui-icon{width:27px;height:27px}.service-row{grid-template-columns:46px minmax(0,1fr);align-items:start;gap:15px 20px}.service-row h3{align-self:center}.deliverables .ui-icon{color:var(--accent);width:30px;height:30px;margin-bottom:22px}.eyebrow{font-size:13px}.tiny{font-size:12px}.steps span,.section-heading>.eyebrow{font-size:13px}.hero-bottom{display:none}.map-top .tiny{font-size:12px}.contact-channels{grid-template-columns:1fr}.channel-label{font-size:12px}.channel-text bdi{font-size:14px}.channel-icon{display:grid}.contact-channel{grid-template-columns:35px minmax(0,1fr) 16px}.service-tags{font-size:12px}.service-detail{font-size:13px}.hero{border-bottom:1px solid var(--line);padding-bottom:60px}@media (max-width:760px){.service-row{grid-template-columns:40px minmax(0,1fr);gap:12px 15px}.service-icon{border-radius:10px;width:40px;height:40px}.service-icon .ui-icon{width:24px;height:24px}.service-row h3{font-size:19px}.eyebrow{font-size:12px}.service-tags{font-size:11px}.service-detail{font-size:12px}.channel-text bdi{font-size:13px}.hero{padding-bottom:35px}}.service-fit{background:var(--surface);border:1px solid var(--line);border-radius:14px;grid-template-columns:64px minmax(0,1fr);gap:28px;margin-top:35px;padding:32px}.fit-symbol{background:var(--raised);border:1px solid var(--line);width:60px;height:60px;color:var(--accent);border-radius:15px;place-items:center;display:grid}.fit-symbol .ui-icon{width:34px;height:34px}.service-fit h2{margin-bottom:12px;font-size:25px}.service-fit p:not(.eyebrow){max-width:none;font-size:15px}.workflow{border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:30px}.workflow-nodes{justify-content:space-between;gap:20px;display:flex;position:relative}.workflow-line{border-top:1px dashed var(--muted);opacity:.45;pointer-events:none;position:absolute;top:31px;left:9%;right:9%}.workflow-nodes button{color:var(--muted);background:0 0;border:0;flex-direction:column;flex:1;align-items:center;gap:15px;padding:0 8px;font-size:14px;line-height:1.9;display:flex;position:relative}.workflow-icon{background:var(--raised);border:1px solid var(--line);width:64px;height:64px;transition:background .2s, transform .25s var(--ease);z-index:1;border-radius:17px;place-items:center;display:grid}.workflow-icon .ui-icon{width:30px;height:30px}.workflow-nodes button[aria-selected=true]{color:var(--ink)}.workflow-nodes button[aria-selected=true] .workflow-icon{background:var(--accent);color:var(--action-ink);border-color:var(--accent)}.workflow-nodes button:hover .workflow-icon{transform:translateY(-5px)}.workflow-panel{background:var(--raised);border:1px solid var(--line);border-radius:11px;align-items:flex-start;gap:20px;min-height:155px;margin-top:30px;padding:25px;display:flex}.workflow-panel>.ui-icon{width:24px;height:24px;color:var(--accent);margin-top:7px}.workflow-panel h3{margin-bottom:10px;font-size:20px;line-height:1.9}.workflow-panel p{max-width:850px;font-size:15px;line-height:2.1}@media (max-width:760px){.service-fit{grid-template-columns:42px minmax(0,1fr);gap:16px;padding:23px}.fit-symbol{border-radius:11px;width:42px;height:42px}.fit-symbol .ui-icon{width:25px;height:25px}.service-fit h2{font-size:22px}.service-fit p:not(.eyebrow){font-size:14px}.workflow{padding:22px 15px}.workflow-nodes{gap:5px}.workflow-nodes button{gap:12px;padding:0 3px;font-size:11px}.workflow-icon{border-radius:13px;width:46px;height:46px}.workflow-icon .ui-icon{width:24px;height:24px}.workflow-line{top:23px}.workflow-panel{gap:12px;min-height:210px;margin-top:24px;padding:18px}.workflow-panel h3{font-size:18px}.workflow-panel p{font-size:14px}.workflow-panel>.ui-icon{width:20px;height:20px}}.content-image{display:block;overflow:hidden}.content-image img{aspect-ratio:16/9;object-fit:cover;width:100%;height:auto;display:block}.card-media .content-image img{transition:transform .5s var(--ease);filter:saturate(.55)}.card-media:hover img{transform:scale(1.035)}.learning-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.learning-card{background:var(--surface);border:1px solid var(--line);min-width:0;transition:border-color .25s, transform .25s var(--ease);border-radius:15px;flex-direction:column;display:flex;overflow:hidden}.learning-card:hover{border-color:var(--muted);transform:translateY(-3px)}.learning-card-body{flex-direction:column;flex:1;align-items:flex-start;padding:23px;display:flex}.learning-card h3{margin:0 0 12px;font-size:20px;line-height:1.85}.learning-card h3 a:hover{color:var(--accent)}.learning-card p{margin:0 0 20px;font-size:13px;line-height:2.1}.learning-card .text-link{color:var(--accent);margin-top:auto;font-size:12px}.learning-card .card-media{border-bottom:1px solid var(--line)}.collection-heading{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:30px;display:flex}.collection-heading h2,.collection-title{font-size:30px;line-height:1.8}.collection-heading p{max-width:650px;margin-top:12px;font-size:14px;line-height:2.1}.collection-heading>.text-link{white-space:nowrap;color:var(--accent)}.collection-title{margin-bottom:30px}.featured-article{border:1px solid var(--line);background:var(--surface);border-radius:18px;grid-template-columns:1.1fr 1fr;align-items:stretch;margin-top:48px;display:grid;overflow:hidden}.featured-media{background:#0d0e10;justify-content:center;align-items:center;min-width:0;display:flex}.featured-media .content-image{width:100%}.featured-body{padding:32px}.feature-label{color:var(--accent);align-items:center;gap:8px;margin-bottom:13px;font-size:12px;display:flex}.feature-label svg{width:17px;height:17px}.featured-body h2{margin-bottom:17px;font-size:30px;line-height:1.8}.featured-body>p:not(.feature-label){max-width:470px;margin-bottom:25px;font-size:14px;line-height:2.1}.featured-body .button{font-size:12px}.blog-collection{border-top:1px solid var(--line)}.learn-hero{grid-template-columns:1.4fr 1fr;align-items:center;gap:70px;padding-block:55px;display:grid}.learn-hero h1{margin:15px 0 22px;font-size:clamp(35px,4.2vw,55px);line-height:1.75}.learn-hero>div>p:not(.eyebrow){max-width:570px;font-size:16px;line-height:2.15}.learning-route{flex-direction:column;align-items:stretch;width:100%;max-width:380px;margin-right:auto;display:flex}.learning-route>a{background:var(--surface);border:1px solid var(--line);border-radius:13px;align-items:center;gap:20px;padding:19px 23px;display:flex}.learning-route>a:hover{border-color:var(--muted);transform:translate(-5px)}.learning-route .ui-icon{width:30px;height:30px;color:var(--accent)}.learning-route strong{font-size:16px;font-weight:600;display:block}.learning-route small{color:var(--muted);margin-top:4px;font-size:12px;display:block}.route-connector{border-left:1px dashed var(--muted);opacity:.6;width:1px;height:24px;margin-right:38px;display:block}.course-hero{border-bottom:1px solid var(--line);grid-template-columns:1.1fr 1fr;align-items:center;gap:55px;padding-block:42px;display:grid}.course-hero h1{margin:15px 0;font-size:40px;line-height:1.8}.course-hero p{margin-bottom:25px;font-size:16px;line-height:2.15}.course-hero>.content-image{border:1px solid var(--line);border-radius:16px}.course-body{grid-template-columns:1fr 1.4fr;gap:70px;padding-block:50px 80px;display:grid}.course-body h2{margin:0 0 17px;font-size:23px}.course-body aside>p{margin-bottom:27px;font-size:14px;line-height:2.15}.course-body ul{padding:0;list-style:none}.course-body li{color:var(--muted);align-items:center;gap:12px;margin-bottom:13px;font-size:14px;line-height:2;display:flex}.course-body li .ui-icon{width:20px;height:20px;color:var(--accent)}.course-body .course-format{border-top:1px solid var(--line);margin-top:25px;padding-top:20px;font-size:12px}.course-lessons>a{border:1px solid var(--line);background:var(--surface);border-radius:11px;grid-template-columns:28px minmax(0,1fr) 20px;align-items:center;gap:18px;margin-bottom:13px;padding:22px;font-size:15px;display:grid}.course-lessons>a:hover{border-color:var(--muted);transform:translate(-3px)}.course-lessons .ui-icon{width:25px;height:25px;color:var(--accent)}.standalone-lab{padding-block:35px 70px}.standalone-lab>h2{margin:25px 0 13px;font-size:24px}.standalone-lab>p{margin-bottom:25px;font-size:15px;line-height:2.1}.lab-selector{flex-wrap:wrap;gap:10px;display:flex}.lab-selector button{background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:9px;min-height:44px;padding:10px 18px;font-size:13px}.lab-selector button[aria-pressed=true]{background:var(--accent);color:var(--action-ink);border-color:var(--accent)}.standalone-lab>.playground{border:1px solid var(--line);border-radius:13px;overflow:hidden}.article-head{max-width:850px}.article-head h1{font-size:34px;line-height:1.95}.article-cover{border:1px solid var(--line);border-radius:13px;margin-top:30px;overflow:hidden}.article-layout{grid-template-columns:180px minmax(0,850px);gap:40px}.toc ul{margin:10px 0 0;padding:0;list-style:none}.toc a{font-size:12px;line-height:1.95}.prose .comparison{margin:28px 0}.comparison>figcaption{color:var(--muted);margin-bottom:10px;font-size:12px;line-height:2}.comparison .table-scroll{margin:0}.callout>strong{color:var(--ink);margin-bottom:7px;font-size:14px;display:block}.related-reading{border-top:1px solid var(--line);margin-top:40px;padding-top:20px}.related-reading h2{font-size:23px}.related-reading li{font-size:15px;line-height:2.2}.article-figure{margin:28px 0}.article-figure figcaption{color:var(--muted);margin-top:10px;font-size:12px;line-height:2}@media (max-width:1050px){.learning-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.featured-body{padding:27px}.featured-body h2{font-size:27px}.featured-body>p:not(.feature-label){font-size:13px}.learn-hero{gap:40px}.course-hero{gap:35px}.course-body{gap:40px}}@media (max-width:760px){.learning-grid{grid-template-columns:1fr;gap:20px}.learning-card-body{padding:23px}.learning-card h3{font-size:21px}.learning-card p{font-size:14px}.collection-heading{flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:24px}.collection-heading h2,.collection-title{font-size:26px}.collection-heading p{font-size:14px}.collection-heading>.text-link{font-size:12px}.featured-article{border-radius:14px;grid-template-columns:1fr;margin-top:30px}.featured-body{padding:25px}.featured-body h2{font-size:27px}.featured-body>p:not(.feature-label){font-size:14px}.featured-body .button{width:100%}.feature-label{font-size:12px}.learn-hero{grid-template-columns:1fr;gap:32px;padding-block:35px}.learn-hero h1{font-size:35px}.learn-hero>div>p:not(.eyebrow){font-size:15px}.learning-route{max-width:none}.learning-route>a{padding:17px 21px}.learning-route strong{font-size:15px}.course-hero{grid-template-columns:1fr;gap:28px;padding-block:30px}.course-hero h1{font-size:33px}.course-hero p{font-size:15px}.course-body{grid-template-columns:1fr;gap:30px;padding-block:35px 60px}.course-lessons>a{padding:19px;font-size:14px}.article-head h1{font-size:27px;line-height:1.9}.article-layout{grid-template-columns:1fr;gap:27px}.article-cover{margin-top:24px}.standalone-lab>h2{font-size:23px}.standalone-lab>p{font-size:14px}.lab-selector{gap:7px}.lab-selector button{padding-inline:13px;font-size:11px}}.wireframe-drag-handle{z-index:3;height:26px;color:var(--muted);touch-action:none;background:0 0;border:0;justify-content:center;align-items:center;padding:0;font-size:18px;display:flex;position:absolute;top:0;left:0;right:0}.wireframe-drag-handle:hover{background:var(--wash)}.wireframe-drag-handle:focus-visible{outline-offset:-3px}.wireframe-chrome span{opacity:.3}.wireframe{transition:box-shadow .2s;animation:none}.product-stage:has(.wireframe-drag-handle:hover) .wireframe{box-shadow:-9px 11px 0 var(--line)}.product-stage:has(.wireframe-drag-handle:active) .wireframe{box-shadow:-3px 5px 0 var(--line)}.map-reset{color:var(--muted);background:0 0;border:0;min-height:32px;padding:4px 8px;font-size:12px}.map-reset:hover{color:var(--ink)}.service-cover{margin-block:0 32px}.service-cover img{border-radius:12px}.service-cover figcaption{color:var(--muted);margin-top:10px;font-size:11px;line-height:2}.footer.footer-expanded{grid-template-columns:1fr 1.4fr;align-items:start;gap:36px;padding-block:48px 24px;display:grid}.footer.footer-expanded>.footer-intro{flex-direction:column;align-items:flex-start;gap:16px;display:flex}.footer-expanded .footer-intro p{margin:0;font-size:13px}.footer-expanded .footer-intro>a{font-size:13px}.footer-columns{grid-template-columns:1fr 1fr;gap:32px;display:grid}.footer-columns>div{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.footer-columns h2{margin:0 0 4px;font-size:14px;line-height:2}.footer-columns a{color:var(--muted);font-size:12px}.footer-columns a:hover{color:var(--ink)}.footer.footer-expanded>.footer-legal{border-top:1px solid var(--line);grid-column:1/-1;justify-content:space-between;padding-top:20px;font-size:11px;display:flex}.content-preview-banner{background:var(--raised);border:1px dashed var(--accent);color:var(--accent);padding:12px 18px;font-size:13px}@media (max-width:760px){.footer.footer-expanded{grid-template-columns:1fr;gap:32px}.footer-columns{gap:20px}}
@media (hover:hover) and (pointer:fine){:root{--cursor-default:url(/cursors/default.svg) 5 3,default}[data-cursor=default]{cursor:var(--cursor-default)!important}:root{--cursor-pointer:url(/cursors/pointer.svg) 16 5,pointer}[data-cursor=pointer]{cursor:var(--cursor-pointer)!important}:root{--cursor-text:url(/cursors/text.svg) 18 18,text}[data-cursor=text]{cursor:var(--cursor-text)!important}:root{--cursor-vertical-text:url(/cursors/vertical-text.svg) 18 18,vertical-text}[data-cursor=vertical-text]{cursor:var(--cursor-vertical-text)!important}:root{--cursor-grab:url(/cursors/grab.svg) 18 18,grab}[data-cursor=grab]{cursor:var(--cursor-grab)!important}:root{--cursor-grabbing:url(/cursors/grabbing.svg) 18 18,grabbing}[data-cursor=grabbing]{cursor:var(--cursor-grabbing)!important}:root{--cursor-move:url(/cursors/move.svg) 18 18,move}[data-cursor=move]{cursor:var(--cursor-move)!important}:root{--cursor-crosshair:url(/cursors/crosshair.svg) 18 18,crosshair}[data-cursor=crosshair]{cursor:var(--cursor-crosshair)!important}:root{--cursor-cell:url(/cursors/cell.svg) 18 18,cell}[data-cursor=cell]{cursor:var(--cursor-cell)!important}:root{--cursor-help:url(/cursors/help.svg) 5 3,help}[data-cursor=help]{cursor:var(--cursor-help)!important}:root{--cursor-copy:url(/cursors/copy.svg) 5 3,copy}[data-cursor=copy]{cursor:var(--cursor-copy)!important}:root{--cursor-alias:url(/cursors/alias.svg) 5 3,alias}[data-cursor=alias]{cursor:var(--cursor-alias)!important}:root{--cursor-progress:url(/cursors/progress.svg) 5 3,progress}[data-cursor=progress]{cursor:var(--cursor-progress)!important}:root{--cursor-wait:url(/cursors/wait.svg) 18 18,wait}[data-cursor=wait]{cursor:var(--cursor-wait)!important}:root{--cursor-not-allowed:url(/cursors/not-allowed.svg) 18 18,not-allowed}[data-cursor=not-allowed]{cursor:var(--cursor-not-allowed)!important}:root{--cursor-no-drop:url(/cursors/no-drop.svg) 5 3,no-drop}[data-cursor=no-drop]{cursor:var(--cursor-no-drop)!important}:root{--cursor-context-menu:url(/cursors/context-menu.svg) 5 3,context-menu}[data-cursor=context-menu]{cursor:var(--cursor-context-menu)!important}:root{--cursor-zoom-in:url(/cursors/zoom-in.svg) 18 18,zoom-in}[data-cursor=zoom-in]{cursor:var(--cursor-zoom-in)!important}:root{--cursor-zoom-out:url(/cursors/zoom-out.svg) 18 18,zoom-out}[data-cursor=zoom-out]{cursor:var(--cursor-zoom-out)!important}:root{--cursor-ew-resize:url(/cursors/ew-resize.svg) 18 18,ew-resize}[data-cursor=ew-resize]{cursor:var(--cursor-ew-resize)!important}:root{--cursor-ns-resize:url(/cursors/ns-resize.svg) 18 18,ns-resize}[data-cursor=ns-resize]{cursor:var(--cursor-ns-resize)!important}:root{--cursor-nesw-resize:url(/cursors/nesw-resize.svg) 18 18,nesw-resize}[data-cursor=nesw-resize]{cursor:var(--cursor-nesw-resize)!important}:root{--cursor-nwse-resize:url(/cursors/nwse-resize.svg) 18 18,nwse-resize}[data-cursor=nwse-resize]{cursor:var(--cursor-nwse-resize)!important}:root{--cursor-e-resize:url(/cursors/e-resize.svg) 18 18,e-resize}[data-cursor=e-resize]{cursor:var(--cursor-e-resize)!important}:root{--cursor-s-resize:url(/cursors/s-resize.svg) 18 18,s-resize}[data-cursor=s-resize]{cursor:var(--cursor-s-resize)!important}:root{--cursor-w-resize:url(/cursors/w-resize.svg) 18 18,w-resize}[data-cursor=w-resize]{cursor:var(--cursor-w-resize)!important}:root{--cursor-n-resize:url(/cursors/n-resize.svg) 18 18,n-resize}[data-cursor=n-resize]{cursor:var(--cursor-n-resize)!important}:root{--cursor-ne-resize:url(/cursors/ne-resize.svg) 18 18,ne-resize}[data-cursor=ne-resize]{cursor:var(--cursor-ne-resize)!important}:root{--cursor-se-resize:url(/cursors/se-resize.svg) 18 18,se-resize}[data-cursor=se-resize]{cursor:var(--cursor-se-resize)!important}:root{--cursor-sw-resize:url(/cursors/sw-resize.svg) 18 18,sw-resize}[data-cursor=sw-resize]{cursor:var(--cursor-sw-resize)!important}:root{--cursor-nw-resize:url(/cursors/nw-resize.svg) 18 18,nw-resize}[data-cursor=nw-resize]{cursor:var(--cursor-nw-resize)!important}:root{--cursor-col-resize:url(/cursors/col-resize.svg) 18 18,col-resize}[data-cursor=col-resize]{cursor:var(--cursor-col-resize)!important}:root{--cursor-row-resize:url(/cursors/row-resize.svg) 18 18,row-resize}[data-cursor=row-resize]{cursor:var(--cursor-row-resize)!important}body{cursor:var(--cursor-default)}p,li,pre,code,input,textarea,[contenteditable=true]{cursor:var(--cursor-text)}a,button,summary,[role=tab],select{cursor:var(--cursor-pointer)}a *,button *,summary *,[role=tab] *{cursor:inherit!important}button:disabled,[aria-disabled=true]{cursor:var(--cursor-not-allowed)}[aria-busy=true] button:disabled{cursor:var(--cursor-progress)}[data-dragging=true],[data-dragging=true] *{cursor:var(--cursor-grabbing)!important}[data-cursor] *{cursor:inherit!important}}
