@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&family=Poppins:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap');

:root{--forest:#434f3f;--sand:#eccfb6;--ink:#1d1d1b;--paper:#f3eee5;--white:#fff;--muted:#71776f;--max:1280px;--radius:36px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Poppins,Arial,sans-serif;line-height:1.55}img{max-width:100%;display:block}a{color:inherit}.skip-link{position:fixed;left:1rem;top:-5rem;background:#fff;padding:.75rem 1rem;z-index:99}.skip-link:focus{top:1rem}.site-header{height:88px;padding:0 max(24px,calc((100vw - var(--max))/2));display:flex;align-items:center;gap:40px;position:absolute;inset:0 0 auto;z-index:10}.brand{margin-right:auto}.brand img{width:142px;height:48px;object-fit:contain}.desktop-nav{display:flex;gap:30px}.desktop-nav a,.site-footer a{text-decoration:none;font-size:.9rem}.desktop-nav a:hover{text-decoration:underline}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--forest);background:var(--forest);color:#fff;text-decoration:none;border-radius:999px;padding:14px 24px;font-weight:600;transition:.25s transform,.25s background}.button:hover{transform:translateY(-2px);background:#33402f}.button-small{padding:10px 18px;font-size:.84rem}.button-outline{background:transparent;color:var(--forest)}.menu-toggle{display:none;border:0;background:none}.menu-toggle span{display:block;width:24px;height:2px;background:var(--ink);margin:5px}.hero{min-height:760px;padding:150px max(24px,calc((100vw - var(--max))/2)) 80px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:60px;background:radial-gradient(circle at 22% 8%,#fff 0,transparent 30%),linear-gradient(125deg,#ebe6dc 15%,#c7c8bd 100%);overflow:hidden}.hero-copy{position:relative;z-index:2}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.72rem;font-weight:700;color:var(--forest)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(3.2rem,6.3vw,6.6rem);line-height:.92;letter-spacing:-.06em;max-width:760px;margin:24px 0 30px}h1 em,h2 em{font-weight:400;color:var(--forest)}.hero-copy>p{max-width:650px;font-size:1.12rem}.actions{display:flex;gap:26px;align-items:center;margin-top:36px}.text-link{text-decoration:none;font-weight:600}.hero-art{min-height:560px;position:relative;border:1px solid rgba(67,79,63,.35);border-radius:48% 48% 10px 10px}.portrait-orb{position:absolute;inset:8% -10% -12% 8%;border-radius:48% 48% 8% 45%;background:linear-gradient(150deg,rgba(255,255,255,.15),rgba(12,26,18,.58)),url('/assets/brand-texture.jpg') center/cover;filter:saturate(.7)}.metric{position:absolute;background:rgba(255,255,255,.86);backdrop-filter:blur(12px);padding:13px 16px;border-radius:8px;min-width:130px;box-shadow:0 10px 35px #1d1d1b18}.metric strong{font-size:1.45rem;color:var(--forest);display:block}.metric span{font-size:.64rem;text-transform:uppercase}.metric-a{top:8%;left:-4%}.metric-b{top:32%;left:-10%}.metric-c{top:54%;right:-6%}.ticker,.values{background:var(--forest);color:#fff;overflow:hidden;white-space:nowrap;padding:15px 0;text-align:center;font-size:.85rem;letter-spacing:.05em;text-transform:uppercase}.ticker b{color:var(--sand);margin:0 30px}.dark-section{background:var(--ink);color:#fff}.questions{min-height:440px;border-radius:0 0 38px 38px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:70px 24px;background:linear-gradient(#101611e8,#101611e8),url('/assets/brand-texture.jpg') center/cover}.questions p{font-size:clamp(1.15rem,2.2vw,2rem);margin:16px}.questions i{color:var(--sand)}.smile-mini{border:2px solid white;border-radius:50%;width:42px;height:42px;display:grid;place-items:center;font-size:1.7rem}.section{padding:110px max(24px,calc((100vw - var(--max))/2))}.about{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:center}.about-visual{position:relative}.portrait-placeholder{height:620px;border-radius:48% 48% 14px 14px;background:linear-gradient(155deg,#c9c7bb,#596453);position:relative;overflow:hidden;box-shadow:0 25px 70px #26312625}.portrait-placeholder:before,.portrait-placeholder:after{content:"";position:absolute;border-radius:50%;filter:blur(2px)}.portrait-placeholder:before{width:420px;height:420px;background:var(--sand);left:-80px;bottom:-110px}.portrait-placeholder:after{width:300px;height:300px;background:var(--forest);right:-80px;top:60px}.portrait-placeholder span{position:absolute;z-index:2;inset:0;display:grid;place-items:center;font-size:16rem;font-weight:600;color:#ffffff90}.about-visual>p{position:absolute;bottom:20px;left:26px;z-index:3;color:#fff;font-size:1.2rem}.about-copy h2,.section-heading h2,.process h2,.reviews h2,.faq h2,.contact h2,.subhero h1{font-size:clamp(2.6rem,5vw,5.3rem);line-height:1;letter-spacing:-.055em;margin:12px 0 32px}.about-copy>p{max-width:680px}.value-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px}.value-pills span{border:1px solid #aaa;border-radius:999px;padding:7px 13px;font-size:.75rem}.trust-strip{display:flex;align-items:center;justify-content:center;gap:clamp(20px,5vw,70px);padding:28px;background:#fff;overflow:hidden}.trust-strip span{font-size:.7rem;text-transform:uppercase}.trust-strip b{white-space:nowrap}.services{background:#111812}.section-heading{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:55px}.section-heading>div{max-width:750px}.section-heading>p{max-width:440px;color:#b9c0b8}.eyebrow.light{color:var(--sand)}.services h2 em{color:var(--sand)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.service-grid article{background:#f7f5ef;color:var(--ink);min-height:310px;padding:28px;display:flex;flex-direction:column}.service-grid article>span{color:var(--forest);font-weight:700}.service-grid h3{font-size:1.35rem;margin:40px 0 15px}.service-grid p{font-size:.88rem}.service-grid a{margin-top:auto;font-weight:600;text-decoration:none}.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.projects article{background:#fff;padding:12px;box-shadow:0 12px 35px #1d1d1b12}.project-cover{height:280px;display:grid;place-items:center;color:#fff;font-weight:700;font-size:1.6rem;background-position:center;background-size:cover}.cover-one{background:linear-gradient(#26312680,#26312680),url('/assets/brand-texture.jpg')}.cover-two{background:linear-gradient(#886f5a70,#886f5a70),url('/assets/brand-texture.jpg')}.cover-three{background:linear-gradient(#15191590,#15191590),url('/assets/brand-texture.jpg')}.projects article>div:last-child{padding:22px 10px}.projects small{color:var(--forest);text-transform:uppercase}.process{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;background:#f4e6d8}.process-intro{position:sticky;top:40px;align-self:start}.timeline{list-style:none;padding:0;margin:0}.timeline li{display:grid;grid-template-columns:64px 1fr;gap:20px;padding:8px 0 38px;position:relative}.timeline li:not(:last-child):after{content:"";position:absolute;left:24px;top:48px;bottom:0;border-left:1px solid #aeb5a9}.timeline li>span{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--forest);color:#fff}.timeline h3{font-size:1.3rem}.values{display:flex;justify-content:space-around;gap:30px}.reviews{background:linear-gradient(120deg,#d7dbd2,#f6f1e8)}.reviews>h2{max-width:800px}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.review-grid blockquote{margin:0;background:#fff;padding:32px;min-height:290px;display:flex;flex-direction:column}.review-grid blockquote>div{color:var(--forest);letter-spacing:.2em}.review-grid blockquote p{margin:30px 0;font-size:.95rem}.review-grid footer{margin-top:auto;font-weight:600;font-size:.78rem}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;position:relative}.faq:after{content:"";position:absolute;right:2%;bottom:3%;width:220px;height:220px;background:url('/assets/organic-sand.svg') center/contain no-repeat;opacity:.38;pointer-events:none}.accordion{position:relative;z-index:2}.accordion details{border-bottom:1px solid #c9c7be;padding:19px 0}.accordion summary{font-weight:600;cursor:pointer;display:flex;justify-content:space-between}.accordion summary:after{content:"+"}.accordion details[open] summary:after{content:"−"}.accordion p{padding-top:16px;color:#555}.contact{margin:0 16px;border-radius:42px 42px 0 0;padding:110px max(24px,calc((100vw - var(--max))/2));display:grid;grid-template-columns:1fr 1fr;gap:50px;position:relative;overflow:hidden;background:#101712}.contact-copy,.contact-links{position:relative;z-index:2}.contact h2{max-width:760px}.contact h2 em{color:var(--sand)}.contact-links{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:12px}.contact-links a{background:var(--forest);border-radius:999px;padding:18px 24px;text-decoration:none;text-align:center}.contact-art{position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,var(--sand),transparent 65%);filter:blur(40px);right:-180px;bottom:-270px;opacity:.45}.site-footer{background:#101712;color:#fff;padding:35px max(24px,calc((100vw - var(--max))/2));display:flex;align-items:center;gap:35px}.site-footer nav{display:flex;gap:22px}.site-footer small{margin-left:auto}.reveal{opacity:0;transform:translateY(24px);transition:.7s ease}.reveal.is-visible{opacity:1;transform:none}

.subpage{background:#f4efe7}.subhero{padding:170px max(24px,calc((100vw - var(--max))/2)) 100px;background:linear-gradient(125deg,#f6f1e8,#c7cec3)}.subhero p{max-width:720px;font-size:1.15rem}.breadcrumb{font-size:.8rem;margin-bottom:34px}.content-section{padding:90px max(24px,calc((100vw - var(--max))/2));display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.content-section h2{font-size:clamp(2rem,4vw,4rem);line-height:1.05}.content-section ul{padding-left:1.2rem}.content-section li{margin-bottom:12px}.feature-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:0 max(24px,calc((100vw - var(--max))/2)) 100px}.feature-cards article{padding:30px;background:#fff;min-height:220px}.subcta{margin:0 16px 16px;border-radius:38px;padding:80px max(24px,calc((100vw - var(--max))/2));background:#111812;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:30px}.subcta h2{font-size:clamp(2rem,4vw,4rem);max-width:760px}.subcta .button{background:var(--sand);color:var(--ink);border-color:var(--sand)}
.article-hero{padding-bottom:72px}.article-hero h1{max-width:980px}.article-meta{display:flex;gap:18px;flex-wrap:wrap;color:#555;font-size:.82rem;margin-top:30px}.article-layout{display:grid;grid-template-columns:minmax(0,760px) 260px;justify-content:space-between;gap:80px;padding:80px max(24px,calc((100vw - var(--max))/2)) 110px}.article-body{font-size:1.04rem}.article-body h2{font-size:clamp(1.9rem,3.2vw,3rem);line-height:1.08;letter-spacing:-.04em;margin:64px 0 20px}.article-body h3{font-size:1.35rem;margin:38px 0 12px}.article-body p,.article-body li{max-width:70ch}.article-body li{margin-bottom:10px}.article-body a{color:var(--forest);font-weight:600}.article-lead{font-size:1.24rem;line-height:1.55}.article-note{background:#fff;border-left:5px solid var(--sand);border-radius:0 24px 24px 0;padding:24px 28px;margin:38px 0}.article-checklist{padding:0;list-style:none}.article-checklist li{position:relative;padding:16px 0 16px 42px;border-bottom:1px solid #d8d3ca}.article-checklist li:before{content:"✓";position:absolute;left:0;top:14px;width:27px;height:27px;border-radius:50%;background:var(--forest);color:#fff;display:grid;place-items:center;font-weight:700}.article-table{width:100%;border-collapse:collapse;margin:28px 0;font-size:.92rem}.article-table th,.article-table td{text-align:left;vertical-align:top;padding:15px;border-bottom:1px solid #cbc7be}.article-table th{background:#e7ddcf}.article-aside{align-self:start;position:sticky;top:30px;background:#fff;padding:25px;border-radius:28px}.article-aside strong{display:block;margin-bottom:14px}.article-aside a{display:block;text-decoration:none;padding:9px 0;border-bottom:1px solid #ddd;font-size:.86rem}.article-aside .button{margin-top:22px;color:#fff;text-align:center;border:0}.inline-cta{background:var(--forest);color:#fff;border-radius:32px;padding:35px;margin:55px 0}.inline-cta h2{margin-top:0;color:#fff}.inline-cta .button{background:var(--sand);color:var(--ink);border-color:var(--sand)}
.knowledge{background:#e9e2d8}.knowledge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.knowledge-grid article{background:#fff;padding:32px;min-height:300px;display:flex;flex-direction:column;border-radius:0 0 28px 28px}.knowledge-grid h3{font-size:1.45rem;line-height:1.2;margin:28px 0 14px}.knowledge-grid p{font-size:.9rem}.knowledge-grid article>a{margin-top:auto;color:var(--forest);font-weight:700;text-decoration:none}.knowledge-intro{max-width:760px}.knowledge-page{padding-top:70px}
.service-detail{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;background:#e9e2d8}.service-detail h2{font-size:clamp(2.2rem,4vw,4rem);line-height:1.05;letter-spacing:-.05em}.service-detail h3{margin:32px 0 10px}.service-detail a{color:var(--forest);font-weight:600}

@media(max-width:900px){.site-header{height:72px}.desktop-nav{display:none;position:absolute;top:72px;left:16px;right:16px;background:#fff;padding:22px;border-radius:20px;flex-direction:column;box-shadow:0 15px 40px #0002}.desktop-nav.is-open{display:flex}.site-header>.button{display:none}.menu-toggle{display:block}.hero{grid-template-columns:1fr;padding-top:120px}.hero-art{min-height:430px}.about,.process,.faq,.content-section,.service-detail{grid-template-columns:1fr}.about{gap:40px}.portrait-placeholder{height:500px}.service-grid,.projects,.review-grid,.feature-cards,.knowledge-grid{grid-template-columns:1fr 1fr}.section-heading{align-items:start;flex-direction:column}.process-intro{position:static}.contact{grid-template-columns:1fr}.site-footer{flex-wrap:wrap}.site-footer nav{order:3;width:100%;flex-wrap:wrap}.site-footer small{margin-left:0}.subcta{align-items:start;flex-direction:column}.article-layout{grid-template-columns:1fr}.article-aside{position:static;order:-1}}
@media(max-width:600px){.hero{min-height:auto;padding-bottom:55px}.hero h1{font-size:3.4rem}.hero-art{min-height:350px}.metric{min-width:110px}.metric-c{right:0}.section{padding-top:75px;padding-bottom:75px}.service-grid,.projects,.review-grid,.feature-cards,.knowledge-grid{grid-template-columns:1fr}.questions{min-height:380px}.about-copy h2,.section-heading h2,.process h2,.reviews h2,.faq h2,.contact h2,.subhero h1{font-size:2.65rem}.portrait-placeholder{height:420px}.trust-strip{justify-content:flex-start}.values{justify-content:flex-start;overflow:auto}.contact{margin:0 8px}.site-footer{padding-bottom:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* Lightweight brand atmosphere: CSS gradients replace a 37 MB source image. */
.portrait-orb{background:radial-gradient(ellipse at 22% 28%,#ded6bd 0 8%,transparent 30%),radial-gradient(ellipse at 70% 42%,#71826e 0 16%,transparent 44%),radial-gradient(ellipse at 44% 85%,#55a561 0 9%,transparent 35%),linear-gradient(145deg,#101714,#3f5041 58%,#d8c4aa)}
.questions{background:radial-gradient(circle at 20% 30%,#435f49 0,transparent 28%),radial-gradient(circle at 80% 70%,#8c806a 0,transparent 25%),#101611}
.cover-one{background:radial-gradient(circle at 70% 20%,#8fa081,transparent 35%),linear-gradient(145deg,#1c2920,#586552)}
.cover-two{background:radial-gradient(circle at 25% 70%,#eccfb6,transparent 34%),linear-gradient(135deg,#39493b,#827562)}
.cover-three{background:radial-gradient(circle at 75% 60%,#486a4c,transparent 32%),linear-gradient(150deg,#111813,#6a665a)}
.site-header{animation:header-enter .65s ease-out both}.button{transition:transform .25s ease,background .25s ease,box-shadow .25s ease}.button:hover{transform:translateY(-3px);box-shadow:0 10px 24px #1d1d1b24}.portrait-orb{animation:organic-float 12s ease-in-out infinite alternate;transform-origin:50% 70%;will-change:transform;object-fit:cover;object-position:center 42%}.portrait-placeholder:before,.portrait-placeholder:after{display:none}.portrait-placeholder img{width:100%;height:100%;object-fit:cover;object-position:center 34%;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.about-visual:hover .portrait-placeholder img{transform:scale(1.025)}.service-grid article,.projects article,.knowledge-grid article{transition:transform .35s ease,box-shadow .35s ease}.service-grid article:hover,.projects article:hover,.knowledge-grid article:hover{transform:translateY(-6px);box-shadow:0 18px 45px #1d1d1b18}.service-grid article>a,.knowledge-grid article>a{transition:letter-spacing .25s ease}.service-grid article>a:hover,.knowledge-grid article>a:hover{letter-spacing:.02em}.service-grid h2{font-size:1.35rem;line-height:1.2;margin:40px 0 15px}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease var(--reveal-delay,0ms),transform .7s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms)}.reveal.is-visible{opacity:1;transform:none}@keyframes organic-float{0%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(-8px,-10px,0) scale(1.012)}100%{transform:translate3d(7px,-4px,0) scale(1.02)}}@keyframes header-enter{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important}}

/* Atmospheric brand photography: blur softens the source grain while overlays keep copy legible. */
.hero-art{border-radius:24% 24% 10px 10px}.portrait-orb{inset:8% 0 -12% 8%;border-radius:22% 22% 8% 18%;object-position:54% 42%;filter:saturate(.88)}
.questions,.contact{position:relative;isolation:isolate;overflow:hidden;background:#101611}
.questions:before,.contact:before{content:"";position:absolute;inset:-14px;background:url('/assets/green-background-horizontal.jpg') center/cover no-repeat;filter:blur(5px);opacity:.58;z-index:-2}
.questions:after,.contact:after{content:"";position:absolute;inset:0;background:rgba(10,17,12,.58);z-index:-1;pointer-events:none}
.contact:before{background-position:center 62%;filter:blur(7px);opacity:.42}
.contact:after{background:rgba(10,17,12,.72)}
@media(max-width:600px){.hero-art{border-radius:18% 18% 10px 10px}.portrait-orb{inset:6% 0 -8% 4%;border-radius:16% 16% 8% 14%;object-position:54% 40%}}

.reviews-action{display:flex;justify-content:center;margin-top:34px}.reviews-action .button-outline{background:transparent}
.service-testimonial{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:center;background:linear-gradient(125deg,#dfe3da,#f4eee5)}
.service-testimonial h2{font-size:clamp(2.2rem,4vw,4rem);line-height:1.05;letter-spacing:-.05em;margin:14px 0 0}.service-testimonial blockquote{margin:0;background:#fff;border-radius:32px;padding:clamp(28px,4vw,46px);box-shadow:0 18px 50px #1d1d1b10}.service-testimonial blockquote p{font-size:clamp(1.05rem,1.6vw,1.3rem);line-height:1.55;margin:22px 0}.service-testimonial blockquote footer{font-size:.82rem;font-weight:600;margin-bottom:28px}.review-stars{color:var(--forest);letter-spacing:.18em}.service-testimonial .button{width:max-content}
@media(max-width:900px){.service-testimonial{grid-template-columns:1fr;gap:34px}}
@media(max-width:600px){.reviews-action{justify-content:stretch}.reviews-action .button,.service-testimonial .button{width:100%}}

.client-logos{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:clamp(28px,5vw,72px);padding:28px max(24px,calc((100vw - var(--max))/2));background:#fff;overflow:hidden}.client-logos-title{font-size:.7rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--forest);white-space:nowrap}.logo-marquee{min-width:0;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}.logo-track{display:flex;width:max-content;gap:64px;animation:logo-scroll 30s linear infinite;will-change:transform}.logo-group{display:flex;align-items:center;gap:64px}.client-logo{width:clamp(120px,12vw,175px);height:58px;display:grid;place-items:center;flex:0 0 auto}.client-logo img{display:block;max-width:100%;width:auto;max-height:46px;height:auto;object-fit:contain;filter:grayscale(1) brightness(0);opacity:.58;transition:opacity .25s ease,transform .25s ease}.client-logo:hover img{opacity:.9;transform:scale(1.035)}.logo-marquee:hover .logo-track{animation-play-state:paused}@keyframes logo-scroll{to{transform:translateX(calc(-50% - 32px))}}
@media(max-width:700px){.client-logos{grid-template-columns:1fr;gap:16px;padding-block:22px}.logo-track,.logo-group{gap:40px}.client-logo{width:132px;height:50px}@keyframes logo-scroll{to{transform:translateX(calc(-50% - 20px))}}}
@media(prefers-reduced-motion:reduce){.logo-marquee{overflow-x:auto;mask-image:none;-webkit-mask-image:none}.logo-track{animation:none}.logo-group[aria-hidden="true"]{display:none}}

/* TESORA / Vejos Robotai case study */
.case-study{--tesora-sun:#fcd91a;--tesora-graphite:#403f3f;--tesora-coal:#1a1a1a;--tesora-light:#f5f6f7;background:#f3eee5}
.case-study :focus-visible{outline:3px solid var(--sand);outline-offset:4px}
.case-hero{min-height:760px;padding:156px max(24px,calc((100vw - var(--max))/2)) 92px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.75fr);gap:clamp(48px,7vw,108px);align-items:center;background:radial-gradient(circle at 7% 9%,#fff 0,transparent 31%),linear-gradient(125deg,#f4efe7 30%,#d8ddd3);overflow:hidden}
.case-hero .breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:9px;color:#5d635b;margin-bottom:44px}
.case-hero h1{font-size:clamp(4rem,7.4vw,7.6rem);max-width:880px;margin:18px 0 28px}
.case-hero-copy>p{font-size:clamp(1.05rem,1.5vw,1.24rem);max-width:680px}
.case-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}
.case-tags span{border:1px solid rgba(29,29,27,.3);border-radius:999px;padding:7px 13px;font-size:.73rem;font-weight:600}
.case-hero-brand{min-height:490px;padding:clamp(32px,4vw,58px);border-radius:46% 46% 28px 28px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;box-shadow:0 32px 90px rgba(27,36,28,.24);isolation:isolate}
.tesora-surface{background:radial-gradient(circle at 78% 24%,rgba(252,217,26,.2),transparent 23%),linear-gradient(145deg,#242424,#101010);color:#fff;font-family:"Open Sans",Arial,sans-serif}
.case-hero-brand:before{content:"";position:absolute;width:320px;height:320px;border:1px solid rgba(252,217,26,.28);border-radius:50%;right:-105px;top:-115px;z-index:-1}
.case-hero-brand img{width:min(100%,460px);height:auto;position:relative;z-index:2}
.case-hero-brand p{max-width:310px;margin:34px 0 0;font-size:.95rem;position:relative;z-index:2}
.case-brand-label{position:absolute;top:39px;left:48px;color:var(--tesora-sun);text-transform:uppercase;letter-spacing:.16em;font-size:.68rem;font-weight:700}
.tesora-orbit{position:absolute;width:250px;height:120px;border:2px solid var(--tesora-sun);border-radius:50%;right:-82px;bottom:-34px;transform:rotate(-20deg);opacity:.65}
.case-mockup-stage{padding:95px max(24px,calc((100vw - var(--max))/2)) 150px;background:#111812;color:#fff;overflow:hidden}
.case-mockup-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:52px}
.case-mockup-heading h2{font-size:clamp(2.6rem,5vw,5.2rem);line-height:1;letter-spacing:-.055em;max-width:980px;margin:10px 0 0}
.case-mockup-heading h2 em{color:var(--sand)}
.device-composition{max-width:1180px;margin:0 auto;position:relative;padding:0 120px 58px 0}
.browser-mockup{margin:0;background:#fff;border:10px solid #252825;border-radius:24px;overflow:hidden;box-shadow:0 36px 90px rgba(0,0,0,.32)}
.browser-chrome{height:36px;padding:0 14px;display:flex;align-items:center;gap:7px;background:#e8e9e7;color:#5c615c}
.browser-chrome>span{width:8px;height:8px;border-radius:50%;background:#a7aaa5}
.browser-chrome>span:first-child{background:#8d9689}
.browser-chrome small{margin-left:12px;font-size:.62rem;letter-spacing:.02em}
.browser-mockup img{width:100%;height:auto}
.phone-mockup{position:absolute;width:clamp(190px,22vw,276px);right:0;bottom:0;margin:0;padding:11px;background:#101010;border:2px solid #4b4b4b;border-radius:38px;box-shadow:0 28px 70px rgba(0,0,0,.45);z-index:2}
.phone-mockup img,.mini-phone img{width:100%;height:auto;border-radius:27px}
.phone-speaker{position:absolute;top:16px;left:50%;transform:translateX(-50%);width:66px;height:16px;border-radius:999px;background:#101010;z-index:2}
.case-brief{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(50px,8vw,120px)}
.case-section-intro h2,.tesora-brand-head h2{font-size:clamp(2.65rem,5vw,5.15rem);line-height:1;letter-spacing:-.055em;margin:12px 0 26px}
.case-section-intro>p{max-width:520px;color:#c5ccc4}
.case-lead{font-size:clamp(1.22rem,2vw,1.65rem);line-height:1.5;max-width:780px}
.case-brief-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:52px}
.case-brief-columns article{background:#fff;padding:28px;min-height:250px;border-radius:8px 8px 34px 8px}
.case-brief-columns article>span,.case-outcome-grid article>span{display:block;color:var(--forest);font-size:.72rem;font-weight:700;margin-bottom:50px}
.case-brief-columns h3{font-size:1.18rem}
.case-brief-columns p{font-size:.88rem;color:#50544e}
.case-process{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(50px,8vw,120px);background:radial-gradient(circle at 0 100%,rgba(236,207,182,.12),transparent 28%),#111812;color:#fff}
.case-process .case-section-intro{position:sticky;top:40px;align-self:start}
.case-process h2 em{color:var(--sand)}
.case-process-list{list-style:none;padding:0;margin:0;counter-reset:case-step}
.case-step{display:grid;grid-template-columns:58px 1fr;gap:20px;padding:28px 0 34px;border-top:1px solid rgba(255,255,255,.2)}
.case-step>span{width:48px;height:48px;border:1px solid rgba(255,255,255,.35);border-radius:50%;display:grid;place-items:center;color:var(--sand);font-size:.74rem;font-weight:700}
.case-step h3{font-size:clamp(1.25rem,2vw,1.65rem);margin:7px 0 12px}
.case-step p{color:#c5ccc4;max-width:720px}
.tesora-brand{background:var(--tesora-light);font-family:"Open Sans",Arial,sans-serif}
.tesora-brand-head{max-width:900px;margin-bottom:58px}
.tesora-brand-head .eyebrow{color:var(--tesora-graphite)}
.tesora-brand-head h2{font-family:Poppins,Arial,sans-serif}
.tesora-brand-head h2 em{color:var(--tesora-graphite)}
.tesora-brand-head p{max-width:720px;color:#4c4c4c}
.tesora-brand-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:14px}
.tesora-brand-grid>article,.tesora-brand-grid>blockquote{margin:0;border-radius:26px;padding:clamp(28px,4vw,48px)}
.tesora-logo-card{min-height:360px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative}
.tesora-logo-card>span,.tesora-palette-card>span{font-size:.69rem;text-transform:uppercase;letter-spacing:.14em;font-weight:700}
.tesora-logo-card>span{color:var(--tesora-sun)}
.tesora-logo-card img{width:min(100%,540px);height:auto;position:relative;z-index:2}
.tesora-palette-card{background:#fff;display:flex;flex-direction:column;gap:28px}
.tesora-swatches{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;flex:1}
.tesora-swatch{min-height:230px;border-radius:12px;padding:18px;display:flex;flex-direction:column;justify-content:end}
.tesora-swatch strong{font-size:.78rem}
.tesora-swatch small{font-size:.66rem;margin-top:3px}
.swatch-sun{background:var(--tesora-sun);color:#1a1a1a}
.swatch-graphite{background:var(--tesora-graphite);color:#fff}
.swatch-coal{background:var(--tesora-coal);color:#fff}
.tesora-quote-card{grid-column:1/-1;min-height:240px;background:var(--tesora-sun);color:var(--tesora-coal);display:grid;grid-template-columns:100px 1fr;gap:30px;align-items:center}
.tesora-quote-card>span{font-size:8rem;line-height:.5}
.tesora-quote-card p{font-size:clamp(1.55rem,3.2vw,3.3rem);font-weight:700;line-height:1.08;max-width:960px;margin:0;text-transform:uppercase}
.case-gallery{background:#e6dfd4}
.case-gallery .section-heading>p{color:#545a53}
.case-gallery-grid{display:grid;grid-template-columns:1.5fr .5fr;gap:18px;align-items:stretch}
.case-gallery-wide{box-shadow:0 20px 55px rgba(29,29,27,.14)}
.browser-mockup figcaption{padding:14px 18px;background:#fff;color:#4c504b;font-size:.78rem}
.case-gallery-note{background:#434f3f;color:#fff;border-radius:28px;padding:clamp(30px,4vw,50px);overflow:hidden;position:relative;min-height:590px;display:flex;flex-direction:column}
.case-gallery-note h3{font-size:clamp(1.7rem,3vw,3rem);line-height:1.08;margin:22px 0}
.case-gallery-note>p{color:#dfe4dd}
.mini-phone{width:78%;margin:auto auto -58% 11%;padding:8px;background:#111;border-radius:30px;box-shadow:0 24px 50px rgba(0,0,0,.3)}
.case-outcomes{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(50px,8vw,120px)}
.case-outcome-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.case-outcome-grid article{background:#fff;border-radius:30px 8px 30px 8px;padding:28px;min-height:235px}
.case-outcome-grid article>span{margin-bottom:40px}
.case-outcome-grid h3{font-size:1.22rem}
.case-outcome-grid p{font-size:.88rem;color:#52574f}
.case-services-strip{padding:34px max(24px,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;gap:30px;background:#fff}
.case-services-strip>span{text-transform:uppercase;letter-spacing:.13em;font-size:.68rem;color:var(--forest);font-weight:700}
.case-services-strip nav{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.case-services-strip a{padding:9px 14px;border:1px solid #c7ccc4;border-radius:999px;text-decoration:none;font-size:.78rem;font-weight:600;transition:background .2s ease,color .2s ease}
.case-services-strip a:hover{background:var(--forest);color:#fff}
.case-final-cta{margin-bottom:0;border-radius:0;background:radial-gradient(circle at 84% 18%,rgba(236,207,182,.22),transparent 28%),#111812}
.case-final-cta>div{max-width:840px}
.case-final-cta .eyebrow{display:block;margin-bottom:16px}
.case-final-cta h2{margin:0}
.project-card-link{display:block;height:100%;color:inherit;text-decoration:none}
.project-card-link:focus-visible{outline:3px solid var(--forest);outline-offset:5px}
.project-card-link .project-cover img{width:100%;height:100%;object-fit:cover}
.project-card-copy{padding:22px 10px}

@media(max-width:1050px){
  .case-hero{grid-template-columns:1fr .72fr;gap:42px}
  .case-hero-brand{min-height:420px}
  .case-brief,.case-process,.case-outcomes{grid-template-columns:1fr;gap:46px}
  .case-process .case-section-intro{position:static}
  .case-gallery-grid{grid-template-columns:1fr}
  .case-gallery-note{min-height:500px}
  .mini-phone{width:220px;margin:30px auto -270px}
}
@media(max-width:760px){
  .case-hero{min-height:auto;grid-template-columns:1fr;padding-top:122px;padding-bottom:70px}
  .case-hero .breadcrumb{margin-bottom:30px}
  .case-hero h1{font-size:clamp(3.4rem,15vw,5.2rem)}
  .case-hero-brand{min-height:360px;border-radius:34% 34% 24px 24px}
  .case-brand-label{top:30px;left:32px}
  .case-mockup-stage{padding-top:72px;padding-bottom:95px}
  .case-mockup-heading{display:block}
  .device-composition{padding:0 56px 52px 0}
  .browser-mockup{border-width:7px;border-radius:18px}
  .browser-chrome{height:28px}
  .phone-mockup{width:150px;border-radius:26px;padding:7px}
  .phone-mockup img,.mini-phone img{border-radius:20px}
  .phone-speaker{top:10px;width:48px;height:11px}
  .case-brief-columns{grid-template-columns:1fr}
  .case-brief-columns article{min-height:auto}
  .case-brief-columns article>span{margin-bottom:30px}
  .tesora-brand-grid{grid-template-columns:1fr}
  .tesora-quote-card{grid-column:auto;grid-template-columns:1fr;gap:6px}
  .tesora-quote-card>span{font-size:6rem}
  .tesora-swatches{grid-template-columns:1fr}
  .tesora-swatch{min-height:130px}
  .case-outcome-grid{grid-template-columns:1fr}
  .case-outcome-grid article{min-height:auto}
  .case-services-strip{align-items:flex-start;flex-direction:column}
  .case-services-strip nav{justify-content:flex-start}
}
@media(max-width:520px){
  .case-hero .actions{align-items:flex-start;flex-direction:column;gap:18px}
  .case-hero-brand{min-height:300px;padding:32px 26px}
  .case-hero-brand p{font-size:.84rem}
  .device-composition{padding:0 28px 112px 0}
  .browser-chrome small{display:none}
  .phone-mockup{right:-3px}
  .case-step{grid-template-columns:46px 1fr;gap:14px}
  .case-step>span{width:40px;height:40px}
  .tesora-quote-card p{font-size:1.45rem}
  .case-services-strip nav{display:grid;width:100%}
  .case-services-strip a{text-align:center}
}
@media(prefers-reduced-motion:reduce){
  .case-study *{scroll-behavior:auto}
}
