:root{--ink:#102f3b;--muted:#607176;--paper:#fbf8ef;--white:#fffef9;--line:#ced8d3;--navy:#123f52;--teal:#14867e;--mint:#ccebe1;--sand:#f2e5c8;--coral:#ee6d4d;--yellow:#f4c64d;--lavender:#d9d5f7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.portfolio-root{position:relative;overflow-x:clip}.ambient{z-index:-1;filter:blur(1px);opacity:.4;border-radius:50%;width:520px;height:520px;position:absolute}.ambient-one{background:var(--yellow);top:150px;right:-350px}.ambient-two{background:var(--lavender);top:1640px;left:-420px}.section-shell{width:min(1180px,100% - 48px);margin-inline:auto}.section-block{border-top:1px solid var(--line);padding-block:112px}.eyebrow{color:var(--teal);letter-spacing:.16em;text-transform:uppercase;margin:0 0 18px;font-size:12px;font-weight:900}.site-header{z-index:30;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#fbf8efe6;border-bottom:1px solid #132a351f;justify-content:space-between;align-items:center;min-height:76px;padding:0 max(24px,50% - 590px);display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;font-size:14px;display:flex}.brand span{aspect-ratio:1;background:var(--navy);color:#fff;letter-spacing:.06em;width:40px;box-shadow:5px 5px 0 var(--mint);border-radius:50%;place-items:center;font-size:12px;display:grid}.site-header nav{align-items:center;gap:24px;display:flex}.site-header nav>a{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:11px;font-weight:800;position:relative}.site-header nav>a:after{content:"";background:var(--coral);height:2px;transition:all .2s;position:absolute;bottom:-7px;left:0;right:0;transform:scaleX(0)}.site-header nav>a:hover:after{transform:scaleX(1)}.edit-button,.menu-button{cursor:pointer;border:0}.edit-button{background:var(--navy);color:#fff;border-radius:999px;align-items:center;gap:7px;padding:11px 15px;font-weight:800;transition:all .2s;display:flex;box-shadow:0 8px 22px #123f522e}.edit-button:hover{background:var(--teal);transform:translateY(-2px)}.menu-button{background:0 0;display:none}.hero{grid-template-columns:1.08fr .92fr;align-items:center;gap:72px;min-height:720px;padding-block:75px 90px;display:grid}.availability{color:#28725f;text-transform:uppercase;background:#eff9f3;border:1px solid #b8d8ce;border-radius:999px;align-items:center;gap:9px;margin-bottom:26px;padding:8px 12px;font-size:11px;font-weight:800;display:inline-flex}.availability span{background:#36a874;border-radius:50%;width:8px;height:8px;animation:1.8s infinite pulse;box-shadow:0 0 0 6px #36a87421}.hero h1{letter-spacing:-.048em;max-width:720px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(54px,6.2vw,88px);font-weight:400;line-height:.96}.hero h1 em{color:var(--teal);font-weight:400;position:relative}.hero h1 em:after{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 15'%3E%3Cpath d='M2 10 C70 2 160 14 298 4' fill='none' stroke='%23ee6d4d' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E") 50%/100% 100% no-repeat;height:10px;position:absolute;bottom:-3px;left:0;right:0}.hero-lead{max-width:660px;color:var(--muted);margin:30px 0 0;font-size:19px;line-height:1.65}.hero-actions{align-items:center;gap:28px;margin-top:35px;display:flex}.primary-button{background:var(--coral);color:#fff;align-items:center;gap:12px;padding:16px 20px;font-weight:900;transition:all .2s;display:inline-flex;box-shadow:7px 7px #f4c64d}.primary-button:hover{transform:translate(-2px,-2px);box-shadow:10px 10px #f4c64d}.primary-button:hover svg{transform:translate(4px)}.primary-button svg{transition:all .2s}.text-button{border-bottom:1px solid var(--ink);padding-bottom:5px;font-weight:900}.hero-meta{color:var(--muted);flex-wrap:wrap;gap:24px;margin-top:42px;font-size:13px;display:flex}.hero-meta span{align-items:center;gap:8px;display:flex}.hero-visual{background:linear-gradient(145deg,var(--mint),#d9eee0 62%,#f2e5c8);border:1px solid #b9d8cf;border-radius:52% 48% 48% 52%/42% 46% 54% 58%;height:540px;position:relative;overflow:hidden;box-shadow:20px 26px #123f5214}.visual-label{z-index:3;letter-spacing:.24em;font-size:10px;font-weight:900;position:absolute;top:44px;left:50%;transform:translate(-50%)}.hero-visual svg{fill:none;stroke:#123f5259;stroke-width:2px;stroke-dasharray:7 8;width:94%;position:absolute;inset:70px 3% auto}.system-node{z-index:3;background:var(--white);text-align:center;border:1px solid #123f5226;border-radius:50%;place-items:center;min-width:112px;min-height:112px;padding:15px;font-family:Georgia,serif;font-size:18px;animation:4.8s ease-in-out infinite float;display:grid;position:absolute;box-shadow:0 18px 45px #123f521c}.node-a{top:79px;left:42px}.node-b{background:var(--navy);color:#fff;animation-delay:-1s;top:102px;right:39px}.node-c{animation-delay:-2s;bottom:74px;right:74px}.node-d{background:var(--sand);animation-delay:-3s;bottom:55px;left:52px}.visual-pulse{background:var(--coral);border-radius:50%;position:absolute;box-shadow:0 0 0 8px #ee6d4d21}.pulse-one{width:12px;height:12px;top:48%;left:47%}.pulse-two{background:var(--yellow);width:8px;height:8px;top:32%;right:30%}.visual-note{background:var(--navy);color:#fff;letter-spacing:.05em;text-align:center;padding:18px;font-size:12px;font-weight:800;position:absolute;bottom:0;left:0;right:0}.hero-portrait{isolation:isolate;background:#e95f5f}.hero-portrait>img{z-index:0;object-fit:cover;object-position:center 38%;transition:transform .6s}.hero-portrait:after{z-index:1;content:"";pointer-events:none;background:linear-gradient(#0000 58%,#0a242eb8 100%);position:absolute;inset:0}.hero-portrait:hover>img{transform:scale(1.025)}.portrait-caption{z-index:2;color:#fff;justify-content:space-between;align-items:flex-end;gap:20px;display:flex;position:absolute;bottom:43px;left:46px;right:46px}.portrait-caption span{font-family:Georgia,Times New Roman,serif;font-size:28px}.portrait-caption small{letter-spacing:.13em;text-transform:uppercase;padding-bottom:4px;font-size:10px;font-weight:900}.section-title{grid-template-columns:58px 1fr;margin-bottom:58px;display:grid}.section-title>span{color:var(--coral);padding-top:6px;font-size:13px;font-weight:900}.section-title p{color:var(--teal);letter-spacing:.14em;text-transform:uppercase;margin:0 0 10px;font-size:12px;font-weight:900}.section-title h2,.about-statement h2,.resume-section h2,.contact-section h2{letter-spacing:-.035em;max-width:820px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(38px,4.7vw,64px);font-weight:400;line-height:1.04}.section-subtitle{max-width:650px;color:var(--muted);margin-top:19px;font-size:15px;line-height:1.65}.featured-project{background:var(--white);border:1px solid var(--line);min-height:520px;box-shadow:15px 15px 0 var(--mint);grid-template-columns:1.25fr .75fr;display:grid}.project-media{background:var(--mint);min-height:270px;position:relative;overflow:hidden}.project-media-large{min-height:520px}.project-media>img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.project-card:hover .project-media>img,.featured-project:hover .project-media>img{transform:scale(1.035)}.project-placeholder{height:100%;min-height:inherit;text-align:center;background:linear-gradient(135deg,var(--mint),#edf5e5 62%,var(--sand));place-content:center;display:grid;position:relative;overflow:hidden}.placeholder-grid{opacity:.32;background-image:linear-gradient(#123f5229 1px,#0000 1px),linear-gradient(90deg,#123f5229 1px,#0000 1px);background-size:38px 38px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000);mask-image:linear-gradient(#000,#0000)}.project-placeholder span{color:var(--navy);text-shadow:5px 5px #ffffffb3;font-family:Georgia,serif;font-size:88px;position:relative}.project-placeholder small{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-top:8px;font-weight:700;position:relative}.media-corner{background:var(--navy);color:#fff;letter-spacing:.05em;text-transform:uppercase;max-width:75%;padding:10px 13px;font-size:10px;font-weight:800;position:absolute;bottom:0;right:0}.featured-copy,.project-card-copy{flex-direction:column;align-items:flex-start;display:flex}.featured-copy{justify-content:center;padding:50px}.project-index{color:var(--coral);letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:900}.featured-copy h3,.project-card h3{margin:16px 0 7px;font-family:Georgia,serif;font-size:33px;font-weight:400}.featured-copy>p:not(.project-category),.project-card-copy>p:not(.project-category){color:var(--muted);line-height:1.65}.project-category{color:var(--teal);margin:0;font-size:13px;font-weight:800}.project-grid{grid-template-columns:repeat(2,1fr);gap:26px;margin-top:42px;display:grid}.project-card{background:var(--white);border:1px solid var(--line);grid-template-rows:280px 1fr;transition:all .25s;display:grid}.project-card:nth-child(2n){margin-top:42px}.project-card:hover{box-shadow:10px 12px 0 var(--sand);transform:translateY(-8px)}.project-card-copy{padding:34px}.tech-list{flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:24px;display:flex}.tech-list span{background:#edf5f1;border:1px solid #d6e7e0;padding:6px 9px;font-size:11px;font-weight:800}.project-links{flex-wrap:wrap;gap:20px;margin-top:25px;display:flex}.project-links a,.project-links button{border:0;border-bottom:1px solid var(--ink);cursor:pointer;background:0 0;align-items:center;gap:6px;padding:0 0 4px;font-size:12px;font-weight:900;display:inline-flex}.project-links button{color:var(--coral);border-color:var(--coral)}.skills-band{background:#eaf3ec}.skills-section{border-color:var(--ink)}.skills-grid{grid-template-columns:repeat(5,1fr);gap:12px;display:grid}.skill-group{border:1px solid #102f3b40;min-height:310px;padding:30px 25px;transition:all .25s;position:relative;overflow:hidden}.skill-group:hover{transform:translateY(-8px)rotate(-1deg);box-shadow:8px 9px #123f5229}.skill-tone-1{background:var(--mint)}.skill-tone-2{background:var(--sand)}.skill-tone-3{background:var(--lavender)}.skill-tone-4{background:#f9d4c9}.skill-tone-5{background:#d7e5fa}.skill-group>span{font-size:11px;font-weight:900}.skill-group h3{margin:24px 0 32px;font-family:Georgia,serif;font-size:27px;font-weight:400}.skill-group ul{color:#425b63;gap:11px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.skill-group li:before{color:var(--coral);content:"+";margin-right:8px;font-weight:900}.contribution-layout{grid-template-columns:360px 1fr;gap:28px;display:grid}.contribution-tabs{align-content:start;display:grid}.contribution-tabs button{border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;grid-template-columns:35px 1fr auto;align-items:center;gap:10px;padding:22px 18px;font-weight:800;transition:all .2s;display:grid}.contribution-tabs button:first-child{border-top:1px solid var(--line)}.contribution-tabs button[aria-selected=true]{background:var(--navy);color:#fff;box-shadow:7px 7px 0 var(--yellow);padding-left:25px}.contribution-tabs button span{color:var(--coral);font-size:11px}.contribution-tabs button svg{transition:all .2s}.contribution-tabs button:hover svg{transform:translate(4px)}.contribution-panel{background:linear-gradient(145deg,#d1ece3,#f7edda);border:1px solid #b9d8cf;min-height:490px;padding:48px;position:relative;overflow:hidden}.contribution-panel:after{content:"";border:45px solid #123f5214;border-radius:50%;width:260px;height:260px;position:absolute;bottom:-90px;right:-70px}.contribution-icon{background:var(--coral);color:#fff;width:66px;height:66px;box-shadow:8px 8px 0 var(--yellow);border-radius:50%;place-items:center;margin:40px 0 25px;display:grid}.contribution-panel h3{max-width:620px;margin:0;font-family:Georgia,serif;font-size:clamp(34px,4vw,55px);font-weight:400;line-height:1.05}.contribution-panel>p{color:#496168;max-width:650px;font-size:16px;line-height:1.7}.capability-flow{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.capability-flow div{text-align:center;background:#ffffffb3;padding:12px 9px;font-size:11px;font-weight:800;position:relative}.capability-flow div:not(:last-child):after{z-index:2;content:"→";color:var(--coral);position:absolute;top:50%;right:-10px;transform:translateY(-50%)}.capability-flow span{color:var(--teal);margin-bottom:4px;font-size:9px;display:block}.contribution-tools{z-index:2;flex-wrap:wrap;gap:9px;margin-top:26px;display:flex;position:relative}.contribution-tools span{background:#ffffffa6;border:1px solid #123f5233;padding:8px 11px;font-size:11px;font-weight:900}.about-band{background:var(--navy);color:#fff}.about-section{border-color:#ffffff38;grid-template-columns:1fr 1fr;gap:100px;display:grid}.about-section .eyebrow{color:#7fd3c6}.about-statement{position:relative}.about-badge{color:#d9ecee;letter-spacing:.12em;border:1px solid #ffffff52;border-radius:999px;gap:11px;margin-top:38px;padding:13px 16px;font-size:11px;font-weight:900;display:inline-flex}.about-badge span{color:var(--coral)}.about-copy>p{color:#c8dade;margin:0 0 21px;font-size:17px;line-height:1.72}.fact-list{border-top:1px solid #ffffff3d;margin-top:38px;display:grid}.fact-list span{border-bottom:1px solid #ffffff3d;grid-template-columns:130px 1fr;gap:20px;padding:17px 0;font-size:14px;display:grid}.fact-list strong{color:#7fd3c6}.resume-section{display:block}.resume-intro{grid-template-columns:1fr 430px;align-items:center;gap:100px;display:grid}.resume-intro>div>p:last-child{max-width:650px;color:var(--muted);line-height:1.7}.resume-card{background:var(--sand);min-height:160px;box-shadow:10px 10px 0 var(--coral);border:1px solid #dccfb5;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:30px;transition:all .25s;display:grid}.resume-card:hover{box-shadow:14px 14px 0 var(--coral);transform:translate(-3px,-3px)}.resume-card span{gap:7px;display:grid}.resume-card small{color:var(--muted)}.resume-preview{background:var(--white);border:1px solid var(--line);box-shadow:14px 14px 0 var(--mint);margin-top:70px;padding:16px}.resume-preview iframe{background:#eef2ef;border:0;width:100%;height:920px;display:block}.resume-preview p{color:var(--muted);margin:13px 5px 2px;font-size:12px}.resume-preview a{color:var(--teal);font-weight:900;text-decoration:underline}.contact-section{color:#fff;background:#0d3343;position:relative;overflow:hidden}.contact-section:before{content:"";border:80px solid #ccebe114;border-radius:50%;width:420px;height:420px;position:absolute;top:-120px;right:-120px}.contact-inner{grid-template-columns:1fr .7fr;gap:90px;padding-block:105px;display:grid;position:relative}.contact-section .eyebrow{color:#7bd3c6}.contact-intro{color:#bcd0d5;max-width:580px;font-size:16px;line-height:1.7}.contact-actions{flex-direction:column;justify-content:center;gap:20px;display:flex}.contact-actions>a{border-bottom:1px solid #ffffff40;justify-content:space-between;align-items:center;gap:10px;padding-bottom:13px;transition:all .2s;display:flex}.contact-actions>a:hover{color:#7bd3c6;padding-left:8px}.email-link{justify-content:flex-start!important}.email-link span{color:#c9dbdf;gap:5px;font-size:12px;display:grid}.email-link strong{color:#fff;font-size:14px}.site-footer{color:var(--muted);justify-content:space-between;padding-block:30px;font-size:12px;display:flex}.case-backdrop,.editor-backdrop{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#071b23d1;position:fixed;inset:0}.case-backdrop{padding:30px;overflow-y:auto}.case-study{background:var(--paper);width:min(1180px,100%);margin:auto;box-shadow:0 30px 100px #0006}.case-header{z-index:5;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fbf8eff0;justify-content:space-between;align-items:center;padding:24px 32px;display:flex;position:sticky;top:0}.case-header p,.case-kicker{color:var(--teal);letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:10px;font-weight:900}.case-header h2{margin:5px 0 0;font-family:Georgia,serif;font-size:32px;font-weight:400}.case-header button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:50%;place-items:center;width:43px;height:43px;display:grid}.case-hero{grid-template-columns:1.35fr .65fr;min-height:520px;display:grid}.case-cover{background:#f3f7f5;place-items:center;min-height:520px;display:grid}.case-cover>img{object-fit:contain;width:100%;height:100%}.project-media img[src*="/projects/poseidon/"]{object-fit:contain;background:#f3f7f5}.case-cover-placeholder{text-align:center;background:linear-gradient(145deg,var(--mint),var(--sand));place-content:center;height:100%;display:grid}.case-cover-placeholder span{font-family:Georgia,serif;font-size:110px}.case-cover-placeholder small{color:var(--muted)}.case-summary{background:var(--navy);color:#fff;flex-direction:column;justify-content:center;align-items:flex-start;padding:48px;display:flex}.case-summary>span{color:#7fd3c6;text-transform:uppercase;font-size:11px;font-weight:900}.case-summary h3{margin:18px 0;font-family:Georgia,serif;font-size:34px;font-weight:400}.case-summary>p{color:#cadcdf;line-height:1.7}.case-summary .tech-list span{color:#fff;background:#ffffff14;border-color:#ffffff40}.case-overview{background:var(--white);padding:82px 90px 60px}.case-overview h3,.case-body h3,.case-delivery h3,.case-gallery h3{margin:16px 0 20px;font-family:Georgia,serif;font-size:39px;font-weight:400}.case-overview>p:last-child{max-width:880px;color:var(--muted);font-size:18px;line-height:1.8}.case-body{background:var(--white);grid-template-columns:1fr 1fr;gap:70px;padding:60px 90px 85px;display:grid}.case-body section{border-top:1px solid var(--line);padding-top:28px}.case-body section>p:last-child{color:var(--muted);font-size:16px;line-height:1.75}.case-delivery{background:var(--sand);grid-template-columns:.9fr 1.1fr;gap:75px;padding:80px 90px;display:grid}.case-delivery ul{gap:14px;margin:25px 0 0;padding:0;list-style:none;display:grid}.case-delivery li{border-bottom:1px solid #102f3b29;grid-template-columns:auto 1fr;gap:10px;padding-bottom:14px;line-height:1.5;display:grid}.case-delivery li svg{color:var(--teal)}.feature-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.feature-grid div{background:#ffffff9e;border:1px solid #102f3b1f;min-height:90px;padding:18px;font-weight:800;line-height:1.4}.feature-grid span{color:var(--coral);margin-bottom:11px;font-size:10px;display:block}.case-gallery{background:#eaf3ec;padding:75px 90px}.gallery-heading{justify-content:space-between;align-items:flex-end;gap:25px;display:flex}.gallery-heading>span{color:var(--muted);text-transform:uppercase;padding-bottom:24px;font-size:11px;font-weight:800}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:20px;margin-top:35px;display:grid}.gallery-grid figure{border:1px solid var(--line);background:#fff;margin:0;overflow:hidden;box-shadow:0 12px 30px #123f5214}.gallery-image-button{cursor:zoom-in;background:#f4f7f5;border:0;width:100%;padding:0;display:block;position:relative}.gallery-grid img{aspect-ratio:16/9;object-fit:contain;width:100%;height:auto;transition:all .4s}.gallery-grid figure:hover img{transform:scale(1.02)}.gallery-expand{color:#fff;opacity:0;background:#123f52e6;border-radius:50%;place-items:center;width:38px;height:38px;transition:all .2s;display:grid;position:absolute;top:14px;right:14px;transform:translateY(-5px)}.gallery-grid figure:hover .gallery-expand{opacity:1;transform:none}.gallery-grid figcaption{color:var(--ink);align-items:center;gap:12px;padding:15px 17px;font-size:12px;font-weight:900;display:flex}.gallery-grid figcaption span{color:var(--coral);font-size:10px}.empty-gallery{text-align:center;min-height:260px;color:var(--muted);background:#ffffff73;border:2px dashed #aabdb6;place-content:center;margin-top:35px;display:grid}.empty-gallery svg{color:var(--teal);margin:auto}.empty-gallery p{color:var(--ink);margin-bottom:5px;font-weight:800}.case-footer{background:var(--white);border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:30px 90px;display:flex}.case-footer button{background:var(--navy);color:#fff;cursor:pointer;border:0;padding:12px 18px;font-weight:900}.case-footer>div{gap:20px;display:flex}.case-footer a{border-bottom:1px solid var(--ink);align-items:center;gap:7px;font-size:12px;font-weight:900;display:flex}.image-lightbox{z-index:120;background:#051117f5;grid-template-columns:70px minmax(0,1fr) 70px;align-items:center;padding:28px;display:grid;position:fixed;inset:0}.image-lightbox figure{text-align:center;margin:0}.image-lightbox img{object-fit:contain;max-width:100%;max-height:calc(100vh - 110px);margin:auto;box-shadow:0 20px 70px #00000073}.image-lightbox figcaption{color:#fff;justify-content:center;gap:14px;margin-top:14px;font-size:13px;display:flex}.image-lightbox figcaption span{color:#7fd3c6;font-weight:900}.image-lightbox button{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff47;border-radius:50%;place-items:center;width:48px;height:48px;display:grid}.lightbox-close{position:absolute;top:24px;right:28px}.lightbox-previous{grid-column:1}.image-lightbox figure{grid-column:2}.lightbox-next{grid-column:3}.project-page{min-height:100vh;color:var(--ink);background:#e7efeb;overflow-x:clip}.project-site-header{width:100%}.project-case-study{width:min(1180px,100% - 48px);margin:46px auto 90px;box-shadow:0 24px 70px #123f5229}.project-titlebar{background:var(--paper);border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:30px;padding:34px 38px;display:flex}.project-titlebar>a{border-bottom:1px solid var(--ink);align-items:center;gap:8px;padding-bottom:5px;font-size:12px;font-weight:900;display:flex}.project-titlebar p{color:var(--teal);letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:10px;font-weight:900}.project-titlebar h1{margin:6px 0 0;font-family:Georgia,serif;font-size:42px;font-weight:400}.case-summary h2{margin:18px 0;font-family:Georgia,serif;font-size:34px;font-weight:400}.back-projects-button{background:var(--navy);color:#fff;border:0!important;padding:12px 18px!important}.project-loading{background:var(--paper);text-align:center;place-content:center;gap:16px;min-height:100vh;display:grid}.project-loading h1{font-family:Georgia,serif;font-weight:400}.project-loading a{color:var(--teal);font-weight:900}.image-lightbox{z-index:1000;overscroll-behavior:contain;overflow:hidden}.editor-backdrop{place-items:center;padding:24px;display:grid}.editor-panel{background:var(--white);width:min(1100px,100%);max-height:calc(100vh - 48px);overflow:hidden;box-shadow:0 25px 80px #00000040}.editor-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:24px 28px;display:flex}.editor-header p{color:var(--teal);text-transform:uppercase;margin:0;font-size:11px;font-weight:900}.editor-header h2{margin:4px 0 0;font-family:Georgia,serif;font-size:28px;font-weight:400}.editor-header button{cursor:pointer;background:0 0;border:0}.editor-layout{grid-template-columns:240px 1fr;max-height:calc(100vh - 145px);display:grid}.editor-list{border-right:1px solid var(--line);background:#eef1ec;padding:20px;overflow-y:auto}.editor-list button{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;gap:5px;width:100%;margin-bottom:8px;padding:12px;display:grid}.editor-list button.active{border-color:var(--line);box-shadow:4px 4px 0 var(--mint);background:#fff}.editor-list small{color:var(--muted)}.editor-list .new-project{background:var(--navy);color:#fff;align-items:center;gap:8px;margin-bottom:20px;display:flex}.editor-content{padding:28px;overflow-y:auto}.editor-form{gap:18px;display:grid}.editor-form h3{margin:0 0 5px}.editor-form label{color:var(--muted);gap:7px;font-size:12px;font-weight:800;display:grid}.editor-form input,.editor-form textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;outline:none;padding:12px 13px}.editor-form input:focus,.editor-form textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #14867e17}.editor-form textarea{resize:vertical;min-height:95px}.editor-form .details-area{min-height:135px}.field-grid{grid-template-columns:1fr 1fr;gap:15px;display:grid}.gallery-editor{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding-top:8px;display:flex}.gallery-editor p{color:var(--muted);margin:5px 0 0;font-size:12px}.upload-button,.save-button,.delete-button,.link-entry button{cursor:pointer;border:0;justify-content:center;align-items:center;gap:8px;padding:11px 14px;font-weight:900;display:inline-flex}.upload-button{background:var(--sand);flex:none;color:var(--ink)!important}.editor-gallery{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.editor-gallery>div{background:#edf3ef;height:105px;position:relative;overflow:hidden}.editor-gallery img{object-fit:cover;width:100%;height:100%}.editor-gallery span{background:var(--coral);color:#fff;padding:4px 6px;font-size:9px;font-weight:900;position:absolute;bottom:5px;left:5px}.editor-gallery button{cursor:pointer;background:#ffffffe6;border:0;border-radius:50%;place-items:center;width:25px;height:25px;display:grid;position:absolute;top:5px;right:5px}.form-actions{gap:10px;display:flex}.save-button{background:var(--teal);color:#fff}.delete-button{color:#8e3827;background:#f5dfda}.link-form{border-top:1px solid var(--line);margin-top:35px;padding-top:28px}.link-entry{grid-template-columns:150px 1fr auto;gap:10px;display:grid}.link-entry button{background:var(--navy);color:#fff}.saved-links{flex-wrap:wrap;gap:8px;display:flex}.saved-links span{background:#edf3ef;align-items:center;gap:7px;padding:7px 10px;font-size:12px;display:flex}.saved-links button{cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.editor-message{color:var(--teal);align-items:center;gap:8px;font-size:13px;display:flex}.editor-help{color:var(--muted);font-size:12px;line-height:1.55}.admin-login-backdrop{z-index:110}.admin-login-card{background:var(--white);width:min(440px,100%);box-shadow:14px 14px 0 var(--mint);gap:18px;padding:40px;display:grid;position:relative}.admin-login-card h2{margin:0;font-family:Georgia,serif;font-size:34px;font-weight:400}.admin-login-card>p:not(.eyebrow){color:var(--muted);margin:0;line-height:1.6}.admin-login-card label{color:var(--muted);gap:8px;font-size:12px;font-weight:900;display:grid}.admin-login-card input{border:1px solid var(--line);outline:none;width:100%;padding:13px}.admin-login-card input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #14867e17}.admin-login-card .save-button{width:100%}.admin-login-close{cursor:pointer;background:0 0;border:0;place-items:center;width:38px;height:38px;display:grid;position:absolute;top:18px;right:18px}.admin-login-error{color:#8e3827;background:#f5dfda;padding:11px;font-size:12px;font-weight:800}@keyframes pulse{50%{box-shadow:0 0 0 10px #36a87400}}@keyframes float{50%{transform:translateY(-8px)}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (max-width:1000px){.skills-grid{grid-template-columns:repeat(3,1fr)}.contribution-layout{grid-template-columns:290px 1fr}}@media (max-width:900px){.site-header nav{background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:18px 24px 24px;display:none;position:absolute;top:76px;left:0;right:0}.site-header nav.nav-open{display:flex}.site-header nav>a{padding:13px 0}.menu-button{place-items:center;display:grid}.hero{grid-template-columns:1fr;gap:55px}.hero-visual{height:490px}.featured-project,.about-section,.contact-inner,.case-hero,.case-body{grid-template-columns:1fr}.project-media-large,.case-cover{min-height:400px}.contribution-layout{grid-template-columns:1fr}.contribution-tabs{grid-template-columns:repeat(2,1fr)}.contribution-tabs button:first-child{border-top:0}.about-section,.contact-inner,.case-body{gap:45px}.resume-intro{grid-template-columns:1fr;gap:45px}.resume-card{max-width:520px}.resume-preview iframe{height:760px}.case-body,.case-gallery{padding:60px 45px}.case-summary{padding:45px}.case-footer{padding-inline:45px}.project-titlebar{flex-direction:column-reverse;align-items:flex-start}}@media (max-width:650px){.section-shell{width:min(100% - 30px,1180px)}.section-block{padding-block:78px}.brand strong{display:none}.hero{min-height:auto;padding-block:65px 75px}.hero h1{font-size:48px}.hero-lead{font-size:16px}.hero-actions{flex-direction:column;align-items:flex-start}.hero-visual{height:400px;box-shadow:10px 14px #123f5214}.system-node{min-width:88px;min-height:88px;font-size:15px}.node-a{left:20px}.node-b{right:20px}.node-c{right:30px}.node-d{left:25px}.section-title{grid-template-columns:35px 1fr}.featured-copy{padding:32px 25px}.project-grid,.skills-grid{grid-template-columns:1fr}.project-card{grid-template-rows:230px 1fr}.project-card:nth-child(2n){margin-top:0}.featured-project{box-shadow:8px 8px 0 var(--mint)}.contribution-tabs{grid-template-columns:1fr}.contribution-panel{padding:30px 22px}.capability-flow{grid-template-columns:repeat(2,1fr)}.capability-flow div:nth-child(2):after{display:none}.about-section{gap:45px}.fact-list span{grid-template-columns:1fr;gap:7px}.site-footer{flex-direction:column;gap:15px}.resume-preview{box-shadow:8px 8px 0 var(--mint);margin-top:45px;padding:8px}.resume-preview iframe{height:600px}.project-case-study{width:100%;margin:0}.project-titlebar{padding:28px 22px}.project-titlebar h1{font-size:34px}.case-study{min-height:100vh}.case-cover{min-height:300px}.case-summary,.case-body,.case-gallery{padding:38px 22px}.case-body h3,.case-gallery h3{font-size:32px}.gallery-grid{grid-template-columns:1fr}.gallery-grid img{height:260px}.case-footer{flex-direction:column;align-items:flex-start;gap:22px;padding:25px 22px}.case-footer>div{flex-wrap:wrap}.editor-backdrop{padding:0}.editor-panel,.editor-layout{max-height:100vh}.editor-layout{display:block;overflow-y:auto}.editor-list{border-right:0;border-bottom:1px solid var(--line);max-height:180px}.editor-content{overflow:visible}.field-grid,.link-entry{grid-template-columns:1fr}.gallery-editor{flex-direction:column;align-items:flex-start}.editor-gallery{grid-template-columns:repeat(2,1fr)}}@media (max-width:900px){.case-overview,.case-body,.case-delivery,.case-gallery{padding:58px 45px}.case-delivery{grid-template-columns:1fr;gap:55px}.case-hero{grid-template-columns:1fr}.case-cover{min-height:auto}.case-cover>img{height:auto}.gallery-heading{flex-direction:column;align-items:flex-start}.gallery-heading>span{padding-bottom:0}.image-lightbox{grid-template-columns:54px minmax(0,1fr) 54px;padding:18px}.image-lightbox button{width:42px;height:42px}}.project-media img[src*="/projects/agriflow/"],.project-media img[src*="/projects/biyahe-bulacan/"],.project-media img[src*="/projects/artisti-community/"]{object-fit:contain;background:#f3f7f5}.case-agriflow .case-cover,.case-artisti-community .case-cover{height:620px;min-height:620px;overflow:hidden}.case-agriflow .case-cover>img,.case-artisti-community .case-cover>img{object-fit:contain;justify-self:center;max-width:100%;width:auto!important;height:620px!important}.case-agriflow .gallery-grid,.case-artisti-community .gallery-grid{grid-template-columns:repeat(3,1fr)}.case-agriflow .gallery-grid img,.case-artisti-community .gallery-grid img{aspect-ratio:9/16;background:#f3f7f5}@media (max-width:900px){.case-agriflow .gallery-grid,.case-artisti-community .gallery-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:650px){.case-agriflow .gallery-grid,.case-artisti-community .gallery-grid{grid-template-columns:1fr}.case-overview,.case-body,.case-delivery,.case-gallery{padding:40px 22px}.case-overview h3,.case-body h3,.case-delivery h3,.case-gallery h3{font-size:32px}.feature-grid{grid-template-columns:1fr}.gallery-grid img{height:auto}.gallery-expand{opacity:1;transform:none}.image-lightbox{grid-template-columns:1fr;padding:14px}.image-lightbox figure{grid-column:1}.lightbox-previous,.lightbox-next{z-index:2;position:absolute;bottom:25px}.lightbox-previous{left:20px}.lightbox-next{right:20px}.lightbox-close{top:18px;right:18px}.image-lightbox figcaption{padding:0 60px}.case-summary{padding:38px 22px}}
