:root{--bg:#fff;--surface:#f3f8f7;--ink:#14201d;--muted:#5c6864;--muted-2:#8b9793;--line:#e1e8e6;--brand:#1f6f63;--brand-ink:#123c36;--accent:#2fa98f;--font-display:"Plus Jakarta Sans", "Helvetica Neue", Arial, sans-serif;--font-body:"Plus Jakarta Sans", "Helvetica Neue", Arial, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, Menlo, monospace;--radius:10px;--section-pad:clamp(3rem, 7vw, 7rem);--wrap:74rem}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);margin:0;font-size:16px;line-height:1.6;overflow-x:hidden}a{color:inherit}img,svg{max-width:100%;display:block}.accent{color:var(--accent)}body:after{content:"";z-index:90;pointer-events:none;opacity:.035;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:180px 180px;position:fixed;inset:0}.wrap{max-width:var(--wrap);margin:0 auto;padding-left:clamp(1.25rem,5vw,3rem);padding-right:clamp(1.25rem,5vw,3rem)}.top-progress{background:var(--brand);transform-origin:0%;z-index:70;height:3px;position:fixed;top:0;left:0;right:0}.site-header{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);background:#faf9f6e0;justify-content:space-between;align-items:center;padding:1.1rem clamp(1.25rem,5vw,3rem);display:flex;position:sticky;top:0}.brand{font-family:var(--font-display);color:var(--brand-ink);align-items:center;gap:.5rem;font-size:1.15rem;font-weight:700;text-decoration:none;display:inline-flex}.brand-mark{flex-shrink:0;width:auto;height:1.9rem}.site-nav{align-items:center;gap:clamp(1.25rem,3vw,2.25rem);font-size:.9rem;display:flex}.site-nav a{color:var(--muted);text-decoration:none;transition:color .15s}.site-nav a:hover,.site-nav a:focus-visible{color:var(--ink)}.nav-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;width:2.1rem;height:2.1rem;padding:0;display:none}.nav-toggle span{background:var(--ink);border-radius:2px;width:100%;height:2px;display:block}@media (width<=640px){.site-nav a:not(.button){display:none}.nav-toggle{display:flex}.site-nav{gap:.5rem}.site-nav .button.primary{white-space:nowrap;padding:.45rem .6rem;font-size:.68rem}}.mobile-nav{display:none}@media (width<=640px){.mobile-nav{border-bottom:1px solid var(--line);background:#faf9f6;flex-direction:column;gap:1rem;padding:1.25rem clamp(1.25rem,5vw,3rem) 1.5rem;display:flex;position:absolute;top:100%;left:0;right:0}.mobile-nav a{color:var(--ink);font-weight:500;text-decoration:none}}.button{font-family:var(--font-body);border-radius:var(--radius);border:1px solid #0000;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .15s,color .15s,border-color .15s;display:inline-block}.button.primary{background:var(--brand);color:#fff}.button.primary:hover,.button.primary:focus-visible{background:var(--brand-ink)}.button.ghost{color:var(--ink);border-color:var(--line)}.button.ghost:hover,.button.ghost:focus-visible{border-color:var(--muted)}.button.on-dark{color:var(--brand-ink);background:#f3f8f7}.button.on-dark:hover,.button.on-dark:focus-visible{background:#edeae2}.site-nav .button.primary{padding:.5rem 1.1rem;font-size:.85rem}.button.square{border-radius:4px}.hero{padding:0 0 clamp(3rem,8vw,5rem);position:relative}.hero-banner{justify-content:center;align-items:flex-end;min-height:78vh;padding:clamp(2rem,6vw,3.5rem) 1.25rem 0;display:flex;position:relative}.hero-banner-media{background:#0d2a25;position:absolute;inset:0;overflow:hidden}.parallax-photo{position:absolute;inset:0;overflow:hidden}.parallax-photo img{object-fit:cover;will-change:transform;width:100%;height:124%;display:block;position:absolute;top:-12%;left:0}.hero-banner-media:after{content:"";background:linear-gradient(#081c1800 55%,#081c188c);position:absolute;inset:0}.hero-banner-card{z-index:2;text-align:center;background:#fff;border-radius:20px;max-width:30rem;padding:clamp(1.75rem,4vw,2.75rem) clamp(2rem,5vw,3.5rem);position:relative;box-shadow:0 30px 60px -20px #04141180}.hero-banner-logo{width:clamp(9rem,22vw,12rem);margin:0 auto 1rem}.hero-banner-tag{font-family:var(--font-body);color:var(--ink);margin:0;font-size:1.05rem;font-weight:500;line-height:1.5}@media (width<=640px){.hero-banner{min-height:60vh}}.hero:before{content:"";z-index:0;background:radial-gradient(560px circle at var(--mx,70%) var(--my,20%), #16324f12, transparent 62%);pointer-events:none;transition:background .2s ease-out;position:absolute;inset:0}.hero .wrap{z-index:1;position:relative}.eyebrow{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 1.25rem;font-size:.78rem}.intro-card{background:var(--surface);border:1px solid var(--line);border-radius:calc(var(--radius) + 6px);grid-template-columns:minmax(220px,300px) 1fr;align-items:center;margin-top:clamp(3.5rem,7vw,5rem);display:grid;overflow:hidden}.intro-photo{aspect-ratio:2/3}.intro-photo img{object-fit:cover;width:100%;height:100%;display:block}.intro-copy{max-width:34rem;padding:clamp(2rem,5vw,3rem)}@media (width<=760px){.intro-card{grid-template-columns:1fr}.intro-photo{aspect-ratio:4/3}}.intro-copy h2{font-family:var(--font-display);color:var(--brand-ink);margin:0 0 1.1rem;font-size:clamp(1.7rem,3.2vw,2.2rem);font-weight:700}.intro-text{color:var(--muted);margin:0 0 1.1rem;font-size:1.02rem;line-height:1.65}.intro-text:last-of-type{margin-bottom:1.75rem}.feature-banner{justify-content:center;align-items:center;min-height:42vh;display:flex;position:relative;overflow:hidden}.feature-banner:after{content:"";background:linear-gradient(#081c1880,#081c1859);position:absolute;inset:0}.feature-banner h2{z-index:1;font-family:var(--font-display);color:#fff;text-shadow:0 2px 16px #00000073;margin:0;font-size:clamp(2rem,5vw,3rem);font-weight:700;position:relative}.service-feature{padding:var(--section-pad) 0 clamp(1.5rem, 3vw, 2.5rem);grid-template-columns:1fr 1fr;align-items:center;gap:clamp(2rem,5vw,4rem);display:grid}.service-feature-copy{text-align:center;max-width:30rem;margin:0 auto}.service-feature-copy .index-mark{justify-content:center}.service-feature-copy h3{font-family:var(--font-display);color:var(--brand);text-transform:uppercase;letter-spacing:.01em;margin:0 0 1rem;font-size:clamp(1.4rem,2.6vw,1.8rem);font-weight:700}.service-feature-copy p{color:var(--muted);margin:0;font-size:1rem;line-height:1.65}.service-feature-photo{aspect-ratio:4/3;border-radius:calc(var(--radius) + 4px);position:relative;overflow:hidden}@media (width<=760px){.service-feature{grid-template-columns:1fr}}.card-grid-section{padding:clamp(1.5rem, 3vw, 2.5rem) 0 var(--section-pad);border-top:1px solid var(--line)}.card-grid{grid-template-columns:repeat(3,1fr);gap:clamp(1.75rem,4vw,2.75rem);display:grid}.grid-card{flex-direction:column;gap:1.1rem;scroll-margin-top:5rem;display:flex}.grid-card-photo{aspect-ratio:4/3;border-radius:var(--radius);display:block;overflow:hidden}.grid-card-photo img{object-fit:cover;width:100%;height:100%;transition:transform .4s;display:block}.grid-card:hover .grid-card-photo img{transform:scale(1.05)}.grid-card-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;color:var(--brand-ink);text-align:center;font-size:1.02rem;font-weight:700}@media (width<=760px){.card-grid{grid-template-columns:1fr}}.services{border-top:1px solid var(--line);position:relative}.band{border-bottom:1px solid var(--line);align-items:flex-end;min-height:82vh;display:flex;position:relative;overflow:hidden}.band:last-child{border-bottom:none}.band-media{background:var(--brand-ink);position:absolute;inset:0;overflow:hidden}.parallax-layer{will-change:transform;width:100%;height:136%;position:absolute;inset:-18% 0}.parallax-img{transform-origin:50%;will-change:transform, opacity;width:100%;height:100%}.band-wrap{z-index:2;width:100%;padding:clamp(2rem,6vw,4rem) 0;position:relative}.band-card{background:var(--surface);border:1px solid var(--line);border-radius:calc(var(--radius) + 6px);max-width:28rem;padding:clamp(1.75rem,4vw,2.5rem);position:relative;box-shadow:0 30px 60px -24px #123c3659}.band.reverse .band-card{margin-left:auto}.ghost-num{font-family:var(--font-display);color:var(--brand);opacity:.1;z-index:0;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:clamp(3.5rem,7vw,5rem);font-weight:800;line-height:1;position:absolute;top:-1.6rem;right:1.25rem}.index-mark,.band-card h2,.band-card p{z-index:1;position:relative}.index-mark{font-family:var(--font-mono);color:var(--muted-2);letter-spacing:.02em;align-items:baseline;gap:.6rem;margin-bottom:1rem;font-size:.8rem;display:flex}.index-mark .num{color:var(--accent);font-weight:600}.band-card h2{font-family:var(--font-display);color:var(--brand-ink);margin:0 0 .75rem;font-size:clamp(1.5rem,2.6vw,1.9rem);font-weight:700;line-height:1.2}.band-card p{color:var(--muted);margin:0;font-size:1rem}@media (width<=700px){.band{min-height:70vh}.band-card{max-width:none}.band.reverse .band-card{margin-left:0}}.section-head{max-width:40rem;margin:0 auto 3rem}.section-head h2{font-family:var(--font-display);color:var(--brand-ink);margin:0;font-size:clamp(1.7rem,3.4vw,2.4rem);font-weight:700}.section-desc{color:var(--muted);margin:1rem 0 0;line-height:1.6}.solutions{padding:var(--section-pad) 0}.solutions-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}@media (width<=980px){.solutions-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.solutions-grid{grid-template-columns:1fr}}.solution-card{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);cursor:pointer;padding:1.75rem 1.5rem;transition:transform .25s,border-color .25s,box-shadow .25s}.solution-card:hover,.solution-card:focus-visible{border-color:var(--accent);transform:translateY(-4px);box-shadow:0 20px 40px -24px #123c3659}.solution-icon{width:2.75rem;height:2.75rem;color:var(--brand);background:#1f6f631a;border-radius:10px;justify-content:center;align-items:center;margin-bottom:1.1rem;display:flex}.solution-card h3{font-family:var(--font-display);color:var(--brand-ink);margin:0 0 .5rem;font-size:1.05rem;font-weight:700}.solution-card p{color:var(--muted);margin:0;font-size:.92rem;line-height:1.55}.solution-more{font-family:var(--font-mono);color:var(--accent);align-items:center;gap:.4rem;margin-top:.9rem;font-size:.78rem;display:inline-flex}.solution-more svg{transition:transform .25s}.solution-card.open .solution-more svg{transform:rotate(90deg)}.solution-detail-wrap{grid-template-rows:0fr;transition:grid-template-rows .3s;display:grid}.solution-card.open .solution-detail-wrap{grid-template-rows:1fr}.solution-detail-inner{overflow:hidden}.solution-detail-inner p{border-top:1px solid var(--line);margin-top:.9rem;padding-top:.9rem;font-size:.88rem}.brands-section{padding:var(--section-pad) 0;background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.brands-grid{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(2rem,6vw,4rem);display:flex}.brand-logo{font-family:var(--font-display);letter-spacing:-.01em;text-transform:uppercase;color:var(--ink);opacity:.6;font-size:clamp(1.15rem,2.6vw,1.6rem);font-weight:800;transition:opacity .2s,color .2s}.brand-logo:hover{opacity:1;color:var(--brand)}.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);padding:2.75rem 0;overflow:hidden}.marquee-label{text-align:center;font-family:var(--font-mono);color:var(--muted-2);letter-spacing:.05em;text-transform:uppercase;margin:0 0 1.5rem;font-size:.78rem}.marquee-track{width:max-content;animation:26s linear infinite marquee-scroll;display:flex}@media (prefers-reduced-motion:reduce){.marquee-track{animation:none}}@keyframes marquee-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.marquee-item{font-family:var(--font-display);color:var(--muted-2);white-space:nowrap;align-items:center;gap:.6rem;padding:0 2.25rem;font-size:1.2rem;font-weight:700;display:flex}.marquee-item .sep{color:var(--line);font-weight:400}.process{padding:var(--section-pad) 0}.timeline{border-left:2px solid var(--line);max-width:42rem;padding-left:2.25rem;position:relative}.t-item{padding-bottom:2.75rem;position:relative}.t-item:last-child{padding-bottom:0}.t-item:before{content:"";background:var(--bg);border:2px solid var(--accent);border-radius:50%;width:14px;height:14px;position:absolute;top:.15rem;left:-2.65rem}.t-step{font-family:var(--font-mono);color:var(--accent);margin-bottom:.4rem;font-size:.75rem;display:block}.t-item h3{font-family:var(--font-display);color:var(--brand-ink);margin:0 0 .4rem;font-size:1.1rem;font-weight:700}.t-item p{color:var(--muted);max-width:32rem;margin:0;font-size:.94rem;line-height:1.6}.closing{background:var(--brand-ink);color:#f3f8f7;padding:clamp(4rem,10vw,7rem) 0}.closing .eyebrow{color:#f3f8f799}.closing-grid{grid-template-columns:.9fr 1.1fr;align-items:start;gap:clamp(2.5rem,6vw,4rem);display:grid}@media (width<=820px){.closing-grid{grid-template-columns:1fr;gap:2.5rem}}.closing h2{font-family:var(--font-display);margin:0 0 1rem;font-size:clamp(1.8rem,3.6vw,2.4rem);font-weight:700}.closing-sub{color:#f3f8f7b8;margin:0 0 1.75rem}.contact-list{flex-direction:column;gap:1.25rem;margin:0;padding:0;list-style:none;display:flex}.contact-list a{font-weight:500;text-decoration:none;display:block}.contact-list a:hover,.contact-list a:focus-visible{color:var(--accent)}.contact-label{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:#f3f8f78c;margin-bottom:.25rem;font-size:.7rem;display:block}.contact-form{gap:.9rem;display:grid}.contact-form input,.contact-form textarea{border-radius:var(--radius);color:#f3f8f7;width:100%;font-family:var(--font-body);background:#f3f8f70f;border:1px solid #f3f8f740;padding:.75rem 1rem;font-size:.95rem}.contact-form textarea{resize:vertical;min-height:6rem}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#f3f8f773}.contact-form input:focus-visible,.contact-form textarea:focus-visible{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #2fa98f4d}.contact-form .button{justify-self:start}.contact-form-note{color:#f3f8f799;margin:.75rem 0 0;font-size:.85rem}.contact-form-error{color:#ffb4a8;margin:0;font-size:.85rem}.contact-sent{border-radius:var(--radius);background:#f3f8f70f;border:1px solid #f3f8f733;padding:1.5rem}.site-footer{padding:clamp(3rem,6vw,4.5rem) 0 2rem}.footer-grid{border-bottom:1px solid var(--line);grid-template-columns:1.4fr 1fr 1fr;gap:2.5rem;padding-bottom:clamp(2rem,5vw,3rem);display:grid}.footer-brand .brand{margin-bottom:.9rem}.footer-brand p{color:var(--muted);max-width:24rem;margin:0}.footer-col h3{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--muted-2);margin:0 0 1rem;font-size:.78rem;font-weight:500}.footer-col ul{flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.footer-col a{color:var(--ink);font-size:.95rem;text-decoration:none}.footer-col a:hover,.footer-col a:focus-visible{color:var(--brand)}@media (width<=700px){.footer-grid{grid-template-columns:1fr}}.footer-bottom{color:var(--muted-2);flex-wrap:wrap;justify-content:space-between;gap:.5rem;padding-top:1.5rem;font-size:.85rem;display:flex}a:focus-visible,button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
