body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth}body,html{max-width:100%;overflow-x:hidden;width:100%}body{background:#000;color:#fff;font-family:Comic Neue,cursive;margin:0;min-width:0}#root{max-width:100%;overflow-x:hidden;width:100%}img,svg,video{display:block;height:auto;max-width:100%}.theme-logo{display:block;position:relative}.theme-logo-image{height:100%;object-fit:contain;width:100%}.theme-logo-image--light{inset:0;opacity:0;position:absolute}.theme-logo--light .theme-logo-image--dark{opacity:0}.theme-logo--light .theme-logo-image--light{opacity:1}@media (prefers-color-scheme:dark){.theme-logo:not(.theme-logo--light) .theme-logo-image--dark{opacity:0}.theme-logo:not(.theme-logo--light) .theme-logo-image--light{opacity:1}}.portfolio-logo-link{align-items:center;background:hsla(0,0%,100%,.78);background:var(--logo-tile-bg);border:1px solid rgba(17,24,39,.08);border:1px solid var(--logo-tile-border);border-radius:8px;display:inline-flex;height:34px;justify-content:center;overflow:hidden;width:54px}.portfolio-logo-link .theme-logo{height:28px;width:28px}a{color:inherit;text-decoration:none}:root{--page-bg:radial-gradient(circle at top left,rgba(52,199,89,.12),transparent 34rem),linear-gradient(180deg,#f7f7fb,#fff 46%,#f4f7f5);--nav-bg:rgba(247,247,251,.9);--nav-border:rgba(17,24,39,.08);--text-primary:#111827;--text-strong:#050505;--text-secondary:#5b6472;--text-muted:#687081;--text-soft:#8a8f98;--surface:hsla(0,0%,100%,.76);--surface-strong:hsla(0,0%,100%,.88);--surface-soft:hsla(0,0%,100%,.72);--surface-border:rgba(17,24,39,.08);--device-bg:radial-gradient(circle at 50% 18%,hsla(0,0%,100%,.95),transparent 12rem),linear-gradient(145deg,#f4f4f8,#e9ebf2);--app-icon-bg:linear-gradient(145deg,#fff,#eef0f5);--screenshot-bg:#eef0f5;--heatmap-empty:#dddde6;--mini-heatmap-empty:#d9d9e2;--card-shadow:rgba(15,23,42,.1);--card-shadow-soft:rgba(15,23,42,.08);--legal-button-bg:#111827;--legal-button-bg-hover:#1f2937;--legal-button-text:#fff;--legal-button-border:rgba(17,24,39,.12);--legal-button-border-hover:rgba(52,199,89,.45);--back-to-top-hover-bg:#34c759;--back-to-top-hover-text:#fff;--back-to-top-hover-border:rgba(27,156,74,.45);--logo-tile-bg:hsla(0,0%,100%,.78);--logo-tile-border:rgba(17,24,39,.08)}@media (prefers-color-scheme:dark){:root{--page-bg:radial-gradient(circle at top left,rgba(52,199,89,.16),transparent 34rem),linear-gradient(180deg,#07110b,#0b1110 48%,#111827);--nav-bg:rgba(7,17,11,.9);--nav-border:hsla(0,0%,100%,.1);--text-primary:#eef2f7;--text-strong:#fff;--text-secondary:#b4bdc9;--text-muted:#a4adba;--text-soft:#9ca3af;--surface:rgba(17,24,39,.72);--surface-strong:rgba(31,41,55,.86);--surface-soft:rgba(31,41,55,.72);--surface-border:hsla(0,0%,100%,.1);--device-bg:radial-gradient(circle at 50% 18%,rgba(52,199,89,.16),transparent 12rem),linear-gradient(145deg,#1f2937,#111827);--app-icon-bg:linear-gradient(145deg,#263244,#111827);--screenshot-bg:hsla(0,0%,100%,.06);--heatmap-empty:hsla(0,0%,100%,.18);--mini-heatmap-empty:hsla(0,0%,100%,.18);--card-shadow:rgba(0,0,0,.35);--card-shadow-soft:rgba(0,0,0,.28);--legal-button-bg:hsla(0,0%,100%,.12);--legal-button-bg-hover:hsla(0,0%,100%,.18);--legal-button-text:#fff;--legal-button-border:hsla(0,0%,100%,.22);--legal-button-border-hover:rgba(52,199,89,.55);--back-to-top-hover-bg:var(--legal-button-bg-hover);--back-to-top-hover-text:var(--text-strong);--back-to-top-hover-border:var(--legal-button-border-hover);--logo-tile-bg:hsla(0,0%,100%,.1);--logo-tile-border:hsla(0,0%,100%,.16)}}.portfolio-page{--portfolio-nav-offset:7rem;background:#000;color:#fff;color-scheme:dark;font-family:Comic Neue,cursive;min-height:100vh;padding-top:var(--portfolio-nav-offset)}.portfolio-page a{color:inherit}.nav{grid-gap:.85rem;align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:rgba(0,0,0,.92);border-bottom:1px solid rgba(243,156,18,.2);display:grid;gap:.85rem;grid-template-columns:1fr;justify-items:center;left:0;padding:.8rem clamp(1rem,4vw,3rem);position:fixed;right:0;top:0;z-index:10}.nav-logo-link{background:hsla(0,0%,100%,.08);border-color:hsla(0,0%,100%,.16);height:48px;justify-self:center;width:64px}.nav-list{display:flex;flex-wrap:wrap;font-size:1.08rem;font-weight:700;gap:clamp(.8rem,2vw,1.6rem);justify-content:center;list-style:none;margin:0;padding:0}.nav-list a{color:hsla(0,0%,100%,.86);font-style:italic;text-decoration:none}.nav-list a:focus-visible,.nav-list a:hover{color:#f39c12}.section-kicker{color:#f39c12;font-size:.78rem;font-weight:700;letter-spacing:.08em;margin:0 0 .75rem;text-transform:uppercase}.section-heading{margin:0 auto 2.5rem;text-align:center}.case-study-section h2,.contact-section h2,.section-heading h2,.skills-section h2{font-size:3.2rem;font-style:italic;line-height:1.05;margin:0}.contact-section p,.section-heading p:last-child{color:hsla(40,33%,95%,.72)}.button{align-items:center;border-radius:5px;display:inline-flex;font-style:italic;font-weight:700;justify-content:center;min-height:2.9rem;padding:.75rem 1.1rem;text-decoration:none;transition:border-color .2s ease,background .2s ease,-webkit-transform .2s ease;transition:transform .2s ease,border-color .2s ease,background .2s ease;transition:transform .2s ease,border-color .2s ease,background .2s ease,-webkit-transform .2s ease}.button:hover{-webkit-transform:translateY(-2px);transform:translateY(-2px)}.button-primary{background:#f39c12;color:#000}.button-secondary{background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.18);color:#f6f3ed}.welcome-section{grid-gap:4rem;align-items:center;display:grid;gap:4rem;grid-template-columns:minmax(0,1fr) minmax(280px,.74fr);margin:0 auto;max-width:1180px;min-height:640px;padding:3rem 2rem 4rem;scroll-margin-top:var(--portfolio-nav-offset)}.hero-copy{max-width:790px;text-align:center}.welcome-section h1{font-size:4.5rem;font-style:italic;font-weight:700;line-height:1.02;margin:0}.hero-subtitle{color:hsla(0,0%,100%,.86);font-size:1.32rem;font-style:italic;font-weight:700;line-height:1.55;margin:1.4rem auto 0;max-width:650px}.hero-visual{display:grid;min-height:560px;place-items:center;position:relative}.hero-device{aspect-ratio:.52;background:linear-gradient(180deg,#2a2d35,#0b0c10);border:1px solid rgba(243,156,18,.32);border-radius:30px;box-shadow:0 32px 80px rgba(0,0,0,.42);padding:.7rem;position:relative;width:min(280px,64vw);z-index:1}.hero-device img{background:#f7f7f8;border-radius:24px;display:block;height:100%;object-fit:cover;object-position:top center;width:100%}.hero-project-chip{background:rgba(0,0,0,.9);border:1px solid rgba(243,156,18,.55);border-radius:8px;bottom:4rem;box-shadow:0 18px 44px rgba(0,0,0,.35);max-width:220px;padding:.9rem 1rem;position:absolute;right:0;z-index:2}.hero-project-chip span,.hero-project-chip strong{display:block}.hero-project-chip span{color:hsla(0,0%,100%,.68);font-size:.78rem;font-weight:700;text-transform:uppercase}.hero-project-chip strong{color:#f39c12;font-size:1.2rem;margin-top:.2rem}.currently-building{grid-gap:1.5rem;align-items:center;background:#070707;border-bottom:1px solid rgba(243,156,18,.22);border-top:1px solid rgba(243,156,18,.22);display:grid;gap:1.5rem;grid-template-columns:.8fr 1.4fr auto;margin:0 auto;max-width:1120px;padding:1.35rem clamp(1rem,4vw,2rem)}.currently-building h2,.currently-building p{margin:0}.currently-building p:not(.section-kicker){color:hsla(0,0%,100%,.72);line-height:1.6}.currently-building a{color:#f39c12;font-weight:700;text-decoration:none;white-space:nowrap}.case-study-section,.contact-section,.projects-section,.skills-section{padding:5rem 2rem;scroll-margin-top:var(--portfolio-nav-offset)}.projects-section{background:#000}.projects-grid{grid-gap:1.4rem;display:grid;gap:1.4rem;grid-template-columns:repeat(2,minmax(0,1fr));margin:0 auto;max-width:1120px}.project-card{background:#111;border:1px solid hsla(0,0%,100%,.1);border-radius:8px;box-shadow:0 0 20px hsla(0,0%,100%,.1);cursor:pointer;display:grid;grid-template-rows:250px 1fr;overflow:hidden;scroll-margin-top:7rem;transition:border-color .25s ease,box-shadow .25s ease,-webkit-transform .25s ease;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease,-webkit-transform .25s ease}.project-card:focus-visible,.project-card:hover{border-color:rgba(243,156,18,.52);box-shadow:0 0 28px rgba(243,156,18,.16);outline:none;-webkit-transform:translateY(-5px);transform:translateY(-5px)}.project-media{background:#f7f7f8;height:250px;overflow:hidden;width:100%}.project-card img{display:block;height:100%;object-fit:cover;object-position:top center;width:100%}.project-card img.project-image-contained{object-fit:contain;padding:1rem}.project-content{background:#111;display:grid;grid-template-rows:1fr auto;min-height:0}.project-card-copy{padding:1.25rem 1.25rem 0}.project-card h3{color:#f39c12;font-size:1.45rem;font-style:italic;margin:0}.project-card p{color:hsla(0,0%,100%,.74);font-style:italic;line-height:1.6;margin:.75rem 0 0}.tech-list{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:1rem 0 0;padding:0}.tech-list li{background:rgba(243,156,18,.08);border:1px solid rgba(243,156,18,.34);border-radius:999px;color:#f39c12;font-size:.78rem;font-weight:700;padding:.38rem .55rem}.project-links{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center;padding:1.25rem}.project-links a{color:#f39c12;font-style:italic;font-weight:700;text-decoration:none}.project-links a:focus-visible,.project-links a:hover{text-decoration:underline}.case-study-section{margin:0 auto;max-width:1120px}.case-study-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr));margin:2.5rem 0}.case-study-grid>div,.skill-group{background:#111;border:1px solid hsla(0,0%,100%,.1);border-radius:8px;box-shadow:0 0 20px hsla(0,0%,100%,.08);padding:1.2rem}.case-study-grid h3,.skill-group h3{color:#f39c12;font-size:1.02rem;font-style:italic;margin:0}.case-study-grid p{color:hsla(0,0%,100%,.72);font-style:italic;line-height:1.62;margin:.65rem 0 0}.skills-section{background:#0a0a0a;color:#fff}.skills-section .section-kicker{color:#f39c12}.skills-section .section-heading p{color:hsla(0,0%,100%,.7)}.skills-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 auto;max-width:1120px}.skill-group{background:#111;border-color:hsla(0,0%,100%,.1)}.skill-group h3{color:#f39c12}.skill-group ul{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:1rem 0 0;padding:0}.skill-group li{background:rgba(243,156,18,.09);border-radius:999px;color:#f39c12;font-size:.83rem;font-weight:700;padding:.45rem .6rem}.contact-section{background:#000;text-align:center}.contact-section>p:not(.section-kicker){line-height:1.65;margin:1rem auto 0;max-width:620px}.contact-buttons{display:flex;flex-wrap:wrap;gap:.85rem;justify-content:center;margin-top:2rem}.contact-buttons a{align-items:center;border:1px solid rgba(247,185,85,.7);border-radius:8px;color:#f39c12;display:inline-flex;font-style:italic;font-weight:700;justify-content:center;min-height:2.75rem;padding:.75rem 1rem;text-decoration:none;transition:background .2s,color .2s,-webkit-transform .2s;transition:background .2s,color .2s,transform .2s;transition:background .2s,color .2s,transform .2s,-webkit-transform .2s}.contact-buttons a:hover{background:#f39c12;color:#000;-webkit-transform:translateY(-2px);transform:translateY(-2px)}@media (prefers-color-scheme:light){.portfolio-page{background:#f7f7fb;color:#111;color-scheme:light}.nav{background:rgba(247,247,251,.92);border-bottom-color:rgba(243,156,18,.34)}.nav-list a{color:#111}.nav-logo-link{background:hsla(0,0%,100%,.88);border-color:hsla(0,0%,7%,.08)}.contact-section p,.hero-subtitle,.section-heading p:last-child{color:hsla(0,0%,7%,.78)}.case-study-grid p,.currently-building p:not(.section-kicker),.project-card p,.skills-section .section-heading p{color:hsla(0,0%,7%,.68)}.button-secondary{background:hsla(0,0%,7%,.04);border-color:hsla(0,0%,7%,.16);color:#111}.hero-device{background:linear-gradient(180deg,#f4f4f8,#d8dbe3);border-color:rgba(243,156,18,.42);box-shadow:0 32px 80px rgba(17,24,39,.18)}.case-study-grid>div,.currently-building,.hero-project-chip,.project-card,.project-content,.skill-group{background:#fff;border-color:hsla(0,0%,7%,.1);box-shadow:0 18px 44px rgba(17,24,39,.08)}.hero-project-chip span{color:hsla(0,0%,7%,.62)}.contact-section,.projects-section{background:#f7f7fb}.skills-section{background:#efeff4;color:#111}.skill-group li,.tech-list li{background:rgba(243,156,18,.12)}.button-primary,.contact-buttons a:hover{color:#111}}@media (max-width:1180px){.welcome-section{gap:2.5rem;grid-template-columns:1fr;max-width:820px;min-height:auto}.hero-visual{min-height:520px}}@media (max-width:980px){.welcome-section{max-width:760px}.currently-building{grid-template-columns:1fr}.currently-building a{white-space:normal}.case-study-grid,.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.welcome-section{padding:3rem 1rem 3.5rem}.welcome-section h1{font-size:3rem}.hero-subtitle{font-size:1.12rem}.case-study-section h2,.contact-section h2,.section-heading h2,.skills-section h2{font-size:2.35rem}.hero-device{width:min(280px,70vw)}.case-study-grid,.projects-grid,.skills-grid{grid-template-columns:1fr}.project-card{grid-template-rows:220px 1fr}.project-media{height:220px}}@media (max-width:560px){.nav-list{justify-content:center}}@media (max-width:460px){.contact-buttons{align-items:stretch;flex-direction:column}.button,.contact-buttons a{width:100%}.hero-project-chip{bottom:2rem;right:.5rem}}.product-page{--product-nav-offset:8.25rem;background:var(--page-bg);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,sans-serif;max-width:100%;min-height:100vh;overflow-x:hidden;padding-top:var(--product-nav-offset);width:100%}.product-nav{grid-gap:.85rem;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);background:var(--nav-bg);border-bottom:1px solid var(--nav-border);display:grid;gap:.85rem;grid-template-columns:1fr;justify-items:center;left:0;padding:.95rem clamp(1rem,4vw,3rem) 1rem;position:fixed;right:0;top:0;width:100%;z-index:20}.product-logo-row{display:flex;justify-content:center}.product-logo-row,.product-nav-links{align-items:center;width:min(100%,560px)}.product-nav-links{grid-gap:clamp(2rem,10vw,8rem);display:grid;gap:clamp(2rem,10vw,8rem);grid-template-columns:repeat(3,minmax(0,1fr));justify-items:center;min-width:0}.product-nav a{color:var(--text-primary);font-size:clamp(.95rem,2.7vw,1.05rem);font-weight:800;white-space:nowrap}.back-to-top-button{background:var(--surface-strong);border:1px solid var(--surface-border);border-radius:999px;bottom:clamp(1rem,3vw,2rem);box-shadow:0 18px 45px var(--card-shadow);color:var(--text-strong);cursor:pointer;display:inline-grid;height:48px;opacity:0;padding:0;place-items:center;pointer-events:none;position:fixed;right:clamp(1rem,3vw,2rem);-webkit-transform:translateY(.75rem);transform:translateY(.75rem);transition:opacity .25s ease,background .25s ease,border-color .25s ease,-webkit-transform .25s ease;transition:opacity .25s ease,transform .25s ease,background .25s ease,border-color .25s ease;transition:opacity .25s ease,transform .25s ease,background .25s ease,border-color .25s ease,-webkit-transform .25s ease;width:48px;z-index:30}.back-to-top-button span{font-size:1.35rem;font-weight:900;line-height:1}.back-to-top-button.is-visible{opacity:1;pointer-events:auto;-webkit-transform:translateY(0);transform:translateY(0)}.back-to-top-button:focus-visible,.back-to-top-button:hover{background:var(--back-to-top-hover-bg);border-color:var(--back-to-top-hover-border);color:var(--back-to-top-hover-text);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.back-to-top-button:focus-visible{outline:3px solid rgba(10,132,255,.42);outline-offset:3px}.product-hero{grid-gap:clamp(2rem,5vw,4rem);align-items:center;display:grid;gap:clamp(2rem,5vw,4rem);grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);margin:0 auto;overflow:hidden;padding:clamp(4rem,9vw,7rem) 0 clamp(3rem,7vw,6rem);width:min(1240px,calc(100% - 2rem))}.product-hero-copy{max-width:100%;min-width:0}.eyebrow{color:#1b9c4a;font-size:.82rem;font-weight:800;letter-spacing:.12em;margin:0 0 .8rem;text-transform:uppercase}.legal-card h1,.product-cta h2,.product-hero h1,.product-section h2{color:var(--text-strong);letter-spacing:-.06em;margin:0}.product-hero h1{font-size:clamp(3.2rem,8.2vw,6.4rem);line-height:.92;max-width:100%;overflow-wrap:anywhere;word-break:normal}.product-subtitle{color:var(--text-primary);font-size:clamp(1.4rem,3vw,2.2rem);font-weight:750;line-height:1.12;margin:1.5rem 0 0;max-width:760px}.product-description{color:var(--text-secondary);font-size:1.12rem;line-height:1.7;margin:1.2rem 0 0;max-width:650px}.product-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.85rem;margin-top:2rem}.product-actions.centered{justify-content:center}.primary-button,.secondary-button,.text-button{align-items:center;border-radius:999px;display:inline-flex;font-weight:800;justify-content:center;min-height:48px;padding:.85rem 1.2rem;text-align:center;transition:box-shadow .25s ease,background .25s ease,-webkit-transform .25s ease;transition:transform .25s ease,box-shadow .25s ease,background .25s ease;transition:transform .25s ease,box-shadow .25s ease,background .25s ease,-webkit-transform .25s ease}.primary-button{background:#0a84ff;box-shadow:0 16px 35px rgba(10,132,255,.24);color:#fff}.secondary-button{background:var(--surface-strong);border:1px solid var(--surface-border);box-shadow:0 14px 35px var(--card-shadow-soft);color:var(--text-primary)}.text-button{color:#1b9c4a}.primary-button:hover,.secondary-button:hover,.text-button:hover{-webkit-transform:translateY(-2px);transform:translateY(-2px)}.hero-device-card{background:var(--device-bg);border-radius:52px;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.18),0 35px 90px var(--card-shadow);min-height:600px;min-width:0;overflow:hidden;position:relative}.app-icon-card{background:var(--app-icon-bg);border-radius:42px;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.18),0 20px 50px var(--card-shadow);display:grid;height:154px;left:50%;place-items:center;position:absolute;top:4rem;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:154px}.app-icon-card span{color:var(--text-strong);font-size:1.1rem;font-weight:900;letter-spacing:-.04em}.floating-habit-card{background:var(--surface-strong);border:1px solid var(--surface-border);border-radius:34px;box-shadow:0 24px 70px var(--card-shadow);left:2rem;padding:1.35rem;position:absolute;top:16rem;width:min(290px,calc(100% - 4rem))}.floating-habit-card.offset{left:auto;right:2rem;top:25rem}.floating-habit-card h3{color:var(--text-strong);font-size:1.45rem;letter-spacing:-.05em;margin:0}.floating-habit-card p{color:var(--text-soft);margin:.2rem 0 .8rem}.heatmap-preview{grid-gap:.35rem;display:grid;gap:.35rem;grid-template-columns:repeat(7,1fr)}.heatmap-preview span{aspect-ratio:1;background:var(--heatmap-empty);border-radius:.3rem}.heatmap-preview span.active{background:#34c759}.product-cta,.product-section{margin:0 auto;padding:clamp(3rem,7vw,5.5rem) 0;width:min(1120px,calc(100% - 2rem))}.section-heading{margin-bottom:2rem;max-width:760px}.product-cta h2,.product-section h2,.section-heading h2{font-size:clamp(2rem,5vw,4rem);line-height:1}.product-cta p,.product-section p,.section-heading p{color:var(--text-secondary);font-size:1.05rem;line-height:1.7}.screenshot-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(2,minmax(0,1fr))}.preview-panel{background:var(--surface-soft);border:1px solid var(--surface-border);border-radius:36px;box-shadow:0 24px 70px var(--card-shadow);min-width:0;padding:1rem}.screenshot-frame{align-items:center;aspect-ratio:9/14;background:var(--screenshot-bg);border-radius:28px;display:flex;justify-content:center;overflow:hidden}.screenshot-frame img{height:100%;object-fit:cover;object-position:top center;width:100%}.preview-panel h3{color:var(--text-strong);font-size:1.35rem;letter-spacing:-.04em;margin:1.2rem 0 .35rem}.preview-panel p{color:var(--text-muted);line-height:1.6;margin:0}.split-section{grid-gap:clamp(2rem,5vw,4rem);align-items:start;display:grid;gap:clamp(2rem,5vw,4rem);grid-template-columns:minmax(0,.9fr) minmax(300px,1.1fr)}.steps-list{grid-gap:1rem;display:grid;gap:1rem}.feature-card,.roadmap-column,.step-card,.support-item{background:var(--surface-soft);border:1px solid var(--surface-border);box-shadow:0 18px 50px var(--card-shadow-soft)}.step-card{border-radius:26px;padding:1.25rem}.step-card span{color:#1b9c4a;display:inline-flex;font-weight:900;margin-bottom:.75rem}.step-card h3{color:var(--text-strong);font-size:1.25rem;letter-spacing:-.04em;margin:0}.feature-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(4,minmax(0,1fr))}.feature-card{border-radius:28px;min-height:140px;padding:1.2rem}.feature-dot{background:#34c759;border-radius:999px;box-shadow:0 0 0 8px rgba(52,199,89,.12);display:block;height:.9rem;margin-bottom:1.8rem;width:.9rem}.feature-card p{color:var(--text-strong);font-weight:750;line-height:1.4;margin:0}.case-study-card,.privacy-band,.product-cta{background:radial-gradient(circle at top right,rgba(52,199,89,.16),transparent 22rem),var(--surface);border:1px solid var(--surface-border);border-radius:42px;box-shadow:0 24px 70px var(--card-shadow);padding:clamp(2rem,6vw,4rem)}.privacy-band{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:.9fr 1.1fr}.privacy-points p:first-child{margin-top:0}.privacy-points p:last-child{margin-bottom:0}.tech-grid{display:flex;flex-wrap:wrap;gap:.75rem}.tech-grid span{background:var(--surface-strong);border:1px solid var(--surface-border);border-radius:999px;box-shadow:0 14px 30px var(--card-shadow-soft);color:var(--text-primary);display:inline-flex;font-weight:800;padding:.85rem 1rem}.case-study-card p:last-child{margin-bottom:0}.roadmap-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:2rem}.roadmap-column{border-radius:30px;padding:1.5rem}.roadmap-column h3{color:var(--text-strong);font-size:1.45rem;letter-spacing:-.04em;margin:0 0 1rem}.roadmap-column ul{color:var(--text-secondary);line-height:1.9;margin:0;padding-left:1.25rem}.product-cta{margin-bottom:4rem;text-align:center}.product-cta p{margin-left:auto;margin-right:auto;max-width:620px}.legal-page{display:flex;flex-direction:column}.legal-card{background:var(--surface);border:1px solid var(--surface-border);border-radius:38px;box-shadow:0 24px 70px var(--card-shadow);margin:clamp(2rem,6vw,5rem) auto;padding:clamp(2rem,6vw,4rem);width:min(860px,calc(100% - 2rem))}.legal-card h1{font-size:clamp(2.5rem,7vw,5rem);line-height:.96}.legal-date{color:var(--text-secondary);font-size:1.05rem;margin:1rem 0 2rem}.legal-content{grid-gap:1rem;display:grid;gap:1rem}.legal-content p{color:var(--text-primary);font-size:1.05rem;line-height:1.8;margin:0}.legal-content a,.legal-date a{color:#0a84ff;font-weight:800}.legal-links a{align-items:center;background:var(--legal-button-bg);border:1px solid var(--legal-button-border);border-radius:999px;box-shadow:0 14px 30px var(--card-shadow-soft);color:var(--legal-button-text);display:inline-flex;font-weight:800;justify-content:center;min-height:44px;padding:.8rem 1.1rem;transition:background .25s ease,border-color .25s ease,-webkit-transform .25s ease;transition:transform .25s ease,background .25s ease,border-color .25s ease;transition:transform .25s ease,background .25s ease,border-color .25s ease,-webkit-transform .25s ease}.legal-links a:hover{background:var(--legal-button-bg-hover);border-color:var(--legal-button-border-hover);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.support-list{grid-gap:1rem;display:grid;gap:1rem;margin-top:2rem}.support-item{border-radius:26px;padding:1.25rem}.support-item h2{color:var(--text-strong);font-size:1.25rem;letter-spacing:-.03em;margin:0 0 .4rem}.support-item p{color:var(--text-secondary);line-height:1.7;margin:0}@media (max-width:900px){.privacy-band,.product-hero,.split-section{grid-template-columns:1fr}.hero-device-card{min-height:560px}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.product-page{--product-nav-offset:7.75rem}.nav-list{font-size:1rem;gap:1.2rem}.projects-grid,.roadmap-grid,.screenshot-grid{grid-template-columns:1fr}.product-nav{gap:.85rem;padding:.9rem 1rem 1rem}.portfolio-logo-link{height:34px;width:54px}.portfolio-logo-link .theme-logo{height:28px;width:28px}.product-nav-links{gap:.75rem}.product-nav a{font-size:clamp(.95rem,3.8vw,1.15rem)}.product-hero{gap:2rem;overflow:visible;padding:3.75rem 0 3rem;width:min(100% - 1.5rem,1240px)}.eyebrow{font-size:.72rem;letter-spacing:.18em;line-height:1.4}.product-hero h1{font-size:clamp(3.05rem,15.5vw,4.7rem);letter-spacing:-.075em;line-height:.9}.product-subtitle{font-size:clamp(1.55rem,7.2vw,2.15rem);line-height:1.15;margin-top:1.35rem}.product-description{font-size:clamp(1.02rem,4.7vw,1.2rem);line-height:1.62}.product-actions{align-items:stretch;flex-direction:column;gap:.85rem}.primary-button,.secondary-button,.text-button{min-height:54px;width:100%}.hero-device-card{border-radius:34px;min-height:520px}.app-icon-card{border-radius:34px;height:124px;top:2rem;width:124px}.floating-habit-card{left:1rem;top:12rem;width:calc(100% - 2rem)}.floating-habit-card.offset{right:1rem;top:24rem}.feature-grid{grid-template-columns:1fr}.legal-card{border-radius:28px}.back-to-top-button{height:44px;width:44px}}@media (max-width:390px){.product-nav-links{gap:.55rem}.product-nav a{font-size:.94rem}.product-hero h1{font-size:clamp(2.75rem,14.5vw,3.7rem);letter-spacing:-.07em}.product-subtitle{font-size:clamp(1.35rem,6.6vw,1.8rem)}.product-description{font-size:1rem}}
/*# sourceMappingURL=main.f2c7522e.css.map*/