:root{--bg:#fbfbfd;--bg-soft:#f5f5f7;--bg-softer:#fafafa;--surface:#fff;--surface-strong:#ffffffdb;--line:#00000014;--line-strong:#00000024;--title:#1d1d1f;--text:#424245;--text-muted:#6e6e73;--button:#000;--button-text:#fff;--focus:#06c;--radius-card:8px;--shadow-soft:0 18px 48px #00000014;--shadow-lift:0 24px 64px #0000001f;--transition:.22s cubic-bezier(.2, 0, 0, 1);color:var(--text);background:var(--bg);font-family:Inter,-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:geometricprecision;margin:0}body.nav-open{overflow:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.page-shell{width:min(1200px,100% - 40px);margin:0 auto;padding:34px 0 56px}.page{gap:56px;display:grid}.page-centered{place-items:center;min-height:calc(100vh - 260px)}.hero,.section-block,.section-heading,.graphic-hero,.contact-form,.site-footer__brand,.site-footer__meta{display:grid}.hero{gap:24px}.hero-home,.hero-split,.graphic-hero{grid-template-columns:minmax(0,1.02fr) minmax(320px,.98fr);align-items:center}.hero-home{min-height:min(760px,100vh - 128px)}.page-home .hero-home,.about-hero,.work-hero{min-height:calc(100dvh - 112px)}.contact-hero{align-content:center;gap:18px;min-height:calc(100dvh - 112px);display:grid}.contact-hero__top{grid-template-columns:minmax(0,1fr) minmax(260px,.58fr);align-items:center;gap:28px;display:grid}.hero-copy{align-content:center;gap:18px;padding:28px 0;display:grid}.page-home .hero-copy{gap:12px;padding:0}.about-hero .hero-copy{gap:14px;padding:0}.work-hero .hero-copy,.contact-hero .hero-copy{gap:13px;padding:0}.hero-copy h1,.graphic-hero__content h1,.state-card h1{color:var(--title);letter-spacing:0;margin:0;font-size:clamp(3rem,6vw,6.4rem);font-weight:700;line-height:.96}.page-home .hero-copy h1{font-size:clamp(3rem,4.6vw,4rem);line-height:.98}.about-hero .hero-copy h1{font-size:clamp(3rem,5vw,4.8rem);line-height:.98}.work-hero .hero-copy h1{font-size:clamp(3.15rem,5vw,5rem);line-height:.98}.contact-hero .hero-copy h1{font-size:clamp(3.1rem,5.4vw,5.35rem);line-height:.98}.about-hero .hero-copy p:not(.hero-copy__subhead){font-size:clamp(.94rem,1.05vw,1.06rem);line-height:1.45}.work-hero .hero-copy p{font-size:clamp(.98rem,1.1vw,1.12rem);line-height:1.45}.contact-hero .hero-copy p{font-size:clamp(.94rem,1.05vw,1.08rem);line-height:1.45}.contact-hero__visual{height:min(560px,100dvh - 148px);overflow:hidden}.contact-hero__visual img{object-fit:cover;width:100%;height:100%}.hero-copy p,.section-heading p,.feature-card p,.work-card p,.project-card p,.graphic-hero__content p,.info-row span,.site-footer__brand p,.site-footer__bottom p,.state-card p,.hero-panel__content p{color:var(--text-muted);margin:0;font-size:1rem;line-height:1.55}.hero-copy__lead{max-width:650px;font-size:clamp(1.12rem,1.8vw,1.45rem);line-height:1.42}.page-home .hero-copy__lead{max-width:620px;font-size:clamp(1rem,1.15vw,1.18rem);line-height:1.45}.hero-copy__subhead{color:var(--title);font-size:1.1rem;font-weight:600}.eyebrow{background:var(--bg-soft);width:fit-content;color:var(--title);letter-spacing:0;border-radius:999px;align-items:center;padding:7px 11px;font-size:.78rem;font-weight:600;display:inline-flex}.button-row,.tag-list,.stats-grid,.section-grid,.work-grid,.project-grid,.gallery-grid,.footer-links,.social-links,.site-header__inner,.site-nav,.site-nav__links,.site-nav__actions,.contact-list,.form-grid,.site-footer__inner,.site-footer__bottom,.footer-contact-links,.motivation-band,.work-card__title,.project-card__title{gap:12px;display:flex}.button-row,.tag-list,.stats-grid,.section-grid,.work-grid,.project-grid,.gallery-grid,.contact-list,.footer-links,.social-links,.footer-contact-links{flex-wrap:wrap}.button,.inline-link,.site-nav__link,.social-link,.site-nav__toggle,.contact-list__item,.tag{transition:transform var(--transition), border-color var(--transition), background-color var(--transition), color var(--transition), box-shadow var(--transition), opacity var(--transition)}.button{border:1px solid var(--button);background:var(--button);width:fit-content;min-height:46px;color:var(--button-text);white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:12px 22px;font-size:.96rem;font-weight:600;line-height:1;display:inline-flex}.button:hover,.inline-link:hover,.social-link:hover,.site-nav__link:hover,.site-nav__toggle:hover,.contact-list__item:hover{transform:translateY(-1px)}.button:hover{box-shadow:0 10px 22px #00000029}.button-secondary{background:var(--button);color:var(--button-text)}.inline-link{width:fit-content;color:var(--title);align-items:center;gap:7px;font-weight:600;display:inline-flex}.inline-link--muted{color:var(--text-muted)}.inline-link:hover{color:#000}.stats-grid{margin-top:8px}.page-home .stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:2px;display:grid}.stat-card,.feature-card,.work-card,.project-card,.info-card,.state-card,.profile-card,.graphic-hero__image,.gallery-card,.contact-card,.hero-panel{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-soft);overflow:hidden}.stat-card{gap:5px;min-width:170px;padding:16px;display:grid}.page-home .stat-card{min-width:0;padding:11px 12px}.stat-card strong{color:var(--title);font-size:1.35rem;line-height:1}.page-home .stat-card strong{font-size:1.18rem}.stat-card span{color:var(--text-muted);font-size:.8rem;line-height:1.3}.page-home .stat-card span{font-size:.76rem}.hero-panel__stack{background:var(--bg-soft);grid-template-rows:minmax(360px,1fr) auto;min-height:100%;display:grid}.page-home .hero-panel{height:min(560px,100dvh - 138px)}.page-home .hero-panel__stack{grid-template-rows:minmax(0,1fr) auto}.page-home .hero-panel__content{padding:18px 20px}.page-home .hero-panel__content h2{font-size:clamp(1.2rem,1.8vw,1.72rem)}.page-home .hero-panel__content p{font-size:.92rem}.hero-panel__image,.profile-card,.graphic-hero__image{overflow:hidden}.hero-panel__image img,.profile-card img,.graphic-hero__image img,.gallery-card img,.showcase-stack img,.project-card__image{object-fit:cover;width:100%;height:100%}.hero-panel__content{background:var(--surface);gap:10px;padding:22px;display:grid}.hero-panel--plain{box-shadow:none;background:0 0;border:0}.hero-panel--plain .illustration-card,.hero-panel--plain .illustration-card--soft{background:0 0;min-height:min(520px,100dvh - 150px);padding:0}.hero-panel--plain .illustration-card img{object-fit:contain;width:100%;max-height:min(500px,100dvh - 170px)}.hero-panel__content h2,.section-heading h2,.cta-panel h2,.feature-card h2,.work-card h3,.project-card h2,.project-card h3,.site-footer__brand h2,.info-card h2{color:var(--title);letter-spacing:0;margin:0;font-weight:700;line-height:1.08}.hero-panel__content h2{font-size:clamp(1.35rem,2vw,2rem)}.section-block,.section-heading{gap:18px}.section-block--compact,.section-block--minimal{gap:12px}.section-heading{max-width:760px}.section-heading--compact{max-width:560px}.section-heading--minimal{max-width:520px}.section-heading h2,.cta-panel h2{font-size:clamp(2.3rem,4vw,4.3rem)}.section-heading--compact h2{font-size:clamp(1.6rem,2.5vw,2.6rem)}.section-heading--minimal h2{font-size:clamp(1.55rem,2.3vw,2.35rem)}.section-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.section-grid--three,.work-grid,.project-grid,.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.project-grid--compact,.project-grid--minimal{gap:14px}.feature-card,.info-card,.contact-card{padding:26px}.contact-hero .contact-card{padding:18px}.contact-card__inner{max-width:760px;margin:0 auto}.feature-card,.info-card{gap:16px;display:grid}.feature-card__icon{background:var(--title);color:#fff;border-radius:999px;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.info-row{border-top:1px solid var(--line);gap:5px;padding-top:14px;display:grid}.info-row strong{color:var(--title);font-size:.98rem}.work-card,.project-card,.gallery-card,.feature-card,.info-card,.stat-card{transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition)}.work-card:hover,.project-card:hover,.gallery-card:hover,.feature-card:hover,.info-card:hover,.stat-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-lift);transform:translateY(-3px)}.project-card--compact{min-height:170px;display:flex;box-shadow:0 10px 30px #0000000f}.project-card--compact:hover{transform:translateY(-1px)}.work-card__visual,.project-card__image{background-position:50%;background-size:cover;width:100%;height:230px}.project-card--solution{color:#fff;background:#000;border-color:#000}.project-card--solution .project-card__media{background:#000;border-bottom:1px solid #ffffff52;place-items:center start;height:178px;padding:24px;display:grid;overflow:hidden}.project-card--solution .project-card__image{object-fit:contain;border-radius:8px;width:auto;max-width:82%;height:auto;max-height:118px;display:block}.project-card--solution .project-card__content{color:#fff;background:#000;align-content:start}.project-card--solution .project-card__meta,.project-card--solution p{color:#ffffffc2}.project-card--solution h2{color:#fff}.project-card--solution .inline-link,.project-card--compact .inline-link{color:#000;background:#fff;border-radius:8px;width:fit-content;min-height:38px;padding:8px 13px}.project-card--solution .inline-link:hover,.project-card--compact .inline-link:hover{color:#000;background:#ffffffdb}.work-card__visual--contain{background-color:#fff;background-repeat:no-repeat;background-size:contain;height:220px}.work-card__body,.project-card__content{gap:13px;padding:20px;display:grid}.project-card--compact .project-card__image{border-radius:var(--radius-card) 0 0 var(--radius-card);background:#000;border-right:1px solid #ffffff38;flex:0 0 42%;place-items:center;width:42%;height:auto;min-height:170px;padding:18px;display:grid}.project-card--compact .project-card__logo{object-fit:contain;border-radius:var(--radius-card);width:100%;max-width:158px;max-height:158px}.project-card--compact .project-card__content{color:#fff;background:#000;flex:1;align-content:center;gap:8px;padding:16px}.project-card--compact .project-card__meta{color:#ffffffad;font-size:.78rem}.project-card--compact h3{color:#fff;font-size:1.05rem}.project-card--compact p:not(.project-card__meta){color:#ffffffc2;font-size:.88rem;line-height:1.42}.project-card--compact .inline-link{color:#000;font-size:.9rem}.project-card--minimal{box-shadow:0 10px 28px #0000000e}.project-card--minimal:hover{transform:translateY(-1px)}.project-card--minimal .project-card__image{height:150px}.project-card--minimal .project-card__content{gap:8px;padding:14px 16px 16px}.project-card--minimal .project-card__meta{font-size:.76rem}.project-card--minimal h3{font-size:1.02rem}.project-card--minimal p:not(.project-card__meta){font-size:.88rem;line-height:1.42}.project-card--minimal .inline-link{font-size:.9rem}.work-card__title,.project-card__title{color:var(--title);align-items:center}.project-card__meta{color:var(--text-muted);letter-spacing:0;margin:0;font-size:.82rem;font-weight:600}.tag{border:1px solid var(--line);background:var(--bg-soft);color:var(--text);border-radius:999px;align-items:center;padding:7px 11px;font-size:.82rem;font-weight:500}.motivation-band{border-radius:var(--radius-card);background:var(--bg-soft);align-items:stretch;padding:10px}.motivation-band__item{border-radius:var(--radius-card);background:var(--surface);text-align:center;flex:1;min-width:150px;padding:28px 18px}.motivation-band__item span{color:var(--title);letter-spacing:0;font-size:clamp(1.4rem,2.4vw,2rem);font-weight:700}.cta-panel{border-radius:var(--radius-card);background:var(--bg-soft);justify-content:space-between;align-items:center;gap:28px;padding:clamp(28px,5vw,58px);display:flex}.profile-card img{min-height:560px}.about-hero .profile-card{height:min(560px,100dvh - 148px)}.about-hero .profile-card img{min-height:0}.illustration-card,.illustration-card--soft{background:var(--bg-soft);place-items:center;min-height:480px;padding:36px;display:grid}.illustration-card img{max-height:390px}.showcase-stack{background:var(--bg-soft);grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:10px;display:grid}.showcase-stack img{border-radius:var(--radius-card);min-height:420px}.contact-form{gap:16px}.contact-hero .contact-form{gap:12px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.contact-form label{gap:8px;display:grid}.contact-form label span{color:var(--title);font-size:.94rem;font-weight:600}.contact-form input,.contact-form textarea{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--bg-softer);width:100%;color:var(--title);resize:vertical;padding:14px 15px}.contact-hero .contact-form input{padding:12px 14px}.contact-hero .contact-form textarea{min-height:120px;max-height:140px;padding:12px 14px}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--text-muted)}.contact-form input:focus,.contact-form textarea:focus,.button:focus-visible,.site-nav__link:focus-visible,.social-link:focus-visible,.site-nav__toggle:focus-visible{outline-offset:2px;outline:3px solid #0066cc47}.contact-list{flex-direction:column}.contact-list__item{border:1px solid var(--line);background:var(--surface);width:fit-content;color:var(--title);border-radius:999px;align-items:center;gap:10px;padding:11px 14px;font-weight:600;display:inline-flex}.graphic-hero{gap:24px}.graphic-hero__content{align-content:center;gap:17px;padding:24px 0 24px 18px;display:grid}.gallery-card{aspect-ratio:16/9;background:#000;min-height:0}.gallery-card img{object-fit:cover}.breadcrumb{margin-bottom:-34px}.state-card{text-align:center;justify-items:center;gap:16px;width:min(520px,100%);padding:34px;display:grid}.state-card h1{font-size:clamp(2.4rem,5vw,4rem)}.state-card__icon{color:#1d7f37;background:#e8f6ed;border-radius:999px;place-items:center;width:74px;height:74px;display:grid}.state-card__image{width:min(260px,100%)}.site-header{z-index:30;-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);background:#fbfbfdc2;border-bottom:1px solid #0000000f;padding:12px 0;position:sticky;top:0}.site-header__inner{justify-content:center;align-items:center;width:min(1200px,100% - 40px);margin:0 auto}.site-logo{align-items:center;min-width:fit-content;display:inline-flex}.site-logo img{width:112px}.site-nav{flex:none;justify-content:center;align-items:center;margin-left:34px}.site-nav__links,.site-nav__actions{align-items:center}.site-nav__links{gap:4px}.site-nav__dropdown{position:relative}.site-nav__link,.social-link,.site-nav__toggle{color:var(--text);border-radius:999px;justify-content:center;align-items:center;gap:7px;display:inline-flex}.site-nav__link{background:0 0;border:0;padding:8px 13px;font-size:.88rem;font-weight:500}.site-nav__link--dropdown{gap:5px}.site-nav__link.is-active{color:#fff;background:#000}.site-nav__menu{z-index:40;border:1px solid var(--line);border-radius:var(--radius-card);width:260px;box-shadow:var(--shadow-lift);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);opacity:0;pointer-events:none;transition:opacity var(--transition), transform var(--transition);background:#fffffff5;padding:8px;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%,-6px)}.site-nav__dropdown.is-menu-open .site-nav__menu{opacity:1;pointer-events:auto;transform:translate(-50%)}.site-nav__menu-link{color:var(--title);border-radius:8px;gap:3px;padding:12px;display:grid}.site-nav__menu-link:hover{background:var(--bg-soft)}.site-nav__menu-link span{font-weight:700}.site-nav__menu-link small{color:var(--text-muted);font-size:.78rem;line-height:1.25}.social-link,.site-nav__toggle{border:1px solid var(--line);background:#ffffffa8;width:38px;height:38px}.social-link span{font-size:.9rem;font-weight:600}.hero-copy .social-link,.site-footer .social-link{width:auto;padding:0 13px}.site-nav__toggle{color:var(--title);display:none}.site-footer{padding:0 0 32px}.site-footer__inner,.site-footer__bottom{width:min(1200px,100% - 40px);margin:0 auto}.site-footer__inner{border-radius:var(--radius-card);color:#fff;background:#000;justify-content:space-between;align-items:flex-start;gap:40px;padding:36px}.site-footer__brand{gap:15px;max-width:650px}.site-footer__brand h2{color:#fff;font-size:clamp(2rem,3vw,3.1rem)}.site-footer__brand p,.site-footer__bottom p{color:#ffffffb8}.site-footer__meta{justify-items:flex-end;gap:18px}.footer-links{justify-content:flex-end}.footer-links a,.footer-contact-links a{color:#ffffffd1;font-weight:600}.site-footer .eyebrow{color:#fff;background:#ffffff1f}.site-footer .social-link{color:#fff;background:#ffffff14;border-color:#ffffff2e}.site-footer__bottom{justify-content:space-between;padding-top:14px}@media (width<=1080px){.hero-home,.hero-split,.graphic-hero,.section-grid--three,.work-grid,.project-grid,.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-nav{margin-left:18px}.site-nav__actions .social-links{display:none}}@media (width<=920px){.page-shell{padding-top:26px}.page{gap:42px}.hero-home,.hero-split,.graphic-hero,.section-grid,.section-grid--three,.work-grid,.project-grid,.gallery-grid,.form-grid{grid-template-columns:1fr}.hero-home,.page-home .hero-home,.about-hero,.work-hero,.contact-hero{min-height:auto}.contact-hero__top{grid-template-columns:1fr}.page-home .hero-panel,.about-hero .profile-card{height:auto}.hero-panel--plain .illustration-card,.hero-panel--plain .illustration-card--soft{min-height:320px}.hero-copy{text-align:left}.hero-copy h1,.graphic-hero__content h1{font-size:clamp(3.1rem,11vw,5.4rem)}.profile-card img,.hero-panel__stack,.illustration-card,.illustration-card--soft,.showcase-stack img{min-height:360px}.showcase-stack{grid-template-columns:1fr}.cta-panel,.motivation-band,.site-footer__inner,.site-footer__bottom{flex-direction:column;align-items:flex-start}.site-footer__meta{justify-items:flex-start}.footer-links{justify-content:flex-start}.site-nav__toggle{display:inline-flex}.site-header__inner{justify-content:space-between}.site-nav{border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-lift);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);opacity:0;pointer-events:none;transition:opacity var(--transition), transform var(--transition);background:#fffffff0;gap:14px;margin-left:0;padding:14px;display:grid;position:fixed;top:66px;left:20px;right:20px;transform:translateY(-8px)}.site-nav.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.site-nav__links,.site-nav__actions,.site-nav__actions .social-links{flex-direction:column;align-items:stretch;display:flex}.site-nav__link,.social-link{justify-content:flex-start;width:100%}.site-nav__dropdown{width:100%}.site-nav__menu{width:100%;max-height:0;box-shadow:none;opacity:0;pointer-events:none;border-width:0;margin-top:0;padding:0;position:static;overflow:hidden;transform:none}.site-nav__dropdown.is-menu-open .site-nav__menu{opacity:1;pointer-events:auto;border-width:1px;max-height:180px;margin-top:6px;padding:8px;transform:none}.social-link{padding:0 13px}}@media (width<=640px){.page-shell,.site-header__inner,.site-footer__inner,.site-footer__bottom{width:min(100% - 24px,1200px)}.page{gap:34px}.page-shell{padding-top:22px;padding-bottom:42px}.hero-copy h1,.graphic-hero__content h1{font-size:clamp(2.75rem,15vw,4.4rem)}.section-heading h2,.cta-panel h2{font-size:clamp(2rem,11vw,3.1rem)}.hero-copy,.feature-card,.info-card,.contact-card,.state-card,.site-footer__inner,.cta-panel{padding:22px}.button,.contact-list__item{width:100%}.stats-grid{flex-direction:column}.page-home .stats-grid{grid-template-columns:1fr}.stat-card{min-width:unset}.work-card__visual,.project-card__image{height:210px}.project-card--compact{flex-direction:column}.project-card--compact .project-card__image{border-radius:var(--radius-card) var(--radius-card) 0 0;border-bottom:1px solid #ffffff38;border-right:0;flex-basis:auto;width:100%;height:150px;min-height:150px}.motivation-band__item{width:100%}.site-logo img{width:98px}}
