:root{--slate:#2e3b4a;--turquoise:#3ebfbe;--yellow:#eab54d;--white:#fff;--bg:#141e29;--panel:#1c2835;--muted:#bcc7d2;--line:#ffffff18}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--white);font-family:Arial,Helvetica,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--yellow);outline-offset:5px}.container{width:min(1180px,90%);margin:auto}header{position:sticky;top:0;z-index:20;background:#141e29f5;border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.navigation{height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:12px;flex-shrink:0}.brand-mark{position:relative;display:flex;align-items:center;border:1px solid #3ebfbe60;border-radius:10px 2px 10px 2px;padding:3px 8px;font-weight:800;font-size:28px;letter-spacing:-4px;line-height:1.6}.brand-mark span{color:var(--turquoise);padding-right:4px}.brand-mark i{position:absolute;width:5px;height:5px;background:var(--yellow);right:-3px;bottom:6px}.brand-name{font-size:18px;font-weight:800;letter-spacing:.8px;line-height:1.2}.brand-name small{display:block;font-size:7px;font-weight:400;letter-spacing:2px;color:var(--muted);margin-top:7px}nav{display:flex;align-items:center;gap:28px;font-size:12px;font-weight:600}nav>a:not(.button){color:#d4dde4}nav>a:not(.button):hover{color:var(--turquoise)}.button{display:inline-flex;justify-content:center;align-items:center;gap:28px;border:1px solid transparent;border-radius:7px;padding:16px 23px;background:var(--yellow);color:#192430;font-size:13px;font-weight:700;cursor:pointer;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-2px);box-shadow:0 8px 28px #eab54d22}.compact{padding:11px 17px;font-size:12px}.outline{border-color:#ffffff30;background:#ffffff03;color:white}.outline:hover{border-color:var(--turquoise);box-shadow:none}.menu-toggle{display:none}.hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 90% 80%,#3ebfbe16,transparent 55%),radial-gradient(ellipse at 15% 0%,#3ebfbe0d,transparent 60%),var(--bg);padding:70px 0 65px}.hero-content{position:relative;z-index:1}.badge{display:inline-flex;gap:9px;align-items:center;border:1px solid #3ebfbe40;background:#3ebfbe0b;color:var(--turquoise);font-size:9px;letter-spacing:1.5px;font-weight:700;padding:7px 13px;border-radius:30px;margin:0 0 24px}.badge span{width:6px;height:6px;background:var(--turquoise);border-radius:50%;box-shadow:0 0 10px #3ebfbe70}h1{font-size:clamp(43px,5.2vw,70px);font-weight:750;line-height:1.08;letter-spacing:-2.7px;margin:0 0 24px;max-width:960px}em{font-style:normal;color:var(--turquoise)}.hero-description{max-width:640px;font-size:17px;color:var(--muted);line-height:1.75;margin:0}.actions{display:flex;gap:15px;margin-top:32px}.hero-highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:830px;margin-top:50px}.hero-highlights>div{display:flex;align-items:center;gap:14px;padding:17px;background:#ffffff04;border:1px solid var(--line);border-radius:9px}.hero-highlights svg{color:var(--turquoise);width:28px;height:28px;flex-shrink:0}.hero-highlights p{margin:0;font-size:12px;line-height:1.5}.hero-highlights span{display:block;color:var(--muted);font-size:10px;margin-top:3px}.hero-index{position:absolute;right:4%;top:45%;writing-mode:vertical-rl;font-family:Consolas,monospace;font-size:9px;letter-spacing:3px;color:#8faaa9}.circuit{position:absolute;right:-8%;top:0;width:65%;height:100%;color:#3ebfbe2d;mask-image:linear-gradient(90deg,transparent,#000)}.circuit svg{width:100%;height:100%;stroke-width:1}.section{padding:95px 0;border-top:1px solid var(--line)}.section-title{text-align:center;max-width:760px;margin:0 auto 45px}.eyebrow{color:var(--turquoise);font-size:10px;font-weight:700;letter-spacing:2px;margin:0 0 16px}h2{font-size:clamp(30px,3.1vw,42px);font-weight:700;letter-spacing:-1.3px;line-height:1.2;margin:0 0 20px}.section-title>p:last-child{color:var(--muted);font-size:14px}h3{font-size:19px;line-height:1.3;letter-spacing:-.35px}.services{background:#182330}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{display:block;background:linear-gradient(135deg,#ffffff04,#ffffff01);border:1px solid var(--line);border-radius:12px;padding:29px;transition:transform .2s,border-color .2s,background .2s}.service-card:hover{transform:translateY(-5px);border-color:#3ebfbe80;background:#3ebfbe07}.card-top{display:flex;align-items:center;justify-content:space-between}.icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:10px;background:#3ebfbe12;color:var(--turquoise);font-size:24px}.icon svg{width:24px;height:24px}.number{font-family:Consolas,monospace;font-size:12px;color:#a7b4bf}.service-card h3{margin:23px 0 12px}.service-card p{color:var(--muted);font-size:13px;margin:0;min-height:86px}.card-link{border-top:1px solid var(--line);margin-top:24px;padding-top:16px;display:flex;justify-content:space-between;font-size:10px;color:var(--turquoise)}.card-link b{font-size:17px;line-height:1}.about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center}.about-copy>p:not(.eyebrow){font-size:14px;color:var(--muted)}.check-list{padding:0;list-style:none;margin:26px 0}.check-list li{font-size:12px;margin:12px 0;padding-left:24px;position:relative}.check-list li:before{content:'✓';position:absolute;left:0;color:var(--turquoise)}.text-link{display:inline-block;color:var(--yellow);font-size:12px;font-weight:700}.about-story{border:1px solid #ffffff20;background:linear-gradient(135deg,#2e3b4a90,#1c2835);border-radius:15px;padding:34px;position:relative}.about-story:before{content:'';position:absolute;top:-1px;left:34px;width:60px;height:3px;background:var(--yellow)}.story-symbol{font-size:65px;line-height:1;color:var(--yellow);font-family:Georgia,serif}.story-heading p{font-size:21px;line-height:1.45;letter-spacing:-.5px;margin:0 0 20px}.story-heading strong{font-weight:600}.about-story>p{color:var(--muted);font-size:13px}.story-signature{display:flex;gap:14px;align-items:center;margin:25px 0}.story-signature img{width:48px;height:48px;object-fit:cover;border-radius:50%;border:2px solid #3ebfbe70}.story-signature span{font-size:13px;font-weight:700}.story-signature small{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:3px}.story-bottom{display:flex;justify-content:space-between;gap:12px;font-size:7px;letter-spacing:1px;border-top:1px solid var(--line);padding-top:20px;color:var(--turquoise)}.benefits{background:#1b2734}.benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;text-align:center}.benefits-grid .icon{width:56px;height:56px;border-radius:50%}.benefits-grid article:nth-child(2) .icon{color:var(--yellow);background:#eab54d12}.benefits-grid p{font-size:13px;color:var(--muted)}.projects-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:35px}.projects-heading>p{font-size:13px;color:var(--muted);max-width:270px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.project-image{height:210px;overflow:hidden;border-radius:9px;border:1px solid var(--line);background:var(--slate)}.project img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.project:hover img{transform:scale(1.04)}.project>p{font-size:8px;letter-spacing:1.5px;color:var(--turquoise);margin:20px 0 10px}.project h3{font-size:17px;margin:0}.project h3 span{float:right;color:var(--yellow)}.contact{background:radial-gradient(ellipse at 10% 70%,#3ebfbe0a,transparent 60%),#192531}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px}.contact-intro{font-size:14px;color:var(--muted);max-width:380px}.contact-item{display:flex;gap:15px;align-items:center;margin-top:28px}.contact-item small{display:block;color:var(--muted);font-size:8px;letter-spacing:1px}.contact-item strong{font-size:14px;font-weight:500}.location{font-size:12px;color:var(--muted);margin-top:25px}form{background:#ffffff04;border:1px solid #ffffff20;padding:30px;border-radius:12px}form h3{font-size:19px;margin:0 0 25px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{display:block;font-size:11px;margin-bottom:16px}input,select,textarea{display:block;width:100%;margin-top:7px;background:#141e29;border:1px solid #ffffff20;padding:12px;color:white;border-radius:6px;font-size:12px}input::placeholder,textarea::placeholder{color:#93a4b4}textarea{resize:vertical}.form-note{font-size:10px;color:var(--muted)}form .button{width:100%;justify-content:space-between}.button:disabled{opacity:.6;cursor:wait;transform:none}#form-status{font-size:12px;margin:10px 0 0}footer{padding-top:55px;background:#111a24}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.2fr 1fr;gap:30px;padding-bottom:45px}.footer-grid h3{font-size:12px;margin:0 0 17px}.footer-grid>div>a:not(.brand){display:block;font-size:11px;color:var(--muted);margin:9px 0}.footer-grid p{font-size:12px;color:var(--muted);margin-top:18px}.copyright{display:flex;gap:5px;font-size:9px;color:#9aabba;border-top:1px solid var(--line);padding:22px 0}.copyright>span:last-child{margin-left:auto;letter-spacing:1px;font-size:8px}.floating-contact{position:fixed;bottom:24px;right:24px;width:50px;height:50px;border-radius:50%;background:var(--turquoise);color:#141e29;display:grid;place-items:center;z-index:15;box-shadow:0 5px 25px #0004}.floating-contact svg{width:25px;height:25px}.skip{position:fixed;top:-100px;left:15px;background:var(--yellow);color:#141e29;padding:10px;z-index:30}.skip:focus{top:15px}@media(max-width:1000px){nav{gap:16px}.about-grid,.contact-grid{gap:40px}.service-card{padding:24px}.hero-index{display:none}.hero-highlights{max-width:800px}.brand-name{font-size:16px}}@media(max-width:760px){html{scroll-padding-top:85px}.navigation{height:76px}.menu-toggle{display:block;background:transparent;color:white;border:1px solid #ffffff30;border-radius:5px;padding:8px 12px;font-size:12px}nav{display:none;position:absolute;top:76px;left:0;right:0;background:#141e29;border-bottom:1px solid var(--line);padding:25px 5%}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:23px}.hero{padding:42px 0}.badge{font-size:8px;letter-spacing:1px}h1{font-size:clamp(36px,7.6vw,55px);letter-spacing:-1.5px;line-height:1.12}.hero-description{font-size:15px}.actions{flex-direction:column;align-items:stretch;max-width:420px;gap:12px}.hero-highlights{grid-template-columns:1fr;margin-top:30px;gap:10px}.hero-highlights>div{padding:13px 17px}.hero-highlights p{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.hero-highlights span{margin:0}.circuit{width:130%;right:-50%;opacity:.55}.section{padding:60px 0}.section-title{margin-bottom:30px}h2{font-size:30px;letter-spacing:-.8px}.section-title>p:last-child{font-size:13px}.service-grid{grid-template-columns:1fr;gap:15px}.service-card p{min-height:0}.service-card h3{margin-top:18px}.about-grid,.contact-grid{grid-template-columns:1fr;gap:35px}.about-story{padding:25px}.benefits-grid{grid-template-columns:1fr;gap:30px}.benefits-grid article{max-width:400px;margin:auto}.projects-heading{display:block}.projects-heading>p{max-width:none}.project-grid{grid-template-columns:1fr;gap:30px}.project-image{height:230px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-grid>div:first-child{grid-column:1/-1}.copyright{flex-wrap:wrap;padding-right:45px}.copyright>span:last-child{display:none}.form-row{grid-template-columns:1fr;gap:0}form{padding:23px}.floating-contact{width:44px;height:44px;bottom:16px;right:16px}.story-bottom{font-size:6px;letter-spacing:.5px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Original São Barreto mark and lightweight motion. */
.brand-logo{width:53px;height:53px;object-fit:contain;flex-shrink:0;transition:transform .35s}
.brand:hover .brand-logo{transform:rotate(-6deg) scale(1.06)}
.service-card .icon,.benefits-grid .icon{transition:transform .35s,background .35s}
.service-card:hover .icon,.benefits-grid article:hover .icon{transform:translateY(-3px) rotate(-6deg);background:#3ebfbe25}
.card-link b,.button>span{display:inline-block;transition:transform .25s}
.service-card:hover .card-link b,.button:hover>span{transform:translate(3px,-2px)}
.contact-item .icon{transition:transform .25s}.contact-item:hover .icon{transform:scale(1.1)}
@media(prefers-reduced-motion:no-preference){
.hero .badge{animation:hero-arrive .65s both}
.hero h1{animation:hero-arrive .8s .1s both}
.hero-description{animation:hero-arrive .8s .2s both}
.hero .actions{animation:hero-arrive .8s .3s both}
.hero-highlights>div{animation:hero-arrive .8s .4s both}
.hero-highlights>div:nth-child(2){animation-delay:.5s}
.hero-highlights>div:nth-child(3){animation-delay:.6s}
.circuit svg{animation:circuit-drift 12s ease-in-out infinite alternate}
.circuit path{stroke-dasharray:950;stroke-dashoffset:950;animation:circuit-trace 3s .3s ease-out forwards}
.circuit circle{transform-box:fill-box;transform-origin:center;animation:signal-pulse 3s ease-in-out infinite}
.circuit circle:nth-last-child(2){animation-delay:1s}
.badge span{animation:signal-pulse 2.8s ease-in-out infinite}
.reveal-pending{opacity:0;transform:translateY(24px)}
.reveal-pending.is-visible{opacity:1;transform:none;transition:opacity .7s var(--reveal-delay,0ms),transform .7s var(--reveal-delay,0ms)}
.reveal-pending:focus-within{opacity:1;transform:none}
@keyframes hero-arrive{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes circuit-trace{to{stroke-dashoffset:0}}
@keyframes circuit-drift{from{transform:translateY(-8px)}to{transform:translateY(8px)}}
@keyframes signal-pulse{0%,100%{opacity:.5;scale:.9}50%{opacity:1;scale:1.15}}
}
@media(max-width:760px){.brand-logo{width:46px;height:46px}}
@media(prefers-reduced-motion:reduce){.reveal-pending{opacity:1;transform:none}.brand:hover .brand-logo,.service-card:hover .icon,.benefits-grid article:hover .icon{transform:none}}

/* Light surfaces echo the original logo; teal remains readable on white. */
.services,.projects{background:#fff;color:var(--slate);--muted:#596674;--line:#2e3b4a18}
.services em,.projects em,.services .eyebrow,.projects .eyebrow,.projects .project>p{color:#237b7b}
.services .service-card{background:linear-gradient(145deg,#fff,#f5f9fa);border-color:#2e3b4a20;position:relative;isolation:isolate;overflow:hidden;box-shadow:0 7px 25px #2e3b4a04}
.services .service-card:hover{background:#f7fbfb;border-color:#3ebfbe;box-shadow:0 18px 40px #2e3b4a0d}
.services .icon,.services .card-link{color:#237b7b}.services .number{color:#677784}.services .card-link{border-color:#2e3b4a15}
.projects .project-image{border-color:#2e3b4a20;box-shadow:0 12px 30px #2e3b4a0c}.projects .project h3 span{color:#237b7b}
.services :focus-visible,.projects :focus-visible{outline-color:#237b7b}
header:after{content:'';position:absolute;bottom:-1px;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--turquoise),var(--yellow));transform:scaleX(var(--read-progress,0));transform-origin:left;pointer-events:none}
nav a:not(.button)[aria-current="location"]{color:var(--turquoise)}
.hero:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(450px circle at var(--pointer-x,75%) var(--pointer-y,40%),#3ebfbe17,transparent 75%)}
.hero:after{content:'';position:absolute;right:12%;top:22%;width:190px;height:190px;border-radius:50%;border:1px solid #ffffff18;box-shadow:0 0 0 38px #ffffff03,0 0 0 76px #3ebfbe03;pointer-events:none;opacity:.6}
.circuit{translate:var(--drift-x,0px) calc(var(--drift-y,0px) + var(--scroll-drift,0px))}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
.service-card:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(260px circle at var(--pointer-x,50%) var(--pointer-y,50%),#3ebfbe20,transparent 75%);opacity:0;transition:opacity .3s;pointer-events:none}
.service-card:hover:before{opacity:1}.service-card{rotate:var(--tilt-x,1) var(--tilt-y,0) 0 3deg;transition:rotate .3s,transform .3s,box-shadow .3s,border-color .3s}.service-card:not(:hover){rotate:none}
.hero:after{translate:var(--drift-x,0px) var(--drift-y,0px);transition:translate .5s ease-out}.circuit{transition:translate .35s ease-out}
}
@media(max-width:760px){.hero:after{width:110px;height:110px;right:-35px;top:45%;opacity:.35}}
@media(prefers-reduced-motion:reduce){.circuit{translate:none}.hero:after{translate:none}.service-card{rotate:none!important}}


/* Vertical rhythm follows the viewport without forcing scroll snapping. */
.hero{min-height:calc(100svh - 88px);display:flex;align-items:center;padding-block:clamp(35px,7vh,90px)}
.section{padding-block:clamp(55px,10vh,115px)}
.services>.container{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;align-items:start}
.services .section-title{text-align:left;position:sticky;top:clamp(115px,18vh,180px);margin:0}
.services .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.services .service-card{min-height:295px;display:flex;flex-direction:column}
.services .card-link{margin-top:auto;padding-top:18px}.services .service-card p{margin-bottom:24px;min-height:0}
.services .section-title:after{content:'';display:block;width:70px;height:3px;background:linear-gradient(90deg,var(--turquoise),var(--yellow));margin-top:30px;transform:scaleX(var(--section-progress,.1));transform-origin:left}
.about,.benefits{min-height:min(780px,calc(100svh - 88px));display:flex;align-items:center}
.project-image{height:clamp(200px,28vh,320px)}
@media(prefers-reduced-motion:no-preference){
.hero-content{translate:0 var(--hero-rise,0px);opacity:var(--hero-opacity,1)}
.about-story{translate:0 var(--story-drift,0px)}
.project-image img{scale:var(--image-scale,1.04);translate:0 var(--image-drift,0px)}
.benefits-grid article{translate:0 var(--benefit-rise,0px)}
}
@media(max-width:1000px){.services>.container{gap:32px;grid-template-columns:.7fr 1.3fr}.services .service-card{padding:20px}.services h2{font-size:32px}}
@media(max-width:760px){
.hero{min-height:calc(100svh - 76px);padding-block:35px}.section{padding-block:clamp(48px,8vh,72px)}
.services>.container{display:block}.services .section-title{position:static;margin-bottom:32px}.services .section-title:after{margin-top:20px}
.services .service-grid{grid-template-columns:1fr;gap:18px}.services .service-card{min-height:0;padding:25px}.services .service-card p{margin-bottom:12px}
.about,.benefits{min-height:0}.hero-content,.about-story,.benefits-grid article{translate:none!important;opacity:1!important}
}
@media(max-height:650px) and (min-width:761px){
.navigation{height:72px}.hero{min-height:calc(100svh - 72px);padding-block:30px}h1{font-size:clamp(40px,4.5vw,58px)}.hero-highlights{margin-top:25px}.hero .actions{margin-top:22px}.hero-description{font-size:15px}.hero .badge{margin-bottom:16px}.services .section-title{top:95px}
}
@media(prefers-reduced-motion:reduce){.hero-content,.about-story,.benefits-grid article{translate:none;opacity:1}.project-image img{scale:1;translate:none}.services .section-title:after{transform:none}}

/* Anchor offset tracks the actual header height at every breakpoint. */
html{scroll-behavior:auto;scroll-padding-top:var(--header-height,89px)}

.service-chooser{margin-top:27px;text-align:left}.service-chooser[hidden],.service-chooser [hidden]{display:none!important}
#need-label{font-size:13px;font-weight:700;margin-bottom:12px}.need-options{display:grid;gap:9px}
.need-options button{display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;padding:13px 15px;min-height:48px;border:1px solid #2e3b4a30;background:#fff;color:var(--slate);border-radius:7px;font-size:12px;font-weight:600;cursor:pointer;transition:background .25s,border-color .25s}
.need-options button:hover{background:#edf8f8;border-color:#237b7b}.need-options button[aria-pressed="true"]{background:#e3f5f4;border:2px solid #237b7b;padding:12px 14px}.need-options button span{color:#237b7b}
.need-status{font-size:11px;color:#596674;margin:13px 0;min-height:36px}.reset-needs{padding:8px 0;background:none;border:0;color:#237b7b;font-size:11px;text-decoration:underline;cursor:pointer}.need-contact{font-size:11px;padding:13px 15px}
.services .service-card.is-recommended{border:2px solid #237b7b;box-shadow:0 8px 26px #3ebfbe18}.services .service-card.is-recommended .number{color:#237b7b;font-weight:700}.services .service-card.is-recommended .card-link:before{content:'✓';margin-right:7px;color:#237b7b}
@media(min-width:761px) and (max-height:800px){.services .section-title:has(.service-chooser){position:static}}
@media(prefers-reduced-motion:reduce){.need-options button{transition:none}}

/* Expandable project stories preserve a compact, accessible portfolio. */
.project-grid{align-items:start}.case-card{padding:16px;border:1px solid #2e3b4a20;border-radius:13px;background:#fff;box-shadow:0 8px 28px #2e3b4a06}
.case-card .project-image{display:block;height:clamp(180px,24vh,260px)}
.case-card>p.case-intro{font-size:13px;line-height:1.7;letter-spacing:0;color:#596674;margin:16px 0 20px;min-height:66px}
.case-details{border-top:1px solid #2e3b4a18}.case-details summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 0;font-size:12px;font-weight:700;list-style:none;min-height:48px}.case-details summary::-webkit-details-marker{display:none}.case-details summary>span{font-size:20px;color:#237b7b;transition:rotate .25s}.case-details[open] summary>span{rotate:45deg}
.case-details dl{margin:0 0 16px;font-size:12px}.case-details dt{font-weight:700;color:var(--slate);margin-top:15px}.case-details dd{margin:5px 0 0;color:#596674;line-height:1.75}.case-source{display:inline-block;color:#237b7b;font-size:12px;padding:5px 0 16px;text-decoration:underline;text-underline-offset:4px}
.case-contact{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;padding:12px 14px;background:#eaf7f6;border:1px solid #237b7b30;border-radius:7px;font-size:11px;font-weight:700;color:#236d6d}.case-contact:hover{background:#d9f0ed;border-color:#237b7b}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(prefers-reduced-motion:no-preference){.case-details[open] dl{animation:hero-arrive .3s ease-out}}
@media(max-width:760px){.case-card>p.case-intro{min-height:0}}

.image-viewer{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:65px 25px 25px;border:0;background:#111a24ed;color:white;overflow:auto;overscroll-behavior:contain}
.image-viewer::backdrop{background:#111a24c9;backdrop-filter:blur(8px)}
.image-viewer[open]{display:grid;place-items:center}.image-viewer figure{margin:0;max-width:1200px;width:100%;text-align:center;pointer-events:none}.viewer-image{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 155px);object-fit:contain;margin:auto;border-radius:7px;pointer-events:auto;background:#fff}.image-viewer figcaption{font-size:13px;color:#e3e9ee;margin-top:18px;line-height:1.6}.viewer-close{position:fixed;right:22px;top:15px;width:44px;height:44px;border:1px solid #ffffff50;border-radius:50%;background:#2e3b4a;color:#fff;font-size:30px;cursor:pointer;z-index:1}.viewer-close:hover{background:#3ebfbe;color:#141e29}html.viewer-open{overflow:hidden}.project-image[data-image-preview]{cursor:zoom-in}
@media(prefers-reduced-motion:no-preference){.image-viewer[open] .viewer-image{animation:hero-arrive .25s ease-out}}
@media(max-width:760px){.image-viewer{padding:70px 12px 20px}.image-viewer figcaption{font-size:12px}.viewer-close{right:14px}}
.contact-options{border:0;padding:0;margin:0 0 3px;min-width:0}.contact-options legend{font-size:12px;font-weight:700;padding:0}.contact-options>p{font-size:11px;color:var(--muted);margin:5px 0 14px}

/* Existing clients have a dedicated, clearly labelled support journey. */
.client-nav{border-left:1px solid #ffffff25;padding-left:18px}.client-support{background:#edf6f5;color:var(--slate);--muted:#596674;--line:#2e3b4a18}.client-support .eyebrow,.client-support em{color:#237b7b}.support-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:65px;align-items:center}.support-welcome{position:relative;min-height:530px;display:flex;flex-direction:column;align-items:flex-start;overflow:hidden}.support-welcome>div{position:relative;z-index:1}.support-welcome>div>p:last-child{max-width:340px;font-size:14px;color:#596674}.support-character{width:230px;height:auto;max-width:65%;align-self:center;margin-top:8px;filter:drop-shadow(0 14px 22px #2e3b4a18)}.support-welcome:before{content:'';position:absolute;width:290px;height:290px;border-radius:50%;background:#3ebfbe16;bottom:5px;left:15%}.support-actions{display:grid;gap:18px}.support-option{padding:25px;background:white;border:1px solid #2e3b4a20;border-radius:12px}.support-tag{font-size:9px;letter-spacing:1.5px;color:#237b7b;font-weight:700}.support-option h3{font-size:21px;margin:10px 0}.support-option>p{font-size:13px;color:#596674}.support-option .button{width:100%;font-size:12px;gap:10px}.support-download{background:var(--slate);color:white}.support-download:hover{background:#23313f;box-shadow:0 8px 24px #2e3b4a18}.support-option small{display:block;font-size:10px;color:#596674;margin-top:12px}.remote-help{margin-top:17px;border-top:1px solid #2e3b4a18;padding-top:13px;font-size:12px}.remote-help summary{cursor:pointer;font-weight:600;padding:5px 0}.remote-help ol{padding-left:20px}.remote-help li{margin:9px 0}.remote-help p{color:#596674}.support-question{font-size:12px;color:#237b7b;text-decoration:underline;text-underline-offset:4px}.client-support :focus-visible{outline-color:#237b7b}
@media(min-width:1001px){nav{gap:19px}.navigation{gap:15px}}
@media(max-width:1100px) and (min-width:761px){nav{gap:10px;font-size:11px}.client-nav{padding-left:10px}.navigation .brand-name{font-size:13px}.navigation .brand-name small{letter-spacing:1px}.navigation .compact{padding:10px;font-size:10px}}
@media(max-width:760px){.client-nav{border:0;padding-left:0}.support-layout{grid-template-columns:1fr;gap:25px}.support-welcome{min-height:0;padding-right:105px;overflow:visible}.support-character{position:absolute;right:0;bottom:0;width:110px;max-width:30%;margin:0}.support-welcome:before{width:130px;height:130px;left:auto;right:-5px}.support-welcome h2{font-size:29px}.support-welcome .eyebrow{font-size:8px;letter-spacing:1px}.support-option{padding:21px}.support-option .button{font-size:11px}}

/* Touch-friendly controls and readable mobile inputs. */
@media(max-width:760px){
input,select,textarea{font-size:16px;min-height:48px}
nav.open{max-height:calc(100dvh - 76px);overflow-y:auto;gap:8px}
nav>a:not(.button){display:flex;align-items:center;min-height:44px}
.reset-needs,.case-source,.support-question{min-height:44px;display:inline-flex;align-items:center}
.remote-help summary{min-height:44px;display:flex;align-items:center}
.contact{padding-bottom:90px}.footer-grid{padding-bottom:65px}
}
.contact-verification{margin:0;min-width:0}#contact-turnstile{min-height:0}#verification-status{font-size:12px;color:var(--muted);line-height:1.5;margin:12px 0}#verification-retry{background:transparent;border:1px solid #ffffff50;border-radius:6px;padding:10px;color:white;cursor:pointer;min-height:44px;margin-bottom:12px}

#verification-status:empty { display: none; }

/* Consistent contact spacing; invisible verification reserves no height. */
#contact-form > label { display:block; margin:0 0 18px; }
#contact-form .contact-options { margin:0 0 18px; }
#contact-form .contact-options > p { margin:4px 0 12px; }
#contact-form .form-row { gap:16px; }
#contact-form .form-row > label { min-width:0; margin:0; }
#contact-form input, #contact-form select, #contact-form textarea { margin-top:8px; padding:12px 14px; font-size:16px; line-height:1.5; }
#contact-form textarea { min-height:120px; }
#contact-form .form-note { margin:0 0 16px; font-size:12px; line-height:1.5; }
#contact-form > .button { min-height:52px; margin:0; }
#form-status:empty { display:none; }

.whatsapp-icon{display:inline-block;width:20px;height:20px;flex-shrink:0;vertical-align:middle;fill:currentColor;stroke:none}
