@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@300;400;500&display=swap";:root{--header-height: 60px;--main-color: #1B2A4A;--sub-color: #243659;--cream: #F7F5F0;--cream-alt: #EDE8DF;--sand: #D9CFC0;--brown: #B07D4F;--brown-lt: #C9935F;--text-color: #1B2A4A;--muted: #7A7264;--border: rgba(27, 42, 74, .12);--c-comment: #5a6a8a;--c-kw: #a78bfa;--c-str: #86efac;--c-var: #7dd3fc;--c-fn: #fbbf24;--c-key: #f9a8d4;--c-num: #fb923c}#app{margin:0 auto;font-weight:400}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--text-color);font-family:DM Sans,sans-serif;font-weight:300;overflow-x:hidden;margin:var(--header-height) 0 0}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--cream)}::-webkit-scrollbar-thumb{background:var(--sand);border-radius:3px}h2,p{margin:0}ul{padding:0;margin:0;list-style:none}@keyframes slideUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes barGrow{to{transform:scaleX(1)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.container{max-width:1200px;margin:0 auto;padding:0 6%}nav ul{list-style-type:none;display:flex}.info{display:flex}.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s,transform .6s}.reveal.visible{opacity:1;transform:translateY(0)}.thumbnail{display:flex;justify-content:center;align-items:center;overflow:hidden}.thumbnail img{display:block;object-fit:cover}.heading-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:4rem;gap:2rem}.heading-header .heading-desc{max-width:380px;color:var(--muted);font-size:.9rem;line-height:1.75;align-self:flex-end}.heading-eyebrow{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.heading-eyebrow .heading-eyebrow-line{width:24px;height:1px;background:var(--brown)}.heading-eyebrow span{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brown);font-weight:400}.heading-title{font-family:Cormorant Garamond,serif;font-size:clamp(2rem,3.5vw,2.8rem);font-weight:500;line-height:1.15;color:var(--main-color);letter-spacing:-.01em}.heading-title-cream{color:var(--cream)}.heading-desc-cream{color:#f7f5f08c}footer{background:var(--main-color);padding:2.5rem 6%;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;border-top:1px solid rgba(247,245,240,.08)}footer .footer-copy{font-size:.78rem;color:#f7f5f059;letter-spacing:.04em}footer .footer-links{display:flex;gap:2rem}footer .footer-links a{font-size:.78rem;color:#f7f5f073;text-decoration:none;letter-spacing:.04em;transition:color .2s;display:flex;align-items:center;gap:.45rem}footer .footer-links a:hover{color:var(--cream)}footer .footer-links a img{margin-right:3px}@media (max-width: 900px){.heading-header{flex-direction:column!important}.banner .container{grid-template-columns:1fr!important}.banner-right{display:none}.skills-grid,.about-site,.page-hero-inner,.timeline-grid,.values-grid,.cta-inner{grid-template-columns:1fr!important}.cta-actions{flex-direction:row!important}.page-hero-inner,.demos-grid,.notes-grid,.site-card{grid-template-columns:1fr!important}.sec-head{flex-direction:column!important}.demo-inner,.info-grid{grid-template-columns:1fr!important}}header{line-height:1.5;width:100%;height:var(--header-height);position:fixed;top:0;left:0;background:var(--main-color);z-index:999;padding:0 6%;box-sizing:border-box}header .container{display:flex;height:var(--header-height);align-items:center;justify-content:space-between}.logo{display:block}.menu nav{width:100%;align-items:center;justify-content:space-between;display:flex}.menu nav a{color:#f7f5f08c;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;transition:color .25s;position:relative;padding:1.3rem .7rem;box-sizing:border-box;display:flex;justify-content:center}.menu nav a:hover{color:var(--cream)}.menu nav a:hover:after{transform:scaleX(1)}.menu nav a:active{color:var(--cream)}.menu nav a:after{content:"";position:absolute;bottom:1rem;height:1px;width:calc(100% - 1.4rem);background:var(--brown-lt);transform:scaleX(0);transform-origin:left;transition:transform .25s}.banner{min-height:100vh;background:var(--main-color);overflow:hidden;background-image:url(/images/background/banner.svg);background-repeat:no-repeat;background-position:top right;background-size:contain}.banner .container{display:grid;grid-template-columns:1fr 1fr;align-items:center;position:relative}.banner .banner-wrapper{position:relative;opacity:0}.banner .banner-left{padding:80px 0 100px;animation:slideUp .7s .1s cubic-bezier(.25,.46,.45,.94) forwards}.banner .banner-left .banner-eyebrow{display:flex;align-items:center;gap:.75rem;margin-bottom:1.75rem}.banner .banner-left .banner-eyebrow .banner-eyebrow-line{width:32px;height:1px;background:var(--brown-lt)}.banner .banner-left .banner-eyebrow span{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brown-lt);font-weight:400}.banner .banner-left .banner-title{font-family:Cormorant Garamond,serif;font-size:clamp(3rem,5.5vw,5rem);font-weight:500;line-height:1.05;color:var(--cream);margin-bottom:1.75rem;letter-spacing:-.01em}.banner .banner-left .banner-title em{font-style:italic;color:var(--brown-lt)}.banner .banner-left .banner-desc{color:#f7f5f099;font-size:.95rem;line-height:1.85;max-width:420px;margin-bottom:2.5rem;font-weight:300}.banner .banner-left .banner-actions{display:flex;gap:1rem;flex-wrap:wrap}.banner .banner-left .banner-actions .button{display:inline-flex;align-items:center;gap:.5rem;padding:.72rem 1.6rem;border-radius:2px;font-family:DM Sans,sans-serif;font-size:.82rem;font-weight:400;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;cursor:pointer;border:none;transition:all .25s}.banner .banner-left .banner-actions .button-warm{background:var(--brown);color:var(--cream)}.banner .banner-left .banner-actions .button-warm:hover{background:var(--brown-lt);transform:translateY(-2px)}.banner .banner-left .banner-actions .button-outline-cream{background:transparent;border:1px solid rgba(247,245,240,.25);color:#f7f5f0cc}.banner .banner-left .banner-actions .button-outline-cream:hover{border-color:var(--cream);color:var(--cream);transform:translateY(-2px)}.banner .banner-left .banner-stats{display:flex;gap:0;margin-top:3.5rem;border-top:1px solid rgba(247,245,240,.1);padding-top:2rem}.banner .banner-left .banner-stats .stat{flex:1;padding-left:2rem;padding-right:2rem;border-right:1px solid rgba(247,245,240,.1)}.banner .banner-left .banner-stats .stat:first-child{padding-left:0}.banner .banner-left .banner-stats .stat:last-child{border-right:none;padding-right:0;padding-left:2rem}.banner .banner-left .banner-stats .stat .stat-number{font-family:Cormorant Garamond,serif;font-size:2.4rem;font-weight:500;color:var(--cream);line-height:1;margin-bottom:.25rem}.banner .banner-left .banner-stats .stat .stat-number span{color:var(--brown-lt)}.banner .banner-left .banner-stats .stat .stat-label{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#f7f5f066}.banner .banner-right{height:100vh;display:flex;align-items:center;justify-content:center;padding:60px 0;animation:fadeIn .9s .3s forwards}.banner .banner-right .tech-mosaic{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#f7f5f00f;border:1px solid rgba(247,245,240,.06);width:340px}.banner .banner-right .tech-mosaic .mosaic-cell{background:#f7f5f008;padding:2rem 1.75rem;display:flex;flex-direction:column;gap:.5rem;transition:background .25s;cursor:default}.banner .banner-right .tech-mosaic .mosaic-cell:hover{background:#b07d4f1a}.banner .banner-right .tech-mosaic .mosaic-cell .mosaic-icon{width:32px;height:auto}.banner .banner-right .tech-mosaic .mosaic-cell .mosaic-icon img{width:100%;height:100%}.banner .banner-right .tech-mosaic .mosaic-cell .mosaic-icon.php-style{width:38px}.banner .banner-right .tech-mosaic .mosaic-cell .mosaic-label{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:#f7f5f066}.banner .banner-right .tech-mosaic .mosaic-cell .mosaic-title{font-size:.9rem;color:var(--cream);font-weight:400}.banner .banner-right .tech-mosaic .mosaic-cell .mosaic-tag{display:inline-block;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;padding:.2rem .55rem;border:1px solid rgba(176,125,79,.4);color:var(--brown-lt);border-radius:1px;margin-top:.25rem;align-self:flex-start}.banner .banner-right .tech-mosaic .wide{grid-column:span 2;flex-direction:row;align-items:center;gap:1.5rem}.banner .banner-right .tech-mosaic .wide .mosaic-icon{width:45px;height:auto}.banner .banner-right .tech-mosaic .wide .mosaic-icon img{width:100%;height:100%}.banner .banner-right .tech-mosaic .wide .mosaic-title{font-size:.85rem}.featured-skills{background:var(--cream)}.featured-skills .container{padding-top:100px;padding-bottom:100px}.featured-skills .skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border)}.featured-skills .skills-grid .skill-group{background:var(--cream);padding:2.25rem 2rem}.featured-skills .skills-grid .skill-group .skill-group-name{font-family:Cormorant Garamond,serif;font-size:1.15rem;font-weight:500;color:var(--main-color);margin-bottom:.3rem}.featured-skills .skills-grid .skill-group .skill-group-en{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--brown);margin-bottom:1.75rem}.featured-skills .skills-grid .skill-group .skill-item{margin-bottom:1.1rem}.featured-skills .skills-grid .skill-group .skill-item .skill-row{display:flex;justify-content:space-between;margin-bottom:.45rem}.featured-skills .skills-grid .skill-group .skill-item .skill-row .skill-name{font-size:.83rem;color:var(----text-color);font-weight:400}.featured-skills .skills-grid .skill-group .skill-item .skill-row .skill-pct{font-size:.75rem;color:var(--muted)}.featured-skills .skills-grid .skill-group .skill-item .skill-bar{height:2px;background:var(--sand)}.featured-skills .skills-grid .skill-group .skill-item .skill-bar .skill-fill{height:100%;background:var(--brown);transform-origin:left;transform:scaleX(0);animation:barGrow 1s cubic-bezier(.25,.46,.45,.94) .4s forwards}.showcase{background:var(--cream-alt)}.showcase .container{padding-top:100px;padding-bottom:100px}.showcase .showcase-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border)}.showcase .showcase-preview .sp-card{background:var(--cream-alt);text-decoration:none;color:inherit;overflow:hidden;transition:background .25s;display:flex;flex-direction:column}.showcase .showcase-preview .sp-card:hover{background:var(--cream)}.showcase .showcase-preview .sp-card:hover .sp-card-top .sp-thumb-line{transform:scaleX(1)}.showcase .showcase-preview .sp-card:hover .sp-body .sp-link{gap:.75rem}.showcase .showcase-preview .sp-card .sp-card-top{height:140px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.showcase .showcase-preview .sp-card .sp-card-top .sp-icon{width:32px;opacity:.8}.showcase .showcase-preview .sp-card .sp-card-top .sp-icon img{width:100%;height:auto}.showcase .showcase-preview .sp-card .sp-card-top .sp-thumb-line{position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--brown);transform:scaleX(0);transform-origin:left;transition:transform .35s}.showcase .showcase-preview .sp-card .sp-body{padding:1.5rem;flex:1;display:flex;flex-direction:column}.showcase .showcase-preview .sp-card .sp-body .sp-label{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brown);margin-bottom:.4rem}.showcase .showcase-preview .sp-card .sp-body .sp-title{font-family:Cormorant Garamond,serif;font-size:1.2rem;font-weight:500;color:var(--main-color);margin-bottom:.5rem}.showcase .showcase-preview .sp-card .sp-body .sp-desc{font-size:.83rem;color:var(--muted);line-height:1.65;flex:1;margin-bottom:1rem}.showcase .showcase-preview .sp-card .sp-body .sp-link{display:flex;align-items:center;gap:.45rem;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--brown);transition:gap .25s}.about-site{display:grid;grid-template-columns:1fr 1fr;gap:0}.about-site .about-site-text{background:var(--cream);padding:80px 6%;display:flex;flex-direction:column;justify-content:center}.about-site .about-site-text .heading-eyebrow{margin-bottom:.75rem}.about-site .about-site-text .heading-title{margin-bottom:1.5rem}.about-site .about-site-text .about-body{color:var(--muted);font-size:.92rem;line-height:1.85;margin-bottom:1.25rem}.about-site .about-site-text .about-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--brown);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;font-weight:400;transition:gap .25s}.about-site .about-site-text .about-link:hover{gap:.75rem}.about-site .about-site-visual{background:var(--main-color);padding:80px 6%;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;background-image:url(/images/background/about.svg);background-repeat:no-repeat;background-position:top right;background-size:contain}.about-site .about-site-visual .heading-eyebrow{margin-bottom:1rem}.about-site .about-site-visual .heading-eyebrow .heading-eyebrow-line{background:var(--brown-lt)}.about-site .about-site-visual .heading-eyebrow span{color:var(--brown-lt)}.about-site .about-site-visual .stack-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#f7f5f00f;margin-top:2rem}.about-site .about-site-visual .stack-list .stack-item{background:#f7f5f005;padding:1.25rem 1.5rem;transition:background .2s}.about-site .about-site-visual .stack-list .stack-item:hover{background:#f7f5f00d}.about-site .about-site-visual .stack-list .stack-item .stack-item-icon{margin-bottom:.5rem;width:32px;height:32px}.about-site .about-site-visual .stack-list .stack-item .stack-item-icon img{width:100%;height:auto}.about-site .about-site-visual .stack-list .stack-item .mongodb{width:28px!important;height:auto}.about-site .about-site-visual .stack-list .stack-item .stack-item-name{font-size:.8rem;color:var(--cream);margin-bottom:.15rem}.about-site .about-site-visual .stack-list .stack-item .stack-item-sub{font-size:.7rem;letter-spacing:.06em;color:#f7f5f059;text-transform:uppercase}.page-hero{background:var(--main-color);padding:120px 6% 80px;position:relative;overflow:hidden}.page-hero .banner-background,.page-hero .hero-geo-sm{position:absolute;right:0;top:0;bottom:0;width:45%;pointer-events:none}.page-hero .page-hero-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:end}.page-hero .page-hero-inner .hero-wrapper{position:relative;z-index:2;opacity:0;animation:slideUp .7s .1s cubic-bezier(.25,.46,.45,.94) forwards}.page-hero .page-hero-inner .hero-wrapper .hero-eyebrow{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.page-hero .page-hero-inner .hero-wrapper .hero-eyebrow .hero-eyebrow-line{width:32px;height:1px;background:var(--brown-lt)}.page-hero .page-hero-inner .hero-wrapper .hero-eyebrow span{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brown-lt)}.page-hero .page-hero-inner .hero-wrapper .page-title{font-family:Cormorant Garamond,serif;font-size:clamp(2.8rem,5vw,4.5rem);font-weight:500;line-height:1.05;color:var(--cream);letter-spacing:-.01em;margin-bottom:1.5rem}.page-hero .page-hero-inner .hero-wrapper .page-title em{font-style:italic;color:var(--brown-lt)}.page-hero .page-hero-inner .hero-wrapper .page-intro{color:#f7f5f08c;font-size:.95rem;line-height:1.85;font-weight:300}.profile-card{background:#f7f5f00a;border:1px solid rgba(247,245,240,.08);padding:2rem;opacity:0;animation:fadeIn .8s .3s forwards;position:relative;z-index:2}.profile-card .profile-avatar-wrap{width:72px;height:72px;border:1px solid rgba(247,245,240,.15);display:flex;align-items:center;justify-content:center;font-size:2rem;margin-bottom:1.25rem;background:#f7f5f00a}.profile-card .profile-avatar-wrap img{width:100%;height:auto}.profile-card .profile-name{font-family:Cormorant Garamond,serif;font-size:1.5rem;font-weight:500;color:var(--cream);margin-bottom:.2rem}.profile-card .profile-role{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--brown-lt);margin-bottom:1.5rem}.profile-card .profile-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.5rem}.profile-card .profile-tags .p-chip{font-size:.68rem;letter-spacing:.07em;text-transform:uppercase;padding:.22rem .65rem;border:1px solid rgba(247,245,240,.15);color:#f7f5f080;border-radius:1px}.profile-card .profile-contacts{display:flex;flex-direction:column;gap:.5rem}.profile-card .profile-contacts .contact-row{display:flex;align-items:center;gap:.6rem;font-size:.82rem;color:#f7f5f080;text-decoration:none;transition:color .2s}.profile-card .profile-contacts .contact-row:hover{color:var(--cream)}.section-cream{background:var(--cream);padding:80px 0}.content-wrap{max-width:1100px;margin:0 auto;padding:0 6%}.section-alt{background:var(--cream-alt);padding:80px 0}.section-navy{background:var(--main-color);padding:80px 0}.section-eyebrow{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.section-eyebrow .section-eyebrow-line{width:24px;height:1px;background:var(--brown)}.section-eyebrow span{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brown)}.section-title{font-family:Cormorant Garamond,serif;font-size:clamp(1.8rem,3vw,2.4rem);font-weight:500;line-height:1.15;color:var(--main-color);letter-spacing:-.01em;margin-bottom:2.5rem}.timeline-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border)}.timeline-grid .tl-card{background:var(--cream);padding:2rem;transition:background .2s}.timeline-grid .tl-card:hover{background:var(--cream-alt)}.timeline-grid .tl-card .tl-date{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--brown);margin-bottom:.75rem}.timeline-grid .tl-card .tl-divider{width:24px;height:1px;background:var(--sand);margin-bottom:.75rem}.timeline-grid .tl-card .tl-title{font-family:Cormorant Garamond,serif;font-size:1.2rem;font-weight:500;color:var(--main-color);margin-bottom:.3rem;line-height:1.25}.timeline-grid .tl-card .tl-org{font-size:.78rem;color:var(--muted);margin-bottom:.75rem;letter-spacing:.03em}.timeline-grid .tl-card .tl-desc{font-size:.85rem;color:var(--muted);line-height:1.7}.values-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--border);border:1px solid var(--border)}.values-grid .value-card{background:var(--cream-alt);padding:2.5rem 2rem;transition:background .2s}.values-grid .value-card:hover{background:var(--cream)}.values-grid .value-card .value-num{font-family:Cormorant Garamond,serif;font-size:2.5rem;font-weight:500;color:var(--sand);line-height:1;margin-bottom:1rem}.values-grid .value-card .value-title{font-family:Cormorant Garamond,serif;font-size:1.3rem;font-weight:500;color:var(--navy);margin-bottom:.5rem}.values-grid .value-card .value-desc{font-size:.86rem;color:var(--muted);line-height:1.75}.cta-inner{max-width:1100px;margin:0 auto;padding:0 6%;display:grid;grid-template-columns:1fr auto;align-items:center;gap:3rem}.cta-inner .cta-text h2{font-family:Cormorant Garamond,serif;font-size:clamp(1.8rem,3vw,2.6rem);font-weight:500;color:var(--cream);margin-bottom:.75rem}.cta-inner .cta-text p{color:#f7f5f080;font-size:.92rem;line-height:1.7}.cta-inner .cta-actions{display:flex;gap:1rem;flex-direction:column}.cta-inner .cta-actions .btn{display:inline-flex;align-items:center;gap:.5rem;padding:.72rem 1.6rem;border-radius:2px;font-family:DM Sans,sans-serif;font-size:.82rem;font-weight:400;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;cursor:pointer;border:none;transition:all .25s;white-space:nowrap}.cta-inner .cta-actions .btn-warm{background:var(--brown);color:var(--cream)}.cta-inner .cta-actions .btn-warm:hover{background:var(--brown-lt);transform:translateY(-2px)}.cta-inner .cta-actions .btn-outline-cream{background:transparent;border:1px solid rgba(247,245,240,.25);color:#f7f5f0cc}.cta-inner .cta-actions .btn-outline-cream:hover{border-color:var(--cream);color:var(--cream);transform:translateY(-2px)}.sec{padding:80px 6%}.sec .inner{max-width:1100px;margin:0 auto}.sec .inner .sec-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:3rem;gap:2rem;flex-wrap:wrap}.sec .inner .sec-head .sec-head-p{max-width:320px;font-size:.88rem;color:var(--muted);line-height:1.75}.sec .inner .sec-head .sec-eyebrow{display:flex;align-items:center;gap:.75rem;margin-bottom:.6rem}.sec .inner .sec-head .sec-eyebrow .sec-eyebrow-line{width:24px;height:1px}.sec .inner .sec-head .sec-eyebrow span{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}.sec .inner .sec-head .eyebrow-brown .sec-eyebrow-line{background:var(--brown)}.sec .inner .sec-head .eyebrow-brown span{color:var(--brown)}.sec .inner .sec-head .sec-title{font-family:Cormorant Garamond,serif;font-size:clamp(1.8rem,3vw,2.4rem);font-weight:500;line-height:1.15;letter-spacing:-.01em}.sec .inner .sec-head .sec-title-dark{color:var(--navy)}.sec-cream{background:var(--cream)}.page-hero{background:var(--main-color);padding:110px 6% 60px;position:relative;overflow:hidden}.page-hero .hero-geo{position:absolute;right:0;top:0;bottom:0;width:45%;pointer-events:none}.page-hero .page-hero-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:end;position:relative;z-index:2}.page-hero .page-hero-inner .eyebrow-wrapper{opacity:0;animation:slideUp .7s .1s cubic-bezier(.25,.46,.45,.94) forwards}.page-hero .page-hero-inner .eyebrow-wrapper .eyebrow{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem}.page-hero .page-hero-inner .eyebrow-wrapper .eyebrow .eyebrow-line{width:32px;height:1px;background:var(--brown-lt)}.page-hero .page-hero-inner .eyebrow-wrapper .eyebrow span{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brown-lt)}.page-hero .page-hero-inner .eyebrow-wrapper .page-title{font-family:Cormorant Garamond,serif;font-size:clamp(2.5rem,4.5vw,3.8rem);font-weight:500;line-height:1.05;color:var(--cream);letter-spacing:-.01em;margin-bottom:1rem}.page-hero .page-hero-inner .eyebrow-wrapper .page-title em{font-style:italic;color:var(--brown-lt)}.page-hero .page-hero-inner .eyebrow-wrapper .page-desc{color:#f7f5f080;font-size:.9rem;line-height:1.8}.page-hero .page-hero-inner .eyebrow-wrapper .section-nav{display:flex;gap:0;border:1px solid rgba(247,245,240,.1);align-self:flex-end}.page-hero .page-hero-inner .eyebrow-wrapper .section-nav .snav-item{padding:.9rem 1.4rem;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:#f7f5f059;border-right:1px solid rgba(247,245,240,.1);cursor:pointer;transition:all .2s;text-decoration:none;display:block}.page-hero .page-hero-inner .eyebrow-wrapper .section-nav .snav-item::last-child{border-right:none}.page-hero .page-hero-inner .eyebrow-wrapper .section-nav .snav-item:hover{color:var(--cream);background:#f7f5f00a}.page-hero .page-hero-inner .eyebrow-wrapper .section-nav .here{color:var(--brown-lt);background:#b07d4f14}.demos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border)}.demos-grid .demo-card{background:var(--cream-alt);padding:2rem;transition:background .25s}.demos-grid .demo-card:hover{background:var(--cream)}.demos-grid .demo-card .demo-card-label{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brown);margin-bottom:1.25rem;display:flex;align-items:center;gap:.5rem}.demos-grid .demo-card .demo-card-label:before{content:"";display:block;width:16px;height:1px;background:var(--brown)}.demos-grid .demo-card .demo-card-title{font-family:Cormorant Garamond,serif;font-size:1.1rem;font-weight:500;color:var(--main-color);margin-bottom:1.5rem}.demos-grid .demo-card .flip-wrap{perspective:600px;width:100%;height:120px;cursor:pointer}.demos-grid .demo-card .flip-wrap:hover .flip-inner{transform:rotateY(180deg)}.demos-grid .demo-card .flip-wrap .flip-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.25,.46,.45,.94)}.demos-grid .demo-card .flip-wrap .flip-inner .flip-front,.demos-grid .demo-card .flip-wrap .flip-inner .flip-back{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;display:flex;align-items:center;justify-content:center;border:1px solid var(--border)}.demos-grid .demo-card .flip-wrap .flip-inner .flip-front{background:var(--main-color);color:var(--cream);font-family:Cormorant Garamond,serif;font-size:1rem;letter-spacing:.08em;flex-direction:column;gap:.5rem}.demos-grid .demo-card .flip-wrap .flip-inner .flip-front small{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:#f7f5f066;font-family:DM Sans,sans-serif}.demos-grid .demo-card .flip-wrap .flip-inner .flip-back{background:var(--brown);color:var(--cream);transform:rotateY(180deg);font-size:.85rem;text-align:center;padding:1rem;line-height:1.5}.demos-grid .demo-card .palette-row{display:flex;gap:4px;height:60px;margin-bottom:.75rem}.demos-grid .demo-card .palette-row .pal-swatch{flex:1;border-radius:2px;transition:flex .4s cubic-bezier(.25,.46,.45,.94);cursor:pointer;position:relative}.demos-grid .demo-card .palette-row .pal-swatch:hover{flex:3}.demos-grid .demo-card .palette-row .pal-swatch:hover:after{opacity:1}.demos-grid .demo-card .palette-row .pal-swatch:after{content:attr(data-hex);position:absolute;bottom:4px;left:50%;transform:translate(-50%);font-size:.6rem;font-family:JetBrains Mono,monospace;color:#ffffffb3;white-space:nowrap;opacity:0;transition:opacity .2s}.demos-grid .demo-card .palette-btn{width:100%;padding:.5rem;background:transparent;border:1px solid var(--border);font-family:DM Sans,sans-serif;font-size:.75rem;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);cursor:pointer;transition:all .2s}.demos-grid .demo-card .palette-btn:hover{border-color:var(--brown);color:var(--brown)}.demos-grid .demo-card .typing-demo{border:1px solid var(--border);padding:1rem;background:var(--main-color);min-height:80px;display:flex;align-items:center}.demos-grid .demo-card .typing-demo .typing-text{font-family:JetBrains Mono,monospace;font-size:.8rem;color:var(--cream);line-height:1.6}.demos-grid .demo-card .typing-demo .typing-text .cursor{display:inline-block;width:2px;height:1em;background:var(--brown-lt);margin-left:2px;animation:blink .8s step-end infinite;vertical-align:text-bottom}.demos-grid .demo-card .typing-tags{display:flex;gap:.4rem;margin-top:.75rem;flex-wrap:wrap}.demos-grid .demo-card .typing-tags .t-badge{font-size:.65rem;letter-spacing:.07em;text-transform:uppercase;padding:.18rem .55rem;border:1px solid var(--border);color:var(--muted)}.sec-alt{background:var(--cream-alt)}.sec-alt .notes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border)}.sec-alt .note-card{background:var(--cream);padding:1.75rem;transition:background .25s;cursor:pointer;position:relative;overflow:hidden}.sec-alt .note-card:hover{background:var(--cream-alt)}.sec-alt .note-card:hover:after{opacity:1;transform:translate(2px,-2px)}.sec-alt .note-card:after{content:"↗";position:absolute;top:1.25rem;right:1.25rem;font-size:.85rem;color:var(--brown);opacity:0;transition:opacity .2s,transform .2s}.sec-alt .note-card .note-date{font-size:.7rem;letter-spacing:.06em;color:var(--muted);margin-bottom:.6rem;font-family:JetBrains Mono,monospace}.sec-alt .note-card .note-title{font-family:Cormorant Garamond,serif;font-size:1.1rem;font-weight:500;color:var(--navy);margin-bottom:.5rem;line-height:1.3}.sec-alt .note-card .note-desc{font-size:.82rem;color:var(--muted);line-height:1.65;margin-bottom:1rem}.sec-alt .note-card .note-tags{display:flex;gap:.3rem;flex-wrap:wrap}.sec-alt .note-card .note-tags .n-tag{font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;padding:.15rem .5rem;border-radius:1px;border:1px solid}.sec-alt .note-card .note-tags .t-vue{color:#2d9c6e;border-color:#2d9c6e4d;background:#2d9c6e0f}.sec-alt .note-card .note-tags .t-php{color:#7954c8;border-color:#7954c84d;background:#7954c80f}.sec-alt .note-card .note-tags .t-css{color:#2563c8;border-color:#2563c84d;background:#2563c80f}.sec-alt .note-card .note-tags .t-js{color:#b07d1a;border-color:#b07d1a4d;background:#b07d1a0f}.sec-alt .note-card .note-tags .t-seo{color:#b03a2e;border-color:#b03a2e4d;background:#b03a2e0f}.sec-alt .note-card .note-tags .t-docker{color:#244b7a;border-color:#244b7a4d;background:#244b7a99}.sec-alt .note-card .note-tags .t-container{color:#5a5a82;border-color:#5a5a824d;background:#5a5a8299}.sec-alt .note-card .note-tags .t-dockerfile{color:#4a4a4a;border-color:#4a4a4a4d;background:#4a4a4a99}.site-card{border:1px solid var(--border);display:grid;grid-template-columns:1fr 1fr;gap:0}.site-card .site-card-left{padding:2.5rem;background:var(--cream);border-right:1px solid var(--border)}.site-card .site-card-left .site-title{font-family:Cormorant Garamond,serif;font-size:1.5rem;font-weight:500;color:var(--navy);margin-bottom:.75rem}.site-card .site-card-left .site-desc{font-size:.88rem;color:var(--muted);line-height:1.8;margin-bottom:1.5rem}.site-card .site-card-left .site-link{display:inline-flex;align-items:center;gap:.5rem;font-size:.75rem;letter-spacing:.09em;text-transform:uppercase;color:var(--brown);text-decoration:none;transition:gap .2s;margin-top:.5rem}.site-card .site-card-left .site-linkhover{gap:.75rem}.site-card .site-card-right{padding:2.5rem;background:var(--cream-alt)}.site-card .site-card-right .stack-chips{display:flex;flex-direction:column;gap:.6rem}.site-card .site-card-right .stack-chip{display:flex;align-items:center;gap:.75rem;padding:.7rem 1rem;background:var(--cream);border:1px solid var(--border);transition:border-color .2s}.site-card .site-card-right .stack-chip:hover{border-color:var(--brown)}.site-card .site-card-right .stack-chip .chip-icon{width:1.8rem;text-align:center}.site-card .site-card-right .stack-chip .chip-icon img{width:100%;height:auto}.site-card .site-card-right .stack-chip .chip-info{flex:1}.site-card .site-card-right .stack-chip .chip-name{font-size:.83rem;color:var(--navy);font-weight:400}.site-card .site-card-right .stack-chip .chip-sub{font-size:.7rem;color:var(--muted);letter-spacing:.04em}.site-card .site-card-right .stack-chip .chip-tag{font-size:.62rem;letter-spacing:.07em;text-transform:uppercase;padding:.18rem .5rem;border:1px solid var(--border);color:var(--muted)}.page-hero{background:var(--main-color);padding:120px 6% 70px;position:relative;overflow:hidden}.page-hero .banner-image,.page-hero .hero-geo{position:absolute;right:0;top:0;bottom:0;width:40%;pointer-events:none}.page-hero .page-hero-inner-wrapper{max-width:1100px;margin:0 auto;position:relative;z-index:2;opacity:0;animation:slideUp .7s .1s cubic-bezier(.25,.46,.45,.94) forwards}.page-hero .page-hero-inner-wrapper .hero-eyebrow{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.page-hero .page-hero-inner-wrapper .hero-eyebrow .hero-eyebrow-line{width:32px;height:1px;background:var(--brown-lt)}.page-hero .page-hero-inner-wrapper .hero-eyebrow span{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brown-lt)}.page-hero .page-hero-inner-wrapper .page-title{font-family:Cormorant Garamond,serif;font-size:clamp(2.5rem,4.5vw,4rem);font-weight:500;line-height:1.05;color:var(--cream);letter-spacing:-.01em;margin-bottom:1.2rem}.page-hero .page-hero-inner-wrapper .page-title em{font-style:italic;color:var(--brown-lt)}.page-hero .page-hero-inner-wrapper .page-desc{color:#f7f5f08c;font-size:.92rem;line-height:1.8;max-width:520px;font-weight:300}.demo-wrap{background:var(--sub-color);border-top:1px solid rgba(247,245,240,.06)}.demo-wrap .demo-inner{max-width:1100px;margin:0 auto;padding:60px 6%;display:grid;grid-template-columns:420px 1fr;gap:2px;background:#f7f5f00d;opacity:0;animation:fadeIn .8s .4s forwards}.demo-wrap .demo-inner .panel-left{background:var(--main-color);padding:0}.demo-wrap .demo-inner .panel-left .panel-header{padding:1rem 1.5rem;border-bottom:1px solid rgba(247,245,240,.06);display:flex;align-items:center;justify-content:space-between}.demo-wrap .demo-inner .panel-left .panel-header .panel-header-title{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:#f7f5f066}.demo-wrap .demo-inner .panel-left .panel-header .panel-badge{font-size:.65rem;letter-spacing:.07em;font-family:JetBrains Mono,monospace;padding:.18rem .55rem;border:1px solid rgba(176,125,79,.3);color:var(--brown-lt);border-radius:1px}.demo-wrap .demo-inner .panel-left .panel-body{padding:1.5rem}.demo-wrap .demo-inner .panel-left .panel-body .input-label{font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;color:#f7f5f059;margin-bottom:.6rem;display:block}.demo-wrap .demo-inner .panel-left .panel-body .input-example{font-size:.75rem;color:#f7f5f059;margin-bottom:.75rem}.demo-wrap .demo-inner .panel-left .panel-body .input-example code{font-family:JetBrains Mono,monospace;font-size:.7rem;color:var(--brown-lt)}.demo-wrap .demo-inner .panel-left .panel-body .text-input{width:100%;background:#f7f5f00a;border:1px solid rgba(247,245,240,.08);padding:.75rem 1rem;color:var(--cream);font-family:DM Sans,sans-serif;font-size:.88rem;font-weight:300;outline:none;resize:none;transition:border-color .2s;border-radius:0}.demo-wrap .demo-inner .panel-left .panel-body .text-input:focus{border-color:#b07d4f66}.demo-wrap .demo-inner .panel-left .panel-body .text-input.demo-wrap .demo-inner .panel-left .panel-body .text-input::placeholder{color:#f7f5f033}.demo-wrap .demo-inner .panel-left .panel-body .error-msg{font-size:.78rem;color:#f87171;margin-top:.5rem;display:none}.demo-wrap .demo-inner .panel-left .panel-body .error-msg.show{display:block}.demo-wrap .demo-inner .panel-left .panel-body .btn-row{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:1.25rem}.demo-wrap .demo-inner .panel-left .panel-body .btn-row .btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1rem;font-family:DM Sans,sans-serif;font-size:.78rem;font-weight:400;letter-spacing:.07em;text-transform:uppercase;cursor:pointer;border:none;transition:all .2s;border-radius:0}.demo-wrap .demo-inner .panel-left .panel-body .btn-row .btn-ghost-navy{background:#f7f5f00a;color:#f7f5f080;border:1px solid rgba(247,245,240,.08)}.demo-wrap .demo-inner .panel-left .panel-body .btn-row .btn-ghost-navy:hover{background:#f7f5f014;color:var(--cream)}.demo-wrap .demo-inner .panel-left .panel-body .btn-row .btn-warm{background:var(--brown);color:var(--cream);border:1px solid var(--brown)}.demo-wrap .demo-inner .panel-left .panel-body .btn-row .btn-warm:hover{background:var(--brown-lt)}.demo-wrap .demo-inner .panel-left .panel-body .btn-row .btn-sub{font-size:.68rem;color:#f7f5f040;margin-top:.35rem;text-align:center;letter-spacing:.04em}.demo-wrap .demo-inner .panel-right{background:#0f1724;display:flex;flex-direction:column}.demo-wrap .demo-inner .panel-right .code-tabs{display:flex;border-bottom:1px solid rgba(247,245,240,.06)}.demo-wrap .demo-inner .panel-right .code-tabs .code-tab{padding:.75rem 1.25rem;font-size:.75rem;font-family:JetBrains Mono,monospace;letter-spacing:.06em;color:#f7f5f04d;background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .2s}.demo-wrap .demo-inner .panel-right .code-tabs .code-tab:hover:not(.active){color:#f7f5f099}.demo-wrap .demo-inner .panel-right .code-tabs .active{color:var(--brown-lt);border-bottom-color:var(--brown-lt)}.demo-wrap .demo-inner .panel-right .code-body{flex:1;padding:1.25rem 1.5rem;overflow:auto;min-height:380px}.demo-wrap .demo-inner .panel-right .code-body .code-line{display:flex;gap:1.25rem;margin-bottom:.1rem}.demo-wrap .demo-inner .panel-right .code-body .code-line .ln{font-family:JetBrains Mono,monospace;font-size:.77rem;color:#f7f5f026;-webkit-user-select:none;user-select:none;min-width:1.5rem;text-align:right;padding-top:.12rem;flex-shrink:0}.demo-wrap .demo-inner .panel-right .code-body .code-line .lc{font-family:JetBrains Mono,monospace;font-size:.77rem;line-height:1.75;white-space:pre-wrap;word-break:break-all;color:#f7f5f0b3}.demo-wrap .demo-inner .panel-right .code-body .code-line .c-c{color:var(--c-comment)}.demo-wrap .demo-inner .panel-right .code-body .code-line .c-k{color:var(--c-kw)}.demo-wrap .demo-inner .panel-right .code-body .code-line .c-s{color:var(--c-str)}.demo-wrap .demo-inner .panel-right .code-body .code-line .c-v{color:var(--c-var)}.demo-wrap .demo-inner .panel-right .code-body .code-line .c-f{color:var(--c-fn)}.demo-wrap .demo-inner .panel-right .code-body .code-line .c-key{color:var(--c-key)}.demo-wrap .demo-inner .panel-right .code-body .code-line .c-n{color:var(--c-num)}.info-section{background:var(--cream);padding:70px 6%}.info-section .info-inner{max-width:1100px;margin:0 auto}.info-section .info-inner .section-eyebrow{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.info-section .info-inner .section-eyebrow .section-eyebrow-line{width:24px;height:1px;background:var(--brown)}.info-section .info-inner .section-eyebrow span{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brown)}.info-section .info-inner .section-title{font-family:Cormorant Garamond,serif;font-size:clamp(1.6rem,2.5vw,2rem);font-weight:500;color:var(--navy);margin-bottom:2.5rem}.info-section .info-inner .info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border)}.info-section .info-inner .info-grid .info-card{background:var(--cream-alt);padding:2rem;transition:background .2s}.info-section .info-inner .info-grid .info-card:hover{background:var(--cream)}.info-section .info-inner .info-grid .info-card .info-icon{width:32px;margin-bottom:.75rem}.info-section .info-inner .info-grid .info-card .info-icon img{width:100%;height:auto}.info-section .info-inner .info-grid .info-card .info-title{font-family:Cormorant Garamond,serif;font-size:1.1rem;font-weight:500;color:var(--navy);margin-bottom:.5rem}.info-section .info-inner .info-grid .info-card .info-desc{font-size:.83rem;color:var(--muted);line-height:1.7}
