:root{--bg:#f2eeef;--sky-top:#d8edfd;--sky-mid:#c8e5fb;--sky-bottom:#eaf5fe;--sky-progress:0;--surface:#f8f5f5;--text:#7a6b62;--surface-strong:#efe8e8;--demo-green:#6da97d;--demo-blue:#6c8fca;--demo-gold:#c4a04a}*{box-sizing:border-box}html,body,#root{min-height:100%;color:var(--text);margin:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}html{scroll-behavior:smooth}body{background:var(--bg);isolation:isolate;min-height:100vh;line-height:1.45;position:relative;overflow-x:hidden}.page-slider{width:200vw;transition:transform .98s cubic-bezier(.22,.7,.2,1);display:flex}.page-slider.is-demo-open{transform:translate(-100vw)}.page-panel{background-color:#0000;flex:0 0 100vw;width:100vw;min-height:100vh}body:before{content:"";pointer-events:none;z-index:0;opacity:var(--sky-progress);background:linear-gradient(180deg, var(--sky-top) 0%, var(--sky-mid) 48%, var(--sky-bottom) 100%);position:fixed;inset:0}.site-shell{z-index:1;max-width:920px;margin:0 auto;padding:1.25rem 1.25rem 2rem;animation:.52s ease-out both pageFadeIn;position:relative}.top-nav{opacity:0;justify-content:center;gap:1rem;padding:.5rem 0 1.25rem;animation:.54s cubic-bezier(.2,.8,.2,1) .12s forwards navReveal;display:flex;transform:translateY(-10px)}.top-nav a{color:var(--text);border-bottom:2px solid #0000;padding-bottom:.25rem;text-decoration:none;transition:border-color .18s,transform .18s}.top-nav a:hover{border-color:var(--text);transform:translateY(-1px)}.nav-divider{background:var(--text);opacity:.3;align-self:center;width:1px;height:1.1em}.nav-icon{opacity:.7;align-items:center;display:flex;border-bottom:none!important;padding-bottom:0!important;transition:opacity .18s,transform .18s!important}.nav-icon:hover{opacity:1;border-color:#0000!important}main{gap:.85rem;display:grid}.section-card{background:var(--surface);border:2px solid var(--text);opacity:0;border-radius:14px;padding:1.2rem;animation:.62s cubic-bezier(.2,.8,.2,1) forwards sectionRise;transform:translateY(14px);box-shadow:0 10px 20px #7a6b6214}main .section-card:first-of-type{animation-delay:.18s}main .section-card:nth-of-type(2){animation-delay:.28s}main .section-card:nth-of-type(3){animation-delay:.38s}main .section-card:nth-of-type(4){animation-delay:.48s}.hero{text-align:center;z-index:2;padding:1.4rem 1.2rem;position:relative;overflow:hidden}.hero picture,.hero .brand-mark,.hero h1,.hero p,.hero .hero-actions{opacity:0;animation:.64s cubic-bezier(.2,.8,.2,1) forwards heroItemIn;transform:translateY(10px)}.hero picture{width:fit-content;margin:0 auto;animation-delay:.3s;display:block}.hero .brand-mark{animation-delay:.39s}.hero h1{animation-delay:.47s}.hero p{animation-duration:1.4s;animation-delay:1.98s}.hero .hero-actions{animation-delay:.64s}.hero-logo{filter:drop-shadow(0 10px 16px #7a6b6233);width:min(320px,78vw);height:auto;margin:0 auto .25rem;animation:1.65s cubic-bezier(.11,.78,.24,1) .32s both logoSlideIn;display:block}.brand-mark{letter-spacing:.12em;margin:0;font-size:.8rem;font-weight:700}.hero h1{margin:.5rem 0 .35rem;font-size:clamp(1.6rem,4vw,2.3rem)}.hero p{max-width:620px;margin:0 auto}.hero-actions{flex-wrap:wrap;justify-content:center;gap:.65rem;margin-top:.95rem;display:flex}.hero-actions .button-ghost:hover,.hero-actions .button-ghost:focus-visible,.hero-actions .button-solid:hover,.hero-actions .button-solid:focus-visible{background-color:var(--surface-strong)}.button-solid,.button-ghost{border:2px solid var(--text);color:var(--text);font-weight:600;font:inherit;cursor:pointer;border-radius:999px;padding:.45rem .9rem;text-decoration:none;transition:transform .18s,box-shadow .18s,background-color .18s}.button-solid{background:var(--surface-strong)}.button-ghost{background:0 0}.button-solid:hover,.button-ghost:hover{transform:translateY(-2px);box-shadow:0 8px 14px #7a6b6233}h2{margin:0 0 .4rem}.section-intro{margin:0 0 .85rem}.demo-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;display:grid}.demo-card{border:1px solid var(--text);background:linear-gradient(170deg,#f8f5f5 0%,#f2eeef 100%);border-radius:12px;gap:.6rem;padding:1rem;transition:transform .18s,box-shadow .18s;display:grid}.demo-card:hover{transform:translateY(-4px);box-shadow:0 12px 20px #7a6b6226}.demo-card h3,.demo-card p{margin:0}.demo-card span{opacity:.85;font-size:.9rem}.demo-card a,.demo-card .demo-link,.link-list a{color:var(--text);border:1px solid var(--text);width:fit-content;font:inherit;cursor:pointer;border-radius:8px;padding:.35rem .6rem;text-decoration:none;transition:transform .18s,background-color .18s}.demo-card a:hover,.demo-card .demo-link:hover,.link-list a:hover{background-color:var(--surface-strong);transform:translateY(-1px)}.demo-detail-page{background:0 0;place-items:center;min-height:100vh;padding:1.5rem;display:grid;position:relative}.demo-back-button{border:2px solid var(--text);background:var(--surface);width:2.25rem;height:2.25rem;color:var(--text);font:inherit;cursor:pointer;z-index:3;opacity:1;border-radius:999px;place-items:center;padding:0;font-size:1.2rem;line-height:0;transition:opacity .18s,transform .18s,box-shadow .18s,background-color .18s;display:grid;position:fixed;top:1rem;left:1rem}.demo-back-glyph{display:block;transform:translateY(-1px)}.demo-back-button.is-hiding{opacity:0;pointer-events:none}.demo-back-button:hover,.demo-back-button:focus-visible{background-color:var(--surface-strong);transform:translateY(-1px);box-shadow:0 8px 14px #7a6b6233}.demo-detail-shell{background:var(--surface);border:2px solid var(--text);border-radius:16px;gap:.65rem;width:min(720px,100%);padding:1.35rem;display:grid;box-shadow:0 14px 26px #7a6b6229}.demo-detail-shell h2,.demo-detail-shell p{margin:0}.demo-detail-stack{opacity:.85}.demo-coming-soon{border:1px dashed var(--text);background:color-mix(in srgb, var(--surface-strong) 70%, white);border-radius:8px;margin:0;padding:.45rem .65rem}.contact-section{margin-bottom:1.2rem}.contact-reveal{--shelf-overlap:12px;--contact-open-height:420px;max-height:0;margin-top:calc(var(--shelf-overlap) * -1);padding-top:var(--shelf-overlap);z-index:1;transition:max-height 1.05s cubic-bezier(.16,.78,.22,1);position:relative;overflow:hidden}.contact-reveal.is-revealed{max-height:calc(var(--contact-open-height) + var(--shelf-overlap))}.contact-inline{opacity:1;width:calc(100% - 20px);margin:0 auto .85rem;padding:1rem 1.2rem 1.15rem;transition:transform 1.05s cubic-bezier(.16,.78,.22,1);animation:none;transform:translateY(-112%)}.contact-reveal.is-revealed .contact-inline{transform:translateY(0)}.contact-inline h2,.contact-inline .section-intro,.contact-inline .link-list a{opacity:1;transition:none;transform:none}.link-list{flex-wrap:wrap;gap:.5rem;display:flex}.contact-form{flex-direction:column;gap:.6rem;display:flex;position:relative}.contact-textarea{resize:none;border:1.5px solid var(--text);width:100%;font:inherit;color:var(--text);background:var(--bg);border-radius:10px;outline:none;padding:.55rem .75rem;font-size:.9rem;line-height:1.5;transition:border-color .18s}.contact-textarea:focus{border-color:var(--text);box-shadow:0 0 0 3px #7a6b621f}.contact-submit-wrap{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .34s cubic-bezier(.16,.78,.22,1),opacity .26s;display:grid}.contact-submit-wrap>*{overflow:hidden}.contact-submit-wrap.is-visible{opacity:1;grid-template-rows:1fr}.contact-email-row{align-items:center;gap:.5rem;padding-top:.1rem;display:flex}.contact-email-input{border:1.5px solid var(--text);font:inherit;color:var(--text);background:var(--bg);border-radius:10px;outline:none;flex:1;padding:.45rem .75rem;font-size:.9rem;transition:border-color .18s,box-shadow .18s}.contact-email-input:focus{box-shadow:0 0 0 3px #7a6b621f}.contact-email-input.has-error{border-color:#b94a48;box-shadow:0 0 0 3px #b94a481f}.contact-email-error{color:#b94a48;margin:.3rem 0 0;font-size:.8rem}.contact-form-fields{opacity:1;flex-direction:column;gap:.6rem;transition:opacity .4s;display:flex}.contact-form-fields.is-submitted{opacity:0;pointer-events:none}.contact-confirmation{opacity:0;pointer-events:none;justify-content:center;align-items:center;font-size:.95rem;font-weight:600;transition:opacity .4s .2s;display:flex;position:absolute;inset:0}.contact-confirmation.is-visible{opacity:1}.about-section{overflow:hidden}.about-content{grid-template-columns:120px 1fr;align-items:start;gap:.9rem;display:grid}.about-content p{margin:0}.about-avatar-wrap{opacity:0;transform:scale(.9)translateY(14px)}.about-avatar-wrap.is-visible{animation:.54s cubic-bezier(.34,1.56,.64,1) forwards avatarPopIn}.about-avatar{aspect-ratio:1;object-fit:cover;border:2px solid var(--text);background:var(--surface-strong);border-radius:16px;width:100%;max-width:120px;display:block;box-shadow:0 10px 18px #7a6b6229}@keyframes pageFadeIn{0%{opacity:0}to{opacity:1}}@keyframes navReveal{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes sectionRise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes heroItemIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes logoSlideIn{0%{opacity:0;transform:translate(min(85vw,760px))}to{opacity:1;transform:translate(0)}}@keyframes avatarPopIn{0%{opacity:0;transform:scale(.9)translateY(14px)}to{opacity:1;transform:scale(1)translateY(0)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.about-avatar-wrap{opacity:1;transform:none}}@media (width<=600px){.site-shell{padding:1rem}.top-nav{flex-wrap:wrap;justify-content:center}.section-card{padding:1rem}.about-content{grid-template-columns:1fr}.about-avatar-wrap{max-width:120px;margin:0 auto}}
