@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#f8f7f4;--ink:#152522;--muted:#667570;--line:#d9dfd9;--accent:#caef64;--forest:#183c34;--display:'Manrope',sans-serif;--sans:'DM Sans',sans-serif;--serif:Georgia,serif;color-scheme:light;scroll-behavior:smooth}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:400 15px/1.65 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{color:inherit}.site-header{position:absolute;z-index:10;top:0;left:0;width:100%;height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,7.2vw,112px);border-bottom:1px solid #ffffff29;color:#fff}.brand{display:flex;align-items:center;gap:11px}.brand-mark{width:39px;height:39px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:var(--forest);font:800 11px var(--display);letter-spacing:-.05em}.brand-name{font:700 15px/1.15 var(--display)}.brand-name small{display:block;margin-top:4px;color:#aab8b2;font:700 8px var(--sans);letter-spacing:.16em}.site-nav{display:flex;align-items:center;gap:35px}.site-nav>a{font-size:12px;font-weight:600;transition:color .2s}.site-nav>a:hover{color:var(--accent)}.site-nav>a span{margin-left:4px;color:#a9b5af;font-size:9px}.site-nav .nav-cta{padding:11px 18px;border:1px solid #ffffff54;border-radius:30px}.nav-cta b{margin-left:15px;color:var(--accent)}.menu-toggle{display:none}
.hero{position:relative;min-height:710px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:5%;padding:135px clamp(24px,10vw,155px) 100px;overflow:hidden;background:var(--forest);color:#fff}.hero:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 82% 46%,#316354 0,transparent 43%),linear-gradient(125deg,transparent 58%,#102c25 58%);pointer-events:none}.hero-content,.hero-art{position:relative;z-index:1}.eyebrow{margin:0 0 23px;color:#8e9b96;font:700 9px/1.5 var(--sans);letter-spacing:.16em}.hero-eyebrow{color:#d2ddd7}.status-dot{display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px #caef6425}.hero-eyebrow i{margin:0 8px;color:#789088;font-style:normal}.hero h1{max-width:680px;margin:0;font:700 clamp(58px,7.2vw,102px)/.99 var(--display);letter-spacing:-.075em}.hero h1 em{color:var(--accent);font-style:normal}.hero-lede{max-width:520px;margin:26px 0 0;color:#c1ceca;font-size:16px;line-height:1.8}.hero-lede strong{color:white}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:31px}.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:0 19px;border:1px solid transparent;border-radius:30px;font-size:11px;font-weight:700;transition:transform .25s,background .25s,color .25s,box-shadow .25s;cursor:pointer}.button:hover{transform:translateY(-3px);box-shadow:0 12px 28px #0003}.button span{font-size:16px}.button-lime{background:var(--accent);color:#183c34}.button-lime:hover{background:#daf791}.button-outline{border-color:#ffffff55;color:#fff}.button-outline:hover{background:#ffffff12}.hero-foot{display:flex;flex-wrap:wrap;gap:24px;margin-top:48px;color:#9db0a8;font-size:9px;font-weight:700;letter-spacing:.12em}.hero-art{min-height:480px;display:flex;align-items:center;justify-content:center}.hero-shape{position:absolute}.shape-a{width:min(34vw,390px);height:min(34vw,390px);right:2%;top:9%;border-radius:49% 51% 63% 37%/43% 43% 57% 57%;background:var(--accent);animation:shape-pulse 9s ease-in-out infinite}.shape-b{width:110px;height:110px;left:2%;bottom:5%;border:1px solid #ffffff6b;border-radius:50%;animation:orbit 22s linear infinite}.portrait-card{position:relative;z-index:1;width:min(73%,340px);height:430px;overflow:hidden;border:7px solid #ffffff1b;border-radius:170px 170px 14px 14px;background:#285247;box-shadow:0 28px 80px #071a15a3;animation:hero-enter .9s .08s both cubic-bezier(.2,.75,.25,1)}.portrait-card img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 30%}.portrait-card.empty{display:grid;place-items:center;background:linear-gradient(145deg,#dff28b,#b1d97e 45%,#477865)}.portrait-card.empty .slot-label{display:grid;color:#1a3e33;font:700 14px var(--display)}.portrait-card.empty .slot-label small{color:#416653}.portrait-card.empty img{display:none}.hero-note{position:absolute;z-index:2;display:flex;align-items:center;gap:10px;padding:12px 15px;border:1px solid #ffffff45;border-radius:12px;background:#f8f7f1;color:var(--ink);box-shadow:0 14px 35px #071a1555;font-size:11px;line-height:1.5}.note-degree{top:69px;left:0;transform:rotate(-4deg)}.note-human{right:-3%;bottom:48px;transform:rotate(3deg)}.note-icon{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:#e6f2c8;color:#466126;font-size:18px}.note-human .note-icon{background:#e6f2c8}.hero-note b{font-weight:700}.hero-index{position:absolute;top:8px;right:0;color:#b2c0ba;font-size:10px;font-weight:700;letter-spacing:.1em}.hero-index i{color:var(--accent);font-style:normal}.scroll-cue{position:absolute;bottom:26px;left:clamp(25px,10vw,155px);display:flex;align-items:center;gap:10px;color:#a9bab3;font-size:8px;letter-spacing:.15em;font-weight:700}.scroll-cue span{width:25px;height:1px;background:var(--accent)}
.expertise-strip{overflow:hidden;padding:16px 0;background:var(--accent);color:#203c31}.expertise-track{display:flex;align-items:center;gap:28px;width:max-content;min-width:max-content;margin:auto;font-size:9px;font-weight:800;letter-spacing:.15em;animation:marquee 32s linear infinite}.expertise-track i{color:#698442;font-size:17px;font-style:normal}.section-wrap{padding-right:clamp(24px,10vw,155px);padding-left:clamp(24px,10vw,155px)}.work{padding-top:112px;padding-bottom:126px;background:var(--paper)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:45px}.section-heading .eyebrow,.about .eyebrow{display:flex;align-items:center;gap:11px}.section-number{width:27px;height:27px;display:inline-grid;place-items:center;border:1px solid #bcc7c0;border-radius:50%;color:#47715e;font-size:9px;letter-spacing:0}.heading-year{margin-left:6px;color:#969f99;font-size:9px}.section-heading h2,.about-heading h2{margin:0;font:700 clamp(46px,6vw,78px)/1.03 var(--display);letter-spacing:-.075em}.section-heading h2 em,.about-heading h2 em{color:#638d44;font-style:normal}.heading-note{max-width:340px;margin:0 0 4px;color:var(--muted);font-size:13px;line-height:1.85}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 25px}.project-card{display:block;width:100%;padding:0;border:0;background:transparent;text-align:left;cursor:pointer;animation:card-in .7s both;animation-delay:calc(var(--card-index,0)*90ms)}.project-card:nth-child(2){--card-index:1}.project-card:nth-child(3){--card-index:2}.project-card:nth-child(4){--card-index:3}.project-card:nth-child(5){--card-index:4}.project-card:nth-child(6){--card-index:5}.card-art{position:relative;display:flex;width:100%;height:365px;align-items:center;justify-content:center;gap:clamp(15px,2.5vw,32px);padding:23px;overflow:hidden;border:1px solid #1728220b;border-radius:20px;background:#e5e9da;transition:transform .4s,box-shadow .4s}.card-art:after{content:'';position:absolute;width:250px;height:250px;right:-85px;top:-110px;border:1px solid #183c3422;border-radius:50%;box-shadow:0 0 0 24px #183c3405,0 0 0 49px #183c3405;pointer-events:none}.project-card:hover .card-art{transform:translateY(-5px);box-shadow:0 25px 50px #173c3018}.lavender .card-art{background:#e1e3f2}.peach .card-art{background:#f2e2d9}.orange .card-art{background:#f4e4cc}.blue .card-art{background:#dce9e8}.pink .card-art{background:#f0e2e6}.green .card-art{background:#e3ead7}.cover-slot{position:relative;z-index:1;display:block;flex:0 0 auto;width:fit-content;max-width:44%;height:auto;margin:0;overflow:visible;background:transparent}.cover-slot img{position:static;display:block;width:auto;height:auto;max-width:100%;max-height:310px;margin:0;object-fit:contain;filter:drop-shadow(0 15px 14px #17282222);transition:transform .5s}.project-card:hover .cover-slot img{transform:translateY(-4px) rotate(-1deg)}.cover-slot.empty{width:44%;height:310px;flex:0 0 44%;overflow:hidden;border-radius:13px;background:#d6dbcc}.image-slot.empty img{display:none}.slot-label{display:none;position:absolute;inset:0;place-content:center;padding:14px;text-align:center;color:#62716a;font-size:12px;line-height:1.6}.slot-label small{font-size:9px;overflow-wrap:anywhere;color:#89938d}.image-slot.empty .slot-label{display:grid}.card-story{position:relative;z-index:1;display:flex;flex:1;min-width:0;flex-direction:column;align-items:flex-start;justify-content:center;gap:14px;text-align:left}.card-story>small{color:#687a71;font:700 9px/1.4 var(--sans);letter-spacing:.14em}.card-story>b{max-width:15ch;color:#19352c;font:800 clamp(20px,2vw,27px)/1.16 var(--display);letter-spacing:-.055em}.card-highlights{display:grid;gap:7px}.card-highlights i{color:#52665c;font:500 11px/1.5 var(--sans);font-style:normal}.card-highlights i:before{content:"";display:inline-block;width:5px;height:5px;margin-right:8px;border-top:1px solid #668c43;border-right:1px solid #668c43;transform:rotate(45deg);vertical-align:2px}.card-story>em{margin-top:2px;padding:0 0 7px;border-bottom:1px solid #183c3466;color:#17382e;font:700 10px/1 var(--sans);font-style:normal}.card-story>em span{padding-left:12px;color:#628842}.card-info{display:grid;grid-template-columns:1fr auto;align-items:center;padding:14px 3px 0}.card-info small{display:block;margin-bottom:5px;color:#798780;font-size:9px;font-weight:700;letter-spacing:.12em}.card-info b{font:800 23px var(--display);letter-spacing:-.06em}.card-arrow{grid-column:2;grid-row:1/3;color:#4b7858;font-size:19px;transition:transform .2s}.project-card:hover .card-arrow{transform:translate(4px,-4px)}.card-info em{grid-column:1;padding-top:3px;color:#718078;font-size:12px;font-style:normal}
.about{position:relative;display:grid;grid-template-columns:.9fr 1.1fr;gap:10%;padding-top:112px;padding-bottom:120px;overflow:hidden;background:#e9eee8}.about:after{content:'F';position:absolute;right:-10px;bottom:-185px;color:#dfe7dc;font:800 470px/.8 var(--display);pointer-events:none}.about-heading,.about-copy{position:relative;z-index:1}.about-stamp{width:112px;height:112px;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:34px;border-radius:50%;background:var(--accent);color:#24462f;font-size:9px;font-weight:800;line-height:1.4;letter-spacing:.08em;transform:rotate(-9deg)}.about-stamp b{font-size:22px}.about-copy{max-width:600px;padding-top:30px}.about-copy p{margin:0 0 17px;color:#5e7067;font-size:14px;line-height:1.9}.about-copy .about-lead{margin-bottom:21px;color:#213a30;font:600 20px/1.55 var(--display);letter-spacing:-.025em}.skill-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:27px}.skill-list span{padding:8px 12px;border:1px solid #c5d0c6;border-radius:30px;background:#f7f8f4;color:#344a3e;font-size:10px;font-weight:700}.inline-link{display:inline-flex;align-items:center;gap:23px;margin-top:29px;padding-bottom:8px;border-bottom:1px solid #99a79d;color:#203c31;font-size:12px;font-weight:700}.inline-link span{color:#648a43;font-size:16px}
.approach{padding-top:110px;padding-bottom:125px;background:#183c34;color:#fff}.approach .section-heading .eyebrow{color:#b1c3ba}.approach .section-number{border-color:#ffffff50;color:var(--accent)}.approach .section-heading h2 em{color:var(--accent)}.approach .heading-note{color:#bdc9c3}.approach-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #ffffff35;border-bottom:1px solid #ffffff35}.approach-grid article{position:relative;min-height:225px;padding:22px 20px 25px 0;border-right:1px solid #ffffff35}.approach-grid article+article{padding-left:20px}.approach-grid article:last-child{border-right:0}.approach-index{width:31px;height:31px;display:inline-grid;place-items:center;border-radius:50%;background:#ffffff16;color:var(--accent);font-size:10px;font-weight:700}.approach-symbol{float:right;color:var(--accent);font-size:22px}.approach-grid h3{margin:40px 0 9px;font:700 20px var(--display);letter-spacing:-.04em}.approach-grid p{max-width:220px;margin:0;color:#c0cdc6;font-size:12px;line-height:1.8}
.contact{padding:105px clamp(24px,10vw,155px);background:#d9ecb2;color:#19372d}.contact .eyebrow{color:#546d4f}.contact .section-number{border-color:#93ad77;color:#33563d}.contact-inner{display:grid;grid-template-columns:1fr .78fr;align-items:center;gap:10%}.contact h2{margin:0;font:800 clamp(53px,6.5vw,84px)/.98 var(--display);letter-spacing:-.08em}.contact h2 em{color:#6d9650;font-style:normal}.contact-copy>p:not(.eyebrow){max-width:430px;margin:23px 0;color:#526c57;font-size:14px;line-height:1.8}.contact-email{display:inline-block;margin-top:9px;padding-bottom:7px;border-bottom:1px solid #8da675;font:700 20px var(--display);letter-spacing:-.03em}.contact-email span{padding-left:17px}.contact-meta{display:flex;flex-direction:column;gap:8px;margin-top:26px;color:#566e58;font-size:11px}.contact-meta a{font-weight:700;color:#19372d}.contact-form{padding:28px 30px 24px;border:1px solid #19372d18;border-radius:17px;background:#fbfcf8;color:#19372d;box-shadow:0 22px 60px #3d61301e}.form-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 14px;font:800 20px var(--display);letter-spacing:-.04em}.form-heading span{color:#668e4b;font-size:22px}.contact-form label{display:block;margin:15px 0 6px;color:#586c60;font-size:10px;font-weight:700}.contact-form input,.contact-form textarea{display:block;width:100%;padding:10px 0;border:0;border-bottom:1px solid #d9e0d7;border-radius:0;outline:none;resize:vertical;background:transparent;color:#19372d;font-size:13px}.contact-form input:focus,.contact-form textarea:focus{border-color:#71934f}.contact-form textarea{min-height:78px}.contact-form .button{margin-top:18px}.form-note{margin:12px 0 0;color:#78847b;font-size:10px;line-height:1.6}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px clamp(22px,7vw,110px);background:#102f28;color:#b8c8bf;font-size:10px}.site-footer .brand-name{color:#fff}.site-footer .brand-name small{color:#a8b8af}.site-footer .brand-mark{background:var(--accent);color:#19372d}.site-footer>a:not(.brand){font-weight:700}
.project-dialog{position:fixed;width:min(1080px,94vw);max-width:none;height:min(92vh,1000px);max-height:none;margin:auto;padding:0;overflow:auto;border:1px solid #dbe4dc;border-radius:18px;background:var(--paper);color:var(--ink);box-shadow:0 30px 110px #081c1680}.project-dialog::backdrop{background:#102d26d9;backdrop-filter:blur(8px)}.dialog-close{position:sticky;top:13px;z-index:5;float:right;width:42px;height:42px;margin:13px 13px -55px 0;border:0;border-radius:50%;background:var(--accent);color:#19372d;font-size:23px;cursor:pointer;transition:transform .25s}.dialog-close:hover{transform:rotate(90deg)}.case-hero{padding:67px clamp(27px,5.3vw,76px) 42px;background:#e9eee8!important}.case-hero h2{margin:0;font:800 clamp(48px,7vw,83px)/.98 var(--display);letter-spacing:-.08em}.case-hero h2 em{color:#648a43;font:700  .62em/1.2 var(--display);font-style:normal}.case-hero>p:not(.eyebrow){max-width:720px;color:#61736a;font-size:14px;line-height:1.8}.case-role{display:inline-block;margin-top:10px;color:#738179;font-size:10px}.case-body{padding:43px clamp(27px,5.3vw,76px) 58px}.case-overview{display:grid;grid-template-columns:.8fr 1.2fr;gap:9%;padding:25px 0;border-bottom:1px solid var(--line)}.case-overview h3{max-width:380px;margin:0;font:800 30px/1.12 var(--display);letter-spacing:-.06em}.case-overview>p,.case-note>p:last-child{margin:0;color:#65766d;font-size:13px;line-height:1.85}.case-columns{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding:31px 0}.flow-list{padding:0;margin:0;list-style:none}.flow-list li{padding:10px 0;border-bottom:1px solid var(--line);font-size:12px}.flow-list li span{margin-right:15px;color:#668a48;font-size:10px;font-weight:700}.case-note{padding:21px;border-radius:12px;background:#e9eee8}.case-note .eyebrow{margin-bottom:10px}.gallery-head{margin:26px 0 20px}.gallery-head .eyebrow{margin-bottom:9px}.gallery-head h3{margin:0;font:800 clamp(27px,3vw,36px) var(--display);letter-spacing:-.05em}.screen-group{margin:34px 0 45px}.screen-group>header{margin:0 0 17px;padding:15px 0 0;border-top:1px solid var(--line)}.screen-group>header .eyebrow{margin:0 0 5px;color:var(--ink);font-size:13px;letter-spacing:.02em}.screen-group>header>p:last-child{max-width:650px;margin:0;color:#737f78;font-size:13px;line-height:1.7}.screen-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px}.screen-card{min-width:0;margin:0;padding:15px;border:1px solid #e0e6df;border-radius:12px;background:#fff;box-shadow:0 6px 20px #173c3009}.screen-card figcaption{display:flex;align-items:center;gap:11px;min-height:37px;padding:0 0 10px}.screen-card figcaption>span{width:25px;height:25px;display:grid;place-items:center;flex:0 0 25px;border-radius:50%;background:#e7efd9;color:#4a7040;font-size:9px;font-weight:700}.screen-card figcaption b{font-size:14px;font-weight:700;line-height:1.35}.screen-slot{position:relative;display:block;width:fit-content;max-width:100%;height:auto;max-height:420px;margin:0 auto;overflow:visible;background:transparent}.screen-slot img{position:static;display:block;width:auto;height:auto;max-width:100%;max-height:420px;margin:0 auto;object-fit:contain}.screen-description{max-width:58ch;margin:12px 0 7px;color:#69776f;font-size:12px;line-height:1.7}.upload-path{display:inline-block;max-width:100%;padding:4px 7px;border-radius:5px;background:#eff2ec;color:#66746c;font:10px/1.5 var(--sans);overflow-wrap:anywhere}.screen-slot.empty{width:100%;height:260px;overflow:hidden;border-radius:8px;background:linear-gradient(145deg,#e9eee8,#dfe6dc)}.screen-slot.empty .slot-label{display:grid}.case-contact{margin-top:10px}.button-dark{background:#183c34;color:white}.button-dark:hover{background:#28584b}
.reveal-on-scroll{opacity:0;transform:translateY(22px);transition:opacity .7s ease var(--reveal-delay,0ms),transform .7s cubic-bezier(.2,.75,.25,1) var(--reveal-delay,0ms)}.reveal-on-scroll.is-visible{opacity:1;transform:translateY(0)}@keyframes hero-enter{from{opacity:0;transform:translateY(22px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes shape-pulse{0%,100%{transform:scale(1);border-radius:49% 51% 63% 37%/43% 43% 57% 57%}50%{transform:scale(1.055);border-radius:40% 60% 58% 42%/53% 40% 60% 47%}}@keyframes card-in{from{opacity:0;transform:translateY(17px)}to{opacity:1;transform:translateY(0)}}@keyframes marquee{to{transform:translateX(-50%)}}
@media(max-width:900px){.hero{grid-template-columns:1fr 1fr;padding-left:6vw;padding-right:6vw;gap:2%}.hero h1{font-size:clamp(55px,7.7vw,82px)}.hero-art{min-height:420px}.shape-a{width:330px;height:330px}.portrait-card{width:min(77%,300px);height:370px}.note-human{right:0}.section-wrap{padding-left:6vw;padding-right:6vw}.contact{padding-left:6vw;padding-right:6vw}.contact-inner{gap:6%}.card-art{height:330px;padding:16px;gap:14px}.cover-slot img{max-height:285px}.cover-slot.empty{height:285px}}
@media(max-width:700px){.site-header{height:68px;padding:0 20px}.menu-toggle{display:flex;width:42px;height:42px;flex-direction:column;justify-content:center;gap:6px;padding:10px;border:1px solid #ffffff50;border-radius:50%;background:transparent;cursor:pointer}.menu-toggle span{display:block;width:20px;height:2px;background:#fff}.site-nav{display:none;position:absolute;top:67px;left:0;right:0;z-index:4;align-items:stretch;gap:0;padding:8px 20px 19px;border-bottom:1px solid var(--line);background:var(--paper);color:var(--ink);box-shadow:0 15px 25px #17181b12}.site-nav.nav-open{display:flex;flex-direction:column}.site-nav>a{padding:14px 4px;border-bottom:1px solid #e4e8e2}.site-nav .nav-cta{margin-top:12px;padding:13px 16px;border:1px solid #cad4cb}.hero{min-height:0;grid-template-columns:1fr;gap:10px;padding:105px 24px 68px}.hero h1{font-size:clamp(57px,12.8vw,83px)}.hero-lede{font-size:15px}.hero-foot{flex-direction:column;gap:9px;margin-top:29px}.hero-art{min-height:365px;margin-top:5px}.shape-a{width:min(78vw,330px);height:min(78vw,330px);right:7%;top:3%}.shape-b{width:75px;height:75px;bottom:8%}.portrait-card{width:min(70%,275px);height:315px}.note-degree{top:39px;left:0}.note-human{right:0;bottom:27px}.hero-index{right:1%;top:0}.scroll-cue{left:24px;bottom:18px}.expertise-strip{padding:13px 0}.expertise-track{gap:18px;font-size:8px;animation-duration:23s}.section-wrap{padding-right:23px;padding-left:23px}.work,.approach{padding-top:79px;padding-bottom:85px}.section-heading{align-items:flex-start;flex-direction:column;gap:16px;margin-bottom:29px}.section-heading h2,.about-heading h2{font-size:clamp(43px,10vw,63px)}.heading-note{font-size:13px}.project-grid{grid-template-columns:1fr;gap:30px}.card-art{height:330px;padding:15px;gap:13px}.cover-slot{max-width:43%}.cover-slot img{max-height:284px}.cover-slot.empty{width:43%;height:284px;flex-basis:43%}.card-story{gap:10px}.card-story>b{font-size:20px}.card-highlights i{font-size:10px}.about{grid-template-columns:1fr;gap:6px;padding:78px 23px 83px}.about-copy{padding-top:10px}.about-copy .about-lead{font-size:18px}.about-copy p{font-size:13px}.about-stamp{width:90px;height:90px;margin-top:23px;font-size:8px}.about:after{font-size:300px;bottom:-110px}.approach-grid{grid-template-columns:1fr 1fr}.approach-grid article,.approach-grid article+article{min-height:205px;padding:17px 12px 20px 0;border-right:0;border-bottom:1px solid #ffffff2b}.approach-grid article:nth-child(even){padding-left:14px;border-left:1px solid #ffffff2b}.approach-grid article:nth-last-child(-n+2){border-bottom:0}.approach-grid h3{margin-top:25px;font-size:17px}.approach-grid p{font-size:11px}.contact{padding:72px 23px}.contact-inner{grid-template-columns:1fr;gap:31px}.contact h2{font-size:clamp(49px,11vw,69px)}.contact-form{padding:23px 21px}.site-footer{flex-wrap:wrap;padding:21px 20px;gap:14px}.site-footer>span{order:3;width:100%}.site-footer>small{margin-left:auto}.project-dialog{width:96vw;height:94vh;border-radius:13px}.case-hero{padding:52px 22px 29px}.case-hero h2{font-size:clamp(43px,10vw,62px)}.case-body{padding:30px 22px 46px}.case-overview,.case-columns{grid-template-columns:1fr;gap:18px}.case-overview h3{font-size:24px}.screen-gallery{grid-template-columns:1fr;gap:12px}.screen-card{padding:12px}.screen-slot,.screen-slot img{max-height:400px}.screen-group{margin:28px 0 38px}}
@media(max-width:430px){.hero-actions{align-items:flex-start;flex-direction:column}.hero-actions .button{width:min(100%,290px)}.hero-art{min-height:335px}.portrait-card{height:290px}.hero-note{padding:10px 11px;font-size:10px}.card-art{height:300px;padding:12px;gap:9px}.card-story{gap:8px}.card-story>b{font-size:17px}.card-highlights i{font-size:9px}.card-story>small{font-size:8px}.card-info small{font-size:8px}.contact-meta{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal-on-scroll{opacity:1;transform:none}}

/* Interior pages */
.site-header{position:relative;background:var(--forest)}.site-nav a[aria-current="page"]{color:var(--accent)}.page-hero{padding:88px clamp(24px,10vw,155px) 80px;background:linear-gradient(135deg,#eef1e9,#f8f7f4 70%);border-bottom:1px solid #e3e8df}.page-hero .eyebrow{color:#64806f}.page-hero h1{margin:0;color:#19372d;font:800 clamp(48px,7vw,84px)/1.02 var(--display);letter-spacing:-.075em}.page-hero h1 em{color:#6b914b;font-style:normal}.page-hero>p:last-child{max-width:620px;margin:23px 0 0;color:#63746a;font-size:16px;line-height:1.8}.home-intro{padding-top:85px;padding-bottom:100px}.home-intro h2{margin:0;font:800 clamp(42px,6vw,70px)/1.04 var(--display);letter-spacing:-.07em}.home-intro h2 em{color:#678d47;font-style:normal}.home-intro>.heading-note{max-width:570px;margin-top:20px}.home-links{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:38px}.home-links a{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:13px;font-weight:700;transition:transform .2s,box-shadow .2s}.home-links a:hover{transform:translateY(-3px);box-shadow:0 12px 30px #173c3010}.home-links b{color:#6a904a}.about{padding-top:90px;padding-bottom:100px}.about-callout{padding:80px clamp(24px,10vw,155px);background:#e4eed9}.about-callout .eyebrow{color:#617852}.about-callout h2,.education h2,.toolkit h2{margin:0;font:800 clamp(40px,5vw,62px)/1.04 var(--display);letter-spacing:-.07em}.about-callout h2 em,.education h2 em,.toolkit h2 em{color:#70934e;font-style:normal}.about-callout>p:not(.eyebrow){max-width:560px;margin:18px 0 27px;color:#5e7061;line-height:1.8}.button-dark{background:#183c34;color:#fff}.button-dark:hover{background:#28584b}.services{padding-top:88px;padding-bottom:100px}.services .section-heading{align-items:end}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.service-grid article,.education-card{padding:24px;border:1px solid #e1e6df;border-radius:15px;background:#fff;transition:transform .25s,box-shadow .25s}.service-grid article:hover,.education-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px #173c3010}.service-icon{width:43px;height:43px;display:grid;place-items:center;margin-bottom:22px;border-radius:50%;background:#eaf1df;color:#4e7344;font:700 17px var(--display)}.service-grid .eyebrow{margin:0 0 8px;color:#71816f;font-size:8px}.service-grid h3,.education-card h3{margin:0;color:#1d392f;font:750 19px/1.3 var(--display);letter-spacing:-.035em}.service-grid article>p:not(.eyebrow),.education-card p{min-height:78px;color:#68776e;font-size:12px;line-height:1.75}.service-grid article>a{display:inline-flex;gap:12px;margin-top:7px;color:#3f6746;font-size:11px;font-weight:700}.service-grid article>a b{color:#a77d10}.toolkit{padding:78px 0 84px;background:#183c34;color:#fff}.toolkit .eyebrow{color:#b7c8bc}.toolkit h2{color:#fff}.toolkit h2 em{color:var(--accent)}.toolkit .heading-note{color:#bdc9c2}.tool-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:30px 0 8px}.tool-grid>div{min-height:155px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px 12px;border:1px solid #ffffff24;border-radius:13px;background:#ffffff0a;text-align:center}.tool-grid>div>span{width:38px;height:38px;display:grid;place-items:center;margin-bottom:11px;border-radius:50%;background:var(--accent);color:#214330;font:800 10px var(--display)}.tool-grid b{font:700 13px var(--display)}.tool-grid small{margin-top:5px;color:#b8c8be;font-size:10px}.toolkit .inline-link{color:white;border-color:#ffffff50}.education{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8%;padding-top:85px;padding-bottom:95px}.education-card .service-icon{margin:0 0 19px}.education-card>small{display:block;margin-bottom:8px;color:#728075;font-size:9px;font-weight:700;letter-spacing:.12em}.education-card p{min-height:0;margin-bottom:14px}.education-note{color:#818d84;font-size:10px}.approach-page{padding-top:78px;padding-bottom:84px}.approach-page.approach{background:#183c34}.approach-values{padding-top:75px;padding-bottom:90px}.approach-values>.eyebrow{color:#748273}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:21px 0 30px}.value-grid article{padding:22px;border-top:1px solid var(--line)}.value-grid article>b{color:#789953;font-size:10px}.value-grid h3{margin:13px 0 6px;font:750 21px var(--display)}.value-grid p{margin:0;color:#69776d;font-size:12px;line-height:1.75}.approach-values>.button{color:#183c34}.work-page{padding-top:32px;padding-bottom:105px}.contact-page{padding-top:78px;padding-bottom:90px}.contact-page .contact-inner{max-width:1160px;margin:auto}.social-placeholder{margin-top:35px;padding-top:18px;border-top:1px solid #adc397}.social-placeholder .eyebrow{margin:0 0 7px;font-size:8px}.social-placeholder>span{color:#6a806a;font-size:11px}
@media(max-width:900px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.page-hero{padding-left:6vw;padding-right:6vw}}
@media(max-width:700px){.page-hero{padding:61px 23px 56px}.page-hero h1{font-size:clamp(43px,11vw,65px)}.page-hero>p:last-child{font-size:14px}.home-intro{padding-top:66px;padding-bottom:75px}.home-links{grid-template-columns:1fr}.about{padding-top:65px;padding-bottom:70px}.about-callout{padding:65px 23px}.services{padding-top:65px;padding-bottom:75px}.services .section-heading{align-items:flex-start}.service-grid{grid-template-columns:1fr}.service-grid article>p:not(.eyebrow){min-height:0}.toolkit{padding:62px 0}.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.education{grid-template-columns:1fr;gap:23px;padding-top:65px;padding-bottom:70px}.approach-page{padding-top:60px;padding-bottom:65px}.approach-values{padding-top:58px;padding-bottom:70px}.value-grid{grid-template-columns:1fr}.work-page{padding-top:23px;padding-bottom:76px}.contact-page{padding:57px 23px 70px}}
.experience{display:grid;grid-template-columns:.75fr 1.25fr;gap:8%;padding-top:80px;padding-bottom:95px;background:#f0f2ec}.experience-list{border-top:1px solid #d9e0d7}.experience-list article{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:15px;padding:18px 0;border-bottom:1px solid #d9e0d7}.experience-mark{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:#dcebc7;color:#4d7342;font-size:9px;font-weight:700}.experience-list small{color:#78877b;font-size:8px;font-weight:700;letter-spacing:.12em}.experience-list h3{margin:3px 0;color:#203c31;font:750 16px var(--display)}.experience-list p{margin:0;color:#6d7a70;font-size:11px;line-height:1.6}.experience-list article>a,.experience-list article>b{color:#587747;font-size:10px;font-weight:700}.pricing{padding:82px 0 90px;background:#183c34;color:#fff}.pricing .eyebrow{color:#bdd0c1}.pricing .section-heading h2{color:white}.pricing .section-heading h2 em{color:var(--accent);font-style:normal}.pricing .heading-note{color:#c0cec5}.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:25px 0 27px}.pricing-grid article{min-height:220px;padding:23px;border:1px solid #ffffff2b;border-radius:14px;background:#ffffff0a}.pricing-grid .pricing-featured{background:var(--accent);color:#183c34;border-color:var(--accent);transform:translateY(-7px)}.price-kind{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#ffffff19;color:var(--accent);font-size:10px;font-weight:700}.pricing-featured .price-kind{background:#183c3414;color:#315038}.pricing-grid h3{margin:22px 0 8px;font:750 20px var(--display)}.pricing-grid p{min-height:57px;margin:0;color:#c4d0c8;font-size:12px;line-height:1.75}.pricing-grid small{display:block;margin-top:15px;color:#d9e2dc;font-size:10px}.pricing-grid .pricing-featured p,.pricing-grid .pricing-featured small{color:#4f6746}.footer-social{display:flex;align-items:center;gap:6px}.footer-social span{padding:6px 9px;border:1px solid #ffffff2b;border-radius:20px;color:#c0d0c6;font-size:8px}.social-links{display:flex;flex-wrap:wrap;gap:7px}.social-links span{padding:7px 10px;border:1px solid #aac194;border-radius:20px;color:#526e52;font-size:9px}.site-footer{flex-wrap:wrap}.site-footer .footer-social{order:3}.site-footer>span{order:2}.site-footer>a:not(.brand){order:4}.site-footer>small{order:5}
@media(max-width:900px){.experience{grid-template-columns:1fr;gap:22px}.pricing-grid{grid-template-columns:1fr}.pricing-grid .pricing-featured{transform:none}.pricing-grid article{min-height:0}.pricing-grid p{min-height:0}}
@media(max-width:700px){.experience{padding-top:60px;padding-bottom:70px}.experience-list article{grid-template-columns:32px 1fr;gap:10px}.experience-list article>a,.experience-list article>b{grid-column:2}.pricing{padding:62px 0 70px}.footer-social{width:100%;flex-wrap:wrap}.site-footer .footer-social{order:4}.site-footer>span{order:3;width:auto}.site-footer>a:not(.brand){order:5}.site-footer>small{order:6}}
.home-about{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;padding-top:95px;padding-bottom:100px}.home-section-intro h2,.home-skills h2,.home-work h2,.home-approach h2,.pricing-teaser h2{margin:0;color:#19372d;font:800 clamp(40px,5.3vw,65px)/1.03 var(--display);letter-spacing:-.07em}.home-section-intro h2 em,.home-skills h2 em,.home-work h2 em,.home-approach h2 em,.pricing-teaser h2 em{color:#6b914b;font-style:normal}.home-section-intro>p:not(.eyebrow){max-width:500px;margin:20px 0;color:#66766c;font-size:13px;line-height:1.9}.text-link{display:inline-flex;align-items:center;gap:13px;padding-bottom:6px;border-bottom:1px solid #9dac99;color:#254537;font-size:11px;font-weight:700}.text-link b{color:#6a9149;font-size:15px}.home-facts{display:grid;gap:10px}.home-facts>div{position:relative;display:grid;grid-template-columns:42px 1fr;column-gap:13px;padding:17px;border:1px solid #e1e6df;border-radius:12px;background:#fff}.home-facts>div>span{grid-row:span 2;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#e8f0dd;color:#648746;font-size:9px;font-weight:700}.home-facts b{font:700 13px var(--display)}.home-facts small{margin-top:4px;color:#718077;font-size:10px;line-height:1.5}.home-skills{padding:82px 0 87px;background:#f0f2ec}.home-skills .section-heading,.home-work .section-heading,.home-approach .section-heading{align-items:end}.home-skill-track{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:27px}.home-skill-track>div{min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:15px 8px;border:1px solid #e0e6dd;border-radius:14px;background:#fff;text-align:center;transition:transform .25s,box-shadow .25s}.home-skill-track>div:hover{transform:translateY(-4px);box-shadow:0 14px 26px #203e3010}.skill-glyph{width:43px;height:43px;display:grid;place-items:center;margin-bottom:12px;border-radius:13px;font:800 12px var(--display)}.glyph-design{background:#e8f1d8;color:#52743e}.glyph-code{background:#e4eaf5;color:#5365a0}.glyph-web{background:#f7ead6;color:#987330}.glyph-mobile{background:#e2efee;color:#3b7773}.glyph-figma{background:#f7e3e2;color:#bd594a}.glyph-writing{background:#eee4f4;color:#825b9e}.home-skill-track b{font:700 11px var(--display)}.home-skill-track small{margin-top:5px;color:#78867d;font-size:8px}.track-note{margin:13px 0 0;color:#839087;font-size:9px}.home-work{padding-top:100px;padding-bottom:105px}.home-projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:26px}.home-projects>a{position:relative;min-height:220px;padding:23px;border:1px solid #e0e6df;border-radius:15px;background:#fff;transition:transform .25s,box-shadow .25s}.home-projects>a:hover{transform:translateY(-4px);box-shadow:0 18px 34px #173c3010}.home-project-no{display:block;margin-bottom:32px;color:#7f8b82;font-size:8px;font-weight:700;letter-spacing:.12em}.home-projects b{display:block;color:#1e3c30;font:800 23px var(--display);letter-spacing:-.04em}.home-projects p{max-width:270px;color:#6d7b71;font-size:11px;line-height:1.75}.home-project-arrow{position:absolute;right:20px;top:18px;color:#6b914b}.home-approach{padding:80px 0 84px;background:#183c34;color:#fff}.home-approach h2{color:#fff}.home-approach h2 em{color:var(--accent)}.home-approach .eyebrow{color:#bdc9c2}.home-approach .text-link{color:#fff;border-color:#ffffff55}.home-approach .text-link b{color:var(--accent)}.home-steps{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:30px}.home-steps>div{flex:1;min-width:0;display:grid;grid-template-columns:30px 1fr;gap:2px 10px}.home-steps>div>span{grid-row:span 2;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#ffffff17;color:var(--accent);font-size:9px}.home-steps b{font:700 12px var(--display)}.home-steps small{color:#bccbc2;font-size:9px}.home-steps>i{color:var(--accent);font-style:normal}.pricing-teaser{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:34px;border:1px solid #e0e6df;border-radius:16px;background:#f0f2ec}.pricing-teaser p:not(.eyebrow){max-width:510px;margin:15px 0 0;color:#68786d;font-size:12px;line-height:1.8}.home-pricing{padding-top:75px;padding-bottom:75px}.home-contact{padding:72px 24px 80px;background:#d9ecb2;text-align:center}.home-contact .eyebrow{color:#5b754f}.home-contact h2{margin:0;color:#19372d;font:800 clamp(42px,6vw,68px)/1 var(--display);letter-spacing:-.07em}.home-contact h2 em{color:#71974f;font-style:normal}.home-contact>p:not(.eyebrow){max-width:480px;margin:16px auto 22px;color:#526c57;font-size:13px;line-height:1.7}.social-icon{width:31px;height:31px;display:grid;place-items:center;border:1px solid #ffffff48;border-radius:50%;color:#d2e0d6;transition:color .2s,background .2s,transform .2s}.social-icon:hover{transform:translateY(-2px);background:var(--accent);color:#183c34}.social-icon svg{width:14px;height:14px;fill:currentColor}.social-icon:nth-child(2) svg{fill:none;stroke:currentColor;stroke-width:2}.social-icon:nth-child(2) .icon-fill{fill:currentColor;stroke:none}.site-footer .footer-social{gap:7px}.social-links{margin-top:12px}
@media(max-width:900px){.home-skill-track{grid-template-columns:repeat(3,minmax(0,1fr))}.home-projects{grid-template-columns:repeat(2,minmax(0,1fr))}.home-about{gap:5%}}
@media(max-width:700px){.home-about{grid-template-columns:1fr;gap:28px;padding-top:68px;padding-bottom:75px}.home-skills{padding:62px 0 67px}.home-skills .section-heading,.home-work .section-heading,.home-approach .section-heading{align-items:flex-start}.home-skill-track{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.home-skill-track>div{min-height:132px}.home-work{padding-top:70px;padding-bottom:75px}.home-projects{grid-template-columns:1fr}.home-projects>a{min-height:175px}.home-project-no{margin-bottom:20px}.home-approach{padding:61px 0 65px}.home-steps{align-items:stretch;flex-direction:column;gap:13px}.home-steps>i{display:none}.home-steps>div{flex:none}.pricing-teaser{align-items:flex-start;flex-direction:column;padding:23px}.home-pricing{padding-top:58px;padding-bottom:58px}.home-contact{padding:61px 23px 68px}.site-footer .footer-social{width:auto}}
.about-hero{min-height:420px;display:grid;grid-template-columns:minmax(0,1fr) 260px;align-items:center;gap:clamp(40px,9vw,135px);padding-top:62px;padding-bottom:62px}.about-hero-copy{max-width:720px}.about-hero-copy h1{font-size:clamp(52px,6.4vw,80px)}.about-hero-copy>p:last-child{max-width:560px}.about-portrait-wrap{position:relative;width:250px;height:294px;justify-self:center}.about-portrait-orbit{position:absolute;inset:3px -13px -8px 17px;border:1px solid #a9bf94;border-radius:48% 48% 14px 14px;transform:rotate(5deg)}.about-portrait{position:absolute;inset:0;margin:0;overflow:hidden;border:6px solid #fff;border-radius:48% 48% 13px 13px;background:#dce9d2;box-shadow:0 20px 48px #1f3b2d20}.about-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 16%}.about-portrait figcaption{position:absolute;right:11px;bottom:11px;left:11px;display:flex;flex-direction:column;gap:3px;padding:10px 12px;border:1px solid #ffffffb0;border-radius:8px;background:#f8f9f1ed;backdrop-filter:blur(8px)}.about-portrait figcaption span{color:#264435;font:800 9px var(--display);letter-spacing:.12em}.about-portrait figcaption small{color:#66786b;font-size:9px}.about-portrait-mark{position:absolute;top:16px;right:-22px;width:40px;height:40px;display:grid;place-items:center;border:4px solid #f8f7f4;border-radius:50%;background:var(--accent);color:#254536;font:800 9px var(--display)}
@media(max-width:700px){.about-hero{min-height:0;grid-template-columns:minmax(0,1fr) 112px;gap:18px;padding:45px 23px}.about-hero-copy h1{font-size:clamp(38px,8vw,53px)}.about-hero-copy .eyebrow{font-size:8px;letter-spacing:.11em}.about-hero-copy>p:last-child{font-size:12px;line-height:1.65}.about-portrait-wrap{width:108px;height:150px}.about-portrait{border-width:4px}.about-portrait figcaption{right:5px;bottom:5px;left:5px;padding:6px}.about-portrait figcaption span{font-size:6px}.about-portrait figcaption small{font-size:6px}.about-portrait-mark{top:8px;right:-11px;width:30px;height:30px;border-width:3px;font-size:7px}}
@media(max-width:390px){.about-hero{grid-template-columns:minmax(0,1fr) 90px;gap:12px}.about-portrait-wrap{width:87px;height:128px}.about-hero-copy h1{font-size:36px}}
.about-hero{grid-template-columns:minmax(0,1fr) 220px;gap:clamp(35px,7vw,100px);min-height:350px}.about-profile{position:relative;width:204px;height:258px;justify-self:center}.about-profile-orbit{position:absolute;inset:8px -8px -7px 8px;border:1px solid #b7c8a7;border-radius:12px;transform:rotate(2deg)}.about-profile-photo{position:absolute;inset:0;margin:0;overflow:hidden;border:4px solid #fff;border-radius:12px;background:#e5e9df;box-shadow:0 14px 35px #1f3b2d18}.about-profile-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 17%}.about-profile-photo figcaption{position:absolute;right:9px;bottom:9px;left:9px;display:flex;align-items:center;gap:9px;padding:9px 10px;border:1px solid #ffffffb0;border-radius:8px;background:#f8f9f1ed;backdrop-filter:blur(8px);color:#264435;font:700 10px var(--display)}.about-profile-photo figcaption>span:first-child{width:27px;height:27px;display:grid;place-items:center;flex:0 0 27px;border-radius:50%;background:#dcebc7;color:#45683c;font-size:8px}.about-profile-photo figcaption>span:last-child{display:block}.about-profile-photo figcaption small{display:block;margin-top:3px;color:#728075;font:600 7px var(--sans);letter-spacing:.06em}.about-profile-note{display:none}
@media(max-width:700px){.about-hero{grid-template-columns:minmax(0,1fr) 122px;gap:15px;min-height:0;padding:45px 23px}.about-profile{width:116px;height:153px}.about-profile-photo{border-width:3px;border-radius:9px}.about-profile-photo img{object-position:center 15%}.about-profile-orbit{inset:5px -5px -5px 5px;border-radius:9px}.about-profile-photo figcaption{right:5px;bottom:5px;left:5px;gap:5px;padding:5px;border-radius:6px}.about-profile-photo figcaption>span:first-child{width:22px;height:22px;flex-basis:22px;font-size:7px}.about-profile-photo figcaption>span:last-child{font-size:8px}.about-profile-photo figcaption small{font-size:5px;letter-spacing:.02em}}
@media(max-width:390px){.about-hero{grid-template-columns:minmax(0,1fr) 94px;gap:11px}.about-profile{width:90px;height:128px}.about-profile-photo figcaption{display:none}.about-hero-copy h1{font-size:36px}}
.home-skill-track>div>svg{width:43px;height:43px;display:block;margin:0 auto 12px;padding:10px;border-radius:13px;background:#e8f1d8;color:#52743e;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.home-skill-track>div:nth-child(2)>svg{background:#e4eaf5;color:#5365a0}.home-skill-track>div:nth-child(3)>svg{background:#f7ead6;color:#987330}.home-skill-track>div:nth-child(4)>svg{background:#e2efee;color:#3b7773}.home-skill-track>div:nth-child(5)>svg{background:#fff;color:#bd594a;stroke:none;padding:8px 12px}.home-skill-track>div:nth-child(6)>svg{background:#eee4f4;color:#825b9e}
.service-icon svg{width:22px;height:22px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.service-grid article:first-child .service-icon svg{stroke:none;fill:initial}
.tool-grid>div>svg{width:38px;height:38px;display:block;margin:0 auto 11px;padding:9px;border-radius:50%;background:var(--accent);color:#284834;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.tool-grid>div>svg.figma-mark{padding:8px 11px;background:#fff;stroke:none}
.technology-track{padding-top:76px;padding-bottom:80px;background:#f0f2ec}.technology-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:24px}.technology-heading h2{margin:0;color:#19372d;font:800 clamp(36px,5vw,57px)/1.02 var(--display);letter-spacing:-.07em}.technology-heading h2 em{color:#6b914b;font-style:normal}.technology-heading .heading-note{max-width:350px}.technology-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.technology-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 12px;padding:16px;border:1px solid #dde4db;border-radius:12px;background:#fff}.technology-card-top{grid-column:1/-1;display:flex;align-items:center;gap:11px;min-width:0}.technology-card-top>b{color:#233b30;font:700 12px var(--display)}.tech-logo{width:36px;height:36px;display:grid;place-items:center;flex:0 0 36px;border-radius:10px;background:#f0f3ed;color:#496f4a}.tech-logo img{width:23px;height:23px;object-fit:contain}.tech-logo.icon-pair{display:flex;gap:2px;width:42px;flex-basis:42px}.tech-logo.icon-pair img{width:17px;height:17px}.tech-logo svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.tech-logo.figma-logo{background:#fff}.tech-logo.figma-logo svg{width:16px;height:24px;stroke:none}.flutter-logo svg path:first-child{fill:#54c5f8;stroke:none}.flutter-logo svg path:nth-child(2){fill:#01579b;stroke:none}.flutter-logo svg path:nth-child(3){fill:#54c5f8;stroke:none}.html-logo svg{color:#e34f26}.html-logo svg path:first-child{fill:#e34f26;stroke:none}.html-logo svg .logo-cutout{fill:#fff;stroke:none}.css-logo svg{color:#1572b6}.css-logo svg path:first-child{fill:#1572b6;stroke:none}.css-logo svg .logo-cutout{fill:#fff;stroke:none}.js-logo svg{color:#161616}.js-logo svg rect{fill:#f7df1e;stroke:none}.js-logo svg path{fill:#161616;stroke:none}.react-logo svg{color:#61dafb}.react-logo svg circle{fill:#61dafb;stroke:none}.node-logo svg{color:#539e43}.git-logo svg{color:#f05032}.git-logo svg path:first-child{fill:#f05032;stroke:none}.git-logo svg circle,.git-logo svg path:not(:first-child){stroke:#fff}.technology-meter{height:6px;overflow:hidden;border-radius:9px;background:#e8ece6}.technology-meter>span{display:block;width:var(--level);height:100%;border-radius:inherit;background:linear-gradient(90deg,#7b61ff,#a18bff)}.technology-card>small{color:#68786c;font-size:9px;font-weight:700}.technology-note{margin:13px 0 0;color:#869187;font-size:9px}.skills-technology{background:#f8f7f4}.skills-technology .technology-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.skills-technology .technology-heading{justify-content:flex-start}
@media(max-width:900px){.technology-grid,.skills-technology .technology-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.technology-heading{align-items:flex-start;flex-direction:column;gap:12px}}
@media(max-width:700px){.technology-track{padding-top:60px;padding-bottom:64px}.technology-grid,.skills-technology .technology-grid{gap:9px}.technology-card{padding:12px}.technology-card-top{gap:8px}.technology-card-top>b{font-size:11px}.tech-logo{width:32px;height:32px;flex-basis:32px}.tech-logo img{width:21px;height:21px}.tech-logo.icon-pair{width:38px;flex-basis:38px}.tech-logo.icon-pair img{width:15px;height:15px}.technology-heading h2{font-size:40px}}
.price-amount{display:flex;align-items:baseline;gap:7px;margin:-10px 0 11px}.price-amount b{font:800 clamp(29px,3vw,39px)/1 var(--display);letter-spacing:-.06em}.price-amount span{color:#cad8ce;font-size:11px}.pricing-featured .price-amount span{color:#516a49}.price-discuss b{font-size:23px;letter-spacing:-.04em}.pricing-grid h3{margin-bottom:20px}
.home-proof-card{position:absolute;z-index:3;right:0;bottom:3px;display:flex;align-items:center;gap:13px;padding:12px 14px;border:1px solid #ffffffb0;border-radius:13px;background:#fbfcf5;color:#1d3d31;box-shadow:0 12px 32px #071a1540}.home-proof-card>div{display:grid;grid-template-columns:24px auto;align-items:center;gap:0 7px}.home-proof-card>div>b{font:800 20px/1 var(--display)}.home-proof-card>div>small{grid-column:2;color:#65776c;font-size:8px}.home-proof-card>i{width:1px;height:30px;background:#d8dfd1}.proof-icon{grid-row:span 2;width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:#e7efd9;color:#5e8043}.proof-icon svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.hero .note-human{bottom:94px}.home-sale{position:absolute;top:18px;right:18px;padding:7px 10px;border:1px solid #ffffff95;border-radius:20px;background:#fff;color:#41623b;font-size:8px;font-weight:800;letter-spacing:.08em}.home-projects>a:nth-child(-n+2){padding-top:40px}.home-testimonials{padding-top:84px;padding-bottom:90px}.home-testimonials .section-heading{margin-bottom:15px}.testimonial-draft-note{margin:0 0 18px;padding:11px 14px;border:1px solid #e4e4d5;border-radius:8px;background:#fbfaf3;color:#776a4f;font-size:10px;line-height:1.6}.testimonial-draft-note b{color:#604d2c}.home-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.home-review-grid>a{display:flex;min-height:190px;flex-direction:column;align-items:flex-start;padding:20px;border:1px solid #e0e6df;border-radius:13px;background:#fff;transition:transform .2s,box-shadow .2s}.home-review-grid>a:hover{transform:translateY(-3px);box-shadow:0 14px 30px #173c3010}.review-stars{color:#dcaa39;font-size:14px;letter-spacing:.12em}.home-review-grid>a>small{margin-top:12px;color:#79867d;font-size:8px;font-weight:700;letter-spacing:.1em}.home-review-grid>a>p{margin:10px 0 14px;color:#53665a;font:500 13px/1.7 var(--display)}.home-review-grid>a>b{margin-top:auto;color:#41683f;font-size:10px}.testimonial-page{padding-top:60px;padding-bottom:90px}.testimonial-draft-note{max-width:900px;margin-bottom:24px}.testimonial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:25px}.testimonial-card{padding:23px;border:1px solid #e0e6df;border-radius:15px;background:#fff;box-shadow:0 8px 28px #173c3008}.testimonial-top{display:flex;align-items:center;gap:12px}.testimonial-top>div{display:flex;flex:1;flex-direction:column;gap:3px}.testimonial-top>div>small{color:#7a877d;font-size:8px;font-weight:700;letter-spacing:.1em}.testimonial-top>div>b{color:#1e3d31;font:750 15px var(--display)}.testimonial-project-mark{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#f4e7d6;color:#9c6126;font:800 15px var(--display)}.house-mark{background:#e3eddf;color:#547946}.testimonial-top .review-stars{font-size:12px;white-space:nowrap}.testimonial-card blockquote{margin:22px 0;color:#465c4f;font:500 16px/1.8 var(--display)}.testimonial-credit{display:flex;justify-content:space-between;gap:12px;padding-top:13px;border-top:1px solid #e8ece6;color:#7c887f;font-size:9px}.sale-offer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 20px;padding:16px 19px;border:1px solid #d8e3cf;border-radius:12px;background:#edf4e5}.sale-offer>div{display:flex;align-items:baseline;gap:12px}.sale-status{color:#567644;font-size:8px;font-weight:800;letter-spacing:.12em}.sale-offer b{color:#1a3c2e;font:800 28px var(--display);letter-spacing:-.04em}.sale-offer>a{display:inline-flex;align-items:center;gap:12px;padding:10px 15px;border-radius:24px;background:#183c34;color:#fff;font-size:10px;font-weight:700;white-space:nowrap;transition:background .2s,transform .2s}.sale-offer>a:hover{transform:translateY(-2px);background:#28584b}.card-art{position:relative}.sale-ribbon{position:absolute;z-index:2;top:13px;left:13px;padding:7px 10px;border:1px solid #ffffffb0;border-radius:20px;background:#fff;color:#41623b;font-size:8px;font-weight:800;letter-spacing:.08em}
#project-grid [data-project="queueless"] .card-art:before,#project-grid [data-project="mamacare"] .card-art:before{position:absolute;z-index:2;top:13px;left:13px;padding:7px 10px;border:1px solid #ffffffb0;border-radius:20px;background:#fff;color:#41623b;content:'FOR SALE · $100';font:800 8px var(--sans);letter-spacing:.08em}
@media(max-width:900px){.home-proof-card{right:0;gap:9px;padding:10px}.testimonial-grid{grid-template-columns:1fr}}
@media(max-width:700px){.home-proof-card{right:auto;bottom:0;left:0;gap:8px;padding:8px 10px}.home-proof-card>div>b{font-size:17px}.home-proof-card>div>small{font-size:7px}.hero .note-human{bottom:99px}.home-testimonials{padding-top:62px;padding-bottom:68px}.home-review-grid{grid-template-columns:1fr}.home-review-grid>a{min-height:165px}.testimonial-page{padding-top:40px;padding-bottom:65px}.testimonial-card{padding:17px}.testimonial-card blockquote{font-size:14px}.testimonial-credit{flex-direction:column;gap:4px}.sale-offer{align-items:flex-start;flex-direction:column}.sale-offer>a{white-space:normal}}
.sale-card-badge{position:absolute;z-index:3;top:13px;left:13px;right:13px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.sale-card-badge b{padding:7px 11px;border-radius:20px;background:#183c34;color:#fff;font:800 8px var(--sans);letter-spacing:.1em}.sale-card-badge strong{padding:7px 12px;border:1px solid #fff9;border-radius:20px;background:#caef64;color:#19372d;font:800 11px var(--display);box-shadow:0 5px 14px #173c3024}.home-sale{left:17px;right:auto;top:17px;background:#183c34;color:#fff;border:0}.home-price{position:absolute;top:17px;right:17px;padding:7px 11px;border:1px solid #ffffffa8;border-radius:20px;background:#caef64;color:#19372d;font:800 10px var(--display);box-shadow:0 5px 14px #173c3024}.home-projects>a:nth-child(-n+2){padding-top:43px}.sale-offer{border-color:#b6cf92;background:linear-gradient(110deg,#e8f1d9,#f5f4e9)}.sale-status{padding:7px 10px;border-radius:20px;background:#183c34;color:#e6f1da}.sale-offer b{padding:3px 12px;border:1px solid #bfd899;border-radius:18px;background:#caef64;color:#19372d;font-size:24px}.sale-offer>a{background:#d9a42e;color:#1f2f20}.sale-offer>a:hover{background:#e9b743}.#project-grid [data-project="queueless"] .card-art:before,#project-grid [data-project="mamacare"] .card-art:before{content:none}
.home-testimonials{background:linear-gradient(130deg,#16382f,#204b3d);color:#fff}.home-testimonials .section-heading h2{color:#fff}.home-testimonials .section-heading h2 em{color:var(--accent)}.home-testimonials .section-heading .eyebrow{color:#bfd0c4}.home-testimonials .section-number{border-color:#ffffff5c;color:var(--accent)}.home-testimonials .text-link{border-color:#ffffff61;color:#fff}.home-testimonials .text-link b{color:var(--accent)}.home-testimonials .testimonial-draft-note{border-color:#ffffff28;background:#ffffff0d;color:#d5c89f}.home-testimonials .testimonial-draft-note b{color:#f1d481}.home-review-grid>a{position:relative;overflow:hidden;border:1px solid #ffffff30;background:#f8f7f0}.home-review-grid>a:after{position:absolute;right:-30px;bottom:-60px;width:150px;height:150px;border:1px solid #74906435;border-radius:50%;content:'';box-shadow:0 0 0 18px #7490640b,0 0 0 38px #7490640b;pointer-events:none}.home-review-grid>a>p{max-width:58ch;font-size:14px}.home-review-grid>a>b{position:relative;z-index:1}.testimonial-page{position:relative;overflow:hidden;background:#edf1e9}.testimonial-page:before{position:absolute;top:0;left:0;width:100%;height:6px;background:linear-gradient(90deg,#183c34 0 45%,#caef64 45% 72%,#dd9f34 72%);content:''}.testimonial-page>.testimonial-draft-note,.testimonial-page>.testimonial-grid,.testimonial-page>.button{position:relative;z-index:1}.testimonial-page>.testimonial-draft-note{max-width:820px;margin:0 0 25px;border-color:#eadcb7;background:#fffaf0;color:#746746}.testimonial-grid{gap:20px}.testimonial-card{position:relative;min-height:300px;overflow:hidden;border:0;border-radius:16px;background:#fff;box-shadow:0 16px 40px #183c3414}.testimonial-card:before{position:absolute;top:-3px;left:0;width:100%;height:5px;background:#caef64;content:''}.testimonial-card:nth-child(2):before{background:#e2ab47}.testimonial-top{padding-bottom:15px;border-bottom:1px solid #e9ede6}.testimonial-card blockquote{position:relative;margin:23px 0 28px;padding-left:19px;color:#294538;font-size:17px;line-height:1.8}.testimonial-card blockquote:before{position:absolute;top:-7px;left:0;color:#93b76c;content:'“';font:800 32px/1 var(--display)}.testimonial-credit{color:#77857b}.testimonial-page>.button{margin-top:2px}.testimonial-top .review-stars{padding:7px 9px;border-radius:20px;background:#fff4d9;color:#cc9022}.testimonial-project-mark{border-radius:12px}.tasty-mark{background:#f4e4d7;color:#a46535}.house-mark{background:#e1ecd9;color:#527746}
@media(max-width:700px){.home-price{top:15px;right:15px}.home-sale{top:15px;left:15px}.sale-card-badge{top:10px;left:10px;right:10px}.sale-card-badge b{padding:6px 8px;font-size:7px}.sale-card-badge strong{padding:6px 9px;font-size:9px}.testimonial-card{min-height:0}.testimonial-card blockquote{font-size:15px}.home-testimonials{padding-top:62px;padding-bottom:68px}}

/* Polished sale badges and animated social proof */
.sale-card-badge b{border:1px solid #ffffffb0;background:#183c34;color:#fff}.sale-card-badge strong{border:1px solid #ffffffb0;background:#caef64;color:#19372d}.project-card.peach .sale-card-badge b{border-color:#fff;background:#eacfc2;color:#5c4036}.project-card.peach .sale-card-badge strong{background:#d9a88e;color:#35251f}.project-card.lavender .sale-card-badge b{border-color:#fff;background:#c9cae1;color:#353653}.project-card.lavender .sale-card-badge strong{background:#aeb1d5;color:#282943}
#project-grid [data-project="queueless"] .card-art:before,#project-grid [data-project="mamacare"] .card-art:before{display:none!important;content:none!important}.home-projects>a:nth-child(1) .home-sale{background:#c9cae1;color:#353653}.home-projects>a:nth-child(1) .home-price{background:#aeb1d5;color:#282943}.home-projects>a:nth-child(2) .home-sale{background:#eacfc2;color:#5c4036}.home-projects>a:nth-child(2) .home-price{background:#d9a88e;color:#35251f}.sale-offer{background:#f0e1d7;border-color:#dfc5b4}.sale-status{background:#eacfc2;color:#5c4036}.sale-offer b{background:#d9a88e;border-color:#fff;color:#35251f}.sale-offer>a{background:#6d503f;color:#fff}.sale-offer>a:hover{background:#83624e}
.home-proof-card{min-width:330px;justify-content:space-between;gap:18px;padding:17px 20px;border:1px solid #ffffffd9;border-radius:17px;box-shadow:0 18px 40px #071a1550;animation:proof-float 5s ease-in-out infinite}.home-proof-card>div{grid-template-columns:37px auto;column-gap:10px}.home-proof-card>div>b{font-size:27px}.home-proof-card>div>small{font-size:10px}.proof-icon{width:35px;height:35px}.proof-icon svg{width:19px;height:19px}.home-proof-card>i{height:40px}.home-proof-card>div:first-child{animation:proof-float 5.4s .15s ease-in-out infinite}.home-proof-card>div:last-child{animation:proof-float 5.4s .45s ease-in-out infinite}
.home-testimonials .home-review-grid>a:first-child{border-top:4px solid #db9a62}.home-testimonials .home-review-grid>a:last-child{border-top:4px solid #98b875}
@keyframes proof-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@media(max-width:900px){.home-proof-card{min-width:310px}}
@media(max-width:700px){.home-proof-card{min-width:292px;padding:12px 14px;gap:12px}.home-proof-card>div{grid-template-columns:31px auto;column-gap:7px}.home-proof-card>div>b{font-size:23px}.home-proof-card>div>small{font-size:9px}.proof-icon{width:29px;height:29px}.proof-icon svg{width:16px;height:16px}}
.pricing-grid article{position:relative;z-index:0;cursor:pointer;transform:translateY(0);transition:box-shadow .3s,outline-color .2s}.pricing-grid article.pricing-featured{transform:translateY(0)}.pricing-grid article.is-floating{z-index:2;animation:pricing-focus 2.8s ease-in-out infinite;box-shadow:0 24px 48px #071a1540}.pricing-grid article.pricing-featured.is-floating{box-shadow:0 25px 50px #071a1555}.pricing-grid article:focus-visible{outline:3px solid #caef64;outline-offset:4px}.pricing-grid article:not(.is-floating){animation:none;transform:none}.pricing-grid article:not(.is-floating):hover{box-shadow:0 9px 22px #071a1525}@keyframes pricing-focus{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-11px) scale(1.045)}}
@media(max-width:700px){.pricing-grid article.is-floating{animation-name:pricing-focus-mobile}@keyframes pricing-focus-mobile{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-6px) scale(1.025)}}}

.footer-social .social-icon,.social-links .social-icon{width:35px;height:35px;padding:0;display:grid;place-items:center;flex:0 0 35px;border:0;border-radius:50%;color:#fff;text-decoration:none;box-shadow:0 5px 12px #102f281c;transition:transform .2s,filter .2s,box-shadow .2s}.footer-social .social-icon svg,.social-links .social-icon svg{width:17px;height:17px;fill:currentColor;stroke:none}.social-icon.icon-instagram{background:linear-gradient(145deg,#f9ce34,#ee2a7b 55%,#6228d7)}.social-icon.icon-facebook{background:#1877f2}.social-icon.icon-tiktok{background:#111}.social-icon.icon-whatsapp{background:#25d366}.social-icon.icon-linkedin{background:#0a66c2}.social-icon.icon-github{background:#24292f}.social-icon.icon-instagram svg,.social-icon.icon-whatsapp svg{fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.social-icon.icon-instagram .social-dot{fill:#fff;stroke:none}.social-icon.icon-facebook svg{fill:#fff;stroke:none}.social-icon:hover{transform:translateY(-3px) scale(1.05);filter:brightness(1.08);box-shadow:0 8px 18px #102f2840}.social-icon:focus-visible{outline:3px solid #caef64;outline-offset:3px}.footer-social{gap:9px}.social-links{align-items:center}.social-links .social-icon{width:36px;height:36px;flex-basis:36px}@media(max-width:700px){.footer-social .social-icon{width:32px;height:32px;flex-basis:32px}.footer-social .social-icon svg{width:16px;height:16px}}

.process-map{padding-top:78px;padding-bottom:82px;background:#f0f2ec}.process-map .section-heading{margin-bottom:28px}.process-flow{display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr);align-items:center;gap:10px}.process-flow article{min-height:124px;display:flex;flex-direction:column;justify-content:center;padding:18px;border:1px solid #dce4d9;border-radius:13px;background:#fff;box-shadow:0 9px 24px #183c3408}.process-flow article>span{width:29px;height:29px;display:grid;place-items:center;margin-bottom:11px;border-radius:50%;background:#e5efda;color:#527747;font-size:9px;font-weight:800}.process-flow article>b{color:#1d3b30;font:750 14px var(--display)}.process-flow article>small{margin-top:4px;color:#78867c;font-size:9px}.process-flow>i{text-align:center;color:#82a15d;font-size:17px;font-style:normal}.iteration-note{display:flex;align-items:center;gap:10px;margin-top:14px;color:#718074;font-size:10px}.iteration-note svg{width:28px;height:22px;fill:none;stroke:#759853;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.phase-details{display:grid;grid-template-columns:.72fr 1.28fr;gap:8%;padding-top:88px;padding-bottom:92px}.phase-intro{position:sticky;top:35px;align-self:start}.phase-intro h2,.collaboration h2{margin:0;color:#19372d;font:800 clamp(37px,4.5vw,55px)/1.05 var(--display);letter-spacing:-.07em}.phase-intro h2 em,.collaboration h2 em{color:#6b914b;font-style:normal}.phase-intro>p:last-child{max-width:340px;margin:18px 0;color:#6a796e;font-size:12px;line-height:1.8}.phase-list{border-top:1px solid #dce4db}.phase-list>article{display:grid;grid-template-columns:38px minmax(0,1fr);gap:15px;padding:25px 0;border-bottom:1px solid #dce4db}.phase-number{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:#183c34;color:#caef64;font-size:9px;font-weight:800}.phase-main>.eyebrow{margin:0 0 6px;color:#78906c;font-size:8px}.phase-main h3{margin:0;color:#1d392f;font:750 20px/1.3 var(--display);letter-spacing:-.035em}.phase-main>p:not(.eyebrow){max-width:650px;margin:9px 0 16px;color:#68776c;font-size:11px;line-height:1.8}.phase-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.phase-columns>div{display:grid;align-content:start;gap:6px}.phase-columns b{margin-bottom:2px;color:#284536;font:700 10px var(--display)}.phase-columns span{position:relative;padding-left:12px;color:#6c7a70;font-size:9px;line-height:1.6}.phase-columns span:before{position:absolute;left:0;top:7px;width:4px;height:4px;border-radius:50%;background:#91ad71;content:'}.collaboration{display:grid;grid-template-columns:.85fr 1.15fr;gap:9%;padding-top:78px;padding-bottom:84px;background:#e6eedf}.collaboration>div:first-child .heading-note{max-width:400px;margin-top:18px}.collaboration .section-number{color:#628348}.collaboration-points{display:grid;grid-template-columns:1fr 1fr;gap:10px}.collaboration-points article{display:flex;gap:12px;padding:16px;border:1px solid #d2dfcc;border-radius:11px;background:#f9faf6}.collaboration-points article>span{color:#73944d;font-size:9px;font-weight:800}.collaboration-points b{color:#264334;font:700 11px var(--display)}.collaboration-points p{margin:5px 0 0;color:#6b796d;font-size:9px;line-height:1.7}
@media(max-width:900px){.process-flow{grid-template-columns:1fr 18px 1fr}.process-flow article:nth-of-type(3){grid-column:3}.process-flow article:nth-of-type(4){grid-column:1}.process-flow>i:nth-of-type(2){grid-column:2;grid-row:2;transform:rotate(90deg)}.process-flow>i:nth-of-type(3){grid-column:2;grid-row:3;transform:rotate(90deg)}.phase-details{grid-template-columns:1fr;gap:24px}.phase-intro{position:static}.collaboration{grid-template-columns:1fr;gap:24px}}
@media(max-width:700px){.process-map{padding-top:60px;padding-bottom:64px}.process-map .section-heading{margin-bottom:20px}.process-flow{grid-template-columns:1fr;gap:8px}.process-flow article{min-height:88px;display:grid;grid-template-columns:34px 1fr;align-content:center;column-gap:10px;padding:13px}.process-flow article>span{grid-row:span 2;margin:0}.process-flow article>b{align-self:end}.process-flow article>small{align-self:start}.process-flow>i:nth-of-type(n){grid-column:1;grid-row:auto;transform:rotate(90deg);height:15px;line-height:15px}.iteration-note{align-items:flex-start;font-size:9px}.phase-details{gap:15px;padding-top:62px;padding-bottom:68px}.phase-intro h2,.collaboration h2{font-size:40px}.phase-list>article{grid-template-columns:29px minmax(0,1fr);gap:10px;padding:20px 0}.phase-number{width:26px;height:26px}.phase-main h3{font-size:17px}.phase-columns{grid-template-columns:1fr;gap:12px}.collaboration{padding-top:60px;padding-bottom:65px}.collaboration-points{grid-template-columns:1fr}}
/* Add concise explanations inside each process card */
.process-flow article{min-height:158px;justify-content:flex-start;padding-top:16px;padding-bottom:15px}
.process-flow article>span{margin-bottom:10px}
.process-flow article>b{margin-bottom:2px}
.process-flow article>small{font-size:9px;line-height:1.5}
.process-flow .process-description{max-width:34ch;margin:8px 0 0;color:#6d7a70;font-size:10px;line-height:1.55}
@media(max-width:900px){.process-flow article{min-height:148px}}
@media(max-width:700px){.process-flow article{min-height:0;grid-template-columns:34px minmax(0,1fr);align-content:center;row-gap:2px;padding:12px}.process-flow article>span{grid-column:1;grid-row:1/4;margin:0}.process-flow article>b{grid-column:2;grid-row:1;align-self:end}.process-flow article>small{grid-column:2;grid-row:2;align-self:start}.process-flow .process-description{grid-column:2;grid-row:3;max-width:52ch;margin-top:5px}}
/* Slightly larger, gently floating About portrait */

/* About portrait size and type-on introduction */
.about-hero{grid-template-columns:minmax(0,1fr) 260px;min-height:390px}
.about-hero .about-profile{width:250px;height:312px;animation:about-profile-float 2.8s ease-in-out infinite}
@keyframes about-profile-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
.about-intro-typewriter{min-height:3.5em}
.typewriter-text{opacity:1;transition:opacity .48s ease}
.typewriter-text.is-fading{opacity:0}
.typewriter-cursor{display:inline-block;width:2px;height:1em;margin-left:3px;vertical-align:-.14em;background:#6b914b}
@media(max-width:700px){.about-hero{grid-template-columns:minmax(0,1fr) 142px;min-height:0}.about-hero .about-profile{width:134px;height:174px}}
@media(max-width:390px){.about-hero{grid-template-columns:minmax(0,1fr) 116px}.about-hero .about-profile{width:110px;height:150px}}
@media(prefers-reduced-motion:reduce){.about-hero .about-profile{animation:about-profile-float 2.8s ease-in-out infinite!important;animation-duration:2.8s!important;animation-iteration-count:infinite!important}.typewriter-text{transition:opacity .48s ease!important}}
/* Clear English fallback for project visuals whose preview image is not uploaded yet */
.slot-label{z-index:1;gap:5px;align-content:center}
.slot-label>span{color:#355044;font:700 13px/1.4 var(--display)}
.slot-label>small{color:#6f7f73;font-size:9px;overflow-wrap:normal}
.cover-slot.empty{background:linear-gradient(145deg,#e0e5d8,#d3ddce)}
.orange .cover-slot.empty{background:linear-gradient(145deg,#f4e5cf,#e8d3b5)}
.blue .cover-slot.empty{background:linear-gradient(145deg,#dfebeb,#c8dddd)}
.pink .cover-slot.empty{background:linear-gradient(145deg,#f1e5ef,#e4d7e8)}
.green .cover-slot.empty{background:linear-gradient(145deg,#e7eddd,#d6e0ca)}
/* Header appearance and language toolbar */
.site-nav{gap:clamp(10px,1.15vw,19px)}
.site-tools{display:flex;align-items:center;gap:8px;margin-left:1px;padding-left:9px;border-left:1px solid #ffffff38}
.theme-label{font:600 10px var(--sans)}
.language-control{position:relative;height:36px;display:flex;align-items:center;padding:0 24px 0 10px;border:1px solid #ffffff52;border-radius:22px;color:#fff}
.language-control:after{position:absolute;right:9px;top:8px;content:'⌄';font-size:13px;pointer-events:none}
.language-control select{max-width:89px;padding:0;border:0;outline:0;background:transparent;color:inherit;font:600 10px var(--sans);appearance:none;-webkit-appearance:none;cursor:pointer}
.language-control option{background:#183c34;color:#fff}



















@media(max-width:1050px){.site-nav{gap:9px}.site-nav>a{font-size:10px}.site-tools{gap:6px;padding-left:6px}.language-control{padding:0 7px}.language-control select{max-width:76px;font-size:9px}}
@media(max-width:700px){.site-nav{gap:0}.site-tools{align-self:flex-start;flex-direction:row;margin-top:12px;padding:0;border:0}.language-control{height:39px;border-color:#cbd7cc;background:#fff;color:#183c34}.language-control select{max-width:120px;font-size:11px}.language-control option{background:#fff;color:#183c34}}



html{transition:background-color .25s ease,color .25s ease}
body,body main>section,.project-dialog,.screen-card,.home-review-grid>a,.testimonial-card,.contact-form{transition:background-color .25s ease,color .25s ease,border-color .25s ease}















@media(prefers-reduced-motion:reduce){html,body,body main>section,.project-dialog,.screen-card,.home-review-grid>a,.testimonial-card,.contact-form{transition:none!important}}

@media(max-width:700px){
 .site-header{gap:8px;padding-right:12px;padding-left:12px}
 .site-header>.brand{flex:0 1 auto;min-width:0;gap:7px}
 .site-header>.brand .brand-name{font-size:13px}
 .site-header>.menu-toggle{order:2;flex:0 0 38px;width:38px;height:38px}
 .site-header .theme-label{display:none}
 .site-header .language-control{height:38px;padding:0 20px 0 7px}
 .site-header .language-control:after{right:6px;top:8px}
 .site-header .language-control select{max-width:79px;font-size:10px}
}
@media(max-width:390px){
 .site-header{gap:5px;padding-right:9px;padding-left:9px}
 .site-header>.brand .brand-name small{display:none}
 .site-header .language-control select{max-width:70px}
}
.site-header .language-control{height:34px;display:flex;gap:0;padding:2px;border:1px solid #ffffff38;border-radius:9px;background:#ffffff08;color:inherit}
.site-header .language-option{min-width:31px;height:28px;padding:0 7px;border:0;border-radius:6px;background:transparent;color:inherit;font:700 9px var(--sans);cursor:pointer;transition:background .2s,color .2s}
.site-header .language-option.is-active{background:var(--accent);color:#17372e}














@media(max-width:700px){.site-header .language-control{height:34px;padding:2px}.site-header .language-option{min-width:29px;padding:0 6px}}


.site-header .language-control{height:34px;display:flex;gap:0;padding:2px;border:1px solid #ffffff38;border-radius:9px;background:#ffffff08;color:inherit}
.site-header .language-option{min-width:31px;height:28px;padding:0 7px;border:0;border-radius:6px;background:transparent;color:inherit;font:700 9px var(--sans);cursor:pointer}
.site-header .language-option.is-active{background:var(--accent);color:#17372e}

@media(max-width:1050px){.site-header .language-option{min-width:27px;padding:0 5px}}
@media(max-width:700px){.site-header .language-control{height:34px;padding:2px}}
/* Final toolbar and French type refinements */
.site-nav>.site-tools{display:flex;align-items:center;gap:8px;flex:0 0 auto;margin-left:0;padding:0;border:0}
.site-header .language-control{height:36px;display:flex;gap:0;padding:0;border:1px solid #ffffff58;border-radius:5px;overflow:hidden;background:transparent;color:inherit}
.site-header .language-option{min-width:34px;height:34px;padding:0 9px;border:0;border-right:1px solid #ffffff40;border-radius:0;background:transparent;color:inherit;font:600 10px var(--sans);cursor:pointer;transition:background .2s,color .2s}
.site-header .language-option:last-child{border-right:0}
.site-header .language-option.is-active{background:var(--accent);color:#17372e}
html[lang="fr"] .case-hero h2{letter-spacing:-.035em}
html[lang="fr"] .case-hero h2 em{letter-spacing:-.025em}
.project-card[data-image-palette="true"] .card-art{background:color-mix(in srgb,var(--project-image-color) 19%,#fff);border-color:color-mix(in srgb,var(--project-image-color) 28%,#fff)}
.case-hero[data-image-palette="true"]{background:color-mix(in srgb,var(--project-image-color) 16%,#fff)}
@media(max-width:700px){.site-nav>.site-tools{align-self:flex-start;flex-direction:row;gap:7px;margin:12px 0 0;padding:0;border:0}.site-header .language-control{height:36px}.site-header .language-option{height:34px}}
/* Make the active language unmistakable with the site accent. */
.site-header .language-option[aria-pressed="true"]{background:#caef64!important;color:#17372e!important;box-shadow:inset 0 0 0 1px #caef64}
.site-header .language-option[aria-pressed="false"]{background:transparent!important;color:#fff!important}
.cv-tool-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:20px}.cv-tool-groups article{padding:17px;border:1px solid #dde4db;border-radius:12px;background:#fff}.cv-tool-groups b{color:#233b30;font:700 12px var(--display)}.cv-tool-groups p{margin:8px 0 0;color:#68786c;font-size:11px;line-height:1.7}.about-experience article{align-items:start;padding:23px 0}.about-experience article>div{min-width:0}.about-experience article strong{color:#516c58;font-size:11px}.about-experience article p{margin:8px 0 0;font-size:12px;line-height:1.8}.about-experience article p+p{margin-top:10px}.cv-profile{padding-top:80px;padding-bottom:90px}.cv-profile .about-copy{padding-top:0}.cv-profile .about-copy a{color:#416d4b;text-decoration:underline;text-underline-offset:3px}.home-experience{background:#f7f7f2}.home-experience .text-link{display:inline-flex;margin-top:22px;color:#315d42;font-size:12px;font-weight:700}.home-experience .experience-list article{grid-template-columns:38px minmax(0,1fr) auto}.home-experience .experience-list article>b{white-space:nowrap}.home-experience .experience-list h3{font-size:14px}
@media(max-width:700px){.cv-tool-groups{grid-template-columns:1fr}.about-experience article p{font-size:11px}.home-experience .experience-list article{grid-template-columns:32px minmax(0,1fr)}.home-experience .experience-list article>b{grid-column:2}}
.cv-tech-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px}
.cv-tech-details article,.cv-education-grid article,.cv-competency-grid article{min-width:0;padding:19px 20px;border:1px solid var(--line,#dce3dc);border-radius:12px;background:#fff}
.cv-tech-details article .eyebrow,.cv-competency-grid article .eyebrow{margin:0 0 9px;color:var(--forest,#436f52);font-size:9px;letter-spacing:.13em}
.cv-tech-details article>p:last-child,.cv-competency-grid article>p:last-child{margin:0;color:var(--muted,#65706c);font-size:12px;line-height:1.8}
.technology-note{max-width:75ch}
.home-experience-summary{margin-top:7px!important;color:var(--muted,#65706c)!important;font-size:12px!important;line-height:1.65}
.cv-details{padding-top:88px;padding-bottom:92px;border-top:1px solid var(--line,#dce3dc)}
.cv-details-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}
.cv-details-heading .eyebrow{margin-bottom:12px}
.cv-details-heading h2{margin:0;font-size:clamp(36px,5vw,60px);line-height:1.06;letter-spacing:-.055em}
.cv-details-heading h2 em{color:var(--forest,#436f52)}
.cv-education-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:34px}
.cv-education-grid article{background:#fff}
.cv-education-grid article .eyebrow{margin:0 0 12px;color:var(--muted,#65706c);font-size:9px;line-height:1.6}
.cv-education-grid h3{margin:0 0 8px;font-size:17px;line-height:1.35}
.cv-education-grid article>p:last-child{margin:0;color:var(--muted,#65706c);font-size:12px}
.cv-competency-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cv-competency-grid article{background:#f8f9f6}
@media(max-width:850px){.cv-tech-details{grid-template-columns:repeat(2,minmax(0,1fr))}.cv-details{padding-top:66px;padding-bottom:70px}.cv-education-grid{grid-template-columns:1fr}}
@media(max-width:560px){.cv-tech-details,.cv-competency-grid{grid-template-columns:1fr}.cv-tech-details article,.cv-education-grid article,.cv-competency-grid article{padding:16px}.cv-details-heading{align-items:flex-start;flex-direction:column}}
.about-full-name{margin:-10px 0 15px;color:var(--forest,#436f52);font:700 9px/1.5 var(--sans);letter-spacing:.12em}
.home-intro-typewriter{min-height:5.4em}
@media(max-width:700px){.home-intro-typewriter{min-height:8.2em}}

.project-inline-link{color:#315d3d;font-weight:750;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.project-inline-link:hover{color:#6b914b}.project-inline-link:focus-visible{outline:2px solid #6b914b;outline-offset:3px;border-radius:2px}
.home-links>a{position:relative;isolation:isolate;animation:home-link-enter .72s cubic-bezier(.2,.7,.25,1) both}.home-links>a:nth-child(2){animation-delay:.13s}.home-links>a:nth-child(3){animation-delay:.26s}.home-links>a::after{position:absolute;inset:-2px;z-index:-1;border:1px solid #8da978;border-radius:14px;content:"";opacity:0;pointer-events:none;animation:home-link-glow 4.2s ease-in-out 1s infinite}.home-links>a b{transition:transform .24s ease}.home-links>a:hover b{transform:translate(3px,-2px)}.home-links>a:focus-visible{outline:2px solid #6b914b;outline-offset:4px}@keyframes home-link-enter{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}@keyframes home-link-glow{0%,100%{opacity:0}50%{opacity:.58}}/* Gentle motion for the portrait and its two hero badges */
.hero .portrait-card{translate:0 0;animation:hero-enter .9s .08s both cubic-bezier(.2,.75,.25,1),portrait-drift 4.8s 1s ease-in-out infinite}
.hero .note-degree{animation:degree-float 3.7s ease-in-out infinite}
.hero .note-human{animation:human-float 4.3s .25s ease-in-out infinite}
.note-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@keyframes portrait-drift{0%,100%{translate:0 0}50%{translate:0 -13px}}
@keyframes degree-float{0%,100%{translate:0 0;opacity:.88}50%{translate:0 -9px;opacity:1}}
@keyframes human-float{0%,100%{translate:0 0;opacity:.86}50%{translate:0 -10px;opacity:1}}