@font-face{font-family:Paralucent;src:url('assets/fonts/paralucent-light.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:Paralucent;src:url('assets/fonts/paralucent-medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Mulish;src:url('assets/fonts/mulish-variable.woff2') format('woff2');font-weight:200 1000;font-style:normal;font-display:swap}

:root{color-scheme:dark;--background:#0d0d0d;--portfolio:#080808;--text:#f4f4f4;--muted:rgba(255,255,255,.7);--green:#3e7c67;--radius:8px;--container:1280px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--background);color:var(--text);font-family:Mulish,sans-serif;font-size:18px;font-weight:300;-webkit-font-smoothing:antialiased}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit}
button:focus-visible,a:focus-visible{outline:2px solid #f1b170;outline-offset:6px}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-family:Paralucent,sans-serif;font-weight:300}
h1,h2,h3{background:linear-gradient(90deg,#f4f4f4,#eae0d8);background-clip:text;-webkit-background-clip:text;color:transparent}
h1 strong,h2 strong{font-weight:500;background:linear-gradient(90deg,#c2ae99,#f1b170);background-clip:text;-webkit-background-clip:text;color:transparent}
em{font-style:normal;color:#fff}
img{display:block}
.site{position:relative;overflow:hidden;min-height:100vh;display:flex;flex-direction:column}
.site > *{flex-shrink:0}
.journey-group{display:flow-root}
.container{width:calc(100% - 96px);max-width:var(--container);margin-inline:auto}
.decoration{position:absolute;pointer-events:none;max-width:none}
.hero{height:820px;position:relative;isolation:isolate}
.hero-background{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:1920px;height:100%;object-fit:cover;object-position:center bottom;z-index:-2;max-width:none}
.hero-glow{left:calc(50% - 431px);top:-275px;mix-blend-mode:hard-light;z-index:-1;opacity:.25;animation:hero-light-breathe 24s ease-in-out infinite}
.hero-content{padding-top:157px;position:relative}

/* A compact availability note floats over the portrait's shoulder. */
.hero-notes{position:absolute;top:570px;right:clamp(32px,4vw,88px);z-index:2;pointer-events:none}
.availability-note{display:flex;align-items:center;gap:12px;padding:12px 18px;border:1px solid rgba(108,233,191,.2);border-radius:50px;background:linear-gradient(120deg,rgba(22,41,34,.82),rgba(13,13,13,.72));backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 12px 36px rgba(0,0,0,.18);color:#f4f4f4;font-family:Mulish,sans-serif;font-weight:300;font-size:14px;line-height:1.5;white-space:nowrap;animation:note-float 9s ease-in-out infinite}
.availability-dot{position:relative;flex-shrink:0;width:9px;height:9px;border-radius:50%;background:#8bdfb7;box-shadow:0 0 12px rgba(139,223,183,.4)}
.availability-dot::after{content:"";position:absolute;inset:-5px;border:1px solid rgba(139,223,183,.45);border-radius:50%;animation:availability-pulse 5s ease-out infinite}
@keyframes note-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes availability-pulse{0%{transform:scale(.8);opacity:0}15%{opacity:.6}75%,100%{transform:scale(1.65);opacity:0}}
@keyframes hero-light-breathe{0%,100%{opacity:.25}35%{opacity:.72}65%{opacity:.38}82%{opacity:.9}}

h1{max-width:708px;font-size:50px;line-height:1.2}
.hero-description{max-width:638px;margin-top:24px;font-size:18px;line-height:1.5;color:var(--muted);text-wrap:balance}
.hero-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:16px;max-width:660px;list-style:none;margin:32px 0 0;padding:24px 0 0;border-top:1px solid rgba(255,255,255,.14);font-size:14px;line-height:1.5;color:rgba(255,255,255,.85)}
.hero-highlights li{display:flex;align-items:center;gap:10px;min-width:0;border-left:0}
.hero-highlights li>span:last-child{min-width:0;max-width:190px;text-wrap:balance}
.hero-highlight-icon{display:block;flex-shrink:0;width:36px;height:36px}
.hero-highlight-icon img{display:block;width:100%;height:100%}

.cta{display:flex;align-items:center;justify-content:flex-start;padding-inline:50px;width:432px;min-height:80px;margin-top:28px;border-radius:var(--radius);background:linear-gradient(90deg,#3e7c67,#1b6c50);box-shadow:0 13px 60px -28px #3d7b66;color:#fff;text-decoration:none;font-family:Paralucent,sans-serif;font-weight:500;font-size:24px;line-height:1.1;transition:filter .2s,box-shadow .2s;position:relative;overflow:hidden;isolation:isolate}
.cta:hover{filter:brightness(1.12);box-shadow:0 13px 60px -20px #3d7b66}
.cta::after{content:"";position:absolute;top:-40%;left:-60%;width:45%;height:180%;background:linear-gradient(105deg,transparent,hsla(0,0%,100%,0) 35%,hsla(0,0%,100%,.45) 50%,hsla(0,0%,100%,0) 65%,transparent);opacity:0;pointer-events:none;transform:translate(0) skew(-12deg);z-index:-1}
.cta:hover::after{animation:varrerBrilho .9s cubic-bezier(.2,.7,.3,1) forwards}
@keyframes varrerBrilho{0%{opacity:0;transform:translate(0) skew(-12deg)}15%{opacity:1}100%{opacity:0;transform:translate(360%) skew(-12deg)}}
.problems{padding:60px 0 100px}
.section-header{display:flex;flex-direction:column;align-items:center;gap:24px;margin:0 auto 64px;text-align:center}
.section-header h2{font-size:44px;line-height:1.2}
.section-header p{font-size:20px;line-height:1.5;color:var(--muted)}
.problems-header{max-width:894px}
.problems-header h2{min-height:106px}
.problems-header p{max-width:744px}
@media(min-width:1001px){.problems-header p{width:860px;max-width:100%}}
.problems-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px;width:1180px;max-width:100%;margin-inline:auto}
.card{position:relative;isolation:isolate;border:1px solid;border-radius:var(--radius);padding:32px;display:flex;flex-direction:column;gap:24px;overflow:hidden}
.card::before{content:"";position:absolute;inset:0;background:url('assets/images/c67c1.avif?v=bc0afdeb7156') center/cover no-repeat;z-index:-2}
.card::after{content:"";position:absolute;inset:0;z-index:-1}
.card h3{font-size:24px;line-height:1.2}
.card p{font-size:18px;line-height:1.5;color:var(--muted)}
.problem-card{min-height:190px;border-color:rgba(255,50,50,.16)}
.problem-card::after{background:linear-gradient(153.626deg,rgba(255,0,0,.096) 3.7374%,rgba(255,0,0,.016) 56.195%)}
.card-heading{display:flex;align-items:center;gap:16px}
.icon-box{width:40px;height:40px;border-radius:8px;padding:4px;flex-shrink:0;background:rgba(108,233,191,.48)}
.problem-card .icon-box{background:rgba(255,73,73,.48)}
.icon-art{position:relative;display:block;width:32px;height:32px;overflow:hidden}
.icon-flip{transform:scaleX(-1)}
.icon-layer{position:absolute;display:block}
.icon-layer img{position:absolute;top:0;left:0;max-width:none}
.icon-layer img.chart-layer{top:-6.73%;left:-.93%}
.icon-mask{mask-size:30.567px 32px;mask-repeat:no-repeat;mask-mode:luminance;mask-composite:intersect}
.benefits{padding:100px 0}
.benefits-header p{max-width:859px}
.benefits-header h2{min-height:53px;width:100%;max-width:800px;text-wrap:balance}
.benefits-grid{display:grid;align-items:start;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.benefit-card{border-color:rgba(108,233,191,.16)}
.benefit-card::before{background-image:url('assets/images/bg-cards11.avif?v=2d70bf7c5ff0')}
.benefit-card::after{background:linear-gradient(129.448deg,rgba(108,233,191,.096) 3.7374%,rgba(108,233,191,.016) 56.195%)}
.perception{position:relative;padding:101px 0 134px;isolation:isolate}
.perception-panel{position:relative;min-height:579px;border-radius:8px;background:#eae0d8 url('assets/images/bg457fgs.avif?v=9c3ccfae9471') center/cover no-repeat}
.perception-copy{width:520px;max-width:calc(100% - 154px);padding-top:80px;margin-left:77px;display:flex;flex-direction:column;gap:32px}
.perception-copy h2{width:507px;max-width:100%;min-height:159px;color:#0d0d0d;background:none;font-size:44px;line-height:1.2}
.perception-copy h2 strong{background:none;color:inherit}
.tags{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:16px;width:520px;max-width:100%}
.tags li{padding:4px 16px;background:#080808;color:#fff;border-radius:8px;font-family:Paralucent,sans-serif;font-size:22px;font-weight:300;line-height:1.5}
.perception-copy p{font-size:18px;line-height:1.5;color:#0d0d0d}
.laptops{position:absolute;left:645px;top:-40px;width:635px;height:660px;overflow:hidden}
.laptops img,.laptops video{position:absolute;width:100%;height:100%;top:0;left:0;max-width:none;object-fit:contain}
.perception-glow-left{left:calc(50% - 1497px);top:13px;z-index:-1}
.perception-glow-top{left:calc(50% - 92px);top:-229px;z-index:-1;mix-blend-mode:hard-light}
.perception-glow-bottom{left:calc(50% - 44px);top:51px;z-index:-1;mix-blend-mode:hard-light}
.portfolio{position:relative;isolation:isolate;margin-top:76px;margin-bottom:76px;background:var(--portfolio);padding:100px 0 112px}
.portfolio .wave{position:absolute;top:-76px;left:0;width:100%;height:76px;pointer-events:none}
.portfolio .wave-bottom{top:auto;bottom:-76px;transform:scaleY(-1)}
.wave img{position:absolute;left:50%;transform:translateX(-50%);top:0;max-width:none}
.portfolio-content{position:relative;max-width:1400px}
.portfolio-header{max-width:980px}
.portfolio-header h2{width:100%;text-wrap:balance}
.portfolio-header p{max-width:760px;text-wrap:balance}
.portfolio-grid{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.project{position:relative;display:flex;flex-direction:column;padding:0;background:#080808;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);overflow:hidden;cursor:pointer;text-align:left}
.project-image{position:relative;display:block;aspect-ratio:796/499;overflow:hidden;width:100%}
.project-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 75%,#080808);pointer-events:none}
.project img{width:100%;height:100%;object-fit:cover}
.project-caption{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 32px 32px;flex:1;width:100%}
.project-info{display:flex;flex-direction:column;gap:8px;flex:1;min-width:0}
.project-name{font-family:Paralucent,sans-serif;font-size:28px;font-weight:300;line-height:1.2;color:#eae0d8}
.project-category{font-family:Mulish,sans-serif;font-size:16px;font-weight:300;line-height:1.5;color:var(--muted)}
.project-view{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-height:0;padding:8px 20px;border-radius:var(--radius);background:linear-gradient(110deg,#3e7c67,#146c54);color:#fff;font-family:Paralucent,sans-serif;font-size:16px;font-weight:500;line-height:1.2;white-space:nowrap;opacity:0;filter:blur(8px);transition:opacity .35s ease,filter .35s ease}
.project:hover .project-view,.project:focus-visible .project-view{opacity:1;filter:blur(0)}
@media(hover:none){.project-view{opacity:1;filter:none}}
.portfolio-outro{display:flex;flex-direction:column;align-items:center;gap:28px;margin-top:0;padding-top:100px;text-align:center}
.portfolio-outro h3{max-width:800px;font-family:Paralucent,sans-serif;font-size:36px;font-weight:300;line-height:1.25;text-wrap:balance}
.portfolio-outro h3 strong{font-weight:500;background:linear-gradient(90deg,#c2ae99,#f1b170);background-clip:text;-webkit-background-clip:text;color:transparent}
.portfolio-cta{flex-shrink:0;width:auto;min-height:64px;margin:0;padding-inline:28px;gap:24px;font-size:22px}
.project-dialog{border:1px solid rgba(255,255,255,.16);border-radius:8px;padding:0;background:#080808;width:min(1200px,92vw);max-width:92vw;max-height:90vh;overflow:visible}
.project-dialog::backdrop{background:rgba(0,0,0,.88);backdrop-filter:blur(8px)}
.dialog-image{width:100%;height:auto;max-height:86vh;object-fit:contain;border-radius:8px}
.dialog-close{position:absolute;right:8px;top:8px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:#0d0d0d;color:#fff;width:40px;height:40px;font-size:18px;cursor:pointer}
body.has-dialog{overflow:hidden}

@media(min-width:1921px){.hero-background{width:100%;height:100%;object-fit:cover}}
@media(max-width:1350px){
 .site{min-height:0}
 .section-header h2{font-size:40px}
 .card-heading h3{font-size:22px}
 .perception-panel{min-height:579px}
 .perception-copy{margin-left:48px;width:45%;max-width:45%}
 .perception-copy h2{font-size:40px}
 .perception-copy h2{min-height:0}
 .tags{gap:12px}
 .tags li{font-size:20px}
 .laptops{left:50%;width:50%;height:auto;aspect-ratio:635/660;top:0}
 .portfolio{padding:88px 0 96px}
}
@media(max-width:1000px){
 .section-header p{font-size:18px}
 .hero-notes{display:none}
 .container{width:calc(100% - 64px)}
 .hero-content{padding-top:100px}
 .hero{height:800px}
 .hero-background{left:58%;top:0;bottom:auto;height:850px;object-position:center}
 .hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,13,13,.65),rgba(13,13,13,.1));z-index:-1}
 h1{max-width:650px;font-size:46px}
 .hero-description{max-width:580px}
 .benefits-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
 .problems-grid{gap:24px}
 .card{padding:24px}
 .card-heading{align-items:flex-start}
 .perception-copy{margin-left:32px;max-width:48%;width:48%;padding:48px 0}
 .perception-copy h2{font-size:36px}
 .perception-copy p{font-size:18px}
 .laptops{top:80px}
 .perception{padding:80px 0 90px}
 .portfolio-grid{gap:24px}
 .project-caption{padding:20px 24px 24px;gap:16px;flex-wrap:wrap}
 .project-info{flex-basis:100%}
 .portfolio-outro{gap:24px}
}
@media(max-width:640px){
 .container{width:calc(100% - 40px)}
 .hero{height:auto;min-height:910px;padding-bottom:56px}
 .hero-background{width:1100px;height:auto;left:calc(50% - 195px);top:0;opacity:.9}
 .hero::after{background:linear-gradient(180deg,transparent 0,#0d0d0d 420px)}
 .hero-glow{left:calc(50% - 450px);top:-375px;opacity:.5}
 .hero-content{padding-top:355px}
 h1{font-size:36px;line-height:1.2;max-width:100%}
 .hero-description{font-size:18px;line-height:1.5;margin-top:24px}
 .hero-highlights{grid-template-columns:1fr;gap:12px;margin-top:24px;padding-top:20px}
 .hero-highlights li,.hero-highlights li+li{border-left:0;padding:0}
 .cta{width:100%;min-height:68px;font-size:20px;margin-top:28px;padding-inline:12px;justify-content:center}
 .problems{padding:48px 0 64px}
 .section-header{gap:20px;margin-bottom:36px}
 .section-header h2{font-size:32px;line-height:1.2}
 .problems-header h2,.benefits-header h2{min-height:0}
 .section-header p{font-size:18px}
 .problems-grid,.benefits-grid{grid-template-columns:1fr;gap:20px}
 .card{padding:24px;gap:20px;min-height:0}
 .card h3{font-size:23px}
 .card p{font-size:18px}
 .card-heading{align-items:center;gap:14px}
 .benefits{padding:48px 0 64px}
 .perception{padding:40px 0 64px}
 .perception-panel{min-height:0;display:flex;flex-direction:column}
 .perception-copy{width:auto;max-width:none;margin:0;padding:32px 24px 0;gap:24px}
 .perception-copy h2{font-size:34px}
 .perception-copy p{font-size:18px}
 .tags{gap:10px}
 .tags li{font-size:18px;padding:4px 12px}
 .laptops{position:relative;top:auto;left:auto;width:100%;height:auto;aspect-ratio:635/660;margin-top:16px}
 .portfolio{padding:64px 0 80px}
 .portfolio-grid{grid-template-columns:1fr;gap:20px}
 .portfolio-header{margin-bottom:36px}
 .project-caption{padding:20px 16px;gap:12px}
 .project-name{font-size:23px}
 .portfolio-outro{align-items:stretch;gap:24px}
 .portfolio-outro h3{font-size:28px}
 .portfolio-cta{width:100%;font-size:20px;justify-content:center}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .cta{transition:none}
 .cta:hover::after{animation:none}
 .project-view{transition:none}
 .hero-glow{animation:none;opacity:.5}
 .availability-note,.availability-dot::after{animation:none}
 .availability-dot::after{opacity:0}
}

/* Additional sections share the original typography, textures and palette. */
.section-space{padding:100px 0}
.section-label{font-size:18px;font-weight:300;line-height:1.5;color:#8bdfb7}
.prose{display:flex;flex-direction:column;gap:24px;color:var(--muted);font-size:18px;line-height:1.6}
.project-showcase{padding:100px 0;background:#0d0d0d}
.showcase-header{max-width:900px;margin-bottom:48px}
.showcase-header p{max-width:680px;text-wrap:balance}
.double-carousel{display:flex;flex-direction:column;gap:24px;max-width:100%}
.carousel-row{width:100%;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#3e7c67 #080808;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.carousel-row:focus-visible{outline:2px solid #f1b170;outline-offset:-3px}
.carousel-track,.carousel-group{display:flex;width:max-content}
.carousel-group{gap:24px;padding-right:24px;flex-shrink:0}
.carousel-slide{margin:0;width:clamp(280px,31vw,500px);flex-shrink:0;aspect-ratio:800/586;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);overflow:hidden;background:#0d0d0d}
.carousel-slide img{width:100%;height:100%;object-fit:cover}
.carousel-copy{display:none}
.carousel-ready .carousel-row{overflow:hidden}
.carousel-ready .carousel-copy{display:flex}
.carousel-ready .carousel-track{animation:carousel-travel var(--carousel-duration,180s) linear infinite;will-change:transform}
.carousel-ready .carousel-row:nth-child(2) .carousel-track{animation-direction:reverse}
.carousel-ready.is-offscreen .carousel-track{animation-play-state:paused}
@keyframes carousel-travel{to{transform:translateX(-50%)}}
.about{position:relative;background:radial-gradient(ellipse at 12% 45%,rgba(62,124,103,.09),transparent 55%),var(--background)}
.about-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1fr);align-items:center;gap:88px}
.about-portrait{position:relative;isolation:isolate;margin:0;aspect-ratio:540/620;overflow:hidden;border:1px solid rgba(108,233,191,.16);border-radius:var(--radius);background:#080808}
.about-portrait>img{width:100%;height:100%;object-fit:cover;object-position:80% center}
.about-portrait::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(8,8,8,.95));pointer-events:none;z-index:0}
.about-copy h2{font-size:52px;line-height:1.2;margin:16px 0 28px}
/* Shared cycle: feed, pulse, retain the filled color, then return to the idle color. */
@property --flow-fill{syntax:"<number>";inherits:false;initial-value:0}
.about-copy{min-width:0}
/* Three interactive principles, with a moving accent and a short reading for each. */
.about-method{--method-progress:0;margin-top:32px;padding:20px 22px 0;border:1px solid rgba(194,174,153,.17);border-radius:16px;background:linear-gradient(125deg,rgba(62,124,103,.10),rgba(8,8,8,.45) 55%,rgba(241,177,112,.05));overflow:hidden}
.method-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.method-tab{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;padding:0 8px 16px;border:0;background:none;cursor:pointer;color:#969a98;transition:color .3s ease;font-family:Paralucent,sans-serif;font-size:18px;line-height:1.2}
.method-tab::after{content:"";position:absolute;bottom:0;left:24%;right:24%;height:1px;background:#f1b170;transform:scaleX(0);transition:transform .4s ease}
.method-tab[aria-selected="true"]{color:#eee8e1}
.method-tab[aria-selected="true"]::after{transform:scaleX(1)}
.method-tab:focus-visible{outline:2px solid #6ce9bf;outline-offset:6px;border-radius:6px}
.method-icon{position:relative;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid rgba(194,174,153,.18);background:rgba(255,255,255,.015);transition:background .4s ease,color .4s ease,border-color .4s ease,transform .4s ease}
.method-icon svg{width:23px;height:23px}
.method-icon::after{content:"";position:absolute;inset:-5px;border:1px solid transparent;border-top-color:#f1b170;border-right-color:rgba(241,177,112,.22);border-radius:50%;opacity:0}
.method-tab[aria-selected="true"] .method-icon{background:rgba(108,233,191,.09);border-color:rgba(108,233,191,.4);color:#8ed4bd;transform:translateY(-2px)}
.method-tab[aria-selected="true"] .method-icon::after{opacity:1;animation:method-orbit 6s linear infinite}
.method-index{position:absolute;top:3px;right:calc(50% - 43px);font-family:Mulish,sans-serif;font-size:10px;font-weight:400;letter-spacing:.04em;color:#737874;transition:color .3s ease}
.method-tab[aria-selected="true"] .method-index{color:#c2ae99}
.method-reading{display:flex;align-items:flex-start;gap:10px;min-height:68px;padding-top:18px}
.method-spark{flex:0 0 5px;width:5px;height:5px;border-radius:50%;margin-top:9px;background:#f1b170;box-shadow:0 0 12px rgba(241,177,112,.3)}
.method-panel{min-width:0;animation:method-reveal .4s ease both}
.method-panel[hidden]{display:none}
.method-panel p{margin:0;font-size:16px;line-height:1.55;color:#c3c5c2;font-weight:300;text-wrap:balance}
.method-meter{height:2px;margin:16px -22px 0;background:rgba(194,174,153,.08);overflow:hidden}
.method-meter span{display:block;width:100%;height:100%;transform-origin:left;transform:scaleX(var(--method-progress));background:linear-gradient(90deg,#3e7c67,#8ed4bd 65%,#f1b170);box-shadow:0 0 10px rgba(108,233,191,.2)}
.about-method.is-paused .method-icon::after{animation-play-state:paused}
@keyframes method-orbit{to{transform:rotate(360deg)}}
@keyframes method-reveal{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@keyframes pillar-feed{from{stroke-dashoffset:48}to{stroke-dashoffset:0}}
@media(max-width:640px){
 .about-method{padding:20px 16px 0}
 .method-tabs{gap:8px}
 .method-tab{font-size:17px;padding-inline:4px}
 .method-reading{min-height:74px}
 .method-meter{margin-inline:-16px}
}
@media(prefers-reduced-motion:reduce){
 .method-tab,.method-tab::after,.method-icon,.method-index{transition:none}
 .method-tab[aria-selected="true"] .method-icon::after,.method-panel{animation:none}
 .method-meter{display:none}
}
.process{position:relative;isolation:isolate;background:var(--background)}
.process-background{inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-1;pointer-events:none}
.process-header{max-width:940px}
.process-header p{max-width:780px;text-wrap:balance}
.process-timeline{position:relative;max-width:1180px;margin:auto;--timeline-progress:0px}
.process-timeline ol{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:32px}
.timeline-rail{position:absolute;top:120px;bottom:120px;left:50%;width:2px;transform:translateX(-50%);background:rgba(255,255,255,.09);overflow:hidden}
.timeline-progress{position:absolute;left:0;top:0;width:100%;height:var(--timeline-progress);background:#3e7c67;box-shadow:0 0 16px rgba(62,124,103,.35)}
.process-step{position:relative;min-height:240px;display:flex;align-items:center}
.process-link{position:absolute;z-index:1;top:50%;right:50%;width:72px;height:16px;transform:translateY(-50%);pointer-events:none}
.process-step:nth-child(even) .process-link{right:auto;left:50%}
.process-link svg{display:block;width:100%;height:16px;overflow:visible;transform:scaleX(-1)}
.process-step:nth-child(even) .process-link svg{transform:none}
.process-link-base{stroke:rgba(184,184,184,.25);stroke-width:1;vector-effect:non-scaling-stroke}
.process-link-signal{stroke:#3e7c67;stroke-width:2.5;stroke-dasharray:18 30;stroke-linecap:round;vector-effect:non-scaling-stroke;opacity:0}
.process-step.is-reached .process-link-signal{opacity:1;animation:pillar-feed 1.5s linear infinite}
.process-node{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;width:52px;height:52px;background:#141414;border:1px solid rgba(255,255,255,.18);border-radius:50%;font-family:Paralucent,sans-serif;font-size:24px;color:rgba(255,255,255,.7);transition:background-color .35s,border-color .35s,color .35s,box-shadow .35s}
.process-card{width:calc(50% - 72px);min-height:240px;padding:32px;gap:24px;border-color:rgba(255,255,255,.08);transition:border-color .35s ease}
.process-card::before{background-image:url('assets/images/timeline-direita.avif?v=500ccb58cc38')}
.process-step:nth-child(odd) .process-card::before{background-image:url('assets/images/timeline-esquerda.avif?v=1ea05ef3d82a')}
.process-step.is-reached .process-card{border-color:rgba(255,255,255,.08)}
.process-card::after{background:linear-gradient(129.448deg,rgba(108,233,191,.096) 3.7374%,rgba(108,233,191,.016) 56.195%);opacity:0;transition:opacity .35s ease;pointer-events:none}
.process-step:nth-child(odd) .process-card::after{background:linear-gradient(230.552deg,rgba(108,233,191,.096) 3.7374%,rgba(108,233,191,.016) 56.195%)}
.process-step.is-reached .process-card::after{opacity:1}
.process-step:nth-child(even) .process-card{margin-left:auto}
.process-card h3{font-size:24px;line-height:1.2}
.process-card .process-stage{color:#8bdfb7}
.process-step.is-reached .process-node{background:#3e7c67;color:#fff;font-weight:500;border-color:#3e7c67;box-shadow:none}
.direct-contact{padding-top:80px;padding-bottom:80px}
.direct-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:center;padding:64px;background:#eae0d8 url('assets/images/bg457fgs.avif?v=9c3ccfae9471') center/cover no-repeat;border-radius:var(--radius)}
.direct-heading,.direct-copy{min-width:0}
.direct-heading h2{font-size:44px;line-height:1.2;color:#0d0d0d;background:none;text-wrap:balance}
.direct-heading h2 strong{background:none;color:inherit}
.direct-copy{color:rgba(13,13,13,.7)}
.direct-copy .direct-lead{color:#0d0d0d}
.direct-path{display:grid;grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr) 32px minmax(0,1fr);align-items:center;width:100%;margin-top:32px;font-family:Paralucent,sans-serif;font-size:20px}
.direct-stage{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 10px;min-height:48px;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);background:#080808;color:#f4f4f4;white-space:nowrap;line-height:1.3;--pillar-charge:pillar-charge-first;--pillar-pulse:pillar-pulse-first;opacity:calc(.45 + var(--flow-fill)*.55);animation:var(--pillar-charge) 9s linear infinite,var(--pillar-pulse) 9s ease-in-out infinite}
.direct-stage:nth-of-type(3){--pillar-charge:pillar-charge-second;--pillar-pulse:pillar-pulse-second}
.direct-stage:nth-of-type(5){--pillar-charge:pillar-charge-third;--pillar-pulse:pillar-pulse-third}
.direct-link{position:relative;display:block;height:16px}
.direct-link svg{display:block;width:100%;height:16px;overflow:visible}
.direct-link-base{stroke:#b8b8b8;stroke-width:1.5;vector-effect:non-scaling-stroke}
.direct-link-signal{stroke:#3e7c67;stroke-width:3.5;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:18 30;opacity:0;filter:drop-shadow(0 0 3px rgba(62,124,103,.5));animation:pillar-feed .5s linear infinite,pillar-link-first 9s linear infinite}
.direct-link:nth-of-type(4) .direct-link-signal{animation-name:pillar-feed,pillar-link-second}
.services-header{max-width:970px;margin-bottom:124px}
.services-header h2{text-wrap:balance}
.services-header p{max-width:800px;text-wrap:balance}
.services-grid{display:grid;grid-template-columns:1fr;gap:120px}
.service-card{position:relative;isolation:isolate;min-height:512px;border-radius:var(--radius);background:#eae0d8 url('assets/images/bg457fgs.avif?v=9c3ccfae9471') center/cover no-repeat}
.service-copy{display:flex;flex-direction:column;gap:24px;width:520px;max-width:calc(50% - 105px);margin-left:77px;padding:80px 0 48px}
.service-copy h3{font-size:44px;font-weight:500;line-height:1.2;color:#0d0d0d;background:none}
.service-tags{width:100%;gap:12px}
.service-tags li{padding:6px 14px;font-size:18px}
.service-description{display:flex;flex-direction:column;gap:24px}
.service-description p{font-size:18px;font-weight:300;line-height:1.5;color:#0d0d0d}
.service-art{position:absolute;bottom:0;left:48.828125%;width:47.734375%;aspect-ratio:611/586;margin:0;pointer-events:none}
.service-art picture{display:block;width:100%;height:100%}
.service-art img{display:block;width:100%;height:100%;max-width:none;object-fit:cover}
.service-card-landing .service-copy{margin-left:calc(50% + 35px)}
.service-card-landing .service-art{left:2.421875%;width:46.09375%;aspect-ratio:590/579}
@media(max-width:1350px){
 .service-copy{width:calc(50% - 72px);max-width:none;margin-left:48px;padding-top:64px}
 .service-card-landing .service-copy{margin-left:calc(50% + 24px)}
 .service-copy h3{font-size:40px}
}
.faq{padding-bottom:132px}
.faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:88px;align-items:start}
.faq-heading h2{font-size:44px;line-height:1.2;text-wrap:balance;max-width:410px}
.faq-list{border-top:1px solid rgba(108,233,191,.18)}
.faq-item{border-bottom:1px solid rgba(108,233,191,.18)}
.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;cursor:pointer;list-style:none;font-family:Paralucent,sans-serif;font-size:24px;font-weight:300;line-height:1.3;color:#eae0d8}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:focus-visible{outline:2px solid #f1b170;outline-offset:4px;border-radius:4px}
.faq-toggle{position:relative;width:24px;height:24px;flex-shrink:0;color:#8bdfb7}
.faq-toggle::before,.faq-toggle::after{content:"";position:absolute;top:50%;left:50%;width:14px;height:1px;background:currentColor;transform:translate(-50%,-50%)}
.faq-toggle::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .2s}
.faq-item[open] .faq-toggle::after{transform:translate(-50%,-50%) rotate(0)}
.faq-item[open] summary{color:#a6eaca}
.faq-answer{padding:0 48px 24px 0;font-size:18px;line-height:1.6;color:var(--muted)}
.final-contact{position:relative;isolation:isolate;margin-top:76px;background:#080808 url('assets/images/bg2457ss.avif?v=fe351281f15a') center bottom/cover no-repeat;padding:104px 0 112px}
.final-contact .wave{position:absolute;top:-76px;left:0;width:100%;height:76px;pointer-events:none}
.final-lights{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.final-light{position:absolute;bottom:-180px;width:650px;height:500px;border-radius:50%;filter:blur(80px);opacity:.7}
.final-light-green{left:calc(50% - 475px);background:radial-gradient(ellipse at center,rgba(62,124,103,.28),rgba(62,124,103,.1) 38%,transparent 70%)}
.final-light-orange{left:calc(50% - 175px);background:radial-gradient(ellipse at center,rgba(241,177,112,.24),rgba(241,177,112,.08) 38%,transparent 70%)}
.final-content{display:flex;flex-direction:column;align-items:center}
.final-header{max-width:950px;margin-bottom:0}
.final-header h2{text-wrap:balance}
.final-header p{max-width:760px;text-wrap:balance}
.final-cta{width:auto;min-width:432px;justify-content:center;gap:28px;margin-top:40px}
.site-footer{background:#080808;color:var(--muted);padding:0 0 32px}
.footer-main{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:40px 0}
.footer-brand{font-family:Paralucent,sans-serif;font-size:28px;line-height:1.2;color:#eae0d8;text-decoration:none}
.footer-brand span{display:block;margin-top:12px;font-family:Mulish,sans-serif;font-size:18px;font-weight:300;line-height:1.5;color:var(--muted)}
.footer-nav{display:flex;gap:24px;flex-wrap:wrap}
.site-footer a{color:inherit;text-decoration:none}
.site-footer a:hover{color:#a6eaca}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:24px;border-top:1px solid rgba(255,255,255,.08);font-size:18px;line-height:1.5}
.back-top{display:inline-flex;gap:12px;align-items:center}
@media(max-width:1350px){
 .about-grid{gap:56px}
 .about-copy h2{font-size:48px}
 .direct-panel{padding:48px;gap:48px}
 .direct-heading h2,.faq-heading h2{font-size:40px}
 .faq-grid{gap:56px}
}
@media(max-width:1000px){
 .section-space{padding:80px 0}
 .about-grid{gap:32px;grid-template-columns:minmax(0,.85fr) minmax(0,1fr)}
 .about-portrait{aspect-ratio:430/670}
 .about-portrait>img{object-position:77% center}
 .about-copy h2{font-size:42px}
 .prose{gap:20px}
 .process-card{padding:28px;width:calc(50% - 48px)}
 .process-link{width:48px}
 .direct-panel{grid-template-columns:minmax(0,1fr);gap:32px;padding:40px}
 .direct-heading h2{max-width:650px;text-wrap:initial}
 .direct-path{max-width:440px}
 .services-header{margin-bottom:44px}
 .services-grid{gap:64px}
 .service-card{display:flex;flex-direction:column;min-height:0;overflow:hidden}
 .service-copy,.service-card-landing .service-copy{order:0;width:auto;max-width:none;margin:0;padding:40px 40px 48px;gap:28px}
 .service-description{gap:28px}
 .service-art,.service-card-landing .service-art{position:static;order:1;align-self:center;width:min(611px,100%)}
 .service-card-landing .service-art{width:min(590px,100%)}
 .faq-grid{grid-template-columns:1fr;gap:40px}
 .faq-heading h2{max-width:640px}
 .footer-main{align-items:flex-start;gap:32px}
 .footer-nav{justify-content:flex-end;gap:20px}
 .footer-bottom{flex-wrap:wrap}
}
@media(max-width:760px){
 .about-grid{grid-template-columns:1fr;gap:36px}
 .about-portrait{max-width:480px;width:100%;aspect-ratio:540/540;margin:auto}
 .about-portrait>img{object-position:80% center}
 .process-card::before{background-image:url('assets/images/timeline-esquerda.avif?v=1ea05ef3d82a')}
 .process-timeline{padding-left:64px}
 .process-timeline ol{gap:24px}
 .timeline-rail{left:24px;top:40px;bottom:40px;transform:none}
 .process-step{min-height:0}
 .process-node{left:-40px;top:40px;width:42px;height:42px;font-size:22px}
 .process-link,.process-step:nth-child(even) .process-link{left:-40px;right:auto;top:40px;width:40px}
 .process-link svg{transform:none}
 .process-card,.process-step:nth-child(even) .process-card{width:100%;min-height:0;margin:0}
 .services-grid{grid-template-columns:1fr}
 .footer-main{flex-direction:column}
 .footer-nav{justify-content:flex-start}
 .footer-bottom{flex-direction:column;align-items:flex-start;gap:16px}
}
@media(max-width:640px){
 .section-space{padding:64px 0}
 .project-showcase{padding:100px 0}
 .showcase-header{margin-bottom:36px}
 .double-carousel{gap:16px}
 .carousel-slide{width:280px}
 .carousel-group{gap:16px;padding-right:16px}
 .carousel-row{mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
 .about-copy h2{font-size:38px;margin-bottom:24px}
 .process-timeline{padding-left:48px}
 .timeline-rail{left:17px}
 .process-node{left:-30px;width:36px;height:36px;font-size:20px}
 .process-link,.process-step:nth-child(even) .process-link{left:-30px;width:30px}
 .process-card{padding:24px 20px;gap:20px}
 .process-card h3{font-size:23px;overflow-wrap:break-word}
 .direct-panel{padding:32px 24px;gap:28px}
 .direct-heading h2,.faq-heading h2{font-size:32px}
 .direct-path{font-size:18px;margin-top:24px}
 .services-header{margin-bottom:36px}
 .services-grid{gap:48px}
 .service-copy,.service-card-landing .service-copy{padding:32px 24px 40px;gap:24px}
 .service-copy h3{font-size:32px}
 .service-description{gap:24px}
 .service-description p{font-size:18px}
 .faq{padding-bottom:80px}
 .faq-grid{gap:32px}
 .faq-item summary{font-size:23px;padding:22px 0;gap:20px}
 .faq-answer{padding-right:20px}
 .final-contact{padding:64px 0 72px}
 .final-cta{width:100%;min-width:0;padding:18px 20px;gap:20px;margin-top:32px}
 .footer-main{padding:32px 0}
 .footer-nav{gap:16px 24px}
 .footer-bottom a{overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){
 .carousel-ready .carousel-track{animation:none;transform:none;will-change:auto}
 .carousel-ready .carousel-copy{display:none}
 .carousel-ready .carousel-row{overflow-x:auto;mask-image:none}
 .process-card,.process-card::after,.process-node,.faq-toggle::after{transition:none}
 .direct-stage{animation:none;opacity:1;--flow-fill:1}
 .direct-link-signal{animation:none;opacity:0}
 .process-step.is-reached .process-link-signal{animation:none;stroke-dasharray:none}
 .process-step.is-reached .process-border-signal{animation:none;stroke-dashoffset:0;stroke-dasharray:none}
 .pillar-link-signal{opacity:0}
}

/* Business segments: content lives in the HTML for readers and search engines. */
.audience-header{max-width:1040px}
.audience-header h2{text-wrap:balance}
.audience-header>p:last-child{max-width:800px;text-wrap:balance}
.audience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.audience-card{padding:32px;gap:20px;min-height:236px;border-color:rgba(108,233,191,.16)}
.audience-card::after{background:linear-gradient(135deg,rgba(108,233,191,.09),rgba(108,233,191,.015) 68%)}
.audience-card h3{font-size:24px;line-height:1.25}
@media(max-width:1000px){
 .audience-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .audience-card{padding:28px;min-height:0}
}
@media(max-width:640px){
 .audience-grid{grid-template-columns:1fr;gap:24px}
 .audience-card{padding:24px;gap:20px}
 .audience-card h3{font-size:23px}
}

@media(max-width:480px){
 .direct-path{grid-template-columns:1fr;justify-items:center;max-width:none}
 .direct-stage{width:100%;max-width:240px}
 .direct-link{width:16px;height:28px}
 .direct-link svg{position:absolute;left:50%;top:50%;width:28px;height:16px;transform:translate(-50%,-50%) rotate(90deg)}
}

/* About: full-section portrait background with the original content at the right. */
.about-background{background-color:#0d0d0d;background-image:url('assets/images/bg4567sfj.avif?v=b86161cd764f');background-repeat:no-repeat;background-size:cover;background-position:center center;min-height:780px;display:flex;align-items:center}
.about-background .about-grid{display:flex;justify-content:flex-end;align-items:center;gap:100px}
.about-background .about-copy{width:calc(50% - 20px);max-width:620px}
@media(max-width:1000px) and (min-width:641px){
 .about-background{min-height:780px;background-position:44% center}
 .about-background .about-copy{width:50%}
}
@media(max-width:640px){
 .about-background{display:block;min-height:0;padding:365px 0 64px;background-image:linear-gradient(to bottom,transparent 240px,#0d0d0d 355px),url('assets/images/bg4567sfj.avif?v=b86161cd764f');background-size:100% 365px,auto 365px;background-position:center top,27% top}
 .about-background .about-grid{display:block}
 .about-background .about-copy{width:100%;max-width:none}
}

/* Alternative about section for comparing the same principles and copy. */
.about-option-label{display:inline-block;margin-left:12px;padding:4px 9px;border:1px solid rgba(194,174,153,.25);border-radius:20px;font-size:10px;line-height:1.2;letter-spacing:.06em;color:#c2ae99;vertical-align:middle}
/* Selected about section: circular icons with titles on their right. */
.about-method-alt{padding:0;border:0;border-radius:0;background:none;overflow:visible}
.method-titles{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 24px;margin:0;padding:0;list-style:none}
.method-item{display:flex;align-items:center;gap:12px;min-width:0;color:#e0dcd5;font-family:Paralucent,sans-serif;font-size:19px;line-height:1.2;white-space:nowrap}
.method-item .method-icon{color:#8ed4bd;background:rgba(108,233,191,.06)}
@media(max-width:1000px){
 .method-titles{gap:20px 16px;justify-content:flex-start}
 .method-item{font-size:17px;gap:10px}
 .method-item .method-icon{width:36px;height:36px}
 .method-item .method-icon svg{width:21px;height:21px}
}

/* Third about option: connected principles with timeline-inspired border traces. */
.about-circuit{margin-top:36px}
.principle-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:0;margin:0;list-style:none}
.principle-step{position:relative;min-width:0}
.principle-card{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;width:100%;height:146px;padding:22px 12px;border:1px solid rgba(194,174,153,.18);border-radius:14px;background:linear-gradient(145deg,rgba(22,32,28,.68),rgba(10,12,11,.8));color:#999e9b;cursor:pointer;transition:color .4s ease,border-color .4s ease,transform .4s ease;font-family:Paralucent,sans-serif}
.principle-card::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:radial-gradient(ellipse at 25% 0,rgba(108,233,191,.15),transparent 75%);opacity:0;transition:opacity .5s ease}
.principle-card:focus-visible{outline:2px solid #f1b170;outline-offset:5px}
.principle-card:hover{color:#e5ded5}
.principle-step.is-active .principle-card{color:#eee8e1;border-color:rgba(108,233,191,.18);transform:translateY(-4px)}
.principle-step.is-active .principle-card::before{opacity:1}
.principle-icon{position:relative;display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(194,174,153,.2);border-radius:50%;transition:color .4s ease,box-shadow .4s ease,border-color .4s ease;color:#969e99}
.principle-icon svg{width:24px;height:24px}
.principle-step.is-active .principle-icon{color:#8ed4bd;border-color:rgba(108,233,191,.45);box-shadow:0 0 26px rgba(108,233,191,.12)}
.principle-title{font-size:23px;line-height:1.1;font-weight:400;letter-spacing:-.02em}
.principle-border{position:absolute;inset:-1px;width:calc(100% + 2px);height:calc(100% + 2px);overflow:visible;pointer-events:none;opacity:0;transition:opacity .4s ease}
.principle-outline,.principle-tracer{stroke-width:1.4;stroke-linecap:round;vector-effect:non-scaling-stroke}
.principle-outline{stroke-dasharray:100 100;stroke-dashoffset:100}
.principle-tracer{stroke-dasharray:8 92;filter:drop-shadow(0 0 4px rgba(241,177,112,.6));opacity:0}
.principle-step.is-active .principle-border{opacity:1}
.principle-step.is-active .principle-outline{animation:principle-border-draw 1.8s cubic-bezier(.2,.6,.3,1) both}
.principle-step.is-active .principle-tracer{opacity:1;animation:principle-border-travel 2.8s linear .6s infinite}
.principle-link{position:absolute;top:50%;left:100%;width:24px;height:8px;transform:translateY(-50%);pointer-events:none}
.principle-link svg{display:block;width:100%;height:100%;overflow:visible}
.principle-wire{stroke:rgba(194,174,153,.24);stroke-width:1}
.principle-current{stroke:#8ed4bd;stroke-width:2;stroke-linecap:round;stroke-dasharray:8 32;opacity:0;filter:drop-shadow(0 0 4px rgba(108,233,191,.5));vector-effect:non-scaling-stroke}
.principle-step.is-active .principle-current{opacity:1;animation:principle-current-flow 1.2s linear infinite}
.about-circuit.is-paused .principle-border path,.about-circuit.is-paused .principle-current{animation-play-state:paused}
@keyframes principle-border-draw{to{stroke-dashoffset:0}}
@keyframes principle-border-travel{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@keyframes principle-current-flow{from{stroke-dashoffset:40}to{stroke-dashoffset:0}}
@media(max-width:1000px){
 .principle-track{gap:16px}
 .principle-card{height:130px;gap:16px;padding:16px 6px;border-radius:12px}
 .principle-title{font-size:19px}
 .principle-icon{width:36px;height:36px}
 .principle-icon svg{width:21px;height:21px}
 .principle-link{width:16px}
}
@media(max-width:400px){.principle-title{font-size:18px}.principle-track{gap:12px}.principle-link{width:12px}}
@media(prefers-reduced-motion:reduce){
 .principle-card,.principle-card::before,.principle-icon,.principle-border{transition:none}
 .principle-step.is-active .principle-card{transform:none}
 .principle-step.is-active .principle-outline{animation:none;stroke-dasharray:none;stroke-dashoffset:0}
 .principle-step.is-active .principle-tracer,.principle-step.is-active .principle-current{animation:none;opacity:0}
}

/* Shared decorative contours for site icons and action controls. */
.site-contour-positioned{position:relative}
/* Let the external contour breathe while keeping the CTA sheen inside its face. */
.cta.site-contour-host{overflow:visible}
.cta.site-contour-host::after{inset:0;width:auto;height:auto;border-radius:inherit;background:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.22) 50%,transparent 58%) no-repeat;background-size:250% 100%;background-position:160% 0;transform:none;clip-path:inset(0 round var(--radius));z-index:0}
.cta.site-contour-host:hover::after{animation:site-cta-sheen .9s ease forwards}
@keyframes site-cta-sheen{from{background-position:160% 0;opacity:1}to{background-position:-60% 0;opacity:0}}
@media(prefers-reduced-motion:reduce){.cta.site-contour-host:hover::after{animation:none}}


/* Option four uses moving gradient contours rather than a timeline layout. */
.about-circuit-aura{margin-top:40px}
.about-circuit-aura .principle-track{gap:18px}
.about-circuit-aura .principle-card{height:178px;padding:24px 10px;gap:24px;border-radius:20px;background:linear-gradient(155deg,rgba(29,41,35,.75),rgba(12,14,13,.9));border-color:rgba(225,221,216,.16);box-shadow:0 18px 40px rgba(0,0,0,.16);overflow:visible}
.about-circuit-aura .principle-step.is-active .principle-card{transform:translateY(-3px);color:#f1eae2;box-shadow:0 18px 40px rgba(0,0,0,.2),0 0 36px rgba(108,233,191,.035)}
.about-circuit-aura .principle-card::before{background:radial-gradient(ellipse at 50% 0,rgba(108,233,191,.16),transparent 75%)}
.about-circuit-aura .principle-icon{width:54px;height:54px;border-color:rgba(225,221,216,.2);background:rgba(255,255,255,.015)}
.about-circuit-aura .principle-icon svg{width:29px;height:29px}
.about-circuit-aura .principle-title{font-size:27px;font-weight:300;letter-spacing:-.03em}
@media(max-width:1000px){
 .about-circuit-aura .principle-track{gap:12px}
 .about-circuit-aura .principle-card{height:162px;gap:24px;padding-inline:4px}
 .about-circuit-aura .principle-icon{width:46px;height:46px}
 .about-circuit-aura .principle-icon svg{width:25px;height:25px}
 .about-circuit-aura .principle-title{font-size:22px}
}
@media(max-width:400px){.about-circuit-aura .principle-track{gap:10px}.about-circuit-aura .principle-title{font-size:21px}}
@media(max-width:350px){.about-circuit-aura .principle-title{font-size:18px}}
@media(prefers-reduced-motion:reduce){
  .about-circuit-aura .principle-step.is-active .principle-card{transform:none}
}

/* A single geometry drives both continuous border rings; no SVG/CSS corner seams. */
@property --double-border-angle{syntax:"<angle>";inherits:true;initial-value:0deg}
.double-contour{position:absolute;z-index:2;pointer-events:none;opacity:.75;animation:double-border-orbit 7s linear infinite;transition:opacity .35s ease}
.double-contour::before,.double-contour::after{content:"";position:absolute;pointer-events:none;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.double-contour::before{inset:3.2px;padding:1px;border-radius:var(--double-inner-radius);background:conic-gradient(from calc(var(--double-border-angle) + 160deg),rgba(225,221,216,.14) 0deg,rgba(225,221,216,.14) 35deg,#e1ddd8 85deg,rgba(225,221,216,.14) 145deg,rgba(225,221,216,.14) 200deg,#f1b170 255deg,rgba(142,212,189,.3) 290deg,rgba(225,221,216,.14) 335deg,rgba(225,221,216,.14) 360deg)}
.double-contour::after{inset:0;padding:1.2px;border-radius:var(--double-outer-radius);background:conic-gradient(from var(--double-border-angle),rgba(225,221,216,.12) 0deg,rgba(225,221,216,.12) 25deg,#e1ddd8 75deg,rgba(225,221,216,.12) 135deg,rgba(225,221,216,.12) 190deg,#f1b170 245deg,#8ed4bd 270deg,rgba(225,221,216,.12) 330deg,rgba(225,221,216,.12) 360deg)}
.double-contour-host:is(:hover,:focus-visible,:focus-within)>.double-contour{opacity:1}
.about-circuit-aura .principle-card{border-color:transparent}
.about-circuit-aura .double-contour{opacity:.35}
.about-circuit-aura .principle-step.is-active .double-contour,.about-circuit-aura .principle-card:is(:hover,:focus-visible) .double-contour{opacity:1}
.site-contour-offscreen>.double-contour,.about-circuit-aura.is-trace-offscreen .double-contour{animation-play-state:paused}
@keyframes double-border-orbit{from{--double-border-angle:0deg}to{--double-border-angle:360deg}}
@media(prefers-reduced-motion:reduce){.double-contour{animation:none;transition:none}}

/* Match the original icon silhouettes and replace their earlier orbit with double rings. */
.hero-highlight-icon{border-radius:7.2px}
.faq-toggle{border-radius:50%}
.site-contour-icon>.double-contour{opacity:.8}
.method-icon.double-contour-host::after{display:none}

/* Process stages share the double rings while retaining the original gradient fade. */
.process-card{overflow:visible}
.process-card::before,.process-card::after{border-radius:inherit}
.process-node>.double-contour{opacity:.35}
.process-step.is-reached .process-node>.double-contour{opacity:1}
.process-step:not(.is-reached) .process-card>.double-contour{opacity:0;animation-play-state:paused}
.process-step.is-reached .process-card>.double-contour{opacity:1}

/* Shared cream panels use the same external double gradient contour. */
.service-card,.perception-panel,.direct-panel{overflow:visible}
.service-card>.double-contour,.perception-panel>.double-contour,.direct-panel>.double-contour{opacity:1}
@media(max-width:1000px){
 .service-art{overflow:hidden;border-radius:0 0 var(--radius) var(--radius)}
}

.service-card .service-art,.perception-panel .laptops{z-index:3}

/* Black labels share the double rings, with a monochrome palette only. */
.tags li>.double-contour{opacity:.85}
.tags li>.double-contour::before{background:conic-gradient(from calc(var(--double-border-angle) + 160deg),rgba(156,156,156,.18) 0deg,rgba(156,156,156,.18) 35deg,#c2c2c2 85deg,rgba(156,156,156,.18) 145deg,rgba(156,156,156,.18) 200deg,#707070 255deg,#080808 290deg,rgba(156,156,156,.18) 335deg,rgba(156,156,156,.18) 360deg)}
.tags li>.double-contour::after{background:conic-gradient(from var(--double-border-angle),rgba(8,8,8,.45) 0deg,rgba(8,8,8,.45) 25deg,#c2c2c2 75deg,rgba(8,8,8,.45) 135deg,rgba(8,8,8,.45) 190deg,#707070 245deg,#080808 270deg,rgba(8,8,8,.45) 330deg,rgba(8,8,8,.45) 360deg)}

/* Problem icons use the same double rings entirely in shades of red. */
.problem-card .icon-box>.double-contour::before{background:conic-gradient(from calc(var(--double-border-angle) + 160deg),rgba(239,80,80,.18) 0deg,rgba(239,80,80,.18) 35deg,#f58a8a 85deg,rgba(239,80,80,.18) 145deg,rgba(239,80,80,.18) 200deg,#ef5050 255deg,#a93535 290deg,rgba(239,80,80,.18) 335deg,rgba(239,80,80,.18) 360deg)}
.problem-card .icon-box>.double-contour::after{background:conic-gradient(from var(--double-border-angle),rgba(239,80,80,.15) 0deg,rgba(239,80,80,.15) 25deg,#f58a8a 75deg,rgba(239,80,80,.15) 135deg,rgba(239,80,80,.15) 190deg,#ef5050 245deg,#a93535 270deg,rgba(239,80,80,.15) 330deg,rgba(239,80,80,.15) 360deg)}

/* Mobile type and portrait follow viewport units; desktop keeps its own layout. */
@media(max-width:640px){
 .hero{height:auto;min-height:0;padding-bottom:56px}
 .hero-background{left:0;top:0;bottom:auto;transform:none;width:100%;height:110.25vw;max-width:100%;object-fit:contain;object-position:center top;opacity:1}
 .hero::after{display:none}
 .hero-glow{display:none}
 .hero-content{padding-top:62vw;text-align:center}
 .hero-content h1{font-size:7vw;line-height:1.2;text-align:center;max-width:100%;text-wrap:balance}
 .hero-description{font-size:4vw;line-height:1.5;text-align:center;margin-inline:auto}
 .site .cta{font-size:5vw}
 .hero-highlights{text-align:left}
 .site section h2,.site .portfolio-outro h3{font-size:7vw;line-height:1.2;text-align:center;min-height:0}
 .site .section-header p{font-size:4.2vw;line-height:1.5;text-align:center}
 .site .section-label{text-align:center;font-size:4.2vw}
 .site .about-copy .prose{font-size:4.2vw}
 .site .card h3,.site .service-card h3,.site .project-name{font-size:5.6vw;line-height:1.2}
 .site .card p,.site .service-description p,.site .perception-copy p,.site .direct-copy,.site .project-category{font-size:4vw;line-height:1.5}
 .faq-heading h2{margin-inline:auto}
}

/* Mobile portraits sit behind the content, which begins at chest level. */
.about-mobile-picture{display:none}
@media(max-width:640px){
 .about-background{position:relative;isolation:isolate;background-image:none;padding-top:60vw}
 .about-mobile-picture{display:block}
 .about-mobile-background{position:absolute;z-index:-2;left:0;top:0;width:100%;height:107vw;max-width:100%;object-fit:contain;object-position:center top}
 .about-background::before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:linear-gradient(to bottom,transparent 52vw,rgba(13,13,13,.35) 68vw,#0d0d0d 100vw)}
}

/* Mobile timeline labels and descriptions have their own type scale. */
@media(max-width:640px){
 .site .process-card .process-stage{font-size:3.2vw}
 .site .process-card p:not(.process-stage){font-size:3.8vw}
}

/* Compact single-line mobile benefits, scaled with the viewport. */
@media(max-width:640px){
 .hero-highlights{gap:3.5vw;font-size:4vw;line-height:1.3}
 .hero-highlights li{gap:3vw}
 .hero-highlights li>span:last-child{max-width:none;white-space:nowrap;text-wrap:nowrap}
 .hero-highlight-icon{width:7.5vw;height:7.5vw;border-radius:1.5vw}
}

/* Consistent mobile section spacing; portrait offsets belong to the inner content. */
@media(max-width:640px){
 .site section{padding-top:60px;padding-bottom:60px}
 .site .hero-content{padding-top:max(0px,calc(62vw - 60px + 30px))}
 .site .about-background .about-grid{padding-top:max(0px,calc(60vw - 60px))}
}

/* Light mobile panels share centered copy and compact black labels. */
@media(max-width:640px){
 .site .service-copy,.site .perception-copy{align-items:center;text-align:center}
 .site .service-card h3,.site .perception-panel h2,.site .direct-panel h2{font-size:7vw;text-align:center}
 .site .service-description,.site .direct-heading,.site .direct-copy{text-align:center}
 .site .tags{justify-content:center}
 .site .tags li{font-size:3.2vw}
 .site .direct-path{margin-inline:auto}
}

/* The availability note floats at the mobile portrait's upper-right corner. */
@media(max-width:640px){
 .hero-notes{display:block;top:1px;right:3vw}
 .availability-note{font-size:2.6vw;gap:1.5vw;padding:.45vw 2vw;line-height:1.3;animation:note-float-mobile 9s ease-in-out infinite}
 .availability-dot{width:1.5vw;height:1.5vw}
 .availability-dot::after{inset:-1vw}
}

/* Give both mobile service mockups 20px of clear space on each side. */
@media(max-width:640px){
 .site .service-card .service-art{width:100%;padding-inline:20px;aspect-ratio:auto}
 .site .service-art picture{height:auto}
 .site .service-art img{height:auto;object-fit:contain}
}

@keyframes note-float-mobile{0%,100%{transform:translateX(0)}50%{transform:translateX(-.5vw)}}

@media(max-width:640px) and (prefers-reduced-motion:reduce){.availability-note{animation:none}}

/* The dual-notebook mockup extends 50px beyond the light mobile panel. */
@media(max-width:640px){
 .site .perception-panel{overflow:visible}
 .site .perception-panel .laptops{padding-left:20px;margin-bottom:-50px;aspect-ratio:auto;height:calc((100vw - 60px) * 1038 / 1080);overflow:visible}
 .site .perception-panel .laptops>video,.site .perception-panel .laptops>img{left:20px;width:calc(100% - 20px);height:100%;object-fit:contain}
}

/* Availability note is shown only outside the mobile layout. */
@media(max-width:640px){.hero-notes{display:none}}

/* Match mobile benefit and segment cards to the problem-card heading layout. */
.mobile-card-heading{display:contents}
.audience-icon{display:none}
@media(max-width:640px){
 .site .benefit-card .mobile-card-heading,.site .audience-card .mobile-card-heading{display:flex;align-items:center;gap:14px;text-align:left}
 .site .benefit-card h3,.site .audience-card h3{font-size:5vw;line-height:1.2;min-width:0;text-align:left}
 .site .benefit-card .icon-box,.site .audience-card .icon-box{width:32px;height:32px;padding:3.2px;position:relative}
 .site .benefit-card .icon-art{transform:scale(.8);transform-origin:top left}
 .site .audience-icon{display:grid;place-items:center;color:#e0eee7}
 .audience-icon svg{width:24px;height:24px}
}

/* Mobile portfolio keeps the whole card clickable without a separate action label. */
@media(max-width:640px){
 .site .project-view{display:none}
 .site .project-image img{transform:scale(1.15);transform-origin:center;object-fit:cover}
}

/* Dedicated 430x32 SVG dividers for mobile section edges. */
@media(max-width:640px){
 .portfolio .wave,.final-contact .wave{height:32px;top:-32px}
 .portfolio .wave-bottom{top:auto;bottom:-32px;transform:none}
 .wave img{left:0;transform:none;width:100%;height:32px;object-fit:fill}
 .portfolio{margin-top:32px;margin-bottom:32px}
 .final-contact{margin-top:32px}
}

@media(max-width:640px){.site .problem-card h3{font-size:5vw}}

/* Overlap the mobile SVG edges to hide fine background seams. */
@media(max-width:640px){
 .portfolio .wave:not(.wave-bottom),.final-contact .wave{top:-24px;margin-top:-4px}
 .portfolio .wave-bottom{bottom:-24px;margin-bottom:-4px}
}

/* FAQ toggles are static; measured answer expansion is animated on all screens. */
.faq-toggle::after{transition:none}
.faq-item[data-faq-expanded="false"] .faq-toggle::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq-item[data-faq-expanded="true"] .faq-toggle::after{transform:translate(-50%,-50%) rotate(0)}
@media(max-width:640px){
 .site .faq-item summary{font-size:4.4vw}
 .site .faq-answer{font-size:3.8vw}
}

/* Mobile principles hang from a gently curved line, like a small clothesline. */
@media(max-width:640px){
 .site .method-titles{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3vw;padding-top:34px;align-items:start}
 .site .method-titles::before{content:"";position:absolute;inset:0 0 auto;height:36px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 430 36' preserveAspectRatio='none'%3E%3Cpath d='M1 4 Q215 54 429 4' fill='none' stroke='%238ed4bd' stroke-opacity='.4' stroke-width='1.2'/%3E%3Ccircle cx='2' cy='4' r='2' fill='%23c2ae99'/%3E%3Ccircle cx='428' cy='4' r='2' fill='%23c2ae99'/%3E%3C/svg%3E") center/100% 100% no-repeat;pointer-events:none}
 .site .method-item{position:relative;flex-direction:column;justify-content:flex-start;gap:3.5vw;font-size:5vw;text-align:center;white-space:normal}
 .site .method-item::before{content:"";position:absolute;top:-19px;left:50%;width:1px;height:19px;background:linear-gradient(#8ed4bd80,#c2ae9980);pointer-events:none}
 .site .method-item:nth-child(2)::before{top:-5px;height:5px}
 .site .method-item .method-icon{width:14vw;height:14vw;background:linear-gradient(145deg,rgba(108,233,191,.1),rgba(13,13,13,.95));border-color:rgba(142,212,189,.3);box-shadow:0 8px 24px rgba(0,0,0,.2)}
 .site .method-item .method-icon svg{width:7vw;height:7vw}
 .site .method-item .method-label{display:block;line-height:1.2}
}

/* The selected personal introduction uses centered heading and copy. */
.site #sobre .about-copy,.site #sobre .about-copy h2,.site #sobre .prose{text-align:center}

@media(max-width:640px){.site .project-category{font-size:3vw}}

/* Balance mobile section subtitle line lengths. */
@media(max-width:640px){.site .section-header p,.site .hero-description{ text-wrap:balance }}

/* Shared portrait-oriented texture for the three light mobile panels. */
@media(max-width:640px){.site .service-card,.site .perception-panel{background-image:url('assets/images/bgm364272.avif?v=2422e9c60246');background-position:center;background-size:cover;background-repeat:no-repeat}}

/* Refine the mobile personal introduction without changing the portrait. */
@media(max-width:640px){
 .site .about-background .about-grid{padding-top:max(0px,calc(60vw - 60px + 60px))}
 .site #sobre .about-copy h2{width:85%;margin-inline:auto}
 .site #sobre .prose p{text-wrap:balance}
 .site .method-titles::before,.site .method-item::before{display:none}
}

/* Center the mobile footer and keep the back-to-top border still. */
.site-footer .back-top .double-contour{animation:none;transition:none}
@media(max-width:640px){
 .site-footer{text-align:center}
 .site-footer .footer-main{align-items:center;gap:28px}
 .site-footer .footer-brand{font-weight:500}
 .site-footer .footer-brand span{text-wrap:balance}
 .site-footer .footer-nav{justify-content:center}
 .site-footer .footer-bottom{align-items:center;gap:18px}
 .site-footer .back-top{justify-content:center}
}

/* Text-only action buttons across all screen sizes. */
button:not(.project),.cta,.project-view,.back-top{text-transform:uppercase}
.dialog-close{width:auto;min-width:76px;padding:0 14px;border-radius:12px;font-size:13px;font-weight:500}

/* Trim only the right edge of the mobile laptop mockup. */
@media(max-width:640px){.site .perception-panel .laptops{clip-path:inset(0 40px 0 0)}}

/* Keep the portfolio close button border static. */
.dialog-close .double-contour{animation:none;transition:none}

/* Clearer light-panel labels, segment icons and personal introduction. */
.site #sobre .prose strong{color:#fff;opacity:1;font-weight:600}
@media(min-width:641px){
 .site .perception-copy .tags li{font-size:18px}
 .site .perception-copy p{text-wrap:balance}
 .site .audience-card .mobile-card-heading{display:flex;align-items:center;gap:14px}
 .site .audience-icon{display:grid;place-items:center;color:#e0eee7;position:relative}
 .site .audience-icon svg{width:28px;height:28px}
 .site .audience-card h3{min-width:0}
 .site #sobre .about-copy,.site #sobre .about-copy h2,.site #sobre .prose{text-align:left}
 .site #sobre .about-copy h2{font-size:40px}
}
@media(min-width:641px) and (max-width:1000px){
 .site #sobre .about-copy h2{font-size:36px}
}

/* Extra space below the process timeline on notebook and desktop. */
@media(min-width:1001px){.site #processo{padding-bottom:140px}}

/* Center service text vertically within the wide service panels. */
@media(min-width:1001px){
 .site .service-card{display:flex;align-items:center}
 .site .service-card .service-copy{padding-block:64px;flex-shrink:0}
}

/* Transparent animated phones retain the service mockup sizing. */
.service-card-landing .service-art{aspect-ratio:1080/1054}
.service-art video{display:block;width:100%;height:100%;max-width:none;object-fit:contain}
@media(max-width:640px){.site .service-art video{height:auto}}

/* Scroll-linked reveals: cards animate as single units. */
html.lenis,html.lenis body{height:auto}
html.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}
.scroll-ready .scroll-top{opacity:0;filter:blur(5px);transform:translate(0,30px);transition:opacity 1s,filter 1s,transform 1s!important}
.scroll-ready .scroll-top.ativo7{opacity:1;filter:blur(0);transform:translate(0,0) scale(1);transition-delay:0s!important}
@media(prefers-reduced-motion:reduce){
 .scroll-ready .scroll-top{opacity:1;filter:none;transform:none;transition:none!important}
}

/* Consistent spacing for the three WhatsApp action buttons. */
.site .cta{padding:20px 50px;min-height:80px;justify-content:center}
@media(max-width:1000px){.site .cta{padding:18px 20px;min-height:68px}}

/* Small persistent contact action, shown only after the opening section. */
.floating-whatsapp{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:40;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#1b6c50;color:#fff;text-decoration:none;box-shadow:0 3px 12px rgba(0,0,0,.25)}
.floating-whatsapp[hidden]{display:none}
.floating-whatsapp svg{width:21px;height:21px}
.floating-whatsapp:focus-visible{outline:2px solid #8ed4bd;outline-offset:3px}
.site-footer .back-top{font-size:14px;border:0;outline:none;box-shadow:none;padding:0;background:none}
.site-footer .back-top:focus-visible{text-decoration:underline;text-underline-offset:4px}
@media(max-width:640px){
 .site .service-description p,.site .perception-copy p{font-size:4.2vw}
 .site .perception-panel .laptops{width:calc(100% + 40px);height:calc((100vw - 20px) * 1038 / 1080)}
 .site-footer .back-top{font-size:3.2vw}
}

/* Symmetric mobile clipping: both cut edges meet the panel sides. */
@media(max-width:640px){
 .site .perception-panel .laptops{padding-left:0;left:-40px;width:calc(100% + 80px);height:calc((100vw + 40px) * 1038 / 1080);clip-path:inset(0 40px 0 40px)}
 .site .perception-panel .laptops>video,.site .perception-panel .laptops>img{left:0;width:100%}
}

/* Identify the person behind the project above the About heading. */
.site #sobre .about-name{font-family:Paralucent,sans-serif;font-size:20px;font-weight:500;line-height:1.3;color:#8ed4bd;margin:0}
@media(max-width:640px){.site #sobre .about-name{font-size:4.2vw;text-align:center}}

/* Slowly moving CTA gradient; contour and hover sheen keep their own animations. */
.site .cta{
 background-image:linear-gradient(45deg,#54937e 0%,#175b44 19.47%,#00432c 25%,#54937e 50%,#175b44 69.47%,#00432c 75%,#54937e 100%);
 background-size:400% 400%;
 background-position:0% 50%;
 box-shadow:0 13px 60px -28px #3d7b66,inset 0 4px 24.9px rgba(0,0,0,.25),inset 19px -20px 72.7px -17px rgba(108,233,191,.8);

}
.site .cta:hover{box-shadow:0 13px 60px -20px #3d7b66,inset 0 4px 24.9px rgba(0,0,0,.25),inset 19px -20px 72.7px -17px rgba(108,233,191,.8)}
@media(prefers-reduced-motion:reduce){.site .cta{animation:none}}


/* About layout and method labels on desktop and notebook. */
@media (min-width:641px){
 .about-background .about-copy{width:calc(50% - 40px);max-width:620px}
 .method-item{display:flex;align-items:center;gap:12px;min-width:0;color:#e0dcd5;font-family:Paralucent,sans-serif;font-size:22px;line-height:1.2;white-space:nowrap}
 .method-titles{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:40px;margin:0;padding:0;list-style:none;flex-direction:row;align-content:center}
}

.hero-logo{display:block;width:194px;max-width:100%;height:auto;margin:0 0 32px}
@media(max-width:640px){.hero-logo{width:110px;margin:0 auto 16px}}

/* Availability belongs beside the logo, with the shared animated border. */
.hero-brand-row{display:flex;align-items:center;gap:32px;margin-bottom:24px}
.hero-brand-row .hero-logo{margin:0;flex-shrink:0}
.hero-brand-row .hero-notes{position:static;top:auto;right:auto;pointer-events:none}
.hero-brand-row .availability-note{animation:none;transform:none;margin:0;padding:0;border:0;background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.hero-brand-row .availability-dot::after{animation:none;display:none}
@media(min-width:641px){.hero-brand-row .hero-notes{display:block}}
@media(max-width:640px){.hero-brand-row{justify-content:center;margin-bottom:16px}.hero-brand-row .hero-notes{display:none}}

.hero-brand-row .availability-dot{animation:availability-glow 2.8s ease-in-out infinite}
@keyframes availability-glow{
 0%,100%{opacity:.8;box-shadow:0 0 5px rgba(139,223,183,.35);transform:scale(.95)}
 50%{opacity:1;box-shadow:0 0 12px rgba(139,223,183,.9),0 0 22px rgba(139,223,183,.45);transform:scale(1.12)}
}
@media(prefers-reduced-motion:reduce){.hero-brand-row .availability-dot{animation:none}}

.availability-break{display:none}
@media(max-width:640px){
 .site .hero-content{position:static}
 .hero-brand-row{position:absolute;top:max(20px,env(safe-area-inset-top));left:20px;right:20px;z-index:3;justify-content:space-between;align-items:center;gap:16px;margin:0}
 .hero-brand-row .hero-logo{width:100px;margin:0}
 .hero-brand-row .hero-notes{display:block}
 .hero-brand-row .availability-note{font-size:11px;line-height:1.3;gap:8px;text-align:left;white-space:normal}
 .hero-brand-row .availability-dot{width:6px;height:6px}
 .availability-break{display:block}
}

@media(min-width:641px){
 .hero-brand-row{max-width:660px;padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,.14)}
 .hero-brand-row .availability-note{margin-bottom:-6px}
}

.hero-brand-row .availability-note{color:#a7d9c1}
@media(min-width:641px){.hero-content #hero-title{margin-top:-10px;margin-bottom:-10px}}

.site .service-description p,.site .perception-copy>p{text-wrap:balance}
.site .service-description strong,.site .perception-copy>p strong{font-weight:500;color:#0d0d0d;opacity:1}

/* Notebook hero fills the viewport and centers its content vertically. */
@media(min-width:1001px) and (max-width:1440px){
 .site .hero{height:100vh;min-height:0;display:flex;align-items:center;padding-top:0;padding-bottom:0;flex-shrink:0}
 .site .hero-content{padding-top:0;padding-bottom:0}
 .hero-brand-row .hero-logo{width:170px}
 .site .hero-background{top:-36px;bottom:auto;height:calc(100% + 36px);object-position:center top}
}

.site img,.project-dialog img{-webkit-user-drag:none;user-select:none;-webkit-user-select:none}
