/* techtumbler static website v1.2.0 — 2026-11-10
   No external CSS, fonts, tracking or runtime services.
   Changelog: 1.0.0 initial static launch with project filtering, theme switch and legal pages. */
:root{color-scheme:dark;--bg:#111b22;--bg-2:#17232b;--bg-3:#1c2a31;--panel:#1b2a32;--line:#34434a;--line-soft:rgba(229,239,232,.12);--text:#f2f4ef;--muted:#a2b0b1;--accent:#b8e58c;--accent-ink:#162419;--orange:#e5a77f;--shadow:rgba(0,0,0,.15);--radius:20px;--header-h:78px}
:root[data-theme="light"]{color-scheme:light;--bg:#f5f4ed;--bg-2:#eaece6;--bg-3:#e1e6df;--panel:#fffefa;--line:#c9d1c9;--line-soft:rgba(28,53,44,.13);--text:#17262b;--muted:#54676b;--accent:#4a742f;--accent-ink:#fff;--orange:#b66b39;--shadow:rgba(36,52,40,.08)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}body::selection{background:var(--accent);color:var(--accent-ink)}a{color:inherit;text-decoration:none}button{font:inherit}svg{display:block}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}h1,h2,h3,p{margin-top:0}p{line-height:1.65}h1,h2,h3{letter-spacing:-.045em}.container{width:min(1320px,calc(100% - 96px));margin:auto}.section-shell{position:relative}.skip-link{position:fixed;z-index:999;top:-70px;left:16px;padding:12px 20px;background:var(--accent);color:var(--accent-ink);border-radius:8px}.skip-link:focus{top:12px}.site-header{position:sticky;z-index:30;top:0;background:color-mix(in srgb,var(--bg) 91%,transparent);border-bottom:1px solid var(--line-soft);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.header-inner{min-height:var(--header-h);display:flex;align-items:center;gap:35px}.brand{display:inline-flex;align-items:center;gap:12px;font-size:22px;font-weight:800;letter-spacing:-.06em;white-space:nowrap}.brand-icon{width:37px;height:37px;color:var(--accent)}.brand-dot,.footer-brand span{color:var(--accent)}.main-nav{margin-left:auto;display:flex;align-items:center;gap:38px}.nav-link{font-size:13px;font-weight:650;color:var(--muted);transition:color .2s}.nav-link:hover{color:var(--text)}.nav-contact{color:var(--text)}.nav-contact span{color:var(--accent);margin-left:4px}.header-actions{display:flex;align-items:center;gap:12px}.theme-switch,.menu-toggle{display:grid;place-items:center;border:1px solid var(--line);background:transparent;color:var(--text);cursor:pointer}.theme-switch{width:42px;height:42px;border-radius:50%}.theme-switch svg{width:19px;height:19px}.menu-toggle{display:none;width:42px;height:42px;border-radius:10px;gap:4px;align-content:center}.menu-toggle span{width:18px;height:2px;background:var(--text);border-radius:2px;display:block;transition:transform .2s,opacity .2s}.hero{overflow:hidden;background:radial-gradient(ellipse at 66% 49%,rgba(131,174,125,.075),transparent 45%),var(--bg)}.hero-grain{position:absolute;inset:0;opacity:.20;pointer-events:none;background-image:linear-gradient(var(--line-soft) 1px,transparent 1px),linear-gradient(90deg,var(--line-soft) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(90deg,transparent 14%,black 100%)}.hero-layout{min-height:700px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0, .94fr);align-items:center;gap:80px;padding-top:84px;padding-bottom:104px}.hero-copy{z-index:1}.eyebrow,.section-kicker,.visual-label,.visual-footer,.hero-bottom,.filter-note,.project-index,.art-small-label,.art-corner,.preview-caption,.mini-pill,.map-corner,.map-scale,.about-caption,.about-visual-bottom,.process-count,.contact-side>span,.footer-bottom{font-size:11px;line-height:1.4;letter-spacing:.14em;font-weight:750}.eyebrow{display:flex;gap:13px;align-items:center;color:var(--accent);margin-bottom:32px}.pulse-dot,.small-live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 13%,transparent)}.eyebrow-divider{color:var(--muted)}.hero h1{font-size:clamp(63px,6.3vw,106px);line-height:.98;letter-spacing:-.084em;font-weight:780;margin-bottom:32px;white-space:nowrap}.hero h1 em{font-style:normal;color:var(--accent)}.hero-intro{font-size:clamp(19px,1.85vw,24px);line-height:1.5;letter-spacing:-.025em;max-width:585px;font-weight:520;margin-bottom:18px}.hero-sub{font-size:15px;max-width:500px;color:var(--muted);margin-bottom:34px}.hero-buttons{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;gap:16px;font-size:13px;font-weight:750;min-height:51px}.button-primary{border-radius:9px;padding:0 20px;background:var(--accent);color:var(--accent-ink);transition:transform .2s,filter .2s}.button-primary:hover{transform:translateY(-2px);filter:brightness(1.08)}.button-primary svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}.button-text{color:var(--text)}.button-text span{color:var(--accent)}.hero-visual{position:relative;z-index:1;max-width:600px}.visual-label,.visual-footer{display:flex;align-items:center;justify-content:space-between;color:var(--muted);margin-bottom:19px}.visual-label{gap:10px}.visual-label>span:last-child{margin-left:auto}.visual-asterisk{font-size:17px;color:var(--accent)}.app-preview{padding:11px;background:var(--panel);border:1px solid var(--line);border-radius:20px;box-shadow:0 30px 80px var(--shadow);transform:rotate(-1.4deg);transition:transform .45s}.app-preview:hover{transform:rotate(0deg) translateY(-4px)}.preview-top{min-height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 17px;gap:10px}.preview-brand{font-size:20px;letter-spacing:-.055em;font-weight:850}.mini-by{font-size:10px;color:var(--muted);letter-spacing:0;font-weight:500}.preview-control{border-radius:20px;padding:7px 11px;color:var(--muted);font-size:10px;border:1px solid var(--line);white-space:nowrap}.route-visual{height:284px;background:#233039;overflow:hidden;position:relative;border-radius:12px;color:#b7d0bf}.route-visual>svg{width:100%;height:100%}.map-corner,.map-scale{position:absolute;color:#b8c8be;background:#18242bbd;padding:8px 10px;border-radius:6px}.map-corner{left:13px;top:13px}.map-corner strong{color:var(--accent);margin-left:10px}.map-scale{bottom:12px;right:13px}.preview-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 14px 13px}.preview-bottom>div{display:flex;flex-direction:column;gap:6px}.preview-caption{color:var(--muted)}.preview-bottom strong{letter-spacing:-.03em;font-size:16px}.mini-pill{display:inline-flex;gap:10px;align-items:center;border:1px solid var(--line);padding:9px 11px;border-radius:8px;white-space:nowrap;font-size:9px}.small-live-dot{width:6px;height:6px}.visual-footer{justify-content:flex-end;gap:16px;margin:25px 5px 0}.visual-footer span{color:var(--accent)}.hero-bottom{display:flex;justify-content:space-between;gap:20px;padding-bottom:29px;color:var(--muted);border-bottom:1px solid var(--line-soft)}.intro-strip{border-bottom:1px solid var(--line-soft);background:var(--bg-2)}.strip-inner{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:23px 0;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.13em}.strip-inner i{display:block;width:4px;height:4px;border-radius:50%;background:var(--accent);flex-shrink:0}.projects-section{padding:126px 0 120px}.section-heading{display:grid;grid-template-columns:1fr minmax(250px,400px);gap:40px;align-items:end;margin-bottom:48px}.section-kicker{color:var(--accent);margin-bottom:17px}.section-heading h2,.about-text h2,.contact-layout h2{font-size:clamp(46px,5.1vw,72px);font-weight:780;line-height:1.03;letter-spacing:-.069em;margin-bottom:0}.section-heading h2 span,.about-text h2 span,.process-heading h2 span,.contact-layout h2 span{color:var(--accent)}.section-heading>p{color:var(--muted);font-size:15px;max-width:405px;margin-bottom:4px}.filter-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:24px}.filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.filter{cursor:pointer;background:transparent;color:var(--muted);padding:10px 16px;border:1px solid transparent;border-radius:8px;font-size:13px;font-weight:700;transition:background .2s,color .2s}.filter:hover{color:var(--text)}.filter.is-active{background:var(--accent);color:var(--accent-ink)}.filter span{margin-left:8px;font-size:10px;opacity:.7}.filter-note{color:var(--muted);white-space:nowrap}.projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.project-card{min-width:0;display:flex;flex-direction:column;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);transition:border-color .2s,transform .2s}.project-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 50%,var(--line))}.project-card[hidden]{display:none}.feature-card{grid-column:span 3;min-height:460px;display:grid;grid-template-columns:1fr .83fr;background:var(--bg-2)}.project-body{padding:42px 46px 37px;display:flex;flex-direction:column;align-items:flex-start}.project-topline{width:100%;display:flex;justify-content:space-between;gap:10px;align-items:center}.project-index{color:var(--muted)}.status{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:11px;white-space:nowrap;font-weight:650}.status span{width:6px;height:6px;background:var(--accent);border-radius:50%}.status-progress{color:var(--accent)}.status-online{color:var(--accent)}.project-name-mark{color:var(--accent);font-size:31px;font-weight:800;margin-top:47px;letter-spacing:-.1em}.project-name-mark span{color:var(--text)}.feature-card h3{font-size:clamp(40px,4vw,57px);margin:7px 0 2px}.project-summary{font-size:19px;color:var(--accent);letter-spacing:-.02em;margin-bottom:12px}.project-detail{max-width:490px;color:var(--muted);font-size:15px;margin-bottom:25px}.project-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:auto;margin-bottom:18px}.project-tags span{font-size:10px;font-weight:700;letter-spacing:.025em;padding:8px 10px;border-radius:6px;background:var(--bg-3);color:var(--muted);border:1px solid var(--line-soft)}.project-link{font-size:13px;font-weight:750;display:inline-flex;align-items:center;gap:14px;color:var(--accent)}.project-link span{font-size:17px}.project-link:hover{text-decoration:underline;text-underline-offset:5px}.project-link-muted{color:var(--muted);cursor:default}.project-link-muted:hover{text-decoration:none}.feature-art{min-height:440px;overflow:hidden;position:relative;display:grid;place-items:center;background:radial-gradient(circle at 50% 50%,#375344 0%,#24392f 45%,#192f2b 90%);color:white}.feature-art:before,.feature-art:after{content:"";position:absolute;width:470px;height:470px;border:1px solid #a5db7f35;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.feature-art:after{width:650px;height:650px}.feature-device{z-index:1;width:228px;height:348px;background:#101c22;border:7px solid #48585b;border-radius:32px;box-shadow:25px 35px 60px #0007;overflow:hidden;transform:rotate(7deg);position:relative;padding:12px}.device-notch{width:62px;height:9px;background:#27383e;border-radius:0 0 8px 8px;position:absolute;top:0;left:calc(50% - 31px)}.device-header{color:#d7e0d7;font-size:9px;font-weight:800;letter-spacing:.14em;padding:21px 5px 9px;display:flex;justify-content:space-between}.device-lines{height:222px;background:#28393b;border-radius:8px;overflow:hidden}.device-lines svg{height:100%;width:100%;color:#b8e4b3}.device-toast{position:absolute;bottom:18px;left:19px;right:19px;border-radius:11px;background:#e1f1da;color:#153323;display:flex;align-items:center;gap:10px;padding:10px 12px}.toast-indicator{height:19px;width:19px;border-radius:50%;border:5px solid #5c9c57}.device-toast b{font-size:11px;display:block}.device-toast small{font-size:9px;display:block;color:#47684d}.art-numbers{position:absolute;bottom:22px;right:25px;font-size:11px;letter-spacing:.18em;color:#b8dbaa}.project-art{height:205px;position:relative;overflow:hidden;border-bottom:1px solid var(--line);display:grid;place-items:center}.art-small-label{position:absolute;top:22px;left:23px;color:inherit;opacity:.65;font-size:9px}.art-corner{position:absolute;bottom:16px;right:23px;opacity:.6;font-size:9px}.art-tournament{background:#e3e8cd;color:#254238}.bracket{height:104px;width:235px;display:flex;align-items:center;gap:15px;transform:translateY(8px)}.bracket-col{height:100%;flex:1;display:flex;flex-direction:column;justify-content:space-around}.bracket-col b{height:13px;border-radius:3px;background:#759a7d;box-shadow:inset 18px 0 0 #437154}.bracket-col.b2 b{height:19px}.bracket-col.b3 b{height:25px;background:#244d41}.bracket-joints{height:70%;width:27px;border:2px solid #759a7d;border-left:0;border-radius:0 5px 5px 0;position:relative}.bracket-joints:before,.bracket-joints:after{content:"";position:absolute;left:-15px;width:15px;height:2px;background:#759a7d}.bracket-joints:before{top:0}.bracket-joints:after{bottom:0}.bracket-joints.half{height:35%}.art-reading{background:#d3d9d3;color:#24423e}.reading-letters{font-family:Georgia,serif;font-size:100px;letter-spacing:-.1em;line-height:1}.reading-letters span{color:#ab795b}.reading-lines{position:absolute;left:36px;right:36px;bottom:24px;display:flex;gap:7px}.reading-lines i{height:3px;background:#7c9c93;flex:1}.reading-lines i:last-child{flex:.55}.art-cargo{background:#333b42;color:#e7ddd2}.cargo-sketch,.markets-sketch{width:100%;height:100%}.art-delta{background:#ecede5;color:#1c292f;display:block}.delta-headline{font-size:89px;letter-spacing:-.1em;font-weight:850;position:absolute;left:52px;top:48px;line-height:1}.delta-headline span{color:#dd6156}.delta-micro{position:absolute;left:53px;bottom:39px;display:flex;gap:7px}.delta-micro i{width:44px;height:5px;background:#acb4ac}.delta-micro i:nth-child(2){width:70px}.delta-micro i:nth-child(3){width:28px}.delta-what{position:absolute;right:22px;top:30px;font-size:9px;font-weight:800;letter-spacing:.15em;color:#dd6156}.art-maplink{background:#d8e2db;color:#22554b}.maplink-pins{display:flex;align-items:center;justify-content:center;gap:20px}.maplink-pins svg{width:65px;height:65px}.pin-two{opacity:.55;transform:rotate(12deg)}.pin-line{display:block;width:68px;border-top:3px dashed currentColor;opacity:.5}.art-markets{background:#263c39;color:#e5efd9}.project-content{padding:25px 25px 27px;display:flex;flex-direction:column;flex:1}.project-content h3{font-size:27px;line-height:1.13;margin:25px 0 12px}.project-content>p{font-size:14px;line-height:1.65;color:var(--muted);min-height:94px;margin-bottom:22px}.project-content .project-tags{margin-bottom:20px}.projects-outro{padding-top:28px;display:flex;justify-content:space-between;align-items:center;gap:20px;color:var(--muted);font-size:13px}.projects-outro a{color:var(--accent);font-weight:750;white-space:nowrap}.projects-outro a span{margin-left:7px}.about-section{padding:115px 0;background:var(--bg-2);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}.about-layout{display:grid;grid-template-columns:minmax(0,.84fr) minmax(0,1fr);gap:clamp(48px,7vw,114px);align-items:center}.about-visual{min-height:530px;background:#bfdc97;color:#20332b;position:relative;border-radius:20px;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:29px}.about-visual:before{content:"";position:absolute;inset:-100px;background:repeating-linear-gradient(90deg,transparent 0 61px,#40563d19 62px 63px),repeating-linear-gradient(0deg,transparent 0 61px,#40563d19 62px 63px);transform:rotate(-13deg)}.about-caption,.about-visual-bottom,.monogram{position:relative}.monogram{font-weight:800;letter-spacing:-.14em;font-size:clamp(145px,20vw,288px);line-height:.9;align-self:center}.monogram span{color:#537d42}.about-visual-bottom{display:flex;justify-content:space-between;align-items:end;gap:12px}.about-visual-bottom span:first-child{font-size:17px;line-height:1.18;letter-spacing:-.045em}.about-text h2{margin:0 0 28px}.about-lead{font-size:clamp(21px,2.1vw,26px);line-height:1.45;font-weight:600;letter-spacing:-.025em;margin-bottom:25px}.about-text>p:not(.section-kicker):not(.about-lead){font-size:15px;color:var(--muted);margin-bottom:16px}.about-facts{display:grid;grid-template-columns:1fr;gap:0;margin-top:30px;border-top:1px solid var(--line)}.about-facts>div{display:grid;grid-template-columns:120px 1fr;gap:15px;border-bottom:1px solid var(--line);padding:16px 0;align-items:center}.about-facts span{color:var(--muted);font-size:10px;font-weight:750;letter-spacing:.13em}.about-facts b{font-size:14px;font-weight:650}.process-section{padding:126px 0}.process-heading{margin-bottom:61px}.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.process-item{padding:30px 28px 35px;border-right:1px solid var(--line);min-height:282px;position:relative}.process-item:first-child{padding-left:0}.process-item:last-child{border:0;padding-right:0}.process-count{color:var(--accent)}.process-icon{margin:32px 0 22px;height:32px}.process-icon svg{height:32px;width:32px;fill:none;stroke:var(--accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.process-item h3{font-size:20px;letter-spacing:-.04em;margin-bottom:10px}.process-item p{font-size:13px;color:var(--muted);margin:0}.contact-section{background:var(--accent);color:var(--accent-ink);padding:108px 0}.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.45fr);gap:30px;align-items:end}.contact-layout .section-kicker{color:var(--accent-ink);opacity:.65}.contact-layout h2 span{color:var(--accent-ink);opacity:.5}.contact-layout p:not(.section-kicker){max-width:460px;font-size:16px;margin:25px 0 30px}.contact-mail{display:inline-flex;gap:20px;align-items:center;border-bottom:2px solid var(--accent-ink);font-size:clamp(19px,3vw,32px);font-weight:800;letter-spacing:-.045em;padding-bottom:8px;overflow-wrap:anywhere}.contact-mail span{font-size:24px}.contact-side{display:flex;flex-direction:column;align-items:flex-end;gap:12px}.contact-icon svg{width:95px;height:95px;fill:none;stroke:var(--accent-ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.contact-side>span{opacity:.65}.contact-side b{font-size:20px;letter-spacing:-.04em}.site-footer{padding:49px 0 25px;background:var(--bg)}.footer-main{display:flex;align-items:center;gap:30px;border-bottom:1px solid var(--line);padding-bottom:48px}.footer-brand{font-weight:820;font-size:26px;letter-spacing:-.07em}.footer-main p{margin:0;color:var(--muted);font-size:13px}.footer-top{margin-left:auto;font-size:12px;font-weight:750}.footer-top span{color:var(--accent);margin-left:6px}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--muted);padding-top:26px;font-size:10px;letter-spacing:.04em;flex-wrap:wrap}.footer-links{display:flex;gap:22px}.footer-links a:hover{color:var(--text)}
/* Legal and error pages */
.subpage-main{min-height:65vh;padding:100px 0 140px}.subpage-narrow{max-width:820px}.subpage-main h1{font-size:clamp(48px,7vw,78px);margin:0 0 22px}.subpage-main h2{font-size:27px;margin:39px 0 14px}.subpage-main p,.subpage-main li{color:var(--muted);font-size:16px}.subpage-main a:not(.button){color:var(--accent);text-decoration:underline;text-underline-offset:4px}.subpage-main .legal-note{padding:16px 20px;border-left:3px solid var(--accent);background:var(--bg-2);font-size:14px}.subpage-main .updated-at{font-size:12px;color:var(--muted);font-weight:700;letter-spacing:.08em}.subpage-main .button{margin-top:24px}
@media(max-width:1150px){.container{width:min(100% - 64px,1320px)}.hero-layout{gap:40px;min-height:650px}.hero h1{font-size:clamp(60px,6.7vw,86px)}.project-content{padding:23px 19px 24px}.project-content h3{font-size:25px}.filter-note{display:none}.project-content>p{min-height:108px}}
@media(max-width:900px){:root{--header-h:70px}.container{width:calc(100% - 48px)}.main-nav{gap:20px}.hero-layout{grid-template-columns:1fr;gap:57px;padding-top:80px;padding-bottom:62px;min-height:0}.hero h1{font-size:clamp(70px,10vw,100px)}.hero-visual{width:min(100%,600px);margin:auto}.hero-bottom{padding-top:15px}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-card{grid-column:span 2}.project-content>p{min-height:0}.about-layout{gap:35px}.about-visual{min-height:470px}.monogram{font-size:clamp(135px,22vw,215px)}.process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.process-item:nth-child(2){border-right:0}.process-item:nth-child(-n+2){border-bottom:1px solid var(--line)}.process-item:nth-child(3){padding-left:0}.process-item:last-child{padding-right:20px}}
@media(max-width:680px){:root{--header-h:64px}.container{width:calc(100% - 36px)}.header-inner{gap:12px}.brand{font-size:20px;gap:9px}.brand-icon{width:32px;height:32px}.main-nav{display:none;position:absolute;top:calc(var(--header-h) - 1px);left:0;right:0;background:var(--bg);border-bottom:1px solid var(--line);padding:16px 18px 26px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 18px 28px var(--shadow)}.main-nav.is-open{display:flex}.main-nav .nav-link{padding:16px 10px;border-bottom:1px solid var(--line-soft);font-size:16px}.menu-toggle{display:grid}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(6px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-6px) rotate(-45deg)}.header-actions{margin-left:auto}.hero-layout{padding-top:62px;gap:46px}.eyebrow{font-size:9px;gap:9px;letter-spacing:.09em;margin-bottom:25px;flex-wrap:wrap}.hero h1{font-size:clamp(54px,12.8vw,79px);white-space:normal;margin-bottom:24px}.hero-intro{font-size:19px}.hero-sub{font-size:14px}.hero-buttons{gap:13px}.button{font-size:12px}.visual-label,.visual-footer{font-size:9px;letter-spacing:.09em}.app-preview{transform:none}.app-preview:hover{transform:none}.route-visual{height:230px}.preview-top{padding:0 8px;min-height:60px}.preview-brand{font-size:18px}.mini-by{font-size:9px}.preview-control{font-size:9px}.preview-bottom{padding:17px 7px 9px}.preview-bottom strong{font-size:13px}.mini-pill{font-size:8px;padding:7px}.hero-bottom span:last-child{display:none}.hero-bottom{font-size:9px}.strip-inner{overflow-x:auto;scrollbar-width:none;justify-content:flex-start;white-space:nowrap;font-size:9px;gap:19px}.strip-inner::-webkit-scrollbar{display:none}.projects-section{padding:80px 0}.section-heading{display:block;margin-bottom:32px}.section-heading h2,.about-text h2,.contact-layout h2{font-size:clamp(45px,11vw,64px)}.section-heading>p{margin-top:20px;font-size:14px}.filter-bar{padding-bottom:15px}.filters{gap:4px}.filter{padding:9px 10px;font-size:12px}.projects-grid{grid-template-columns:1fr;gap:15px}.feature-card{grid-column:span 1;display:flex;flex-direction:column;min-height:0}.project-body{padding:28px 24px 30px}.project-name-mark{margin-top:32px}.feature-card h3{font-size:46px}.project-detail{font-size:14px}.feature-art{min-height:360px}.feature-device{transform:rotate(5deg) scale(.91)}.project-art{height:185px}.project-content{padding:24px}.project-content h3{margin-top:21px}.project-content>p{margin-bottom:20px}.projects-outro{align-items:flex-start;flex-direction:column;line-height:1.6}.about-section{padding:80px 0}.about-layout{grid-template-columns:1fr;gap:48px}.about-visual{min-height:370px}.monogram{font-size:clamp(165px,48vw,260px)}.about-text{max-width:620px}.about-lead{font-size:22px}.about-facts>div{grid-template-columns:100px 1fr}.process-section{padding:80px 0}.process-heading{margin-bottom:35px}.process-grid{grid-template-columns:1fr}.process-item,.process-item:first-child,.process-item:nth-child(3),.process-item:last-child{padding:23px 0 27px;min-height:0;border-right:0;border-bottom:1px solid var(--line)}.process-item:last-child{border-bottom:0}.process-icon{margin:18px 0}.contact-section{padding:80px 0}.contact-layout{grid-template-columns:1fr;gap:70px}.contact-layout p:not(.section-kicker){font-size:15px}.contact-mail{font-size:clamp(19px,5.3vw,27px)}.contact-side{align-items:flex-start}.contact-icon svg{width:75px;height:75px}.footer-main{align-items:flex-start;flex-direction:column;gap:13px;padding-bottom:27px}.footer-top{margin:8px 0 0}.footer-bottom{align-items:flex-start;flex-direction:column;gap:17px}.footer-links{order:0}.footer-bottom>span:last-child{order:2}.subpage-main{padding:70px 0 100px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* v1.1.0 — unified brand identity, responsive project icons, installable home-screen identity */
.brand{display:inline-flex;line-height:0;flex-shrink:0}
.brand-logo{display:block;width:236px;height:auto;object-fit:contain}
.brand-logo-on-light{display:none}
:root[data-theme="light"] .brand-logo-on-dark{display:none}
:root[data-theme="light"] .brand-logo-on-light{display:block}
.project-card-icon{width:148px;height:148px;max-width:80%;max-height:80%;object-fit:contain;filter:drop-shadow(0 14px 23px rgba(0,0,0,.14));z-index:1}
.project-art:has(.project-card-icon){background:radial-gradient(ellipse at 50% 55%,#33483e 0%,#17282b 77%);color:#e3eae7}
.project-art:has(.project-card-icon)::before{content:"";position:absolute;inset:25px 50px;border-radius:50%;border:1px solid rgba(184,229,140,.09);pointer-events:none}
.project-art:has(.project-card-icon) .art-small-label,.project-art:has(.project-card-icon) .art-corner{z-index:2;color:#c8d3cb;opacity:.76}
.feature-brand-icon{width:66px;height:66px;object-fit:contain;display:block}
.project-name-mark:has(.feature-brand-icon){margin-top:28px;line-height:1;height:auto}
@media(max-width:680px){.brand-logo{width:195px}.project-card-icon{height:138px;width:138px}}
@media(max-width:370px){.brand-logo{width:170px}.header-inner{gap:7px}.header-actions{gap:6px}.theme-switch,.menu-toggle{width:38px;height:38px}}

/* V1.2 – documented UI screenshots and explicit illustration provenance */
.project-shot{margin:0;position:relative;overflow:hidden;background:#eaece7;height:225px;display:block}
.project-shot::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.02) 42%,rgba(3,12,17,.66) 100%)}
.project-shot .shot-image{width:100%;height:100%;object-fit:cover;object-position:top left;display:block;transition:transform .35s ease}
.project-card:hover .shot-image{transform:scale(1.025)}
.project-shot-laesefuul .shot-image{object-position:top center}
.shot-label{position:absolute;z-index:2;bottom:13px;left:16px;right:20px;font-size:10px;font-weight:750;letter-spacing:.06em;color:#fff;line-height:1.4;text-shadow:0 1px 8px #000b}
.shot-project-icon{position:absolute;z-index:2;right:13px;top:13px;object-fit:contain;height:47px;width:47px;filter:drop-shadow(0 4px 10px #0004)}
.visual-honesty{position:absolute;z-index:2;bottom:15px;right:14px;left:14px;text-align:center;background:#17232bdb;border:1px solid #5f766879;border-radius:7px;color:#d6e3da;padding:8px;font-size:10px;letter-spacing:.03em}
.mockup-label{display:inline-block;font-size:10px;letter-spacing:.04em;color:var(--muted);border:1px solid var(--line);border-radius:99px;padding:6px 11px;margin-bottom:10px}
.screen-note{color:var(--muted);font-size:12px;margin:16px 0 5px;line-height:1.55}
.status-paused{color:var(--muted)}
.status-prototype{color:var(--muted)}
@media(max-width:680px){.project-shot{height:215px}.shot-project-icon{height:44px;width:44px}.visual-honesty{bottom:10px;font-size:9px}.mockup-label{margin-bottom:12px}}


/* techtumbler 1.3.0 — genuine iPhone captures / picture-first project cards */
.hero-shot-stage{height:294px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:flex-end;padding:24px;border-radius:12px;background:radial-gradient(circle at 10% 60%,rgba(145,202,163,.26),transparent 50%),linear-gradient(125deg,#203e3d,#101f2b 72%)}
.hero-shot-stage:after{content:"";position:absolute;width:380px;height:380px;border:1px solid #b8e58c22;border-radius:50%;left:-92px;top:-44px;pointer-events:none}
.hero-phone-frame{position:absolute;z-index:1;top:6px;bottom:-51px;left:12%;width:155px;border:7px solid #091216;background:#091216;border-radius:27px;overflow:hidden;transform:rotate(-7deg);box-shadow:20px 20px 48px #0006;transition:transform .25s ease}
.hero-phone-frame:hover{transform:rotate(-3deg) translateY(-8px)}
.hero-phone-frame img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center}
.hero-shot-copy{position:relative;z-index:2;width:52%;color:#e9efe9;display:flex;flex-direction:column;gap:11px}
.hero-shot-copy>span{font-size:10px;letter-spacing:.15em;font-weight:800;color:#b8e58c}
.hero-shot-copy strong{font-size:clamp(24px,2.5vw,35px);line-height:1.04;letter-spacing:-.055em}
.hero-shot-copy p{color:#c2d1c9;font-size:12px;line-height:1.6;margin:0}
.hero-shot-copy small{color:#a1b5b2;line-height:1.4;font-size:10px}
.feature-art.feature-art-photo{background:radial-gradient(circle at 60% 50%,#30554c,#172f33 75%);min-height:465px}
.feature-art.feature-art-photo::before,.feature-art.feature-art-photo::after{display:none}
.feature-photo-haze{position:absolute;inset:-20px;background:linear-gradient(135deg,#162a34ad,#233e39bb),url('../assets/screenshots/nextstop-iphone.webp') center 34% / cover;filter:blur(9px);opacity:.72}
.feature-photo-frame{z-index:2;position:relative;width:204px;height:425px;border:7px solid #0c171c;border-radius:31px;box-shadow:26px 23px 55px #0008;transform:rotate(6deg);overflow:hidden;background:#0e171e;transition:transform .3s}
.feature-photo-frame:hover{transform:rotate(2deg) translateY(-7px)}
.feature-photo-frame img{width:100%;height:100%;display:block;object-fit:cover;object-position:top center}
.feature-photo-label{position:absolute;z-index:3;bottom:16px;left:17px;border:1px solid #d3e5d357;color:#fff;padding:8px 11px;border-radius:99px;font-size:10px;background:#091c1fd6;letter-spacing:.05em;pointer-events:none}
.project-shot-cargo .shot-image{object-position:center 38%}
.project-shot-cargo{background:#18352c}
.project-shot-cargo .shot-open{display:block;position:absolute;inset:0;overflow:hidden}
.project-shot-cargo .shot-open img{width:100%;height:100%;object-fit:cover}
.project-shot-cargo .shot-label{pointer-events:none}
.project-shot-cargo .shot-project-icon{pointer-events:none}
@media(max-width:900px){.hero-phone-frame{left:18%}.feature-art.feature-art-photo{min-height:420px}}
@media(max-width:680px){.hero-shot-stage{height:253px;padding:16px}.hero-phone-frame{width:128px;left:7%;bottom:-55px;top:8px;border-width:6px;border-radius:24px}.hero-shot-copy{width:56%;gap:8px}.hero-shot-copy strong{font-size:25px}.hero-shot-copy p{font-size:11px}.hero-shot-copy small{font-size:9px}.feature-art.feature-art-photo{min-height:390px}.feature-photo-frame{width:174px;height:363px;transform:rotate(5deg)}.feature-photo-label{font-size:9px}.project-shot-cargo .shot-image{object-position:center 34%}}
@media(max-width:370px){.hero-phone-frame{left:4%;width:116px}.hero-shot-copy{width:55%}.hero-shot-copy strong{font-size:22px}.hero-shot-copy small{display:none}}
