:root{--bg:#f7faf8;--surface:#fff;--surface-muted:#eef4f1;--text:#101614;--text-muted:#52615b;--line:#dbe5e1;--accent:#0f8f83;--accent-strong:#08645c;--accent-soft:#d9f4ef;--coral:#ef6f61;--coral-soft:#ffe4df;--lime:#b7d968;--blue:#4f7cff;--rose:#d94d7b;--shadow:0 18px 60px #1016141f;--radius:8px;--nav-height:76px}:root[data-theme=dark]{--bg:#101614;--surface:#17211e;--surface-muted:#1d2a26;--text:#f4faf7;--text-muted:#acbbb5;--line:#30413b;--accent:#59c3b6;--accent-strong:#90e3d7;--accent-soft:#193733;--coral:#ff8a7b;--coral-soft:#422520;--lime:#cbea78;--blue:#7c9dff;--rose:#f47da2;--shadow:0 20px 70px #00000059}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-height) + 24px)}body{background:var(--bg);min-height:100vh;color:var(--text);letter-spacing:0;text-rendering:optimizelegibility;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}::selection{background:var(--accent);color:var(--bg)}.site-shell{background:linear-gradient(180deg, #59c3b614, transparent 22rem), var(--bg);min-height:100vh;overflow-x:clip}.container{width:min(1160px,100% - 40px);margin:0 auto}.scroll-progress{z-index:80;transform-origin:0;background:linear-gradient(90deg, var(--accent), var(--coral), var(--lime));width:100%;height:3px;position:fixed;top:0;left:0}.site-nav{z-index:70;border:1px solid color-mix(in srgb, var(--line), transparent 18%);border-radius:var(--radius);background:color-mix(in srgb, var(--surface), transparent 12%);width:min(1160px,100% - 32px);min-height:60px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);justify-content:space-between;align-items:center;gap:18px;padding:10px 12px;display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%)}.brand-mark{border-radius:var(--radius);background:var(--text);width:42px;height:42px;color:var(--bg);justify-content:center;align-items:center;font-size:.83rem;font-weight:900;display:inline-flex}.desktop-nav{align-items:center;gap:4px;display:flex}.desktop-nav a{border-radius:var(--radius);min-height:38px;color:var(--text-muted);align-items:center;padding:0 12px;font-size:.92rem;font-weight:700;transition:color .18s,background .18s;display:inline-flex}.desktop-nav a:hover,.desktop-nav a:focus-visible{background:var(--surface-muted);color:var(--text)}.nav-actions,.hero-actions,.contact-actions{align-items:center;gap:10px;display:flex}.icon-button,.icon-link{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:42px;height:42px;color:var(--text);flex:none;justify-content:center;align-items:center;transition:transform .18s,border-color .18s,background .18s;display:inline-flex}.icon-button:hover,.icon-link:hover,.icon-button:focus-visible,.icon-link:focus-visible{border-color:var(--accent);background:var(--accent-soft);transform:translateY(-2px)}.nav-cta,.button{border-radius:var(--radius);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:9px;min-height:42px;padding:0 15px;font-size:.94rem;font-weight:800;transition:transform .18s,box-shadow .18s,background .18s,border-color .18s;display:inline-flex}.nav-cta,.button.primary{background:var(--text);color:var(--bg)}.button.secondary{background:var(--surface);color:var(--text);border-color:var(--line)}.nav-cta:hover,.button:hover,.nav-cta:focus-visible,.button:focus-visible{transform:translateY(-2px);box-shadow:0 16px 34px #10161429}.menu-button{display:none}.mobile-panel{z-index:65;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);display:none;position:fixed;top:88px;left:16px;right:16px;overflow:hidden}.mobile-panel a{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:54px;padding:0 16px;font-weight:800;display:flex}.mobile-panel a:last-child{border-bottom:0}.hero-section{isolation:isolate;align-items:center;min-height:92svh;padding:124px 0 44px;display:flex;position:relative;overflow:hidden}.hero-section:before{content:"";z-index:-3;background:linear-gradient(90deg, var(--bg) 0%, color-mix(in srgb, var(--bg), transparent 10%) 45%, transparent 100%), linear-gradient(135deg, #59c3b642, #ef6f611f 42%, #b7d96833);position:absolute;inset:0}.hero-media{z-index:-2;position:absolute;inset:0;overflow:hidden}.hero-portrait{object-fit:contain;filter:drop-shadow(0 30px 48px #10161433);width:min(44vw,560px);min-width:360px;max-height:86svh;position:absolute;bottom:0;right:max(20px,50vw - 580px)}.hero-texture{z-index:-1;background-image:linear-gradient(color-mix(in srgb, var(--line), transparent 45%) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--line), transparent 45%) 1px, transparent 1px);opacity:.34;background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#000,#0000 72%);mask-image:linear-gradient(90deg,#000,#0000 72%)}.hero-content{align-items:end;gap:36px;display:grid}.hero-copy{max-width:740px}.eyebrow{min-height:32px;color:var(--accent-strong);text-transform:uppercase;align-items:center;gap:8px;margin:0 0 18px;font-size:.86rem;font-weight:900;display:inline-flex}.hero-copy h1{max-width:760px;margin:0;font-size:5.2rem;font-weight:900;line-height:.95}.hero-copy h1 span{color:var(--text-muted);margin-top:14px;font-size:2rem;font-weight:800;line-height:1.15;display:block}.hero-summary{max-width:660px;color:var(--text-muted);margin:24px 0 0;font-size:1.15rem;line-height:1.8}.hero-actions{flex-wrap:wrap;margin-top:30px}.hero-signal{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:min(760px,100%);display:grid}.signal-item{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--surface), transparent 8%);min-height:74px;color:var(--text-muted);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);align-items:center;gap:10px;padding:14px;font-size:.9rem;font-weight:750;display:flex}.signal-item svg{color:var(--accent-strong);flex:none}.stats-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);padding:18px 0}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.stat-tile{border-radius:var(--radius);background:var(--surface-muted);gap:6px;padding:18px 16px;display:grid}.stat-tile strong{font-size:2rem;line-height:1}.stat-tile span{color:var(--text-muted);font-size:.9rem;font-weight:700;line-height:1.4}.section{padding:104px 0}.muted-section{background:var(--surface-muted)}.section-header{text-align:center;max-width:780px;margin:0 auto 44px}.section-header.align-left{text-align:left;margin-left:0}.section-header h2,.contact-layout h2{margin:0;font-size:3rem;font-weight:900;line-height:1.08}.section-header p,.contact-layout p{color:var(--text-muted);margin:18px 0 0;font-size:1.06rem;line-height:1.75}.service-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.service-card,.skill-panel,.timeline-item,.project-card,.schema-panel,.process-card,.faq-item{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:0 10px 36px #10161412}.service-card{flex-direction:column;min-height:250px;padding:24px;display:flex}.card-number{color:var(--accent-strong);font-size:.86rem;font-weight:900}.service-card h3,.skill-panel h3,.process-card h3{margin:18px 0 10px;font-size:1.14rem;line-height:1.25}.service-card p,.skill-panel p,.process-card p,.project-card p,.timeline-item p{color:var(--text-muted);margin:0;line-height:1.65}.skill-layout{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:14px;display:grid}.skill-panel{padding:22px}.skill-icon{border-radius:var(--radius);background:var(--accent-soft);width:44px;height:44px;color:var(--accent-strong);justify-content:center;align-items:center;display:inline-flex}.tag-cloud{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.tag-cloud span{border:1px solid var(--line);border-radius:var(--radius);min-height:28px;color:var(--text-muted);background:color-mix(in srgb, var(--surface), var(--surface-muted) 45%);align-items:center;padding:0 10px;font-size:.82rem;font-weight:800;display:inline-flex}.tag-cloud.compact{gap:6px;margin-top:12px}.tag-cloud.compact span{min-height:24px;font-size:.76rem}.two-column{grid-template-columns:minmax(260px,.82fr) minmax(0,1.18fr);align-items:start;gap:48px;display:grid}.timeline-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.timeline-block h3{align-items:center;gap:9px;margin:0 0 16px;font-size:1.1rem;display:flex}.timeline-list{gap:12px;display:grid}.timeline-item{padding:20px;position:relative}.timeline-item:before{content:"";background:var(--accent);border-radius:999px;width:3px;height:34px;position:absolute;top:22px;left:-1px}.timeline-item time{color:var(--accent-strong);font-size:.78rem;font-weight:900}.timeline-item h4{margin:8px 0 5px;font-size:1.03rem}.timeline-item .meta{margin-bottom:10px;font-size:.86rem;font-weight:800}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.project-card{overflow:hidden}.project-visual{background:linear-gradient(135deg, #ffffffd1, #fff3), var(--accent-soft);justify-content:space-between;align-items:center;gap:16px;min-height:156px;padding:22px;display:flex}:root[data-theme=dark] .project-visual{background:linear-gradient(135deg, #ffffff14, #ffffff05), var(--surface-muted)}.project-card[data-tone=coral] .project-visual{background-color:var(--coral-soft)}.project-card[data-tone=ink] .project-visual{background-color:color-mix(in srgb, var(--text), transparent 88%)}.project-card[data-tone=lime] .project-visual{background-color:color-mix(in srgb, var(--lime), transparent 62%)}.project-card[data-tone=blue] .project-visual{background-color:color-mix(in srgb, var(--blue), transparent 72%)}.project-card[data-tone=rose] .project-visual{background-color:color-mix(in srgb, var(--rose), transparent 74%)}.project-visual span{border-radius:var(--radius);background:var(--text);width:74px;height:74px;color:var(--bg);justify-content:center;align-items:center;font-size:1.3rem;font-weight:950;display:inline-flex}.visual-lines{gap:10px;width:min(180px,50%);display:grid}.visual-lines i{border-radius:var(--radius);background:color-mix(in srgb, var(--text), transparent 72%);height:12px}.visual-lines i:nth-child(2){width:76%}.visual-lines i:nth-child(3){width:48%}.project-body{padding:22px}.project-topline{min-height:28px;color:var(--accent-strong);text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:7px;font-size:.76rem;font-weight:900;display:flex}.status-pill{border-radius:var(--radius);background:var(--coral-soft);min-height:22px;color:var(--coral);text-transform:none;align-items:center;gap:4px;padding:0 8px;display:inline-flex}.status-pill.private{background:var(--surface-muted);color:var(--text-muted)}.project-card h3{margin:10px 0;font-size:1.28rem;line-height:1.2}.project-result{color:var(--text-muted);gap:8px;margin-top:18px;font-size:.9rem;line-height:1.5;display:flex}.project-result svg{color:var(--accent-strong);flex:none;margin-top:2px}.text-link{width:fit-content;color:var(--text);align-items:center;gap:7px;margin-top:18px;font-weight:900;display:inline-flex}.text-link:hover,.text-link:focus-visible{color:var(--accent-strong)}.text-link.muted{color:var(--text-muted)}.center-action{justify-content:center;margin-top:34px;display:flex}.rotate-icon{transform:rotate(-90deg)}.seo-section{background:linear-gradient(135deg, color-mix(in srgb, var(--accent-soft), transparent 25%), transparent 52%), var(--surface)}.seo-layout{grid-template-columns:minmax(0,.92fr) minmax(320px,.76fr);align-items:center;gap:42px;display:grid}.seo-checklist{gap:10px;margin-top:28px;display:grid}.seo-check{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--surface), transparent 8%);min-height:46px;color:var(--text-muted);align-items:center;gap:10px;padding:12px 14px;font-weight:800;display:flex}.seo-check svg{color:var(--accent-strong);flex:none}.schema-panel{color:#e8fff9;background:#101614;overflow:hidden}.schema-toolbar{border-bottom:1px solid #ffffff1f;align-items:center;gap:8px;height:42px;padding:0 14px;display:flex}.schema-toolbar span{background:#ef6f61;border-radius:999px;width:10px;height:10px}.schema-toolbar span:nth-child(2){background:#f1c45f}.schema-toolbar span:nth-child(3){background:#59c3b6}.schema-panel pre{color:#ccebe5;margin:0;padding:24px;font-size:.92rem;line-height:1.7;overflow-x:auto}.process-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.process-card{min-height:210px;padding:22px}.process-card span{color:var(--accent-strong);font-weight:950}.faq-layout{grid-template-columns:minmax(260px,.72fr) minmax(0,1fr);align-items:start;gap:54px;display:grid}.faq-list{gap:12px;display:grid}.faq-item{padding:0;overflow:hidden}.faq-item summary{cursor:pointer;justify-content:space-between;align-items:center;gap:18px;min-height:64px;padding:0 18px;font-weight:900;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary svg{flex:none;transition:transform .18s}.faq-item[open] summary svg{transform:rotate(90deg)}.faq-item p{color:var(--text-muted);margin:0;padding:0 18px 18px;line-height:1.7}.contact-section{background:var(--text);color:var(--bg);padding:96px 0}.contact-section .eyebrow,.contact-section p{color:color-mix(in srgb, var(--bg), transparent 28%)}.contact-layout{grid-template-columns:minmax(0,.94fr) auto;align-items:center;gap:44px;display:grid}.contact-layout h2{max-width:720px}.contact-layout p{max-width:690px}.contact-actions{flex-direction:column;align-items:stretch;width:min(280px,100%)}.contact-actions .button{width:100%}.contact-actions .button.primary{background:var(--bg);color:var(--text)}.contact-actions .button.secondary{color:var(--bg);border-color:color-mix(in srgb, var(--bg), transparent 68%);background:0 0}.site-footer{background:var(--text);color:color-mix(in srgb, var(--bg), transparent 25%);padding:24px 0 34px}.footer-layout{border-top:1px solid color-mix(in srgb, var(--bg), transparent 82%);justify-content:space-between;gap:18px;padding-top:24px;font-size:.92rem;display:flex}.footer-layout p{margin:0}.footer-layout p:first-child{color:var(--bg);font-weight:900}@media (max-width:1040px){.desktop-nav,.nav-cta{display:none}.menu-button,.mobile-panel{display:inline-flex}.mobile-panel{display:block}.hero-copy h1{font-size:4.1rem}.hero-copy h1 span{font-size:1.65rem}.hero-portrait{opacity:.54;right:-60px}.service-grid,.skill-layout,.process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-column,.seo-layout,.faq-layout,.contact-layout{grid-template-columns:1fr}.timeline-columns,.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-actions{flex-flow:wrap;width:100%;max-width:420px}.contact-actions .button{width:auto}}@media (max-width:760px){.container{width:min(100% - 28px,1160px)}.site-nav{width:calc(100% - 20px);top:10px}.hero-section{min-height:auto;padding-top:110px}.hero-section:before{background:linear-gradient(180deg, var(--bg) 0%, color-mix(in srgb, var(--bg), transparent 4%) 56%, transparent 100%), linear-gradient(145deg, #59c3b638, #ef6f611f 55%, #b7d96826)}.hero-portrait{opacity:.28;width:320px;min-width:300px;top:82px;bottom:auto;right:-86px}.hero-copy h1{font-size:3rem;line-height:1}.hero-copy h1 span{font-size:1.32rem;line-height:1.2}.hero-summary,.section-header p,.contact-layout p{font-size:1rem}.hero-actions,.nav-actions{gap:8px}.hero-actions .button{width:100%}.hero-actions .icon-link{width:calc(50% - 4px)}.hero-signal,.stats-grid,.service-grid,.skill-layout,.timeline-columns,.project-grid,.process-grid{grid-template-columns:1fr}.signal-item{min-height:58px}.section{padding:74px 0}.section-header{text-align:left;margin-bottom:30px}.section-header h2,.contact-layout h2{font-size:2.15rem;line-height:1.12}.service-card,.skill-panel,.timeline-item,.process-card{min-height:auto}.project-visual{min-height:132px}.schema-panel pre{font-size:.8rem}.contact-section{padding:74px 0}.contact-actions{max-width:none}.contact-actions .button{width:100%}.footer-layout{flex-direction:column}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
