@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:#fff;--ink:#20231f;--muted:#6c7069;--line:#dcdfe3;--orange:#e2613d;--blue:#164dd8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:40px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:6px}.skip{position:absolute;top:-70px;background:white;padding:12px}.skip:focus{top:0;z-index:5}header,.hero,.section,footer,.contact{max-width:1440px;margin:auto;padding-left:6%;padding-right:6%}header{display:flex;align-items:center;justify-content:space-between;padding-top:28px;padding-bottom:28px}.wordmark{font-size:29px;font-weight:800;letter-spacing:-1.8px}.wordmark span{font-size:13px;vertical-align:top;margin-left:5px}nav{display:flex;gap:32px;font-size:13px}nav a:hover,.text-link:hover{color:var(--orange)}.hero{padding-top:80px;padding-bottom:40px}.eyebrow,small,.tags,.hero-foot,.visual-footer{font-size:10px;font-weight:600;letter-spacing:1.5px}.eyebrow{display:flex;align-items:center;gap:10px}.eyebrow i{width:7px;height:7px;background:var(--orange);border-radius:50%}.hello{font-size:22px;margin:45px 0 15px}h1,h2,h3{font-family:Manrope,sans-serif;font-weight:500;line-height:1.12;margin-top:0}h1{font-size:clamp(56px,7.6vw,108px);letter-spacing:-5.5px;margin-bottom:35px}h1 span,h2 span,.visual-title>span{color:var(--orange)}.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px}.hero-bottom p{font-size:16px;color:var(--muted);max-width:720px;margin:0}.round{width:58px;height:58px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-size:24px;flex-shrink:0}.round:hover{background:#e8ebee}.hero-foot{display:flex;gap:35px;color:var(--muted);border-top:1px solid var(--line);margin-top:50px;padding-top:22px;font-size:9px}.section{padding-top:90px;padding-bottom:10px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:10px}.section-heading .eyebrow,.about>.eyebrow{color:var(--orange);margin-bottom:25px}h2{font-size:clamp(34px,4.2vw,58px);letter-spacing:-2.4px;margin-bottom:20px}.section-heading>p{color:var(--muted);font-size:14px;margin-bottom:24px}.project{display:grid;grid-template-columns:.85fr 1.3fr;gap:8%;align-items:center;padding:55px 0;border-bottom:1px solid var(--line)}.project-copy small{color:var(--muted);font-size:9px}.project h3{font-size:clamp(25px,2.8vw,39px);letter-spacing:-1.4px;margin:22px 0}.project-copy>p{font-size:15px;color:var(--muted);max-width:390px}.tags{font-size:8px;color:var(--muted);margin:25px 0}.text-link{font-size:12px;border-bottom:1px solid var(--ink);padding:0 0 6px;display:inline-flex;gap:8px}.status{font-size:11px;color:var(--muted);display:inline-block;border:1px solid var(--line);border-radius:30px;padding:6px 12px}.project-visual{padding:28px 28px 18px;display:block;border-radius:5px;overflow:hidden;min-width:0;transition:transform .25s}.project-visual[href]:hover{transform:translateY(-5px)}.blue{background:var(--blue);color:white}.visual-title{font-size:28px;font-weight:700;letter-spacing:-1px;display:flex;align-items:center}.visual-title small{font-size:7px;letter-spacing:1px;margin-left:auto;font-weight:500}.project-visual>img{display:block;width:100%;margin-top:30px;box-shadow:0 14px 35px #00246744;border-radius:4px}.visual-footer{font-size:7px;display:flex;align-items:center;justify-content:space-between;margin-top:23px;opacity:.8}.visual-footer b{font-size:18px;font-weight:400}.offers{background:#ece8ff;color:#352958}.offers .visual-title{font-size:22px}.offer-composition{display:flex;gap:15px;padding:34px 0 10px;align-items:center}.module{background:white;border-radius:7px;padding:22px;flex:1;box-shadow:0 10px 25px #4323a017;transform:rotate(-3deg)}.module>span{font-size:7px;letter-spacing:1px;color:#73698f}.module b{display:block;font-family:Manrope,sans-serif;font-size:24px;font-weight:500;line-height:1.25;margin:17px 0}.offer-lines i{height:6px;border-radius:3px;background:#eeeaf8;display:block;margin-top:10px;width:100%}.offer-lines i:nth-child(2){width:75%}.offer-lines i:nth-child(3){width:50%}.small-module{transform:rotate(4deg);background:#5940b0;color:white}.small-module>span{color:#d4caed}.offer-pill{font-size:9px;background:#ffffff20;padding:8px 10px;border-radius:30px}.visual-footer small{font-size:6px;letter-spacing:.5px}.system{background:#e8ebee}.system-preview{position:relative;display:grid;grid-template-columns:1fr .45fr;gap:12px;margin-top:25px;padding-bottom:110px}.type-sample{background:#fff;padding:10px 25px;font-size:70px;letter-spacing:-5px;line-height:1.5;border-radius:5px}.type-sample span{display:block;font-size:9px;letter-spacing:0;line-height:1.5;padding-bottom:10px}.swatch-stack{display:flex;flex-direction:column;overflow:hidden;border-radius:5px}.swatch-stack i{flex:1;background:var(--blue)}.swatch-stack i:nth-child(2){background:#222731}.swatch-stack i:nth-child(3){background:#a4b0c5}.system-preview>img{position:absolute;bottom:0;width:85%;left:7%;max-height:170px;object-fit:cover;object-position:top;box-shadow:0 10px 25px #20231f22;border-radius:4px}.articles{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:40px}.articles article{border:1px solid var(--line);border-radius:5px;padding:30px}.articles small{color:var(--orange);font-size:9px}.articles h3{font-size:25px;letter-spacing:-.8px;margin:25px 0}.articles p{font-size:14px;color:var(--muted)}.article-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:18px;margin-top:28px;font-size:11px;color:var(--muted)}.article-foot button{border:0;background:none;color:var(--orange);padding:4px 0;font-size:12px}.about-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:12%;margin-top:25px}.about-grid>div>p{font-size:15px;color:var(--muted);max-width:620px}.about aside{border-left:1px solid var(--line);padding-left:45px}.experience-number{font:500 100px/1.1 Manrope,sans-serif;letter-spacing:-6px}.experience-number>span{color:var(--orange);font-size:65px}.experience-label{font-size:8px;letter-spacing:1.2px;margin:14px 0 27px}.about ul{list-style:none;padding:0;margin:0}.about li{position:relative;font-size:13px;color:var(--muted);margin-bottom:20px;padding-left:20px}.about li:before{content:'✓';color:var(--orange);position:absolute;left:0}.personal{display:flex;gap:8px;flex-wrap:wrap;margin-top:25px}.personal span{font-size:7px;letter-spacing:.7px;background:#eef0f2;padding:5px 8px;border-radius:20px}.contact{padding-top:80px;padding-bottom:65px;margin-top:90px;background:#eef0f2}.contact .eyebrow{color:var(--orange);margin-bottom:30px}.contact p{color:var(--muted);font-size:15px;max-width:500px}.contact-note{font-size:12px;color:var(--muted);margin-top:25px}footer{display:flex;justify-content:space-between;padding-top:25px;padding-bottom:25px;font-size:11px;color:var(--muted)}dialog{width:min(700px,92vw);border:0;border-radius:5px;padding:38px;color:var(--ink);background:white}dialog::backdrop{background:#14201edb;backdrop-filter:blur(6px)}dialog small{color:var(--orange)}dialog h2{font-size:32px;margin-top:30px;letter-spacing:-1px}dialog p{font-size:15px;color:var(--muted)}.close{float:right;background:white;border:1px solid var(--line);padding:5px 12px;border-radius:20px;font-size:12px}.excerpt-note{border-top:1px solid var(--line);padding-top:15px;font-size:11px}body:has(dialog[open]){overflow:hidden}@media(max-width:760px){header{padding-top:20px;padding-bottom:20px}nav{gap:18px;font-size:11px}.wordmark{font-size:25px}.hero{padding-top:48px}h1{font-size:clamp(49px,9.5vw,68px);letter-spacing:-3px}.hello{margin-top:30px;font-size:20px}.eyebrow{font-size:8px}.hero-bottom p{font-size:13px}.round{width:45px;height:45px}.hero-foot{gap:15px;flex-wrap:wrap;font-size:7px;margin-top:35px}.section{padding-top:60px}.section-heading{display:block}.section-heading>p{font-size:13px}.project{grid-template-columns:1fr;gap:28px;padding:35px 0}.project h3{font-size:31px}.project h3 br{display:none}.project-copy>p{max-width:100%}.tags{margin:20px 0}.project-visual{padding:22px 20px 16px}.visual-title small{font-size:6px}.articles{grid-template-columns:1fr;gap:22px;margin-top:30px}.articles article{padding:25px}.articles h3{font-size:23px}.about-grid{grid-template-columns:1fr;gap:30px}.about aside{border-left:0;border-top:1px solid var(--line);padding:25px 0 0}.experience-number{font-size:80px}.about ul{max-width:450px}.contact{margin-top:55px;padding-top:50px;padding-bottom:45px}.module{padding:17px}.module b{font-size:21px}.offer-composition{gap:12px}.offers .visual-title{font-size:20px}.offers .visual-title small{font-size:5px}.articles h3 br{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
[hidden]{display:none!important}.work-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-top:25px;padding-bottom:22px;border-bottom:1px solid var(--line)}.work-tabs button{border:1px solid transparent;background:none;color:var(--muted);border-radius:30px;font-size:12px;padding:9px 18px}.work-tabs button:hover{border-color:var(--line);color:var(--ink)}.work-tabs button[aria-selected=true]{background:var(--orange);color:white}.contact-links{display:flex;gap:30px;flex-wrap:wrap;margin-top:28px;font-size:14px}.contact-links a{border-bottom:1px solid var(--ink);padding-bottom:5px}.contact-links a:hover{color:var(--orange)}.article-foot>a{color:var(--orange);font-size:12px}.narrative-visual{padding-top:32px;padding-bottom:22px}.narrative-visual .visual-title{font-size:17px;font-weight:500;letter-spacing:-.3px}.narrative-title{font-family:Manrope,sans-serif;font-size:clamp(27px,3vw,39px);letter-spacing:-1.4px;line-height:1.15;margin:38px 0 30px;max-width:400px}.narrative-steps{display:flex;gap:8px}.narrative-steps>span{display:block;background:#ffffff20;border:1px solid #ffffff35;padding:14px 10px;flex:1;font-size:10px;line-height:1.5;border-radius:4px}.narrative-steps i{display:block;font-style:normal;font-size:8px;opacity:.65;margin-bottom:8px}.system .narrative-steps>span{background:#fff;border-color:var(--line)}.plant{background:#eaf1e4;color:#334c2c}.plant .narrative-steps>span{background:#ffffffa0;border-color:#cad8bf}.narrative-visual .visual-footer{margin-top:30px}@media(max-width:760px){.work-tabs button{font-size:11px;padding:8px 12px}.work-tabs{gap:3px}.contact-links{gap:20px;font-size:13px}.narrative-title{font-size:31px}.narrative-steps>span{font-size:9px}}
/* A shared frame across every homepage project category. */
.project-visual{aspect-ratio:4/3;position:relative;display:flex;flex-direction:column;justify-content:center;padding:28px 28px 54px}.project-visual>.visual-footer{position:absolute;left:28px;right:28px;bottom:20px;margin:0;min-height:12px;justify-content:flex-start;gap:16px}.project-visual>img{margin:0;max-height:100%;min-height:0;object-fit:contain;flex:1;box-shadow:0 14px 35px #00246730}.offer-composition{padding:0;min-height:0}.system-preview{margin:0;min-height:0}.narrative-title{margin:0 0 26px;font-size:clamp(24px,2.7vw,37px)}.narrative-steps{flex-shrink:0}.narrative-visual .visual-footer{margin:0}.visual-footer{line-height:1.4}
@media(max-width:760px){.project-visual{padding:20px 20px 44px;aspect-ratio:4/3}.project-visual>.visual-footer{left:20px;right:20px;bottom:16px;font-size:7px}.narrative-title{font-size:27px;letter-spacing:-1px;margin-bottom:18px}.narrative-steps>span{padding:9px 7px;font-size:8px}.narrative-steps i{font-size:7px;margin-bottom:5px}.narrative-steps{gap:6px}.module b{font-size:20px;margin:12px 0}.module{padding:14px}.offer-lines i{margin-top:7px}.type-sample{font-size:56px}.system-preview{padding-bottom:90px}.system-preview>img{max-height:135px}.visual-footer small{font-size:5px}}@media(max-width:380px){.narrative-title{font-size:24px}.narrative-steps>span{font-size:7px;padding:7px 6px}.module b{font-size:18px}.offer-pill{font-size:7px}.system-preview>img{max-height:110px}}

.hero>.eyebrow{margin-bottom:36px}

.hero>.eyebrow i{animation:calm-pulse 3.8s ease-in-out infinite;flex-shrink:0}
@keyframes calm-pulse{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(226,97,61,0);opacity:.9}50%{transform:scale(1.15);box-shadow:0 0 0 5px rgba(226,97,61,.12);opacity:1}}
@media(prefers-reduced-motion:reduce){.hero>.eyebrow i{animation:none}}

.mockup-image{width:100%;border-radius:14px;overflow:hidden;box-shadow:0 14px 35px #00246725;line-height:0;flex:0 1 auto;min-height:0}.mockup-image img{display:block;width:100%;height:auto;border-radius:inherit}.offers .mockup-image{box-shadow:0 14px 35px #4323a025}@media(max-width:760px){.mockup-image{border-radius:10px}}

.system-preview{padding-bottom:0;min-height:0}.lffy-phone{height:100%;min-height:0;display:flex;justify-content:center;align-items:center}.lffy-phone img{height:100%;width:auto;max-width:65%;object-fit:contain;border-radius:22px;border:5px solid #20231f;box-shadow:0 15px 30px #20231f25}.plant .lffy-phone{padding:0 0 0}.plant.project-visual{padding-top:24px}@media(max-width:760px){.lffy-phone img{border-radius:14px;border-width:3px}.plant.project-visual{padding-top:16px}}
/* Improve small-label legibility while retaining the existing hierarchy. */
.project-copy small{font-size:11px}.tags{font-size:10px}.visual-footer{font-size:9px}.hero-foot{font-size:11px}.personal span{font-size:9px}.mockup-image{border-radius:5px}
@media(max-width:760px){.hero-foot{font-size:9px}.project-visual>.visual-footer{font-size:9px}.mockup-image{border-radius:5px}}

.eyebrow{font-size:12px}.articles small{font-size:11px}footer>small{font-size:12px}@media(max-width:760px){.eyebrow{font-size:10px}}

.project-visual>.matched-hero-image{display:block;width:100%;height:auto;max-height:100%;object-fit:contain;border-radius:5px;flex:0 1 auto}.matched-hero-phones{display:flex;align-items:center;justify-content:center;gap:3%;height:100%;min-height:0}.matched-hero-phones img{display:block;width:auto;max-width:29%;height:auto;max-height:95%;object-fit:contain;border-radius:12px;box-shadow:0 12px 24px #20231f25;transition:transform .4s}.matched-hero-phones img:nth-child(2){transform:translateY(8px)}.matched-hero-phones img:nth-child(3){transform:translateY(-5px)}.project-visual:hover .matched-hero-phones img{transform:translateY(-5px)}@media(max-width:760px){.matched-hero-phones img{border-radius:6px}}
