:root{--ink:#22262f;--mid:#626873;--paper:#faf9f5;--line:#d5d8da;--blue:#93b8e8;--peach:#f2b79e;--green:#a7cca6;--yellow:#ebcc74;--serif:Stringer,"Times New Roman",sans-serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5}a{color:inherit}.floating-nav{position:fixed;z-index:100;top:18px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:4px;padding:5px;background:rgba(34,38,47,.93);border-radius:999px;color:#fff;box-shadow:0 10px 35px rgba(20,24,32,.2);backdrop-filter:blur(12px)}.floating-nav a{text-decoration:none;padding:9px 16px;border-radius:999px;font-size:.88rem}.floating-nav a:hover{background:#fff;color:var(--ink)}.floating-nav .home-link{display:grid;place-items:center;width:36px;height:36px;padding:0;background:var(--yellow);color:var(--ink);font-weight:700}.hero,main,footer{width:min(1320px,calc(100% - 40px));margin:auto}.hero{min-height:740px;padding:170px 4vw 100px;display:grid;grid-template-columns:1.1fr 1fr .8fr;gap:5vw;align-items:end}.kicker,.label{font-size:.72rem;text-transform:uppercase;letter-spacing:.13em;font-weight:600}.kicker{color:var(--mid);margin:0 0 18px}.hero h1,.feature-copy h2,.about h2{font-family:var(--serif);font-weight:400;line-height:.82;letter-spacing:-.055em;margin:0}.hero h1{font-size:clamp(5rem,10vw,9.5rem)}.hero-intro>p{font-family:var(--serif);font-size:clamp(1.65rem,2.5vw,2.65rem);line-height:1.08;margin:0 0 42px;letter-spacing:-.025em}.profile-row{display:flex;align-items:center;gap:14px}.profile-row img{width:54px;height:54px;border-radius:50%;object-fit:cover}.profile-row div{display:grid}.profile-row span{font-size:.82rem;color:var(--mid);line-height:1.45}.start-card{align-self:end}.start-card>.label{color:var(--mid);margin:0 0 14px}.start-card a{display:flex;gap:15px;align-items:center;padding:15px 2px;border-bottom:1px solid var(--line);text-decoration:none}.start-card a:first-of-type{border-top:1px solid var(--line)}.start-card a:hover{padding-left:8px}.start-card a span{font-size:.72rem;color:var(--mid)}.featured,.all-work{padding-bottom:110px}.section-rule{display:flex;align-items:center;gap:20px;margin-bottom:28px;text-transform:uppercase;letter-spacing:.13em;font-size:.72rem;font-weight:600}.section-rule i{display:block;flex:1;height:1px;background:var(--line)}.feature-card{min-height:620px;margin:0 0 24px;border-radius:28px;padding:clamp(28px,5vw,70px);display:grid;grid-template-columns:.75fr 1.25fr;gap:5vw;align-items:center;overflow:hidden}.feature-blue{background:var(--blue)}.feature-peach{background:var(--peach)}.feature-green{background:var(--green)}.feature-copy h2{font-size:clamp(4rem,7vw,7rem);margin:18px 0 30px}.feature-copy>p:not(.label){font-size:1.15rem;max-width:430px}.feature-image{display:block;align-self:stretch;border-radius:18px;overflow:hidden;background:#fff}.feature-image img{width:100%;height:100%;min-height:460px;object-fit:cover;display:block;transition:transform .5s ease}.feature-image:hover img{transform:scale(1.025)}.pill-button{display:inline-flex;align-items:center;gap:25px;margin-top:24px;padding:12px 16px 12px 20px;background:#fff;border-radius:999px;text-decoration:none;font-weight:600;font-size:.9rem}.pill-button span{font-size:1.15rem}.pill-button.dark{background:var(--ink);color:#fff}.all-work{padding-top:30px}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.work-card{display:block;text-decoration:none}.work-image{height:440px;border-radius:22px;overflow:hidden;background:#ddd}.work-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}.work-card:hover img{transform:scale(1.025)}.work-meta{display:flex;justify-content:space-between;gap:20px;padding:17px 4px 30px}.work-meta h3{font-family:var(--serif);font-weight:400;font-size:1.7rem;line-height:1;margin:0}.work-meta p{color:var(--mid);margin:7px 0 0;font-size:.9rem}.work-meta>span{font-size:1.4rem}.center-link{display:table;margin:35px auto 0;text-underline-offset:6px;font-weight:600}.about{margin-bottom:24px;padding:clamp(45px,7vw,100px);border-radius:28px;background:var(--yellow);display:grid;grid-template-columns:1fr 1fr;gap:10vw}.about h2{font-size:clamp(4.2rem,8vw,8rem);margin-top:28px}.about-copy{align-self:end}.about-copy p{font-family:var(--serif);font-size:clamp(1.4rem,2.2vw,2.15rem);line-height:1.15;margin:0 0 24px}footer{padding:65px 4vw;display:flex;justify-content:space-between;align-items:center}footer .profile-row img{width:46px;height:46px}.footer-links{display:flex;flex-wrap:wrap;gap:25px}.footer-links a{text-underline-offset:5px;font-size:.9rem}
@media(max-width:900px){.hero{min-height:0;padding-top:140px;grid-template-columns:1fr 1fr}.hero-name{grid-column:1/-1}.hero-intro>p{max-width:620px}.feature-card{grid-template-columns:1fr;min-height:0}.feature-image{height:500px}.feature-image img{min-height:0}.about{gap:5vw}}
@media(max-width:650px){.hero,main,footer{width:min(100% - 24px,1320px)}.floating-nav{top:auto;bottom:14px}.floating-nav a{padding:9px 12px}.hero{padding:95px 8px 70px;grid-template-columns:1fr;gap:45px}.hero-name{grid-column:auto}.hero h1{font-size:clamp(4.5rem,25vw,7rem)}.hero-intro>p{font-size:1.75rem}.profile-row img{width:48px;height:48px}.feature-card{border-radius:20px;padding:26px;gap:30px;margin-bottom:14px}.feature-copy h2{font-size:3.8rem}.feature-image{height:340px;border-radius:13px}.work-grid{grid-template-columns:1fr;gap:10px}.work-image{height:330px;border-radius:16px}.about{grid-template-columns:1fr;padding:38px 26px 50px;border-radius:20px}.about h2{font-size:4.2rem}.about-copy{margin-top:40px}footer{padding:50px 5px 100px;align-items:flex-start;gap:30px}.footer-links{display:grid;gap:10px}}
body{background:linear-gradient(180deg,#faf9f5 0%,#f2f2ec 25%,#e9e9e4 50%,#dadad5 100%) fixed}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.feature-image img,.work-image img{transition:none}}

.feature-blue,.feature-peach,.feature-green{background:linear-gradient(180deg,#4e524b 0%,#394039 34%,#1f261d 68%,#081008 100%);color:#fff}.feature-card .label{color:#c9cec7}.feature-card .pill-button{color:var(--ink)}
.all-work{width:100vw;max-width:none;margin-left:50%;transform:translateX(-50%);overflow:hidden;padding:100px 0 120px}.all-work-title{display:flex;align-items:flex-start;justify-content:center;gap:10px;margin-bottom:75px}.all-work-title h2{font-family:var(--serif);font-size:clamp(5rem,9vw,9rem);font-weight:400;letter-spacing:-.055em;line-height:.8;margin:0}.all-work-title sup{font-size:.85rem;font-weight:600;margin-top:2px}.work-carousel{width:100%;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory}.work-carousel::-webkit-scrollbar{display:none}.work-track{display:flex;align-items:center;gap:38px;width:max-content;padding:24px calc(50vw - 180px) 42px}.work-card{display:block;flex:0 0 360px;text-decoration:none;text-align:center;opacity:.25;transform:scale(.78);transition:opacity .4s ease,transform .4s ease;scroll-snap-align:center}.work-card.is-active{opacity:1;transform:scale(1)}.work-image{height:430px;border-radius:32px;overflow:hidden;background:#ddd;box-shadow:0 22px 45px rgba(24,28,24,.16)}.work-image img{width:100%;height:100%;object-fit:cover;display:block}.work-card h3{font-family:var(--sans);font-size:1.55rem;font-weight:600;line-height:1.1;margin:28px 0 15px}.work-tags{min-height:48px;display:flex;justify-content:center;flex-wrap:wrap;gap:7px;opacity:0;transition:opacity .25s ease}.work-card.is-active .work-tags{opacity:1}.work-tags span{padding:4px 9px;border-radius:999px;background:rgba(255,255,255,.72);font-family:monospace;font-size:.72rem;letter-spacing:.06em}.carousel-controls{width:min(1420px,calc(100% - 70px));margin:45px auto 0;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:35px}.carousel-button{border:1px solid #b7bbb5;background:rgba(255,255,255,.38);border-radius:999px;padding:14px 28px;color:var(--ink);font:600 .78rem var(--sans);text-transform:uppercase;letter-spacing:.08em;cursor:pointer}.carousel-button:hover{background:#fff}.carousel-button span{margin:0 8px}.carousel-progress{height:2px;background:#b9bdb7;overflow:hidden}.carousel-progress i{display:block;width:60%;height:100%;background:#454b43;transition:width .35s ease}.all-work .center-link{margin-top:55px}
@media(max-width:650px){.all-work{padding:70px 0 90px}.all-work-title{margin-bottom:35px}.all-work-title h2{font-size:4.7rem}.work-track{gap:14px;padding-left:calc(50vw - 135px);padding-right:calc(50vw - 135px)}.work-card{flex-basis:270px;opacity:.2;transform:scale(.88)}.work-image{height:340px;border-radius:22px}.work-card h3{font-size:1.3rem;margin-top:20px}.carousel-controls{width:calc(100% - 30px);gap:14px}.carousel-button{padding:12px 16px}.carousel-button span{display:none}}

/* Homepage hero */
.hero-nav{position:fixed;top:36px;width:min(1580px,calc(100% - 10vw));height:78px;padding:0 45px;justify-content:space-between;background:rgba(224,224,219,.92);box-shadow:none;color:#4c514a;border-radius:999px;backdrop-filter:blur(14px);transition:top .35s cubic-bezier(.22,1,.36,1),height .35s cubic-bezier(.22,1,.36,1),padding .35s cubic-bezier(.22,1,.36,1),background-color .3s ease,box-shadow .3s ease}
.hero-nav.is-scrolled{top:10px;height:58px;padding:0 28px;background:rgba(224,224,219,.98);box-shadow:0 10px 30px rgba(34,38,47,.12)}
.hero-nav.is-scrolled a{padding-top:14px;padding-bottom:14px}
.hero-nav.is-scrolled .home-link{width:38px;height:38px;padding:0}
.hero-nav a{padding:20px 28px;font-family:monospace;font-size:.9rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.hero-nav .home-link{width:42px;height:42px;padding:0;background:transparent;color:#4c514a;font-family:var(--sans);font-size:1.3rem}
.hero-nav .home-link span{display:grid;place-items:center;width:100%;height:100%;line-height:1;transform:translateY(-1px)}
.hero-nav a:hover{background:rgba(255,255,255,.65);color:var(--ink)}
.nav-links{display:contents}.menu-toggle{display:none}
.homepage .hero{width:min(1580px,calc(100% - 10vw));min-height:100vh;padding:240px 0 100px;grid-template-columns:1.15fr .85fr;grid-template-rows:1fr auto;column-gap:10vw;row-gap:75px;align-items:end}
.homepage .hero-name{grid-column:1/-1;align-self:center}
.homepage .hero h1{font-size:clamp(4.76rem,8.84vw,8.84rem);line-height:.78;color:#393d37}
.homepage .hero-intro{max-width:680px}
.homepage .hero-intro>p{font-size:clamp(2rem,3.1vw,3.15rem);line-height:1.3;margin-bottom:48px;color:#454a43}
.homepage .start-card{align-self:end;padding-bottom:2px}
.homepage .start-card>.label{font-family:monospace;font-size:.72rem;letter-spacing:.13em;color:#5d635c}
.homepage .start-card a{gap:22px;padding:9px 0;border:0;font-family:var(--serif);font-size:clamp(1.15rem,1.55vw,1.55rem);color:#62685f;transition:transform .38s cubic-bezier(.22,1,.36,1),color .25s ease}
.homepage .start-card a:first-of-type{border:0}
.homepage .start-card a:hover{padding-left:0;transform:translateX(7px);color:var(--ink)}
.homepage .start-card .start-icon{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border:1px solid #bfc2bb;border-radius:8px;color:#565d55;font-family:var(--sans);font-size:1rem;transition:transform .38s cubic-bezier(.22,1,.36,1),background-color .25s ease,border-color .25s ease}.homepage .start-card a:hover .start-icon{transform:translateX(2px) scale(1.04);background:rgba(255,255,255,.65);border-color:#969c94}
.homepage .profile-row span{text-transform:uppercase;font-family:monospace;font-size:.76rem;letter-spacing:.09em}
@media(max-width:900px){.hero-nav{width:calc(100% - 40px);padding:0 18px}.homepage .hero{width:calc(100% - 40px);padding-top:190px;grid-template-columns:1fr;grid-template-rows:auto}.homepage .hero-name{grid-column:auto}.homepage .hero h1{font-size:clamp(4.08rem,13.6vw,6.8rem)}.homepage .hero-intro{max-width:720px}.homepage .start-card{width:min(100%,620px)}}
@media(max-width:650px){.hero-nav{position:fixed;top:20px;bottom:auto;left:12px;right:12px;transform:none;width:auto;height:56px;padding:7px 9px;justify-content:space-between;background:#e0e0db;color:#4c514a;box-shadow:0 10px 30px rgba(34,38,47,.1);backdrop-filter:none}.hero-nav.is-scrolled{top:8px;height:50px;padding:5px 8px}.hero-nav .home-link{position:relative;z-index:3;width:40px;height:40px;background:transparent;color:#4c514a;font-size:1rem}.hero-nav.is-scrolled .home-link{width:36px;height:36px}.menu-toggle{position:relative;z-index:3;display:flex;align-items:center;gap:9px;border:0;border-radius:999px;padding:10px 13px;background:transparent;color:#4c514a;font:600 .82rem var(--sans);cursor:pointer}.menu-toggle span{font-size:1rem;transition:transform .35s ease}.hero-nav.is-open .menu-toggle span{transform:rotate(90deg)}.nav-links{position:fixed;z-index:2;display:flex;flex-direction:column;justify-content:center;gap:14px;top:0;right:0;bottom:auto;width:min(84vw,380px);height:100dvh;min-height:100vh;padding:125px 24px 50px;background:#e0e0db;border-radius:30px 0 0 30px;box-shadow:-24px 0 60px rgba(34,38,47,.16);transform:translateX(105%);visibility:hidden;pointer-events:none;transition:transform .42s cubic-bezier(.22,1,.36,1),visibility .42s}.hero-nav.is-open .nav-links{transform:translateX(0);visibility:visible;pointer-events:auto}.hero-nav .nav-links a{width:100%;padding:17px 18px;border-radius:14px;color:#4c514a;font-family:monospace;font-size:1rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.hero-nav .nav-links a:hover,.hero-nav .nav-links .is-current{background:#fff;color:var(--ink)}.homepage .hero{width:calc(100% - 24px);min-height:auto;padding:105px 8px 85px;gap:55px}.homepage .hero h1{font-size:clamp(3.4rem,17.68vw,4.76rem)}.homepage .hero-intro>p{font-size:1.8rem;line-height:1.18}.homepage .start-card a{font-size:1.25rem}.homepage .start-card .start-icon{flex-basis:44px;width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){.nav-links,.menu-toggle span,.homepage .start-card a,.homepage .start-card .start-icon{transition:none}.homepage .start-card a:hover,.homepage .start-card a:hover .start-icon{transform:none}}

/* Keep the shared navigation distinct from the page gradient */
.hero-nav,.hero-nav.is-scrolled{background:linear-gradient(180deg,rgba(46,51,47,.98) 0%,rgba(91,98,91,.97) 100%);color:#fff;border:1px solid rgba(255,255,255,.18);box-shadow:0 12px 34px rgba(22,27,23,.24)}
.hero-nav .home-link,.hero-nav.is-scrolled .home-link{color:#fff}
.hero-nav a:hover{background:rgba(255,255,255,.9);color:var(--ink)}
.hero-nav.has-sliding-highlight .nav-links a.is-highlighted,.hero-nav.has-sliding-highlight .home-link.is-highlighted{color:var(--ink)}
@media(max-width:650px){.hero-nav,.hero-nav.is-scrolled{background:linear-gradient(180deg,#2e332f 0%,#5b625b 100%);color:#fff;box-shadow:0 14px 36px rgba(22,27,23,.28)}.hero-nav .home-link,.hero-nav.is-scrolled .home-link,.menu-toggle{color:#fff}.nav-links{background:linear-gradient(180deg,#2e332f 0%,#697168 100%)}.hero-nav .nav-links a{color:#fff}.hero-nav .nav-links a:hover,.hero-nav .nav-links .is-current{background:#fff;color:var(--ink)}}

/* Impact and platform details */
.impact{padding:30px 0 120px}.impact h2{max-width:900px;margin:0 0 55px;font-family:var(--serif);font-size:clamp(3rem,6vw,6rem);font-weight:400;line-height:.95;letter-spacing:-.045em}.impact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.impact-grid article{min-height:235px;padding:28px;border:1px solid rgba(34,38,47,.13);border-radius:22px;background:rgba(255,255,255,.34);display:flex;flex-direction:column;justify-content:space-between}.impact-grid strong{font-family:var(--serif);font-size:clamp(3.5rem,6vw,6rem);font-weight:400;line-height:1}.impact-grid p{margin:30px 0 0;color:var(--mid);font-size:.95rem}.platform-row{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:22px}.platform{display:inline-flex;align-items:center;gap:9px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.15);font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.platform img{width:20px;height:20px;object-fit:contain}.feature-email{background:linear-gradient(180deg,#4a4054 0%,#302938 38%,#19151f 70%,#09070c 100%);color:#fff}.feature-email .label{color:#d4ccd9}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
@media(max-width:900px){.impact-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.impact{padding:0 0 80px}.impact-grid{grid-template-columns:1fr}.impact-grid article{min-height:190px}.impact h2{margin-bottom:35px}.platform{background:rgba(255,255,255,.12)}}

/* Stacked featured projects */
.impact-grid p b{color:var(--ink);font-weight:600}
.impact-grid article{position:relative;transition:transform .3s ease,box-shadow .3s ease}.impact-border{position:absolute;inset:0;z-index:1;width:100%;height:100%;overflow:visible;pointer-events:none}.impact-border rect{fill:none;stroke:var(--ink);stroke-width:3;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:400;stroke-dashoffset:400;opacity:0;transition:stroke-dashoffset .85s cubic-bezier(.22,1,.36,1),opacity .12s ease}.impact-grid article:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(34,38,47,.1)}.impact-grid article:hover .impact-border rect{stroke-dashoffset:0;opacity:1}
@media(min-width:901px){.featured{position:relative;padding-bottom:0}.featured::after{content:"";display:block;height:calc(100svh - 108px)}.featured .section-rule{position:sticky;top:18px;z-index:8;margin-bottom:18px;padding:12px 0;background:transparent;backdrop-filter:none}.featured .feature-card{position:sticky;top:84px;height:calc(100svh - 108px);min-height:0;max-height:720px;margin-bottom:12vh;box-shadow:0 28px 70px rgba(8,16,8,.2);transform-origin:center top}.featured .feature-image img{min-height:0}.featured .feature-card:nth-of-type(1){z-index:1}.featured .feature-card:nth-of-type(2){z-index:2}.featured .feature-card:nth-of-type(3){z-index:3}.featured .feature-card:nth-of-type(4){z-index:4}.featured .feature-card:last-child{margin-bottom:0}}
@media(min-width:901px) and (max-height:700px){.featured .feature-card{padding:38px}.featured .feature-copy h2{font-size:clamp(3.4rem,6vw,5rem);margin:12px 0 20px}.featured .feature-copy>p:not(.label){font-size:1rem}.featured .platform-row{margin-bottom:14px}}
@media(prefers-reduced-motion:reduce){.impact-grid article{transition:none}.impact-grid article:hover{transform:none}.impact-border rect{transition:none}.impact-grid article:hover .impact-border rect{stroke-dashoffset:0;opacity:1}}

/* Editorial summaries for recent client projects */
.feature-heather,.feature-omni{background:#e7dfee}.feature-summary{display:flex;flex-direction:column;justify-content:center;gap:24px;align-self:stretch;padding:clamp(24px,4vw,52px);border-radius:18px;background:rgba(255,255,255,.55);text-decoration:none}.feature-summary>p{margin:0}.feature-summary>div{border-top:1px solid rgba(34,38,47,.18);padding-top:18px}.feature-summary span{font-size:.75rem;color:var(--mid)}.feature-summary h3{font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.8rem);font-weight:400;line-height:1.1;margin:8px 0}.feature-summary div p{margin:0;color:var(--mid)}.feature-summary:hover{background:rgba(255,255,255,.75)}
@media(min-width:901px){.featured .feature-card:nth-of-type(5){z-index:5}}
@media(max-width:650px){.feature-summary{gap:18px}.feature-copy h2{overflow-wrap:break-word}}

.impact-context{max-width:820px;margin:24px 0 0;font-size:.85rem;color:var(--mid)}

.all-work[hidden]{display:none}.featured{scroll-margin-top:100px}

/* One background moves between navigation links. */
.nav-highlight{position:absolute;top:0;left:0;display:block;border-radius:999px;background:rgba(255,255,255,.75);pointer-events:none;opacity:0;transition:transform .32s cubic-bezier(.22,1,.36,1),width .32s cubic-bezier(.22,1,.36,1),height .25s ease,opacity .18s ease;z-index:0}
.nav-highlight.is-visible{opacity:1}
.hero-nav.has-sliding-highlight .nav-links a{position:relative;z-index:1;transition:color .2s ease}
.hero-nav.has-sliding-highlight .nav-links a:hover,.hero-nav.has-sliding-highlight .nav-links a.is-current{background:transparent}
.hero-nav.has-sliding-highlight .nav-links a.is-highlighted{color:var(--ink)}
.hero-nav.has-sliding-highlight .nav-links a.is-current:not(.is-highlighted),.hero-nav.has-sliding-highlight .home-link.is-current:not(.is-highlighted){color:#fff}
@media(max-width:650px){.nav-highlight{border-radius:14px;background:#fff}}
@media(prefers-reduced-motion:reduce){.nav-highlight,.hero-nav.has-sliding-highlight .nav-links a{transition:none}}

.hero-nav.has-sliding-highlight .home-link{position:relative;z-index:3;transition:color .2s ease}
.hero-nav.has-sliding-highlight .home-link:hover{background:transparent}
.hero-nav.has-sliding-highlight .home-link.is-highlighted{color:var(--ink)}

/* Navigation weight and roomier hover targets */
@media(min-width:651px){.hero-nav a{padding-left:32px;padding-right:32px}.hero-nav .home-link,.hero-nav.is-scrolled .home-link{width:46px;height:46px;padding:0;font-size:1.48rem;font-weight:900}.hero-nav.is-scrolled .home-link{width:42px;height:42px}}

/* Keep Omni within the shared, subtly shifting project palette */
.feature-omni{background:linear-gradient(180deg,#00788f 0%,#006174 34%,#003e4a 68%,#001d23 100%);color:#fff}.feature-omni .label{color:#c9e4e8}.feature-omni-image{background:#e8ebe7;box-shadow:0 24px 55px rgba(0,34,41,.28)}.feature-omni-image img{object-position:top center}
.homepage .featured .feature-blue{background:linear-gradient(180deg,#1a326c 0%,rgb(11,23,58) 36%,#08122f 70%,#030817 100%);color:#fff}.homepage .featured .feature-blue .label{color:#cbd3e8}

/* Keep the desktop introduction within the opening viewport. */
.homepage .hero{position:relative;isolation:isolate}
.hero-art{position:absolute;z-index:-1;pointer-events:none;top:130px;right:0;width:min(60vw,820px);height:min(58svh,560px);background:radial-gradient(ellipse at 62% 45%,rgba(177,187,153,.16),transparent 65%),radial-gradient(ellipse at 80% 25%,rgba(226,207,135,.13),transparent 52%);mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 70%,transparent)}
.hero-art svg{width:100%;height:100%;stroke:#84917b;stroke-width:1;opacity:.28}
@media(max-width:900px){.hero-art{top:120px;width:85vw;height:400px;opacity:.6}}
@media(max-width:650px){.hero-art{top:70px;height:280px;opacity:.45}}
@media(min-width:901px){
  .homepage .hero{min-height:100svh;padding:clamp(125px,18svh,160px) 0 clamp(24px,4svh,40px);grid-template-rows:1fr auto;row-gap:12px;column-gap:7vw}
  .homepage .hero-name{align-self:end}
  .homepage .hero h1{font-size:clamp(4rem,min(8.84vw,16svh),8.84rem)}
  .homepage .hero-intro>p{font-size:clamp(1.5rem,min(2.7vw,4.2svh),2.65rem);line-height:1.18;margin-bottom:clamp(18px,3svh,28px)}
  .homepage .start-card a{padding:6px 0;font-size:clamp(1.05rem,1.4vw,1.4rem)}
  .homepage .start-card .start-icon{flex-basis:42px;width:42px;height:42px}
  .homepage .start-card>.label{margin-top:0;margin-bottom:10px}
}

/* Homepage services overview */
.home-services{padding:70px 0 110px;scroll-margin-top:100px}.home-services-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:6vw;align-items:end;margin:42px 0}.home-services-heading h2{font-family:var(--serif);font-size:clamp(2.5rem,4.7vw,4.5rem);font-weight:400;line-height:1.04;letter-spacing:-.04em;margin:0}.home-services-heading>p{font-size:1.1rem;max-width:430px;color:var(--mid);margin:0}.home-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.home-services-grid article{display:flex;flex-direction:column;padding:clamp(24px,3vw,40px);border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.4)}.home-services-grid .label{color:var(--mid);margin:0 0 26px}.home-services-grid h3{font-family:var(--serif);font-size:clamp(1.8rem,2.6vw,2.6rem);font-weight:400;letter-spacing:-.03em;line-height:1.08;margin:0 0 24px}.home-services-grid article>p:not(.label){color:var(--mid);margin:0 0 24px;line-height:1.6}.home-services-grid .service-tools{font-size:.8rem;padding-top:18px;border-top:1px solid var(--line)}.home-services-grid a{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;text-decoration:none;font-size:.9rem;font-weight:600}.home-services-grid a:hover{text-decoration:underline;text-underline-offset:5px}
@media(max-width:1000px){.home-services-grid{grid-template-columns:1fr}.home-services-grid h3 br{display:none}.home-services-grid article{padding:30px}.home-services-heading{grid-template-columns:1fr;gap:24px}}
@media(max-width:650px){.home-services{padding:50px 0 75px}.home-services-heading{margin:28px 0}.home-services-grid{gap:14px}.home-services-grid article{padding:26px}}

/* Shared closing CTA for portfolio case studies */
.project-cta{margin:24px 0 35px;padding:clamp(70px,8vw,115px) 4vw;text-align:center;border-radius:28px;background:rgba(255,255,255,.42)}
.project-cta .eyebrow{margin:0 0 18px}.project-cta h2{max-width:1000px;margin:0 auto 30px;font-family:var(--serif);font-size:clamp(3.5rem,7vw,7rem);font-weight:400;letter-spacing:-.055em;line-height:.9}.project-cta .pill-button{color:#fff}

/* Shared site footer */
body>footer.site-footer{width:min(1320px,calc(100% - 40px));margin:auto;padding:58px 4vw 42px;display:grid;gap:34px;border-top:1px solid var(--line)}
.site-footer-top,.site-footer-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:30px}.site-footer-top>div{display:grid;gap:7px}.site-footer-top strong{font-family:var(--serif);font-size:1.65rem;font-weight:400}.site-footer-top span,.site-footer-meta{color:var(--mid);font-size:.78rem;line-height:1.5}.site-footer-email{text-underline-offset:5px}.site-footer-links{display:flex;flex-wrap:wrap;gap:12px 28px;padding:25px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.site-footer-links a{font-size:.88rem;font-weight:600;text-decoration:none}.site-footer-links a:hover{text-decoration:underline;text-underline-offset:5px}.site-footer-meta{align-items:center}
@media(max-width:650px){.project-cta{padding:65px 24px;border-radius:20px}.project-cta h2{font-size:3.5rem}.site-footer-top,.site-footer-meta{display:grid;gap:14px}.site-footer-links{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px}body>footer.site-footer{width:calc(100% - 24px);padding:48px 12px 100px}}

/* Decorative hero artwork shared by interior pages */
.services-hero,.about-hero,.contact-hero{position:relative;isolation:isolate;overflow:hidden}.services-hero>*,.about-hero>*,.contact-hero>*{position:relative;z-index:1}.interior-hero-art{position:absolute!important;z-index:-1!important;pointer-events:none;top:15px;right:-4vw;width:min(62vw,820px);height:min(58svh,560px);background:radial-gradient(ellipse at 62% 45%,rgba(177,187,153,.18),transparent 65%),radial-gradient(ellipse at 80% 25%,rgba(226,207,135,.14),transparent 52%);mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 72%,transparent)}.interior-hero-art svg{width:100%;height:100%;stroke:#84917b;stroke-width:1;opacity:.3}
@media(max-width:900px){.interior-hero-art{top:40px;right:-20vw;width:90vw;height:420px;opacity:.6}}
@media(max-width:650px){.interior-hero-art{top:10px;right:-38vw;height:300px;opacity:.42}}

/* Homepage about overview */
.about.home-about{position:relative;overflow:hidden;margin:30px 0 24px;padding:clamp(42px,6vw,84px);border:1px solid rgba(34,38,47,.08);border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.62),rgba(220,224,216,.58));display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);gap:clamp(45px,8vw,120px)}
.home-about-heading{display:flex;flex-direction:column;align-items:flex-start}.home-about-heading .label{margin:0 0 36px;color:var(--mid)}.about.home-about h2{font-size:clamp(3.8rem,6vw,6.5rem);line-height:.86;margin:0 0 38px}.home-about-heading>p:last-child{max-width:390px;margin:auto 0 0;color:var(--mid);font-size:1.05rem;line-height:1.65}.home-about-content{display:grid;gap:38px}.home-about-skills{display:grid}.home-about-skills article{display:grid;grid-template-columns:38px minmax(150px,.8fr) 1.2fr;gap:18px;padding:22px 0;border-top:1px solid rgba(34,38,47,.14)}.home-about-skills article:last-child{border-bottom:1px solid rgba(34,38,47,.14)}.home-about-skills span{font-size:.7rem;color:var(--mid)}.home-about-skills h3{margin:0;font-family:var(--serif);font-size:1.55rem;font-weight:400;line-height:1.05}.home-about-skills p{margin:0;color:var(--mid);font-size:.9rem;line-height:1.55}.home-about-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px}.home-about-stats>div{padding:25px;border-radius:18px;background:rgba(255,255,255,.58)}.home-about-stats strong{display:block;font-family:var(--serif);font-size:clamp(3.4rem,5vw,5.3rem);font-weight:400;line-height:.85}.home-about-stats span{display:block;max-width:24ch;margin-top:14px;color:var(--mid);font-size:.8rem;line-height:1.45}.home-about-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px 28px}.home-about-actions .pill-button{margin-top:0}.home-about-link{text-underline-offset:6px;font-weight:600;font-size:.9rem}
@media(max-width:900px){.about.home-about{grid-template-columns:1fr}.home-about-heading>p:last-child{margin-top:0}.home-about-skills article{grid-template-columns:34px .8fr 1.2fr}}
@media(max-width:650px){.about.home-about{padding:38px 24px 48px;border-radius:20px;gap:45px}.about.home-about h2{font-size:4rem}.home-about-skills article{grid-template-columns:30px 1fr;gap:10px 14px}.home-about-skills p{grid-column:2}.home-about-stats{grid-template-columns:1fr}.home-about-stats strong{font-size:4rem}}

/* More open footer layout */
body>footer.site-footer{padding:70px 2vw 42px;gap:50px}.site-footer-main{display:grid;grid-template-columns:1fr .8fr 1fr;gap:clamp(45px,8vw,130px);align-items:start}.site-footer-identity{display:grid;gap:9px}.site-footer-identity strong{font-family:var(--serif);font-size:1.8rem;font-weight:400}.site-footer-identity span,.site-footer-contact>span{color:var(--mid);font-size:.78rem;line-height:1.55}.site-footer-links{display:grid;gap:11px;padding:0;border:0}.site-footer-contact{display:grid;justify-items:start;gap:10px}.site-footer-email{font-size:.9rem}.footer-copy{border:1px solid rgba(34,38,47,.2);border-radius:999px;padding:8px 13px;background:rgba(255,255,255,.45);color:var(--ink);font:600 .72rem var(--sans);cursor:pointer}.footer-copy:hover{background:#fff}.site-footer-meta{padding-top:24px;border-top:1px solid var(--line)}
@media(max-width:800px){.site-footer-main{grid-template-columns:1fr 1fr}.site-footer-contact{grid-column:1/-1}}
@media(max-width:650px){body>footer.site-footer{padding:50px 12px 100px;gap:38px}.site-footer-main{grid-template-columns:1fr;gap:32px}.site-footer-contact{grid-column:auto}.site-footer-links{grid-template-columns:1fr 1fr}.site-footer-meta{display:grid;gap:8px}}

/* Portrait and compact copy controls */
.home-about-profile{display:grid;grid-template-columns:114px 1fr;gap:22px;align-items:center;margin-top:auto}.home-about-profile img{width:114px;height:114px;border-radius:22px;object-fit:cover}.home-about-profile p{max-width:350px;margin:0;color:var(--mid);font-size:1rem;line-height:1.6}.site-footer-email-row{display:flex;align-items:center;gap:10px}.footer-copy{display:grid;place-items:center;width:38px;height:38px;padding:0;border-radius:50%}.copy-icon,.copy-check{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.copy-check{display:none}.is-copied .copy-icon{display:none}.is-copied .copy-check{display:block}
.site-footer-socials{display:flex;gap:9px;margin-top:5px}.site-footer .social-icon-link{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid rgba(34,38,47,.18);border-radius:50%;background:rgba(255,255,255,.35);text-decoration:none;transition:background .2s ease,transform .25s ease}.site-footer .social-icon-link:hover,.site-footer .social-icon-link:focus-visible{background:#fff;transform:translateY(-2px)}.site-footer .social-icon-link svg{width:17px;height:17px;fill:currentColor}.site-footer .social-icon-link svg circle,.site-footer .social-icon-link svg circle~path{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:900px){.home-about-profile{margin-top:0}}
@media(max-width:650px){.home-about-profile{grid-template-columns:96px 1fr}.home-about-profile img{width:96px;height:96px;border-radius:19px}}

/* Main navigation typography */
.hero-nav .nav-links a{font-family:"DM Sans",Arial,sans-serif;font-weight:400}.menu-toggle{font-family:"DM Sans",Arial,sans-serif;font-weight:400}
@media(max-width:650px){.hero-nav .home-link,.hero-nav.is-scrolled .home-link{font-size:1.5rem}.menu-toggle span{font-size:1.5rem}}

/* Let decorative hero artwork reach the browser edges */
body{overflow-x:clip}.homepage .hero,.services-hero,.about-hero,.contact-hero{overflow:visible}.hero-art,.interior-hero-art{right:calc((100vw - 100%)/-2);width:min(62vw,820px);max-width:none}
@media(max-width:900px){.hero-art,.interior-hero-art{right:calc((100vw - 100%)/-2);width:90vw}}
@media(max-width:650px){.hero-art,.interior-hero-art{right:calc((100vw - 100%)/-2);width:100vw}}

/* Clearer homepage starting points */
.homepage .start-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.homepage .start-actions a{justify-content:flex-start;min-height:62px;padding:9px 14px;border-radius:14px;font-family:var(--sans);font-size:.96rem;font-weight:600;white-space:nowrap}.homepage .start-actions a:hover{transform:translateY(-2px);padding-left:14px}.homepage .start-actions .start-primary{background:var(--ink);color:#fff}.homepage .start-actions .start-secondary{border:1px solid #bcc0b8;background:rgba(255,255,255,.52);color:var(--ink)}.homepage .start-actions .start-icon{flex:0 0 40px;width:40px;height:40px;border-color:rgba(255,255,255,.35);color:inherit}.homepage .start-actions .start-secondary .start-icon{border-color:#b6bbb2}.homepage .start-actions a:hover .start-icon{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.65)}.homepage .start-actions .start-secondary:hover .start-icon{background:#fff;border-color:#989f96}.homepage .start-support{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:13px}.homepage .start-support a{justify-content:space-between;gap:12px;padding:8px 2px;border-bottom:1px solid #c9ccc5;font-family:var(--sans);font-size:.85rem}.homepage .start-support a span{font-size:inherit;color:inherit}.homepage .start-support a:hover{transform:none;padding-left:2px;border-color:#858b83}
@media(max-width:650px){.homepage .start-actions{grid-template-columns:1fr}.homepage .start-actions a{font-size:.95rem}.homepage .start-support{grid-template-columns:1fr;gap:2px}}

/* Homepage hover motion */
.homepage .start-actions a,.homepage .pill-button{transition:transform .5s cubic-bezier(.34,1.56,.64,1),box-shadow .35s ease,background-color .25s ease,color .25s ease}.homepage .start-actions .start-primary:hover,.homepage .start-actions .start-primary:focus-visible{color:#fff;background:#303640;transform:scale(1.01);box-shadow:0 12px 24px rgba(34,38,47,.18)}.homepage .start-actions .start-secondary:hover,.homepage .start-actions .start-secondary:focus-visible{color:var(--ink);transform:scale(1.01);box-shadow:0 12px 24px rgba(34,38,47,.1)}.homepage .start-actions a:hover .start-icon,.homepage .start-actions a:focus-visible .start-icon{transform:translateX(4px) scale(1.04)}.homepage .pill-button:hover,.homepage .pill-button:focus-visible{transform:scale(1.015);box-shadow:0 14px 28px rgba(34,38,47,.18)}.homepage .pill-button.dark:hover,.homepage .pill-button.dark:focus-visible{background:#353b45;color:#fff}.homepage .pill-button span,.homepage .home-services-grid a span{display:inline-block;transition:transform .45s cubic-bezier(.34,1.56,.64,1)}.homepage .pill-button:hover span,.homepage .pill-button:focus-visible span,.homepage .home-services-grid a:hover span,.homepage .home-services-grid a:focus-visible span{transform:translateX(6px)}.homepage .home-services-grid a{transition:color .25s ease}.homepage .home-services-grid a:hover,.homepage .home-services-grid a:focus-visible{text-decoration:none}

/* Underlines exit right and return from the left */
.home-about-link,.homepage .start-support a,.site-footer-email{position:relative;text-decoration:none}.home-about-link::after,.homepage .start-support a::after,.site-footer-email::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:currentColor;transform:scaleX(1);transform-origin:left}.homepage .start-support a{border-bottom:0}.homepage .start-support a::after{bottom:0;background:#858b83}.home-about-link:hover::after,.home-about-link:focus-visible::after,.homepage .start-support a:hover::after,.homepage .start-support a:focus-visible::after,.site-footer-email:hover::after,.site-footer-email:focus-visible::after{animation:underline-sweep .58s cubic-bezier(.65,0,.35,1)}@keyframes underline-sweep{0%{transform:scaleX(1);transform-origin:right}45%{transform:scaleX(0);transform-origin:right}46%{transform:scaleX(0);transform-origin:left}100%{transform:scaleX(1);transform-origin:left}}
@media(prefers-reduced-motion:reduce){.homepage .start-actions a,.homepage .pill-button,.homepage .pill-button span,.homepage .home-services-grid a,.homepage .home-services-grid a span{transition:none}.homepage .start-actions a:hover,.homepage .start-actions a:focus-visible,.homepage .pill-button:hover,.homepage .pill-button:focus-visible,.homepage .home-services-grid a:hover,.homepage .home-services-grid a:focus-visible{transform:none}.home-about-link:hover::after,.home-about-link:focus-visible::after,.homepage .start-support a:hover::after,.homepage .start-support a:focus-visible::after,.site-footer-email:hover::after,.site-footer-email:focus-visible::after{animation:none}}

/* Unified dark and light button style */
.pill-button{min-height:64px;margin-top:24px;padding:9px 24px 9px 10px;flex-direction:row-reverse;justify-content:flex-end;gap:18px;border:1px solid #bdc2b8;border-radius:24px;background:#f7f7f4;color:var(--ink);box-shadow:none;transition:background-color .25s ease,color .25s ease,box-shadow .3s ease,transform .45s cubic-bezier(.34,1.56,.64,1)}.pill-button span{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:1px solid #b8beb4;border-radius:13px;font-size:1.15rem;transition:transform .45s cubic-bezier(.34,1.56,.64,1)}.pill-button.dark{border-color:var(--ink);background:var(--ink);color:#fff}.pill-button.dark span{border-color:rgba(255,255,255,.38)}.pill-button:hover,.pill-button:focus-visible{transform:scale(1.012);box-shadow:0 12px 24px rgba(34,38,47,.14)}.pill-button:hover span,.pill-button:focus-visible span{transform:translateX(5px)}.pill-button.dark:hover,.pill-button.dark:focus-visible{background:#343a44;color:#fff}.site-footer-links a,.site-footer-links a:hover,.site-footer-links a:focus-visible{text-decoration:none}.site-footer-links a::after{content:none!important}
@media(max-width:650px){.pill-button{min-height:58px;padding:7px 20px 7px 8px;border-radius:21px}.pill-button span{flex-basis:42px;width:42px;height:42px;border-radius:12px}}

/* Keep every button icon optically centered */
.pill-button span,.homepage .pill-button span{display:grid;place-items:center;text-align:center;line-height:1;padding:0}

/* Full width footer with aligned inner content */
body>footer.site-footer{width:100%;max-width:none;padding-left:clamp(24px,5vw,80px);padding-right:clamp(24px,5vw,80px)}
@media(max-width:650px){body>footer.site-footer{width:100%;padding-left:24px;padding-right:24px}}
.site-footer-main{grid-template-columns:minmax(260px,1.2fr) minmax(150px,.65fr) minmax(260px,1fr)}.site-footer-contact{justify-self:start;justify-items:start;min-width:0;text-align:left}.site-footer-email-row,.site-footer-socials{justify-content:flex-start}.site-footer-meta span:last-child{margin-left:auto}
.site-footer-main,.site-footer-meta{width:min(100%,1440px);margin-left:0;margin-right:auto}
@media(max-width:800px){.site-footer-main{grid-template-columns:1fr 1fr}.site-footer-contact{justify-self:start;min-width:0}}
@media(max-width:650px){.site-footer-main{grid-template-columns:1fr}.site-footer-meta span:last-child{margin-left:0}}
