:root{--bg:#f7f8fb;--surface:#fff;--surface-soft:#eff2f8;--text:#111827;--muted:#4b5563;--line:#d4d9e4;--accent:#0a4f84;--accent-strong:#073a61;--radius:14px;--dim:#0a4f846b}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);min-height:100vh;color:var(--text);margin:0;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Helvetica Neue,Arial,sans-serif;line-height:1.6}h1,h2,h3{letter-spacing:-.01em;margin:0 0 .75rem;line-height:1.2}h1{font-size:clamp(2rem,5vw,3rem)}h2{font-size:clamp(1.5rem,3vw,2.1rem)}h3{font-size:1.2rem}p{color:var(--muted);margin:0 0 1rem}a{color:inherit}.skip-link{z-index:1000;background:var(--accent-strong);color:#fff;border-radius:10px;padding:.6rem .9rem;position:absolute;top:.9rem;left:-9999px}.skip-link:focus{left:.9rem}.container{width:min(980px,92vw);margin:0 auto}.site-header{z-index:20;border-bottom:1px solid var(--line);backdrop-filter:blur(6px);background:#f7f8fbf2;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:1rem;min-height:4rem;display:flex}.brand{align-items:center;gap:.55rem;font-weight:700;text-decoration:none;display:inline-flex}.brand-mark{background:var(--accent);border-radius:999px;width:.72rem;height:.72rem}.nav-list{flex-wrap:wrap;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.nav-list a{color:#1f2937;border-radius:999px;padding:.35rem .7rem;text-decoration:none;display:inline-block}.nav-list a:hover{background:var(--surface-soft)}.nav-list a:focus-visible,.btn:focus-visible,.text-link:focus-visible{outline-offset:2px;outline:3px solid #0a4f8459}.hero{isolation:isolate;padding:3.4rem 0 1.6rem;position:relative}.hero:before{content:"";z-index:-1;pointer-events:none;-webkit-mask-image:var(--grid-mask-y), var(--grid-mask-x);mask-image:var(--grid-mask-y), var(--grid-mask-x);-webkit-mask-composite:source-in;--grid-mask-y:linear-gradient(to bottom, transparent 0px, #0000000b 5.75px, #00000028 11.5px, #00000051 17.25px, #00000080 23px, #000000ae 28.75px, #000000d7 34.5px, #000000f4 40.25px, #000 46px, #000 calc(100% - 40px), #000000f4 calc(100% - 35px), #000000d7 calc(100% - 30px), #000000ae calc(100% - 25px), #00000080 calc(100% - 20px), #00000051 calc(100% - 15px), #00000028 calc(100% - 10px), #0000000b calc(100% - 5px), transparent 100%);--grid-mask-x:linear-gradient(to right, transparent calc(50% - 700px), #0000000b calc(50% - 673.75px), #00000028 calc(50% - 647.5px), #00000051 calc(50% - 621.25px), #00000080 calc(50% - 595px), #000000ae calc(50% - 568.75px), #000000d7 calc(50% - 542.5px), #000000f4 calc(50% - 516.25px), #000 calc(50% - 490px), #000 calc(50% + 490px), #000000f4 calc(50% + 516.25px), #000000d7 calc(50% + 542.5px), #000000ae calc(50% + 568.75px), #00000080 calc(50% + 595px), #00000051 calc(50% + 621.25px), #00000028 calc(50% + 647.5px), #0000000b calc(50% + 673.75px), transparent calc(50% + 700px));background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96' fill='none' stroke='%230a4f84'%3E%3Cpath stroke-opacity='.05' d='M24.5 0v96m24-96v96m24-96v96M0 24.5h96M0 48.5h96M0 72.5h96'/%3E%3Cpath stroke-opacity='.085' d='M.5 0v96M0 .5h96'/%3E%3C/svg%3E") calc(50% - 442px) 3.4rem/96px 96px;display:none;position:absolute;inset:0;mask-composite:intersect}.hero-copy{--hero-pad:clamp(1.3rem, 3vw, 2rem);isolation:isolate;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:calc(var(--hero-pad) + 200px) var(--hero-pad) var(--hero-pad);position:relative}.hero-art{z-index:-1;border-radius:calc(var(--radius) - 1px);mix-blend-mode:multiply;pointer-events:none;-webkit-mask-image:var(--art-mask);mask-image:var(--art-mask);--art-mask:linear-gradient(to bottom, transparent 0px, #00000013 2.33px, #00000042 4.67px, #00000080 7px, #000000bd 9.33px, #000000ec 11.67px, #000 14px, #000 calc(var(--hero-pad) + 190px), #000000ec calc(var(--hero-pad) + 192.33px), #000000bd calc(var(--hero-pad) + 194.67px), #00000080 calc(var(--hero-pad) + 197px), #00000042 calc(var(--hero-pad) + 199.33px), #00000013 calc(var(--hero-pad) + 201.67px), transparent calc(var(--hero-pad) + 204px));position:absolute;inset:0;overflow:hidden}.hero-art img{top:calc(var(--hero-pad) - 4px);width:auto;max-width:none;height:200px;position:absolute;left:50%;transform:translate(-50%)}.hero-copy:before,.hero-copy:after{content:"";pointer-events:none;position:absolute}.hero-copy:before{border-inline:1px solid var(--dim);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='7'%3E%3Cpath d='M0 3.5 7 .9v5.2z' fill='%230a4f84' fill-opacity='.52'/%3E%3C/svg%3E") left top 5px / 7px 7px no-repeat, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='7'%3E%3Cpath d='M7 3.5 0 .9v5.2z' fill='%230a4f84' fill-opacity='.52'/%3E%3C/svg%3E") right top 5px / 7px 7px no-repeat, linear-gradient(var(--dim), var(--dim)) 0 8px / 100% 1px no-repeat;height:27px;top:-33px;left:-1px;right:-1px}.hero-copy:after{border-block:1px solid var(--dim);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='7'%3E%3Cpath d='M3.5 0 .9 7h5.2z' fill='%230a4f84' fill-opacity='.52'/%3E%3C/svg%3E") left 16px top / 7px 7px no-repeat, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='7'%3E%3Cpath d='M3.5 7 .9 0h5.2z' fill='%230a4f84' fill-opacity='.52'/%3E%3C/svg%3E") left 16px bottom / 7px 7px no-repeat, linear-gradient(var(--dim), var(--dim)) 19px 0 / 1px 100% no-repeat;width:27px;display:none;top:-1px;bottom:-1px;left:calc(100% + 6px)}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin:0 0 .7rem;font-size:.78rem;font-weight:700}.lead{max-width:62ch;font-size:clamp(1rem,2vw,1.15rem)}.hero-actions{flex-wrap:wrap;gap:.65rem;margin-top:1rem;display:flex}.section-block{padding:2.4rem 0}.section-soft{background:var(--surface-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-head{max-width:74ch}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem;display:grid}.services-grid>:first-child,.services-grid>:last-child:nth-child(2n){grid-column:1/-1}.work-panel{margin-top:1rem}.work-panel .value-list li:last-child{margin-bottom:0}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:1.2rem}.product-card{flex-direction:column;gap:.15rem;display:flex}.product-head{margin-bottom:.25rem}.product-window{border-bottom:1px solid var(--line);border-radius:calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0 0;background:var(--ground);flex:none;height:212px;margin:-1.2rem -1.2rem 14px;position:relative;overflow:hidden}.product-window>*{width:100%;height:100%;display:block;position:absolute;inset:0}.product-window>img{object-fit:cover}.spot{mix-blend-mode:multiply;flex:none;width:88px;height:88px;display:block}.product-head .spot{margin:-4px 0 6px -6px}.status-pill{color:var(--accent-strong);text-transform:uppercase;letter-spacing:.06em;background:#e6eef7;border-radius:999px;margin:0 0 .7rem;padding:.2rem .55rem;font-size:.72rem;font-weight:700;display:inline-block}.product-tagline{color:#374151;margin-bottom:.25rem}.product-description{margin-bottom:.7rem}.feature-list{color:#374151;margin:0 0 1rem;padding:0 0 0 1rem}.feature-list li{margin-bottom:.4rem}.feature-list li::marker{color:var(--accent)}.text-link{width:fit-content;color:var(--accent-strong);border-bottom:1px solid #0000;margin-top:auto;font-weight:600;text-decoration:none}.text-link:hover{border-bottom-color:var(--accent-strong)}.two-col{grid-template-columns:1.35fr 1fr;align-items:start;gap:1rem;display:grid}.value-list{color:#374151;margin:0;padding:0 0 0 1rem}.value-list li{margin-bottom:.7rem}.founder-wrap,.contact-box{justify-content:space-between;align-items:center;gap:1rem;display:flex}.founder-wrap>.spot,.contact-box>.spot{margin:-6px 0 -6px -4px}.section-contact{padding-bottom:3.1rem}.btn{border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;min-height:2.7rem;padding:.58rem .95rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-strong)}.btn-secondary{color:#1f2937;background:#fff;border-color:#9ca8bb}.btn-secondary:hover{border-color:var(--accent);color:var(--accent-strong)}.not-found{text-align:center;max-width:640px;margin:1.2rem auto}.site-footer{border-top:1px solid var(--line);background:#f0f3f8}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.7rem;min-height:4rem;display:flex}.footer-inner p,.footer-inner a{color:#374151;margin:0;font-size:.94rem;text-decoration:none}.footer-inner a:hover{color:var(--accent-strong)}@media (width<=920px){.portfolio-grid,.two-col{grid-template-columns:1fr}.product-window{height:260px}.founder-wrap,.contact-box{flex-direction:column;align-items:flex-start}.founder-wrap>.spot,.contact-box>.spot{margin:-4px 0 calc(4px - 1rem) -6px}}@media (width<=760px){.header-inner{flex-direction:column;justify-content:center;align-items:flex-start;padding:.65rem 0}.section-block{padding:2rem 0}}@media (width<=639px){.product-window{height:176px}.spot{width:76px;height:76px}}@media (width>=921px){.founder-wrap,.contact-box{justify-content:flex-start;gap:1.25rem}.founder-wrap>div,.contact-box>div{flex:1}}@media (width>=1050px){.hero-copy:after{display:block}}@media (width>=1066px){.hero-copy{padding-top:var(--hero-pad)}.lead{max-width:46ch}.hero-art{-webkit-mask-image:var(--art-mask-y), var(--art-mask-x);mask-image:var(--art-mask-y), var(--art-mask-x);-webkit-mask-composite:source-in;--art-mask-y:linear-gradient(to bottom, transparent 0px, #00000013 3px, #00000042 6px, #00000080 9px, #000000bd 12px, #000000ec 15px, #000 18px, #000 calc(100% - 18px), #000000ec calc(100% - 15px), #000000bd calc(100% - 12px), #00000080 calc(100% - 9px), #00000042 calc(100% - 6px), #00000013 calc(100% - 3px), transparent 100%);--art-mask-x:linear-gradient(to left, transparent 0px, #00000013 2.33px, #00000042 4.67px, #00000080 7px, #000000bd 9.33px, #000000ec 11.67px, #000 14px);mask-composite:intersect}.hero-art img{height:102.2%;top:50%;left:auto;right:14px;transform:translate(2.36%,-50%)}}@media (width>=1100px){.hero:before{display:block}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
