/*
Theme Name: Lyli Mobile Portfolio
Theme URI: https://developer-portfolio-private.alk-pikus.chatgpt.site/
Author: Lyli
Description: A one-page React Native / Expo portfolio focused on device behavior, accessible UX, motion, and clear product flows.
Version: 1.0.0
License: GPL-2.0-or-later
Text Domain: lyli-mobile-portfolio
*/

@import "https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:wght@400;700&family=Fraunces:opsz,wght@9..144,600..900&family=IBM+Plex+Mono:wght@400;500;600&display=swap";@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.start{inset-inline-start:var(--spacing)}.table{display:table}}:root{--ink:#25233a;--muted:#6b657a;--quiet:#9288a0;--paper:#fbf7ff;--paper-2:#f2fbff;--panel:#ffffffb8;--panel-solid:#fff;--line:#4a3d6824;--line-strong:#4a3d683b;--mint:#68ded9;--blue:#8294ff;--coral:#f19ac8;--amber:#ffd978;--lilac:#c7a7ff;--pearl:#fff8ed;--shadow:#342d4c21;--font-body:"Atkinson Hyperlegible", "Avenir Next", "Segoe UI", ui-sans-serif, sans-serif;--font-display:"Fraunces", "Iowan Old Style", "Palatino Linotype", ui-serif, Georgia, serif;--font-mono:"IBM Plex Mono", "SFMono-Regular", Consolas, monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);font-family:var(--font-body);isolation:isolate;background:linear-gradient(115deg,#ffffff9e 0 12%,#0000 12% 26%,#c7a7ff29 26% 34%,#0000 34%),linear-gradient(146deg,#0000 0 18%,#68ded929 18% 26%,#ffd9782e 36% 44%,#0000 54%),linear-gradient(#fffafd 0%,#f8fbff 46%,#fff8f2 100%);margin:0;font-size:17px;position:relative}body:before,body:after{content:"";pointer-events:none;z-index:0;position:fixed;inset:-18vh -10vw}body:before{filter:blur(22px)saturate(1.14);opacity:.72;background:linear-gradient(112deg,#0000 7%,#ffffffb8 15%,#bef5f66b 21%,#f19ac847 30%,#0000 42%),linear-gradient(144deg,#0000 18%,#c7a7ff42 31%,#ffffffc7 38%,#ffd97840 46%,#0000 60%),linear-gradient(23deg,#0000 26%,#fff6fdd1 34%,#8294ff33 43%,#0000 55%),conic-gradient(from 205deg at 52% 44%,#fff6fde0,#bbf6f685,#ffdfab6b,#d1b8ff7a,#fff6fde0);transform:rotate(-4deg)scale(1.08)}body:after{mix-blend-mode:soft-light;opacity:.28;background:repeating-linear-gradient(118deg,#0000 0 34px,#ffffff4d 35px 36px,#0000 37px 92px),radial-gradient(circle,#ffffffb8 0 1px,#0000 1.4px) 0 0/34px 34px}a{color:inherit;text-decoration:none}main{z-index:1;min-height:100vh;position:relative;overflow:hidden}.site-header{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);z-index:20;background:#fffaffb8;justify-content:space-between;align-items:center;gap:24px;min-height:72px;padding:16px clamp(20px,5vw,72px);display:flex;position:sticky;top:0}.brand{font-family:var(--font-mono);white-space:nowrap;align-items:center;gap:10px;font-size:.84rem;font-weight:600;display:inline-flex}.brand-mark{border:1px solid var(--line-strong);box-shadow:0 8px 24px var(--shadow);color:var(--ink);font-family:var(--font-mono);background:#fff;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;font-size:.78rem;font-weight:600;display:inline-flex;position:relative}.brand-mark:after{background:var(--mint);content:"";border-radius:999px;width:7px;height:7px;position:absolute;bottom:5px;right:5px}nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:clamp(10px,2vw,22px);display:flex}nav a{color:var(--muted);font-family:var(--font-mono);font-size:.82rem;font-weight:500}nav a:hover,nav a:focus-visible{color:var(--ink)}.hero{grid-template-columns:minmax(0,1fr) minmax(320px,.78fr);align-items:center;gap:clamp(34px,6vw,76px);min-height:calc(100vh - 72px);padding:clamp(56px,8vw,112px) clamp(20px,5vw,72px) 64px;display:grid;position:relative}.hero:before{background:linear-gradient(90deg, var(--mint), var(--lilac), var(--coral), var(--amber));content:"";opacity:.45;width:min(320px,42vw);height:2px;position:absolute;top:clamp(34px,6vw,62px);left:clamp(20px,5vw,72px)}.hero-copy{max-width:850px;position:relative}.hero-copy:before{background:var(--ink);content:"";border-radius:999px;width:46px;height:10px;position:absolute;top:-26px;left:0}.eyebrow{color:#6f5bc8;font-family:var(--font-mono);letter-spacing:0;margin:0 0 16px;font-size:.78rem;font-weight:500}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(3rem,6.8vw,6.6rem);font-family:var(--font-display);max-width:940px;margin-bottom:28px;font-weight:760;line-height:.95}.hero-lede{color:#394255;max-width:760px;font-size:clamp(1.12rem,2vw,1.38rem);line-height:1.58}.hero-subcopy{color:var(--muted);max-width:720px;font-size:1.03rem;line-height:1.72}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:34px;display:flex}.button{border:1px solid var(--line-strong);font-family:var(--font-mono);border-radius:8px;justify-content:center;align-items:center;min-height:48px;padding:0 18px;font-size:.82rem;font-weight:600;transition:box-shadow .16s,transform .16s;display:inline-flex}.button:hover,.button:focus-visible{box-shadow:0 12px 28px var(--shadow);transform:translateY(-2px)}.button.primary{background:var(--ink);border-color:var(--ink);color:#fff}.button.secondary{color:var(--ink);background:#ffffffc2}.mobile-visual{border:1px solid var(--line);box-shadow:0 28px 60px var(--shadow);isolation:isolate;background:linear-gradient(118deg,#ffffffb8 0 18%,#0000 18% 38%,#f19ac82e 38% 48%,#0000 58%),linear-gradient(150deg,#0000 12%,#68ded93d 28%,#ffffffa8 38%,#c7a7ff38 52%,#0000 66%),conic-gradient(from 215deg at 52% 42%,#fffaffe6,#bef5f675,#ffd97833,#c7a7ff61,#fffaffe6);border-radius:8px;min-height:510px;padding:24px;transition:box-shadow .18s,transform .18s;position:relative;overflow:hidden;transform:rotate(-.6deg)}.mobile-visual:hover{transform:translateY(-2px)rotate(.15deg);box-shadow:0 34px 70px #2a344729}.mobile-visual:before{content:"";opacity:.46;background:linear-gradient(105deg,#0000 10%,#ffffff8c 18%,#0000 27%),linear-gradient(146deg,#0000 38%,#ffffff61 47%,#0000 56%),radial-gradient(circle,#ffffffb3 0 1px,#0000 1.5px) 0 0/20px 20px;position:absolute;inset:0}.mobile-visual:after{background:linear-gradient(90deg, var(--mint), var(--lilac), var(--coral), var(--amber));content:"";border-radius:999px;width:52%;height:6px;position:absolute;bottom:28px;left:26px}.motion-card,.phone-frame{z-index:1;position:relative}.motion-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--line);background:#ffffffa8;border-radius:8px;margin-bottom:12px;padding:16px;transition:background .16s,box-shadow .16s,transform .16s;box-shadow:0 12px 26px #2a344714}.motion-card:hover{background:#ffffffd1;box-shadow:0 16px 32px #2a34471f}.motion-card span,.card-topline,.principle-card span{color:var(--quiet);font-family:var(--font-mono);font-size:.72rem}.motion-card strong{color:var(--ink);margin-top:8px;font-size:clamp(1rem,2vw,1.25rem);display:block}.motion-card.hardware{border-left:5px solid var(--mint);transform:rotate(-1deg)}.motion-card.animation{border-left:5px solid var(--blue);margin-left:34px;transform:rotate(1.4deg)}.motion-card.accessibility{border-left:5px solid var(--coral);margin-left:70px;transform:rotate(-.8deg)}.motion-card.user-device{border-left:5px solid var(--amber);margin-left:22px;transform:rotate(1deg)}.device-thread{z-index:0;width:184px;height:128px;position:absolute;bottom:76px;right:118px}.thread-rail,.thread-step{display:block;position:absolute}.thread-rail{transform-origin:0;background:linear-gradient(90deg,#0000,#20263347,#0000);width:174px;height:2px;top:58px;left:6px;transform:rotate(-23deg)}.thread-step{border:1px solid var(--line-strong);background:#ffffffd6;border-radius:8px;width:20px;height:20px;box-shadow:0 10px 22px #2a34471a}.thread-step:after{background:var(--mint);content:"";border-radius:3px;height:8px;position:absolute;inset:5px}.thread-step.one{top:76px;left:10px}.thread-step.two{top:48px;left:76px}.thread-step.three{top:20px;left:142px}.thread-step.two:after{background:var(--blue)}.thread-step.three:after{background:var(--coral)}.phone-frame{background:linear-gradient(#ffffffc2,#ffffff75),#fff9;border:2px solid #20263338;border-radius:30px;width:94px;height:176px;position:absolute;bottom:34px;right:34px;transform:rotate(3deg);box-shadow:0 18px 34px #2a34471f,inset 0 0 0 1px #ffffffc7}.phone-frame:after{content:"";background:#2026332e;border-radius:999px;height:3px;position:absolute;bottom:10px;left:34px;right:34px}.phone-notch,.screen-line,.screen-control{display:block;position:absolute;left:18px;right:18px}.phone-notch{background:#20263342;border-radius:999px;height:4px;top:14px}.screen-line{border-radius:999px;height:5px}.screen-line.one{background:var(--mint);top:50px}.screen-line.two{background:var(--blue);width:42px;top:72px}.screen-line.three{background:var(--coral);width:34px;top:94px}.screen-control{background:linear-gradient(135deg, var(--mint), var(--blue));border-radius:999px;height:34px;bottom:22px;left:31px;right:31px}.proof-strip{border-block:1px solid var(--line);background:#fffaff5c;grid-template-columns:1.1fr .94fr 1.08fr .98fr;gap:14px;padding:18px clamp(20px,5vw,72px);display:grid}.proof-strip div{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line);background:#ffffff8f;border-radius:8px;min-height:0;padding:18px;transition:background .16s,transform .16s;position:relative;overflow:hidden}.proof-strip div:after{background:linear-gradient(180deg, var(--mint), var(--lilac), var(--coral));content:"";opacity:.42;width:3px;position:absolute;top:18px;bottom:18px;right:18px}.proof-strip div:nth-child(2),.proof-strip div:nth-child(4){transform:translateY(18px)}.proof-strip div:hover{background:#ffffffc7;transform:translateY(-2px)}.proof-strip div:nth-child(2):hover,.proof-strip div:nth-child(4):hover{transform:translateY(14px)}.proof-strip span{color:#6f5bc8;font-family:var(--font-mono);margin-bottom:12px;font-size:.72rem;display:block}.proof-strip strong{font-family:var(--font-display);margin-bottom:8px;font-size:1.08rem;font-weight:720;line-height:1.18;display:block}.proof-strip p{color:var(--muted);margin:0;font-size:.92rem;line-height:1.55}.section{padding:clamp(72px,10vw,124px) clamp(20px,5vw,72px)}.section-heading{grid-template-columns:minmax(0,.9fr) minmax(260px,.72fr);gap:18px;margin-bottom:clamp(34px,5vw,56px);display:grid}.section-heading .eyebrow{grid-column:1/-1;margin-bottom:0}.section-heading h2{font-size:clamp(2.05rem,5vw,4.45rem);font-family:var(--font-display);max-width:860px;font-weight:760;line-height:1.04}.section-heading p:not(.eyebrow){color:var(--muted);align-self:end;max-width:620px;font-size:1.03rem;line-height:1.65}.section-heading.compact{max-width:960px;display:block}.work-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:18px;display:grid}.work-card,.stack-card,.principle-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 18px 46px #342d4c17,inset 0 1px #ffffffc7}.work-card{flex-direction:column;grid-column:span 4;min-height:520px;padding:24px;transition:box-shadow .16s,transform .16s;display:flex;position:relative;overflow:hidden}.work-card:before{color:#4a3d6812;content:attr(data-case);font-family:var(--font-display);font-size:clamp(4.2rem,9vw,7.4rem);font-weight:820;line-height:1;position:absolute;top:14px;right:18px}.work-card:first-child{background:linear-gradient(132deg,#68ded929,#ffffffd1 38%,#f19ac81c 72%),#ffffffbd;grid-column:span 7;min-height:520px;padding:clamp(24px,4vw,34px)}.work-card:nth-child(2){grid-column:span 5;margin-top:42px}.work-card:nth-child(3),.work-card:nth-child(4),.work-card:nth-child(5){grid-column:span 4}.work-card:nth-child(4){margin-top:28px}.work-card:first-child h3{max-width:620px;font-size:clamp(1.7rem,3vw,2.5rem)}.work-card:first-child p{max-width:680px;font-size:1.06rem}.work-card:first-child .case-media{min-height:168px}.case-media{border:1px solid var(--line);isolation:isolate;background:linear-gradient(114deg,#ffffffbd 0 18%,#0000 18% 34%,#c7a7ff2e 34% 45%,#0000 56%),linear-gradient(151deg,#68ded947,#0000 40%),linear-gradient(316deg,#8294ff2e,#ffffff94 58%);border-radius:8px;min-height:132px;margin-bottom:22px;position:relative;overflow:hidden}.case-media:before{content:"";opacity:.42;background-image:radial-gradient(circle,#ffffffb8 0 1px,#0000 1.4px);background-size:16px 16px;position:absolute;inset:0}.case-media:after{content:"";opacity:.72;background:linear-gradient(90deg,#0000,#ffffffb8,#0000);width:46%;height:100%;position:absolute;top:0;left:-72%;transform:skew(-18deg)}.case-media>span{z-index:1;display:block;position:absolute}.media-line{background:#4a3d682e;border-radius:999px;height:8px;left:22px;right:22px}.media-line.primary{top:34px}.media-line.secondary{opacity:.72;width:58%;top:62px}.media-line.tertiary{opacity:.5;width:42%;top:90px}.media-chip{background:#ffffffd1;border:1px solid #4a3d6829;border-radius:8px;width:48px;height:30px;box-shadow:0 10px 24px #342d4c1a}.media-chip.primary{top:24px;right:24px}.media-chip.secondary{top:70px;right:64px}.media-chip.tertiary{bottom:20px;left:26px}.production-flow .media-line.primary{background:linear-gradient(90deg, var(--mint), var(--lilac), var(--blue));height:5px;top:70px;left:26px;right:26px}.production-flow .media-line.secondary,.production-flow .media-line.tertiary{background:#4a3d6829;width:12px;height:38px;top:52px}.production-flow .media-line.secondary{left:31%}.production-flow .media-line.tertiary{left:64%}.production-flow .media-chip.primary{background:#68ded938;width:64px;top:38px;left:24px;right:auto}.production-flow .media-chip.secondary{background:#8294ff2b;width:72px;top:38px;left:42%;right:auto}.production-flow .media-chip.tertiary{background:#f19ac833;width:64px;top:38px;left:auto;right:24px}.work-card:nth-child(2) .case-media{background:linear-gradient(116deg,#ffffffb8 0 16%,#0000 16% 42%,#ffd9783d 42% 52%,#0000 64%),linear-gradient(315deg,#f19ac833,#0000 44%),#ffffff94}.haptic-field .media-line{transform-origin:bottom;width:10px;height:auto;inset:auto auto 26px}.haptic-field .media-line.primary{background:var(--amber);height:82px;left:26%}.haptic-field .media-line.secondary{background:var(--coral);opacity:.9;height:56px;left:45%}.haptic-field .media-line.tertiary{background:var(--mint);opacity:.86;height:96px;left:64%}.haptic-field .media-chip.primary,.haptic-field .media-chip.secondary,.haptic-field .media-chip.tertiary{border-radius:999px;width:12px;height:12px;top:30px}.haptic-field .media-chip.primary{left:24%;right:auto}.haptic-field .media-chip.secondary{left:43%;right:auto}.haptic-field .media-chip.tertiary{bottom:auto;left:62%}.work-card:nth-child(3) .case-media{background:linear-gradient(135deg,#8294ff38,#0000 42%),linear-gradient(315deg,#68ded938,#ffffff8a 58%),#ffffff94}.motion-lab .media-line{transform-origin:0;background:#8294ff47;height:7px;left:18px;right:18px;transform:rotate(-14deg)}.motion-lab .media-line.primary{top:36px}.motion-lab .media-line.secondary{background:#68ded952;width:76%;top:68px}.motion-lab .media-line.tertiary{background:#f19ac842;width:54%;top:100px}.motion-lab .media-chip{background:#ffffffe0;border-radius:10px;width:44px;height:44px}.motion-lab .media-chip.primary{top:34px;right:34px;transform:rotate(13deg)}.motion-lab .media-chip.secondary{top:72px;left:40px;right:auto;transform:rotate(-8deg)}.motion-lab .media-chip.tertiary{bottom:22px;left:auto;right:86px;transform:rotate(6deg)}.work-card:nth-child(4) .case-media{background:linear-gradient(135deg,#f19ac838,#0000 42%),linear-gradient(315deg,#ffd97833,#ffffff8a 56%),#ffffff94}.counter-kit .media-chip.primary{background:#ffffffdb;width:62px;height:62px;top:34px;left:50%;right:auto;transform:translate(-50%)}.counter-kit .media-chip.primary:before,.counter-kit .media-chip.primary:after{background:var(--ink);content:"";border-radius:999px;height:3px;position:absolute;top:30px;left:18px;right:18px}.counter-kit .media-chip.primary:after{transform:rotate(90deg)}.counter-kit .media-chip.secondary,.counter-kit .media-chip.tertiary{background:#ffffffb3;width:54px;height:28px;top:auto;bottom:24px}.counter-kit .media-chip.secondary{left:28px;right:auto}.counter-kit .media-chip.tertiary{left:auto;right:28px}.counter-kit .media-line{background:#4a3d6824;height:6px;left:24px;right:24px}.counter-kit .media-line.primary{top:24px}.counter-kit .media-line.secondary{width:38%;top:112px}.counter-kit .media-line.tertiary{width:38%;top:112px;left:auto;right:24px}.work-card:nth-child(5) .case-media{background:linear-gradient(135deg,#68ded933,#0000 42%),linear-gradient(315deg,#c7a7ff29,#ffffff8a 56%),#ffffff94}.qa-rail .media-line{background:#4a3d6824;height:7px;left:62px;right:26px}.qa-rail .media-line.primary{top:38px}.qa-rail .media-line.secondary{width:auto;top:66px}.qa-rail .media-line.tertiary{width:auto;top:94px}.qa-rail .media-chip{border-radius:7px;width:18px;height:18px;left:28px;right:auto}.qa-rail .media-chip.primary{background:#68ded940;top:32px}.qa-rail .media-chip.secondary{background:#8294ff33;top:60px}.qa-rail .media-chip.tertiary{background:#ffd97840;top:88px;bottom:auto}.work-card:hover{transform:translateY(-3px)rotate(-.2deg);box-shadow:0 24px 54px #342d4c21,inset 0 1px #ffffffd6}.card-topline{justify-content:space-between;margin-bottom:34px;display:flex}.work-card h3,.stack-card h3,.principle-card h3{font-family:var(--font-display);margin-bottom:14px;font-size:1.42rem;font-weight:720;line-height:1.12}.work-card p,.principle-card p{color:var(--muted);line-height:1.64}.case-copy{gap:12px;display:grid}.case-copy p{margin:0}.case-copy strong{color:var(--ink);font-family:var(--font-mono);margin-bottom:3px;font-size:.78rem;font-weight:600;display:block}.chip-row{flex-wrap:wrap;gap:8px;margin:auto 0 0;padding-top:24px;display:flex}.chip{color:#4053c8;font-family:var(--font-mono);background:#8294ff1a;border:1px solid #8294ff33;border-radius:999px;padding:7px 10px;font-size:.72rem;font-weight:500}.work-card:nth-child(2) .chip{color:#147f77;background:#68ded91a;border-color:#68ded938}.work-card:nth-child(3) .chip{color:#bd4b3d;background:#f19ac81c;border-color:#f19ac83d}.stack-section{background:linear-gradient(112deg, #ffffff85 0 18%, transparent 18% 42%, #68ded91f 42% 54%, transparent 66%), linear-gradient(180deg, #faf7ffb8, #f2fbffd6), var(--paper-2);border-block:1px solid var(--line);padding-block:clamp(54px,7vw,82px)}.stack-grid{grid-template-columns:repeat(10,minmax(0,1fr));gap:10px;display:grid}.stack-card{box-shadow:none;grid-column:span 2;min-height:0;padding:18px;position:relative}.stack-card:after{background:linear-gradient(90deg, var(--mint), var(--lilac), var(--coral));content:"";opacity:.38;height:3px;position:absolute;bottom:0;left:18px;right:18px}.stack-card:first-child,.stack-card:nth-child(4){grid-column:span 3}.stack-card:nth-child(2),.stack-card:nth-child(5),.stack-card:nth-child(3){grid-column:span 2}.stack-card h3{font-size:1rem}.stack-section .section-heading h2{font-size:clamp(1.8rem,3.4vw,3rem)}.skill-list{flex-wrap:wrap;gap:8px;display:flex}.skill-list span{border:1px solid var(--line);color:#475166;font-family:var(--font-mono);background:#ffffffb8;border-radius:999px;padding:8px 10px;font-size:.72rem;font-weight:500}.principles-section{background:linear-gradient(124deg, transparent 0 22%, #ffffff7a 22% 31%, #ffd9781f 38% 46%, transparent 54%), linear-gradient(32deg, #c7a7ff21, transparent 42%), var(--paper);padding-block:clamp(54px,7vw,86px)}.principles-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.principle-card{box-shadow:none;min-height:0;padding:18px;position:relative}.principle-card:before{border:1px solid var(--line);content:"";background:#ffffff94;border-radius:999px;width:42px;height:18px;position:absolute;top:18px;right:18px}.principle-card:nth-child(2),.principle-card:nth-child(4){transform:translateY(26px)}.principle-card span{color:#9b5fc9;margin-bottom:18px;display:block}.principles-section .section-heading h2{font-size:clamp(1.85rem,3.8vw,3.25rem)}.principle-card p{margin:0}.contact-band{color:#fff;background:linear-gradient(118deg,#ffffff1f 0 12%,#0000 12% 34%,#68ded921 34% 45%,#0000 58%),linear-gradient(135deg,#312b4a 0%,#25233a 48%,#403254 100%);grid-template-columns:minmax(0,.9fr) minmax(280px,.8fr);align-items:center;gap:24px;padding:clamp(46px,7vw,78px) clamp(20px,5vw,72px);display:grid;position:relative;overflow:hidden}.contact-band:after{content:"";opacity:.32;background-color:#0000;background-image:linear-gradient(90deg,#bef5f624 1px,#0000 1px),linear-gradient(0deg,#ffffff14 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0}.contact-band>*{z-index:1;position:relative}.contact-band .eyebrow{color:#c9fff9}.contact-band h2{font-size:clamp(2.4rem,5vw,5rem);font-family:var(--font-display);margin-bottom:0;font-weight:760;line-height:1}.contact-band p:not(.eyebrow){color:#ffffffc2;margin:0;font-size:1.02rem;line-height:1.65}@media (width<=1180px){.proof-strip,.stack-grid,.principles-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stack-card,.stack-card:first-child,.stack-card:nth-child(2),.stack-card:nth-child(3),.stack-card:nth-child(4),.stack-card:nth-child(5){grid-column:auto}}@media (width<=980px){.hero,.section-heading,.contact-band{grid-template-columns:1fr}.hero{min-height:auto;padding-top:72px}.mobile-visual{min-height:430px}.work-grid{grid-template-columns:1fr}.work-card,.work-card:first-child,.work-card:nth-child(2),.work-card:nth-child(3),.work-card:nth-child(4),.work-card:nth-child(5){grid-column:auto;margin-top:0}}@media (width<=680px){.site-header{flex-direction:column;align-items:flex-start;min-height:auto}nav{justify-content:flex-start}h1{font-size:clamp(2.7rem,16vw,3.9rem)}.hero-actions,.button{width:100%}.mobile-visual{min-height:500px}.motion-card.animation,.motion-card.accessibility,.motion-card.user-device{margin-left:0}.device-thread{transform-origin:100% 100%;bottom:68px;right:86px;transform:scale(.8)}.phone-frame{bottom:24px;right:22px}.proof-strip,.stack-grid,.principles-grid{grid-template-columns:1fr}.work-card,.stack-card,.principle-card{min-height:0}.proof-strip div,.proof-strip div:nth-child(2),.proof-strip div:nth-child(4),.principle-card:nth-child(2),.principle-card:nth-child(4){transform:none}}@keyframes progress-confirm{0%,to{transform:scaleX(.55)}42%,70%{transform:scaleX(1)}}@keyframes thread-step{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes line-respond{0%,to{transform:translate(0)}50%{transform:translate(8px)}}@keyframes haptic-level{0%,to{transform:scaleY(.62)}45%,68%{transform:scaleY(1)}}@keyframes sensor-drift{0%,to{transform:rotate(-14deg)translate(0)}50%{transform:rotate(-9deg)translate(8px)}}@keyframes soft-tap{0%,to{transform:translate(-50%)scale(1)}42%{transform:translate(-50%)scale(.92)}64%{transform:translate(-50%)scale(1.04)}}@keyframes qa-pass{0%,32%,to{box-shadow:0 10px 24px #2a34471a}50%,70%{box-shadow:0 0 0 5px #35cbbf24}}@keyframes media-sweep{0%,24%{left:-72%}62%,to{left:126%}}@keyframes phone-breathe{0%,to{transform:rotate(3deg)translateY(0)}50%{transform:rotate(2deg)translateY(-5px)}}@media (prefers-reduced-motion:no-preference){.mobile-visual:after{transform-origin:0;animation:4.8s ease-in-out infinite progress-confirm}.thread-step{animation:3.6s ease-in-out infinite thread-step}.thread-step.two{animation-delay:.18s}.thread-step.three{animation-delay:.36s}.phone-frame{animation:5.4s ease-in-out infinite phone-breathe}.screen-control{transform-origin:50%;animation:3.2s ease-in-out infinite progress-confirm}.screen-line.one,.screen-line.two,.screen-line.three{animation:3.8s ease-in-out infinite line-respond}.screen-line.two{animation-delay:.14s}.screen-line.three{animation-delay:.28s}.case-media:after{animation:6.2s ease-in-out infinite media-sweep}.production-flow .media-chip{animation:4.8s ease-in-out infinite qa-pass}.production-flow .media-chip.secondary{animation-delay:.3s}.production-flow .media-chip.tertiary{animation-delay:.6s}.haptic-field .media-line{animation:2.4s ease-in-out infinite haptic-level}.haptic-field .media-line.secondary{animation-delay:.16s}.haptic-field .media-line.tertiary{animation-delay:.32s}.motion-lab .media-line{animation:4.6s ease-in-out infinite sensor-drift}.motion-lab .media-line.secondary{animation-delay:.14s}.motion-lab .media-line.tertiary{animation-delay:.28s}.counter-kit .media-chip.primary{animation:3.8s ease-in-out infinite soft-tap}.qa-rail .media-chip{animation:3.8s ease-in-out infinite qa-pass}.qa-rail .media-chip.secondary{animation-delay:.24s}.qa-rail .media-chip.tertiary{animation-delay:.48s}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
