@font-face{font-family:"Spline Sans";src:url("../fonts/spline-sans-regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Spline Sans";src:url("../fonts/spline-sans-medium.ttf") format("truetype");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Spline Sans";src:url("../fonts/spline-sans-semibold.ttf") format("truetype");font-weight:600;font-style:normal;font-display:swap}

:root{
  --color-dark-green:#1f322f;--color-medium-green:#778c75;--color-light-green:#dce5d2;
  --color-pale-green:#f1f4ea;--color-off-white:#fafaf5;--color-text:#1f322f;--color-highlight:#a9d88f;--color-menu-hover:#7fb464;--color-line:rgba(31,50,47,.18);--gradient-dark-green:linear-gradient(115deg,var(--color-dark-green) 0%,#263e38 58%,#31564b 100%);
  --radius-sm:12px;--radius-md:20px;--radius-lg:32px;--radius-pill:999px;
  --space-section:clamp(5rem,11vw,10.5rem);--gutter:clamp(1.25rem,4vw,4.5rem);--max-width:1440px;
  --ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1);--ease-drawer:cubic-bezier(.32,.72,0,1);
  --duration-fast:180ms;--duration-medium:360ms;--duration-reveal:700ms;
  --shadow-soft:0 8px 30px rgba(23,39,36,.07)
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--color-off-white)}
body{margin:0;font-family:"Spline Sans",sans-serif;font-size:clamp(1rem,.95rem + .18vw,1.125rem);line-height:1.58;color:var(--color-text);background:var(--color-off-white);text-rendering:optimizeLegibility;overflow-x:hidden;transition:opacity 140ms ease}
body.nav-open{overflow:hidden}body.is-leaving{opacity:.25}
img{display:block;width:100%;height:100%;object-fit:cover;background:var(--color-light-green)}
a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}
p,h1,h2,h3,h4{margin:0}p{max-width:650px}ul{margin:0;padding:0;list-style:none}
:focus-visible{outline:2px solid var(--color-medium-green);outline-offset:4px}
.skip-link{position:fixed;z-index:1000;top:12px;left:12px;transform:translateY(-150%);background:var(--color-off-white);padding:.7rem 1rem;border-radius:var(--radius-pill)}.skip-link:focus{transform:none}
.container{width:min(calc(100% - (2 * var(--gutter))),var(--max-width));margin-inline:auto}
.section{padding-block:var(--space-section)}.section--tight{padding-block:clamp(4rem,8vw,7rem)}.page-top-divider{padding-top:clamp(2rem,4vw,3.5rem);border-top:1px solid var(--color-line)}
.eyebrow{font-size:.78rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase;margin-bottom:1.2rem}
.display{font-size:clamp(3.25rem,7.5vw,6.25rem);line-height:.94;letter-spacing:-.055em;font-weight:500}
.h1{font-size:clamp(3rem,6.8vw,5.75rem);line-height:.98;letter-spacing:-.052em;font-weight:500;max-width:1100px}
.h2{font-size:clamp(2.5rem,5vw,4.5rem);line-height:1;letter-spacing:-.045em;font-weight:500}
.h3{font-size:clamp(1.8rem,3vw,3rem);line-height:1.05;letter-spacing:-.035em;font-weight:500}
.intro{font-size:clamp(1.2rem,1.6vw,1.65rem);line-height:1.4;letter-spacing:-.015em}
.muted{color:rgba(31,50,47,.68)}
.section-head{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(1.5rem,3vw,2rem);align-items:end;margin-bottom:clamp(3rem,6vw,5rem)}
.section-head h2{grid-column:1/span 7}.section-head p{grid-column:9/-1}
.button{display:inline-flex;align-items:center;justify-content:center;gap:.85rem;min-height:50px;padding:.2rem .3rem .2rem 1.5rem;border:1px solid transparent;border-radius:var(--radius-pill);font-size:.95rem;font-weight:500;line-height:1.4;white-space:nowrap;box-shadow:0 8px 24px rgba(7,20,15,.1);transition:transform 160ms var(--ease-out),background-color var(--duration-fast) ease,color var(--duration-fast) ease,border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}
.button::after{content:"→";display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:50%;font-size:1.25rem;line-height:1;transition:transform var(--duration-fast) var(--ease-out),background-color var(--duration-fast) ease,color var(--duration-fast) ease}
.text-link::after{content:"→";transition:transform var(--duration-fast) var(--ease-out)}
.button--primary{background:var(--color-dark-green);color:var(--color-off-white)}
.button--primary::after{background:var(--color-highlight);color:var(--color-dark-green)}
.button--secondary{background:transparent;color:var(--color-dark-green);border-color:var(--color-dark-green);box-shadow:none}
.button--secondary::after{background:var(--color-dark-green);color:var(--color-off-white)}
.button--light{background:var(--color-off-white);color:var(--color-dark-green);border-color:rgba(255,255,255,.72)}
.button--light::after{background:var(--color-highlight);color:var(--color-dark-green)}
.button:active{transform:scale(.97)}
.text-link{display:inline-flex;align-items:center;gap:.65rem;padding-bottom:.22rem;font-weight:500;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;transition:background-size var(--duration-fast) ease}
@media(hover:hover) and (pointer:fine){.button:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(7,20,15,.16)}.button:hover::after,.text-link:hover::after{transform:translateX(3px)}.button--primary:hover{background:var(--color-menu-hover);color:var(--color-off-white)}.button--primary:hover::after{background:var(--color-off-white);color:var(--color-dark-green)}.button--secondary:hover{background:var(--color-dark-green);color:var(--color-off-white)}.button--secondary:hover::after{background:var(--color-highlight);color:var(--color-dark-green)}.button--light:hover{background:var(--color-menu-hover);color:var(--color-off-white);border-color:var(--color-menu-hover)}.button--light:hover::after{background:var(--color-off-white);color:var(--color-dark-green)}.direction-cta:hover{background:#a9d88f;color:#fff}.text-link:hover{background-size:35% 1px}}

/* Header */
.site-header{position:fixed;z-index:100;top:18px;left:50%;width:min(calc(100% - 2rem),1380px);transform:translateX(-50%);will-change:transform;transition:transform 280ms var(--ease-out)}.site-header.is-hidden{transform:translate(-50%,calc(-100% - 32px))}
.nav-shell{display:flex;align-items:center;min-height:68px;padding:.55rem .65rem .55rem 1.25rem;border:1px solid rgba(255,255,255,.56);border-radius:var(--radius-pill);background:linear-gradient(90deg,#fff 0%,rgba(250,250,245,.55) 100%);box-shadow:var(--shadow-soft);backdrop-filter:blur(24px) saturate(135%);-webkit-backdrop-filter:blur(24px) saturate(135%);transform:scale(.9);transform-origin:top center;transition:min-height var(--duration-fast) var(--ease-out),background-color var(--duration-fast) ease}
.site-header.is-scrolled .nav-shell{min-height:58px;background:linear-gradient(90deg,#fff 0%,rgba(250,250,245,.64) 100%)}
.brand{display:flex;align-items:center;flex:0 0 auto}.brand-logo{display:block;width:clamp(8.75rem,12vw,10.25rem);height:auto;object-fit:contain;background:transparent}.desktop-nav{display:flex;align-items:center;gap:.1rem;margin-left:auto}.desktop-nav a{padding:.65rem .9rem;border-radius:var(--radius-pill);font-size:.9rem;font-weight:500;transition:transform 140ms var(--ease-out),background-color var(--duration-fast) ease,color var(--duration-fast) ease}.desktop-nav a[aria-current="page"]{background:#7FB464;color:#fff}
.desktop-nav .nav-cta{margin-left:.5rem;padding:.7rem 1.15rem;background:var(--color-dark-green);color:var(--color-off-white)}
.desktop-nav .nav-cta[aria-current="page"]{background:#7FB464;color:#fff}.desktop-nav .nav-panel{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;margin-left:.35rem;padding:0;border:1px solid var(--color-line);background:var(--color-light-green);color:var(--color-dark-green)}.nav-panel svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.header-social,.social-list,.mobile-social{display:flex;align-items:center;gap:.4rem}.header-social{margin-left:.35rem}.desktop-nav .social-icon,.footer-column .social-icon,.mobile-social .social-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid var(--color-line);border-radius:50%;transition:transform 140ms var(--ease-out),background-color var(--duration-fast) ease,border-color var(--duration-fast) ease}.social-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.social-icon:active{transform:scale(.94)}
@media(hover:hover) and (pointer:fine){.desktop-nav>a:not(.nav-cta):not(.nav-panel):not([aria-current="page"]):hover{background:transparent;color:var(--color-menu-hover)}.desktop-nav .nav-cta:hover{background:var(--color-menu-hover);color:var(--color-off-white)}.desktop-nav .nav-panel:hover,.desktop-nav .header-social .social-icon:hover{transform:translateY(-2px);background:var(--color-highlight);color:var(--color-dark-green)}.social-icon:hover{transform:translateY(-2px);background:var(--color-light-green)}.mobile-panel nav a:hover{color:var(--color-menu-hover)}}
.menu-toggle{display:none;margin-left:auto;width:46px;height:46px;border:0;border-radius:50%;background:var(--color-dark-green);color:var(--color-off-white);position:relative}
.menu-toggle span,.menu-toggle::after{content:"";position:absolute;left:14px;width:18px;height:1px;background:currentColor;transition:transform 180ms var(--ease-out),top 180ms var(--ease-out)}.menu-toggle span{top:19px}.menu-toggle::after{top:26px}.menu-toggle[aria-expanded="true"] span{top:23px;transform:rotate(45deg)}.menu-toggle[aria-expanded="true"]::after{top:23px;transform:rotate(-45deg)}
.mobile-panel{display:none}.mobile-panel nav .mobile-panel-link{display:flex;align-items:center;gap:.65rem}.mobile-panel-link svg{width:.8em;height:.8em;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}

/* Hero */
.home-hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:100svh;padding:8rem 0;overflow:hidden;background:var(--color-dark-green);color:#fff}
.hero-background-video{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hero-background-video{z-index:-2;object-fit:cover;object-position:center}
.hero-background-overlay{position:absolute;inset:0;z-index:-1;pointer-events:none;background:rgba(31,50,47,.30)}
.hero-content{display:flex;flex-direction:column;align-items:center;text-align:center;transform:translateY(calc(clamp(1.5rem,4vh,3rem) + 20px))}
.hero-content .display{max-width:1100px;color:#fff;text-wrap:balance}
.hero-content .hero-highlight{color:#7FB464}
.hero-title-kern{margin-right:.035em}
.hero-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:.8rem;margin-top:2.5rem}
.home-hero .button{color:#fff;background:#7FB464}@media(hover:hover) and (pointer:fine){.home-hero .button:hover{background:#fff;color:#1F322F}}
.hero-highlight{color:var(--color-highlight)}

/* Desktop brand signature */

/* Work */
.project-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(2rem,5vw,5.5rem) clamp(1rem,2.2vw,2rem);align-items:start}
.project-card{display:block;grid-column:span 6;transition:transform 360ms var(--ease-out)}.project-card--wide{grid-column:1/-1}.project-card--large{grid-column:1/span 8}.project-card--small{grid-column:9/-1;margin-top:25%}.project-card--offset{grid-column:2/span 5}.project-card--end{grid-column:8/-1;margin-top:15%}
.project-media{position:relative;overflow:hidden;border-radius:var(--radius-md);background:var(--color-light-green);aspect-ratio:4/3}.project-card--wide .project-media{aspect-ratio:16/7}.project-card--large .project-media{aspect-ratio:5/4}.project-card--small .project-media{aspect-ratio:3/4}.project-card--offset .project-media{aspect-ratio:4/5}
.home-project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.home-project-grid .project-card{grid-column:auto;margin-top:0;cursor:default}.home-project-grid .project-media{aspect-ratio:4/5}.home-project-grid .project-meta{display:block}.home-project-grid .project-categories{display:flex;margin-top:.75rem;text-align:left}
.project-media img{transition:transform 420ms var(--ease-out)}.project-overlay{position:absolute;right:1rem;bottom:1rem;padding:.6rem .9rem;border-radius:var(--radius-pill);background:rgba(250,250,245,.83);backdrop-filter:blur(16px);font-size:.84rem;font-weight:500;opacity:0;transform:translateY(8px);transition:opacity 220ms ease,transform 220ms var(--ease-out)}
.project-meta{display:block;padding-top:1rem}.project-name{font-size:clamp(1.25rem,2vw,1.75rem);line-height:1.15;font-weight:500;transition:color var(--duration-fast) ease}.project-categories{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;margin-top:.8rem;counter-reset:project-category;font-size:.792rem;font-weight:600;line-height:1;letter-spacing:.08em;text-transform:uppercase;color:var(--color-dark-green);text-align:left}.project-categories>span{display:inline-flex;align-items:center;min-width:8.5rem;padding:.65rem 1rem .65rem 0;border-top:1px solid var(--color-line);counter-increment:project-category}.project-categories>span::before{content:"0" counter(project-category);margin-right:.7rem;color:var(--color-menu-hover);font-size:.726rem;letter-spacing:.04em}
.more-link{display:flex;justify-content:flex-end;margin-top:4rem}
@media(hover:hover) and (pointer:fine){.project-card:hover{transform:translateY(-5px)}.project-card:hover .project-media img{transform:scale(1.03)}.project-card:hover .project-name,.portfolio-grid .project-card:hover .project-name{color:#a9d88f}.project-card:hover .project-overlay{opacity:1;transform:none}}

/* Services */
.home-projects-section{padding-bottom:clamp(1.5rem,3vw,2.5rem)}.home-projects-heading{display:flex;align-items:flex-end;justify-content:space-between}.home-projects-heading .text-link{flex:0 0 auto}.home-projects-section+.home-services-section{padding-top:clamp(1.5rem,3vw,2.5rem)}.home-services-section{padding-top:clamp(2.5rem,5vw,5rem);padding-bottom:clamp(1.5rem,3vw,2.5rem)}.home-services-section+.instagram-section{padding-top:clamp(5rem,7vw,6rem)}
.services-list{border-top:1px solid var(--color-line)}.service-row{position:relative;display:grid;grid-template-columns:1fr 8fr 2fr;gap:2rem;align-items:center;min-height:130px;border-bottom:1px solid var(--color-line);overflow:visible;isolation:isolate}.service-row::before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:50%;width:100vw;background:var(--color-light-green);transform:translateX(-50%);clip-path:inset(100% 0 0);transition:clip-path 240ms var(--ease-in-out)}.service-number{font-size:.82rem}.service-title{font-size:clamp(2rem,4vw,4rem);line-height:1}.service-arrow{justify-self:end;font-size:1.6rem;transition:transform var(--duration-fast) var(--ease-out)}
@media(hover:hover) and (pointer:fine){.service-row:hover::before{clip-path:inset(0)}.service-row:hover .service-arrow{transform:translateX(5px)}}
.page-home .home-services-section .service-row{transition:color 300ms ease-out}.page-home .home-services-section .service-row::before{background:#A9D88F;clip-path:none;opacity:0;transition:opacity 350ms ease-out}
@media(hover:hover) and (pointer:fine){.page-home .home-services-section .service-row:hover{color:#fff}.page-home .home-services-section .service-row:hover::before{opacity:1}}
@media(prefers-reduced-motion:reduce){.page-home .home-services-section .service-row,.page-home .home-services-section .service-row::before{transition:none}}
.direction-block{position:relative;display:grid;width:80%;margin-inline:auto;grid-template-columns:minmax(0,1fr) auto;gap:1.25rem 2rem;align-items:end;overflow:hidden;padding:clamp(2.5rem,4vw,4.25rem);border-radius:clamp(2rem,3vw,3rem);background:var(--gradient-dark-green);color:var(--color-off-white)}.direction-block h2{grid-column:1/-1;max-width:780px;font-size:clamp(2.15rem,3.65vw,3.4rem)}.direction-block .intro{grid-column:1;max-width:620px;margin-top:0;font-size:clamp(1.05rem,1.35vw,1.4rem);color:rgba(250,250,245,.74)}.direction-cta{grid-column:2;grid-row:2;align-self:end;justify-self:end;min-height:44px;margin-top:0;padding:.6rem 1.1rem;font-size:.85rem;white-space:nowrap}

/* About, manifesto, CTA */
.about-split{display:grid;grid-template-columns:repeat(12,1fr);gap:2rem;align-items:center}.about-copy{grid-column:1/span 6}.about-copy p{margin-top:1.5rem}.about-copy .text-link{margin-top:2rem}.about-image{grid-column:8/-1;aspect-ratio:4/5;border-radius:10rem 10rem var(--radius-lg) var(--radius-lg);overflow:hidden}
.about-editorial{display:grid;grid-template-columns:repeat(12,1fr);gap:2rem;padding-top:clamp(2rem,4vw,3.5rem);border-top:1px solid var(--color-line);align-items:start}.about-editorial>.h2{grid-column:1/span 5;max-width:560px}.about-editorial-copy{grid-column:7/-1;max-width:650px}.about-editorial-copy p+p{margin-top:1.5rem}
.manifesto{padding-block:clamp(6rem,14vw,12rem);background:var(--color-dark-green);color:var(--color-off-white)}.manifesto p{max-width:1100px;font-size:clamp(2.6rem,5.8vw,5.5rem);line-height:1.02;letter-spacing:-.045em}.manifesto p span{display:block}.manifesto p span+span{margin-top:.28em}
.final-cta{padding-block:clamp(5rem,10vw,9rem);background:var(--color-light-green)}.final-cta .h2{font-size:clamp(2.2rem,4.6vw,4rem);white-space:nowrap}.cta-grid{display:grid;grid-template-columns:2fr 1fr;gap:2rem;align-items:end}.cta-grid p{margin-top:1.5rem}.cta-grid .button{justify-self:end}

/* Instagram */
.instagram-section{padding-block:clamp(5rem,10vw,9rem);background:var(--color-off-white)}
.instagram-header{display:grid;grid-template-columns:repeat(12,1fr);gap:2rem;align-items:end;margin-bottom:clamp(2.5rem,5vw,4rem)}.instagram-header>div{grid-column:1/span 8}.instagram-header .eyebrow{margin-bottom:1rem}.instagram-title{display:flex;align-items:center;gap:.25em}.instagram-title-icon{display:block;flex:0 0 1em;width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.instagram-header .text-link{grid-column:10/-1;justify-self:end}
.instagram-grid{display:grid;width:100%;margin-inline:auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.65rem,1.15vw,1rem)}.instagram-grid>*:nth-child(2){transition-delay:55ms}.instagram-grid>*:nth-child(3){transition-delay:110ms}.instagram-grid>*:nth-child(4){transition-delay:165ms}.instagram-grid>*:nth-child(5){transition-delay:220ms}.instagram-grid>*:nth-child(6){transition-delay:275ms}.instagram-post{position:relative;display:block;aspect-ratio:1;overflow:hidden;border-radius:var(--radius-sm);background:var(--color-light-green)}.instagram-post img{transition:transform 420ms var(--ease-out)}.instagram-post::after{content:"↗";position:absolute;top:.8rem;right:.8rem;display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:50%;background:rgba(250,250,245,.86);color:var(--color-dark-green);font-size:1rem;opacity:0;transform:translateY(5px);transition:opacity 220ms ease,transform 220ms var(--ease-out);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
@media(hover:hover) and (pointer:fine){.instagram-post:hover img{transform:scale(1.03)}.instagram-post:hover::after{opacity:1;transform:none}}

/* Inner pages */
.page-hero{padding:clamp(10rem,18vw,14rem) 0 clamp(5rem,9vw,8rem);background:var(--color-pale-green)}.page-hero .intro{margin-top:2rem;max-width:680px}.page-hero--dark{background:var(--color-dark-green);color:var(--color-off-white)}
.detail-section{display:grid;grid-template-columns:repeat(12,1fr);gap:2rem;padding-block:clamp(4rem,8vw,7rem);border-top:1px solid var(--color-line)}.detail-heading{grid-column:1/span 4}.detail-heading .h3{transition:color var(--duration-fast) ease}.detail-copy{grid-column:6/-1}.detail-copy>.intro{margin-bottom:2.5rem}.detail-copy>p+.detail-list{margin-top:2.5rem}.detail-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.65rem 2rem;border-top:1px solid var(--color-line);padding-top:1.5rem}.detail-list li::before{content:"—";margin-right:.65rem;color:var(--color-highlight)}
@media(hover:hover) and (pointer:fine){.detail-section:hover .detail-heading .h3{color:#a9d88f}}
.creative-continuous{background:var(--gradient-dark-green);color:var(--color-off-white)}.creative-continuous .detail-section{border-color:rgba(255,255,255,.18)}.creative-continuous .detail-list{margin-top:2.5rem;border-color:rgba(255,255,255,.18)}
.process-steps{margin:0;padding:0;list-style:none}.process-steps .service-row{grid-template-columns:1fr 10fr}.process-steps .service-row::before{display:none}
.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:clamp(3rem,6vw,5rem)}.filter-button{min-height:44px;padding:.55rem 1rem;border:1px solid var(--color-line);border-radius:var(--radius-pill);background:transparent;font-size:.88rem;transition:background-color var(--duration-fast) ease,color var(--duration-fast) ease,transform 140ms var(--ease-out)}.filter-button[aria-pressed="true"]{background:var(--color-dark-green);color:var(--color-off-white)}.filter-button:active{transform:scale(.97)}
.portfolio-grid .project-card.is-hidden{display:none}.portfolio-grid .project-card.is-filtering{opacity:0;transform:translateY(8px)}.portfolio-grid .project-card{transition:opacity 220ms ease,transform 220ms var(--ease-out)}.portfolio-grid article.project-card{cursor:default}

/* Case studies */
.case-hero{padding-top:clamp(10rem,16vw,13rem)}.case-title-row{display:grid;grid-template-columns:repeat(12,1fr);gap:2rem;align-items:end;margin-bottom:3rem}.case-title-row h1{grid-column:1/span 9}.case-tags{display:grid;grid-column:10/-1;gap:.45rem;text-align:right;font-size:.9rem;list-style:none}.case-tags li::before{content:"→";display:inline-block;margin-right:.5rem}.case-hero-image{aspect-ratio:16/8;overflow:hidden;border-radius:var(--radius-lg)}
.case-intro{display:grid;grid-template-columns:repeat(12,1fr);gap:2rem}.case-intro .eyebrow{grid-column:1/span 3}.case-intro .intro{grid-column:5/span 7}.case-full{aspect-ratio:16/9;overflow:hidden;border-radius:var(--radius-md)}.case-pair{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.case-pair figure{margin:0;aspect-ratio:4/5;overflow:hidden;border-radius:var(--radius-md)}.case-pair--uneven{grid-template-columns:5fr 7fr;align-items:end}.case-pair--uneven figure:last-child{aspect-ratio:4/3}.result-block{display:grid;grid-template-columns:repeat(12,1fr);gap:2rem}.result-block h2{grid-column:1/span 5}.result-block p{grid-column:7/-1}.next-project{display:flex;justify-content:space-between;align-items:end;padding-block:clamp(4rem,8vw,7rem);border-top:1px solid var(--color-line)}.next-project span{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}.next-project strong{display:block;margin-top:.6rem;font-size:clamp(2rem,5vw,4.5rem);font-weight:500;line-height:1;transition:color var(--duration-fast) ease}.next-project::after{content:"→";font-size:clamp(2rem,4vw,4rem)}
@media(hover:hover) and (pointer:fine){.next-project[href="/portfolio/"]:hover strong{color:#a9d88f}}
.case-overview{display:grid;grid-template-columns:repeat(12,1fr);gap:2rem;padding-block:clamp(2.5rem,5vw,4rem);border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line)}.case-overview .intro{grid-column:1/span 7}.case-scope{grid-column:9/-1}.case-scope li{padding:.65rem 0;border-top:1px solid var(--color-line);font-size:.9rem}.case-scope li:last-child{border-bottom:1px solid var(--color-line)}.case-scope li::before{content:"—";margin-right:.65rem;color:var(--color-highlight)}.case-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.8rem,1.7vw,1.5rem)}.case-gallery figure{margin:0;aspect-ratio:4/5;overflow:hidden;border-radius:var(--radius-md);background:var(--color-light-green)}.case-gallery img{object-position:center}.case-gallery video{display:block;width:100%;height:100%;object-fit:cover;object-position:center;background:var(--color-dark-green)}

/* About and contact */
.principles-section{background:var(--gradient-dark-green);color:var(--color-off-white)}.principles-section .eyebrow{color:var(--color-off-white)}.principles{border-top:1px solid rgba(255,255,255,.22)}.principle{padding:2.5rem 0 3rem;border-bottom:1px solid rgba(255,255,255,.22)}.principle>span,.principle h3,.principle p{display:block;width:min(100%,760px);max-width:760px;margin-inline:0}.principle h3{margin-top:.75rem;font-size:clamp(1.5rem,2.5vw,2.3rem)}.principle p{margin-top:1.35rem;color:var(--color-off-white)}
.visual-band{aspect-ratio:16/7;border-radius:var(--radius-lg);overflow:hidden}.sector-note{display:grid;grid-template-columns:repeat(12,1fr);gap:2rem}.sector-note h2{grid-column:1/span 6}.sector-note .intro{grid-column:8/-1}
.contact-layout{display:grid;grid-template-columns:repeat(12,1fr);gap:2rem}.contact-aside{grid-column:1/span 4}.contact-aside>p{margin-top:clamp(1.5rem,2.5vw,2rem)}.contact-aside .text-link{margin-top:2rem}.contact-form{grid-column:6/-1}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.field{display:grid;gap:.55rem}.field--full{grid-column:1/-1}.field label{font-size:.85rem;font-weight:500}.field input,.field select,.field textarea{width:100%;border:0;border-bottom:1px solid rgba(31,50,47,.4);border-radius:0;background:transparent;padding:.8rem 0;outline:none;transition:border-color var(--duration-fast) ease,background-color var(--duration-fast) ease}.field textarea{min-height:150px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--color-dark-green);background:rgba(220,229,210,.25)}.field-error{min-height:1.2em;color:#8a3028;font-size:.78rem}.form-actions{display:flex;align-items:center;gap:1rem;margin-top:2rem}.form-status{font-size:.88rem}.button[disabled]{opacity:.55;cursor:not-allowed;transform:none}

/* Legal */
.legal{display:grid;grid-template-columns:repeat(12,1fr);gap:2rem}.legal-nav{grid-column:1/span 3;position:sticky;top:120px;align-self:start}.legal-content{grid-column:5/span 7}.legal-updated{margin-bottom:3rem;color:rgba(31,50,47,.62);font-size:.9rem}.legal-content section+section{margin-top:3.5rem}.legal-content h2{font-size:clamp(1.5rem,2.5vw,2.3rem);margin-bottom:1rem}.legal-content h3{margin:2rem 0 .7rem;font-size:clamp(1.1rem,1.5vw,1.35rem);font-weight:600}.legal-content p+p{margin-top:1rem}.legal-content ul{display:grid;gap:.55rem;margin:1.2rem 0}.legal-content li{position:relative;padding-left:1.25rem}.legal-content li::before{content:"—";position:absolute;left:0;color:var(--color-medium-green)}.legal-data{display:grid;grid-template-columns:minmax(130px,.7fr) 1.5fr;gap:.55rem 1.5rem;margin:1.4rem 0}.legal-data dt{color:rgba(31,50,47,.62)}.legal-data dd{margin:0}.legal-content a{text-decoration:underline;text-decoration-color:rgba(31,50,47,.35);text-underline-offset:.18em}.placeholder-notice{padding:1rem 1.2rem;border-left:3px solid var(--color-medium-green);background:var(--color-pale-green);font-size:.9rem;margin-bottom:2.5rem}

/* Footer and cookies */
.site-footer{padding:clamp(5rem,9vw,8rem) 0 2rem;background:var(--gradient-dark-green);color:var(--color-off-white)}.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem;padding-bottom:clamp(4rem,8vw,7rem)}.footer-brand{display:flex;align-items:center}.footer-logo{display:block;width:clamp(13.5rem,28.8vw,24.3rem);max-width:100%;height:auto;object-fit:contain;background:transparent}.footer-column h2{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(250,250,245,.55);margin-bottom:1.2rem}.footer-column>a{display:block;width:max-content;padding:.2rem 0;transition:color var(--duration-fast) ease}@media(hover:hover) and (pointer:fine){.footer-column>a:hover{color:#A9D88F}}.footer-column .social-icon{color:var(--color-off-white);border-color:rgba(250,250,245,.28)}.footer-column .social-icon:hover{background:rgba(250,250,245,.12);border-color:rgba(250,250,245,.5)}.footer-bottom{display:flex;justify-content:space-between;gap:2rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.18);font-size:.78rem;color:rgba(250,250,245,.6)}.footer-bottom a{transition:color var(--duration-fast) ease}.legal-links{display:flex;flex-wrap:wrap;gap:1.2rem}@media(hover:hover) and (pointer:fine){.footer-bottom a:hover{color:var(--color-off-white)}}
.cookie-banner{position:fixed;z-index:200;left:50%;bottom:18px;width:min(calc(100% - 2rem),680px);transform:translate(-50%,130%);padding:1rem 1.1rem;border:1px solid rgba(255,255,255,.18);border-radius:var(--radius-md);background:rgba(31,50,47,.94);color:var(--color-off-white);box-shadow:var(--shadow-soft);backdrop-filter:blur(18px);transition:transform 260ms var(--ease-drawer, var(--ease-out))}.cookie-banner.is-visible{transform:translate(-50%,0)}.cookie-inner{display:flex;align-items:center;gap:1.2rem}.cookie-inner p{font-size:.82rem;line-height:1.4}.cookie-inner a{text-decoration:underline}.cookie-actions{display:flex;gap:.45rem;margin-left:auto}.cookie-actions button{min-height:40px;padding:.45rem .8rem;border:1px solid rgba(255,255,255,.35);border-radius:var(--radius-pill);background:transparent;color:inherit;font-size:.8rem}.cookie-actions .accept{background:var(--color-off-white);color:var(--color-dark-green)}

/* Reveals */
.reveal{opacity:0;transform:translateY(26px);transition:opacity var(--duration-reveal) ease,transform var(--duration-reveal) var(--ease-out)}.reveal.is-visible{opacity:1;transform:none}.reveal-image{clip-path:inset(0 0 8% 0);transform:scale(.98);transition:clip-path var(--duration-reveal) var(--ease-out),transform var(--duration-reveal) var(--ease-out)}.reveal-image.is-visible{clip-path:inset(0);transform:none}.stagger>*{transition-delay:calc(var(--i,0) * 55ms)}

@media(max-width:1024px){.home-hero+.section{padding-top:clamp(3.5rem,8vw,5rem)}}

@media(max-width:900px){
  :root{--gutter:2rem;--space-section:clamp(6rem,12vw,7.5rem)}
  .header-social{display:none}.section-head h2{grid-column:1/span 8}.section-head p{grid-column:9/-1}.home-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card--large{grid-column:1/span 8}.project-card--small{grid-column:9/-1}.direction-block{display:block;padding:3.5rem 2.5rem;border-radius:var(--radius-lg)}.direction-block .intro{margin-top:1.75rem;max-width:640px}.direction-cta{margin-top:2.25rem}.about-copy{grid-column:1/span 7}.about-image{grid-column:8/-1}.detail-heading{grid-column:1/span 4}.detail-copy{grid-column:5/-1}.contact-aside{grid-column:1/span 4}.contact-form{grid-column:5/-1}.cta-grid{grid-template-columns:1fr}.cta-grid .button{justify-self:start;margin-top:2rem}.instagram-header>div{grid-column:1/span 8}.instagram-header .text-link{grid-column:9/-1}.case-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:720px){
  :root{--gutter:1.25rem;--space-section:clamp(4.5rem,20vw,6rem)}
  .desktop-copy-break{display:none}
  .site-header{top:10px;width:calc(100% - 1rem)}.nav-shell{min-height:60px;padding:.4rem .45rem .4rem 1rem}.desktop-nav{display:none}.menu-toggle{display:block}.mobile-panel{display:flex;position:fixed;z-index:90;inset:0;padding:7rem var(--gutter) 2rem;background:var(--color-pale-green);flex-direction:column;justify-content:flex-start;opacity:0;visibility:hidden;transform:translateY(-12px);transform-origin:calc(100% - 2rem) 2rem;transition:opacity 180ms ease,transform 220ms var(--ease-out),visibility 0s linear 220ms}.mobile-panel.is-open{opacity:1;visibility:visible;transform:none;transition-delay:0s}.mobile-panel nav a{display:block;padding:.55rem 0;font-size:clamp(2.3rem,11vw,4rem);line-height:1;font-weight:500;letter-spacing:-.045em}.mobile-panel small{display:none}.mobile-social{margin-top:1.25rem}.mobile-panel nav+.mobile-social{margin-top:auto}
  .display{font-size:clamp(3rem,15vw,4.25rem)}.h1{font-size:clamp(2.8rem,13vw,4rem)}.h2{font-size:clamp(2.35rem,11vw,3.3rem)}
  .project-name{font-size:clamp(1.4rem,6vw,1.55rem)}
  .home-hero{padding:7rem 0}.hero-content .display{font-size:clamp(2.75rem,13vw,4.75rem)}.hero-title-line{display:block;white-space:nowrap}.hero-title-desktop-break{display:none}.hero-actions{margin-top:2rem}
  .section-head{display:block}.section-head p{margin-top:1.5rem}.project-grid{display:block}.project-card,.project-card--large,.project-card--small,.project-card--wide,.project-card--offset,.project-card--end{margin:0 0 3.5rem}.home-project-grid .project-card{margin-bottom:4.5rem}.home-project-grid .project-card:last-child{margin-bottom:0}.project-card--wide .project-media,.project-card--large .project-media{aspect-ratio:4/3}.project-card--small .project-media,.project-card--offset .project-media,.home-project-grid .project-media{aspect-ratio:4/5}.project-meta{display:block}.project-categories{text-align:left;margin-top:.65rem}
  .service-row{grid-template-columns:2.5rem 1fr 1.5rem;min-height:96px;gap:.5rem}.process-steps .service-row{grid-template-columns:2.5rem 1fr}.service-title{font-size:clamp(1.7rem,8vw,2.5rem)}.direction-block{width:auto;margin-inline:-.5rem;padding:3rem 1.5rem;border-radius:var(--radius-md)}.direction-block h2{font-size:clamp(2.2rem,10vw,3rem)}.instagram-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem}.instagram-header .h2{font-size:clamp(2rem,9vw,3rem)}.instagram-header{flex-wrap:wrap}.instagram-header>div{flex:1 1 100%}.instagram-grid{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.instagram-post{border-radius:10px}.instagram-post::after{display:none}
  .about-split{display:flex;flex-direction:column;gap:3rem}.about-image{width:85%;align-self:flex-end;aspect-ratio:4/5}.about-editorial{display:block;padding-top:1.5rem}.about-editorial-copy{margin-top:2rem}.manifesto p{font-size:clamp(2.5rem,11.5vw,3.6rem)}.final-cta .h2{white-space:normal}.cta-grid{display:block}.cta-grid .button{margin-top:2rem}
  .page-hero{padding-top:9rem}.detail-section{display:block}.detail-heading{margin-bottom:2rem}.detail-list{grid-template-columns:1fr}.case-title-row{display:block}.case-tags{text-align:left;margin-top:1.5rem}.case-hero-image{aspect-ratio:4/3;border-radius:var(--radius-md)}.case-intro{display:block}.case-intro .intro{margin-top:1.5rem}.case-pair,.case-pair--uneven{grid-template-columns:1fr;gap:1rem}.case-pair--uneven figure:last-child{aspect-ratio:4/3}.case-overview{display:block;border-bottom:0}.case-scope{margin-top:2rem}.case-gallery{grid-template-columns:1fr;gap:1rem}.result-block{display:block}.result-block p{margin-top:1.5rem}.next-project{align-items:center}.next-project::after{font-size:2rem}
  .principle{padding:1.75rem 0 2.25rem}.principle h3{margin-top:.6rem}.principle p{margin-top:1rem}.visual-band{aspect-ratio:4/3;border-radius:var(--radius-md)}.sector-note{display:block}.sector-note .intro{margin-top:2rem}.contact-layout{display:block}.contact-aside{margin-bottom:4rem}.form-grid{grid-template-columns:1fr}.field--full{grid-column:auto}.form-actions{align-items:flex-start;flex-direction:column}.legal{display:block}.legal-nav{display:none}.legal-data{grid-template-columns:1fr;gap:.1rem}.legal-data dd+dt{margin-top:.7rem}.footer-top{grid-template-columns:1fr 1fr}.footer-intro{grid-column:1/-1;margin-bottom:2rem}.footer-bottom{display:block}.legal-links{margin-top:1rem}.cookie-inner{align-items:flex-start;flex-direction:column}.cookie-actions{margin-left:0;width:100%}.cookie-actions button{flex:1}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.reveal-image{opacity:1;transform:none;clip-path:none;transition:opacity 180ms ease}.project-card,.project-media img,.project-overlay,.service-row::before,.site-header,.mobile-panel,.cookie-banner,.button,.button::after{transition-duration:0ms}body{transition:none}}

@media(hover:hover) and (pointer:fine){html,body,body *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Ccircle cx='7' cy='7' r='5' fill='%23A9D88F'/%3E%3C/svg%3E") 7 7,auto}button:disabled,[aria-disabled="true"]{cursor:not-allowed}}

@media(max-width:720px){
  .home-project-grid{
    display:grid;
    width:100vw;
    margin-left:calc(50% - 50vw);
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-auto-columns:min(82vw,340px);
    gap:.9rem;
    overflow-x:auto;
    overflow-y:hidden;
    padding:0 var(--gutter) .5rem;
    scroll-padding-inline:var(--gutter);
    scroll-snap-type:x mandatory;
    overscroll-behavior-inline:contain;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }

  .home-project-grid::-webkit-scrollbar{display:none}

  .home-project-grid .project-card.reveal,
  .home-project-grid .reveal-image{
    opacity:1;
    transform:none;
    clip-path:inset(0);
    transition:none;
  }

  .home-project-grid .project-card,
  .home-project-grid .project-card:last-child{
    margin:0;
    min-width:0;
    scroll-snap-align:start;
  }

  .home-project-grid .project-card:nth-child(1){order:3}
  .home-project-grid .project-card:nth-child(2){order:2}
  .home-project-grid .project-card:nth-child(3){order:1}
  .home-project-grid .project-card:nth-child(4){order:4}
  .home-project-grid .project-card:nth-child(5){order:5}
  .home-project-grid .project-card:nth-child(6){order:6}

  .home-projects-heading{display:block}
  .home-projects-heading .text-link{margin-top:1.25rem}
}

/* Oportunidades de empleo en Contacto. */
.careers-section{border-top:1px solid var(--color-line);background:var(--color-pale-green)}
.careers-layout{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:2rem;align-items:center}
.careers-intro{grid-column:1/span 5}.careers-intro>.h2,.contact-aside>.h2{font-size:clamp(2.5rem,4vw,3.75rem)}.careers-intro>p:last-child{max-width:32rem;margin-top:1.5rem}
 .careers-vacancy{grid-column:6/-1;border-top:1px solid var(--color-dark-green);padding-top:1.75rem}.careers-vacancy>.h3{font-size:clamp(1.8rem,2.8vw,2.75rem);max-width:20ch}.careers-vacancy>p{margin-top:1.25rem;max-width:42ch;line-height:1.6}.careers-vacancy>.text-link{margin-top:2rem}
@media(max-width:720px){.careers-layout{grid-template-columns:1fr;gap:2.5rem}.careers-intro,.careers-vacancy{grid-column:1/-1}}

.vacancy-apply{border:0;border-radius:0;padding:0 0 .22rem;text-align:left}.application-panel{grid-column:6/-1;min-width:0;margin-top:0;padding-top:2rem;border-top:1px solid var(--color-line);scroll-margin-top:8rem}.application-panel[hidden]{display:none}.application-heading{display:flex;justify-content:flex-end;align-items:start;gap:1.5rem;margin-bottom:2rem}.application-close{flex-shrink:0;border:0;background:transparent;min-height:44px;padding:.5rem 0}.application-close>span{margin-left:.6rem}.application-note{font-size:.85rem;margin-top:1.5rem}.application-panel input[type=file]{font-size:.95rem}.application-panel input::file-selector-button{font:inherit;color:var(--color-dark-green);background:var(--color-light-green);border:0;border-radius:var(--radius-pill);padding:.6rem 1rem;margin-right:1rem;cursor:pointer}@media(min-width:721px) and (max-width:900px){.application-panel,.careers-vacancy{grid-column:5/-1}.careers-intro{grid-column:1/span 4}}@media(max-width:720px){.application-heading{gap:1rem}.application-panel{grid-column:1/-1;margin-top:.5rem}.application-panel input[type=file]{font-size:.8rem}}

.vacancy-apply[aria-expanded="true"]::after{content:"←"}@media(hover:hover) and (pointer:fine){.vacancy-apply[aria-expanded="true"]:hover::after{transform:translateX(-4px)}}

@media(min-width:721px){.footer-top{grid-template-columns:repeat(12,minmax(0,1fr))}.footer-intro{grid-column:1/span 4}.footer-intro+.footer-column{grid-column:6/span 3}.footer-column:last-child{grid-column:9/-1}}@media(min-width:721px) and (max-width:900px){.footer-intro+.footer-column{grid-column:5/span 4}}

/* Escala general del contenido. El header, su menú móvil y el hero de Inicio
   compensan la escala para conservar exactamente su tamaño actual. */
:root{--site-content-scale:.95}
body{zoom:var(--site-content-scale)}
.site-header,.mobile-panel,.home-hero--scroll{zoom:1.0526315789}
.container{width:min(calc((100% * var(--site-content-scale)) - (2 * clamp(1.25rem,3.8vw,4.5rem))),var(--max-width))}

/* Descriptores de los servicios de Inicio. */
.home-services-section .service-row{grid-template-columns:1fr 6fr minmax(14rem,2fr) 1.5rem}
.home-services-section .service-row::before{width:calc(100vw / var(--site-content-scale))}
.home-services-section .service-tagline{font-size:1rem;line-height:1.4;font-weight:400;color:inherit}
@media(min-width:721px) and (max-width:1024px){
  .home-services-section .service-row{grid-template-columns:2.5rem minmax(0,1fr) minmax(11rem,auto) 1.5rem;gap:1rem}
  .home-services-section .service-tagline{font-size:.8rem}
}
@media(max-width:720px){
  .home-services-section .service-row{grid-template-columns:2.5rem minmax(0,1fr) 1.5rem;gap:.65rem .5rem;padding-block:1.4rem}
  .home-services-section .service-number{grid-column:1;grid-row:1}
  .home-services-section .service-title{grid-column:2;grid-row:1}
  .home-services-section .service-arrow{grid-column:3;grid-row:1}
  .home-services-section .service-tagline{grid-column:2;grid-row:2;font-size:.72rem;letter-spacing:.02em}
}

/* Inicio: carrusel de servicios. */
.home-services-section{overflow:hidden;padding-top:clamp(2.5rem,5vw,5rem);padding-bottom:clamp(2.5rem,5vw,5rem)}
.home-services-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:clamp(2rem,4vw,3.5rem)}
.home-services-heading .text-link{flex:0 0 auto}
.home-services-carousel{position:relative}
.service-carousel-track{display:grid;width:100vw;margin-left:calc(50% - 50vw);grid-auto-flow:column;grid-auto-columns:clamp(290px,29vw,460px);gap:clamp(1rem,2vw,1.5rem);overflow-x:auto;padding:.5rem var(--gutter) .65rem;scroll-padding-inline:var(--gutter);scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.service-carousel-track::-webkit-scrollbar{display:none}
.service-card{--card-dark:#1f4538;--card-mid:#5c9367;position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:510px;padding:clamp(1.35rem,2.2vw,2rem);overflow:hidden;border-radius:clamp(2rem,3vw,2.75rem);color:#fff;scroll-snap-align:start;background:radial-gradient(ellipse at 18% 15%,rgba(218,235,201,.8) 0,rgba(218,235,201,0) 42%),radial-gradient(ellipse at 88% 43%,rgba(255,255,255,.32) 0,rgba(255,255,255,0) 38%),linear-gradient(145deg,var(--card-mid),var(--card-dark) 72%);transition:transform 420ms var(--ease-out)}
.service-card::before{content:"";position:absolute;z-index:-2;inset:-25%;background:linear-gradient(150deg,transparent 28%,rgba(236,247,227,.72) 42%,rgba(255,255,255,.12) 49%,transparent 61%);transform:rotate(-7deg) scale(1.12);filter:blur(4px);transition:transform 700ms var(--ease-out)}
.service-card::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(15,47,34,0) 30%,rgba(15,47,34,.16) 54%,rgba(15,47,34,.74) 100%)}
.service-card--branding{--card-dark:#1f4538;--card-mid:#5c9367}
.service-card--packaging{--card-dark:#285448;--card-mid:#7baa72}
.service-card--packaging::before{transform:rotate(9deg) scale(1.2) translateY(-5%)}
.service-card--web{--card-dark:#23483d;--card-mid:#83b17b}
.service-card--web::before{transform:rotate(-18deg) scale(1.2) translateX(8%)}
.service-card--social{--card-dark:#315246;--card-mid:#69a16b}
.service-card--social::before{transform:rotate(19deg) scale(1.22) translateY(3%)}
.service-card-number{position:absolute;top:clamp(1.35rem,2.2vw,2rem);left:clamp(1.35rem,2.2vw,2rem);font-size:.76rem;font-weight:500;letter-spacing:.1em;opacity:.75}
.service-card-content{width:100%}
.service-card h3{margin:0 0 .65rem;font-size:clamp(2rem,3vw,3rem);font-weight:500;line-height:1;letter-spacing:-.045em}
.service-card p{max-width:28ch;margin:0 0 1rem;font-size:.95rem;font-weight:300;line-height:1.4;color:rgba(255,255,255,.92)}
.service-card-tags{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1.25rem}
.service-card-tags span{padding:.357rem .756rem;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:rgba(24,62,46,.48);font-size:.714rem;line-height:1;backdrop-filter:blur(8px)}
.service-card-cta{display:flex;align-items:center;justify-content:space-between;height:54px;padding-left:1.25rem;border-radius:999px;background:#fff;color:var(--color-dark-green);font-size:.88rem;font-weight:600;transition:background-color var(--duration-fast) ease,color var(--duration-fast) ease}
.service-card-cta-icon{display:grid;place-items:center;width:46px;height:46px;margin-right:4px;border-radius:50%;background:var(--color-highlight);color:#fff;transition:transform var(--duration-fast) var(--ease-out),background-color var(--duration-fast) ease,color var(--duration-fast) ease}
.service-card-cta-icon svg,.service-carousel-nav svg,.project-carousel-nav svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.service-carousel-nav{display:flex;justify-content:flex-end;gap:.65rem;margin-top:1.25rem}
.project-carousel-nav{display:none}
.service-carousel-nav button,.project-carousel-nav button{display:grid;place-items:center;width:52px;height:52px;border:0;border-radius:50%;background:var(--color-highlight);color:#fff;box-shadow:0 8px 22px rgba(31,50,47,.12);transition:transform var(--duration-fast) var(--ease-out),opacity var(--duration-fast) ease}
.service-carousel-nav button:disabled,.project-carousel-nav button:disabled{opacity:.3;cursor:default}
@media(hover:hover) and (pointer:fine){
  .service-card:hover{transform:translateY(-6px)}
  .service-card:hover::before{transform:rotate(-2deg) scale(1.18) translate3d(2%,-2%,0)}
  .service-card:hover .service-card-cta{background:var(--color-menu-hover);color:#fff}
  .service-card:hover .service-card-cta-icon{transform:translateX(2px);background:#fff;color:var(--color-dark-green)}
  .service-carousel-nav button:not(:disabled):hover,.project-carousel-nav button:not(:disabled):hover{transform:scale(1.06)}
}
@media(max-width:720px){
  .home-services-section{padding-block:2.5rem}
  .home-services-heading{display:block;margin-bottom:2rem}
  .home-services-heading .text-link{margin-top:1.25rem}
  .service-carousel-track{grid-auto-columns:min(82vw,340px);gap:.9rem;padding-top:.5rem;padding-bottom:.5rem}
  .service-card{min-height:460px;padding:1.35rem;border-radius:2rem}
  .service-card h3{font-size:2.15rem}
  .service-carousel-nav{justify-content:flex-start;margin-top:1rem}
  .project-carousel-nav{display:flex;justify-content:flex-start;gap:.65rem;margin-top:1rem}
}
@media(prefers-reduced-motion:reduce){.service-card,.service-card::before,.service-card-cta-icon,.service-carousel-nav button,.project-carousel-nav button{transition:none}.service-carousel-track,.home-project-grid{scroll-behavior:auto}}
