@font-face{font-family:Cormorant;src:url('fonts/cormorant-garamond.woff2') format('woff2');font-style:normal;font-weight:300 700;font-display:swap}@font-face{font-family:DM;src:url('fonts/dm-sans.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--navy:#1f2d4d;--deep:#14213b;--denim:#365c7c;--white:#fff;--pale:#edf2f6;--silver:#c3cbd4;--muted:#526075;--gutter:64px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--navy);background:var(--white);font:16px/1.65 DM,Arial,sans-serif}body:has(dialog[open]){overflow:hidden}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button,a,summary,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}button{cursor:pointer}a,button,summary{transition:color .2s,background-color .2s,transform .2s}a:active,button:active{transform:translateY(2px)}:focus-visible{outline:3px solid #6182a5;outline-offset:5px}button{color:inherit}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:Cormorant,Georgia,serif;font-weight:400;line-height:.98}img{display:block;width:100%;height:auto}button{border:0;background:none}section{scroll-margin-top:24px}.skip{position:fixed;top:8px;left:8px;z-index:20;padding:12px;background:white;transform:translateY(-150%)}.skip:focus{transform:none}
.masthead{padding:27px var(--gutter) 0;background:var(--navy);color:white}.identity{display:flex;align-items:center;justify-content:center;gap:20px;font:400 clamp(52px,7.5vw,112px)/1.08 Cormorant,Georgia,serif;letter-spacing:-.045em;white-space:nowrap}.identity .logo{width:55px;height:72px;object-fit:contain;flex:none}.utility{margin-top:22px;padding:8px 0;border-top:1px solid #65718b;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;font-size:13px}.area{justify-self:start}.language{display:flex;align-items:center;gap:0}.language button{min-width:48px;min-height:48px;color:var(--silver)}.language button[aria-pressed=true]{color:white;text-decoration:underline;text-underline-offset:6px}.language button:hover{background:#36506c}.menu-open{justify-self:end;display:flex;align-items:center;gap:14px;min-height:48px;padding:0 0 0 16px}.menu-lines{width:23px;height:9px;border-top:1px solid;border-bottom:1px solid}.menu-open:hover{color:var(--silver)}
.hero{background:var(--navy);color:white;display:grid;grid-template-columns:48% 52%;padding:20px var(--gutter) 72px;position:relative;isolation:isolate}.hero:before,.contact:before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.075;background:repeating-linear-gradient(45deg,transparent 0 3px,#8c9caf 3px 4px),repeating-linear-gradient(-45deg,transparent 0 5px,#8c9caf 5px 6px);z-index:-1}.hero-visual{grid-column:2;grid-row:1;position:relative;height:610px;overflow:hidden;background:var(--deep)}.hero-visual picture{display:block;height:100%;overflow:hidden}.hero-visual img,.hero-visual video{width:100%;height:100%;object-fit:cover;object-position:50% 50%}.hero-visual video{position:absolute;inset:0}.hero-visual video[hidden]{display:none}.photo-edge{position:absolute;right:0;bottom:0;background:var(--navy);padding:8px 16px;font-size:12px;color:white}.hero-copy{grid-column:1;grid-row:1;display:flex;flex-direction:column;justify-content:center;padding:25px 40px 30px 0}.hero h1{font-size:clamp(58px,6.1vw,94px);letter-spacing:-.038em;line-height:1.02}.hero-copy>p{color:var(--silver);margin-top:30px;max-width:380px;font-size:16px}.text-link{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:52px;border-bottom:1px solid currentColor;font-size:14px}.text-link span:last-child{font-size:24px;transition:transform .25s}.text-link:hover span:last-child{transform:translate(3px,-3px)}.hero-link{max-width:310px;margin-top:40px}.section-pad{padding:110px var(--gutter)}.section-label{font-size:14px;margin-bottom:30px}.services{display:grid;grid-template-columns:1fr 1.12fr;gap:100px}.services h2,.work h2,.contact h2{font-size:clamp(60px,6.1vw,88px);letter-spacing:-.035em}.service-note{max-width:350px;margin-top:28px;color:var(--muted)}.thread{width:230px;margin-top:35px;color:var(--denim)}.service-index{position:relative;padding-left:40px}.seam{position:absolute;left:0;top:0;bottom:0;width:8px;border-left:1px dashed #a3afbd;border-right:1px dashed #a3afbd}.seam span{position:absolute;inset:0;border-left:2px dashed var(--denim);border-right:2px dashed var(--denim);transform:scaleY(var(--seam-progress,1));transform-origin:top}.seam span:after{content:'';position:absolute;bottom:0;left:-5px;width:12px;height:34px;border:1px solid var(--denim);border-radius:50% 50% 30% 30%;background:var(--white)}details{border-bottom:1px solid var(--silver)}summary{min-height:108px;display:flex;align-items:center;justify-content:space-between;gap:15px;cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}summary h3{font-size:48px;letter-spacing:-.03em}summary>span{font:300 28px DM;transition:transform .25s}details[open] summary>span{transform:rotate(45deg)}summary:hover{color:var(--denim)}.service-body{padding:0 10px 35px 0;max-width:480px}.service-body>p{margin-bottom:16px}.examples{color:var(--muted);font-size:14px}.service-body .text-link{width:fit-content;margin-top:22px;gap:40px}
.work{background:var(--pale);display:grid;grid-template-columns:1.12fr 1fr;grid-template-rows:auto 1fr;column-gap:10%;row-gap:45px;align-items:start}.work-heading{grid-column:2;grid-row:1}.work-heading>p:last-child{margin-top:28px;color:var(--muted)}.work-main{grid-column:1;grid-row:1 / 3}.work-main img{aspect-ratio:3/4;object-fit:cover}.work-detail{grid-column:2;grid-row:2;width:88%;padding-top:25px}.work-detail img{aspect-ratio:3/4;object-fit:cover}figcaption{padding-top:15px;font-size:13px;color:var(--muted)}.contact{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 1fr;gap:100px;background:var(--navy);color:white}.contact-copy>p:not(.section-label){max-width:390px}.contact-copy>p:nth-of-type(2){margin-top:28px;color:var(--silver)}.location{margin-top:46px}.hours{color:var(--silver);font-size:14px}.phone-number{display:inline-block;font:400 32px/1.3 Cormorant;margin-top:22px;min-height:48px}.phone-number:hover{text-decoration:underline}.quote-sheet{padding:38px;background:white;color:var(--navy);box-shadow:8px 8px 0 #4c607a;align-self:start;position:relative}.quote-sheet:before{content:'';position:absolute;inset:8px;pointer-events:none;border:1px dashed #a3afbd}.form-title{font:400 34px/1.1 Cormorant;margin-bottom:30px}.quote-sheet label{display:block;font-size:13px;margin:20px 0 7px}.quote-sheet input,.quote-sheet textarea,.quote-sheet select{display:block;width:100%;padding:12px 0;border:0;border-bottom:1px solid var(--muted);border-radius:0;color:var(--navy);background:white;min-height:48px}.quote-sheet textarea{resize:vertical;min-height:95px}.send{margin-top:28px;background:var(--navy);color:white;padding:15px 18px;min-height:54px;width:100%;display:flex;align-items:center;justify-content:space-between;font-size:14px}.send:hover{background:var(--denim)}.send-text{font-size:14px;padding:12px 0;min-height:48px;text-decoration:underline;text-underline-offset:5px}.send-text:hover{color:var(--denim)}.form-help{font-size:12px;line-height:1.6;color:var(--muted);margin-top:8px}footer{padding:60px var(--gutter) 105px;background:white}.footer-name{font:400 clamp(48px,7vw,100px)/1 Cormorant;letter-spacing:-.04em}.footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px 24px;border-top:1px solid var(--silver);margin-top:28px;padding-top:20px;font-size:12px}.footer-bottom a{display:flex;align-items:center;min-height:48px}.footer-bottom a:hover{text-decoration:underline}.contact-tab{position:fixed;bottom:18px;right:22px;display:flex;align-items:stretch;z-index:8;box-shadow:0 4px 25px #14213b30;border:1px solid var(--navy);font-size:13px;background:white}.contact-tab a{min-height:52px;display:flex;align-items:center;justify-content:center;padding:0 22px}.tab-call{background:white;color:var(--navy)}.tab-wa{background:var(--navy);color:white;gap:24px;border:3px double var(--silver)}.tab-call:hover{background:var(--pale)}.tab-wa:hover{background:var(--denim)}
dialog{margin:0 0 0 auto;max-height:100dvh;width:min(620px,100%);height:100dvh;max-width:100%;background:var(--deep);color:white;border:0;padding:32px 40px}dialog::backdrop{background:#14213bbf}.menu-top{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #65718b;padding-bottom:20px}.menu-close{border:1px solid var(--silver);padding:0 20px;min-height:48px}.menu-close:hover{background:var(--denim)}dialog nav{display:flex;flex-direction:column;margin:70px 0 50px;gap:22px}dialog nav a{font:400 64px/1.2 Cormorant}dialog nav a:hover{color:var(--silver)}dialog>p{color:var(--silver)}
@media(prefers-reduced-motion:no-preference){.identity{animation:arrive .8s both}.utility{animation:arrive .8s .12s both}.hero-visual{animation:unfold 1.1s .1s both}.hero-copy{animation:arrive 1s .25s both}.hero-visual img{animation:camera 5s .3s both}.save-data *{animation:none!important;transition:none!important}@keyframes arrive{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes unfold{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}@keyframes camera{from{transform:scale(1.025)}to{transform:scale(1)}}}
@media(min-width:1600px){:root{--gutter:max(64px,calc((100vw - 1440px)/2))}.hero-visual{height:680px}}
@media(max-width:1000px){:root{--gutter:32px}.hero{grid-template-columns:48% 52%}.hero-copy{padding-right:24px}.hero h1{font-size:62px}.services,.contact{gap:50px}.service-index{padding-left:25px}summary h3{font-size:40px}.quote-sheet{padding:28px}.work{column-gap:7%}.hero-visual{height:560px}}
@media(max-width:760px){:root{--gutter:16px}.masthead{padding-top:20px}.identity{font-size:44px;gap:10px;letter-spacing:-.045em}.identity .logo{width:30px;height:43px}.utility{margin-top:16px;padding:0;font-size:12px;grid-template-columns:1fr auto 1fr}.menu-open{gap:10px}.hero{display:flex;flex-direction:column;padding:0 0 40px}.hero-visual{height:300px;width:100%;order:0}.hero-visual img{object-position:50% 54%}.photo-edge{font-size:11px;padding:5px 16px}.hero-copy{padding:30px 16px 0;order:1}.hero h1{font-size:49px;line-height:1.02;letter-spacing:-.035em;max-width:365px}.hero-copy>p{font-size:14px;margin-top:18px;line-height:1.65}.hero-link{margin-top:17px;max-width:100%;font-size:13px;min-height:48px}.section-pad{padding:72px 16px}.services{display:block}.section-label{margin-bottom:22px;font-size:13px}.services h2,.work h2,.contact h2{font-size:62px}.service-note{margin-top:22px;max-width:310px;font-size:15px}.thread{width:155px;margin-top:20px}.service-index{margin-top:35px;padding-left:24px}summary{min-height:90px}summary h3{font-size:38px}.service-body{padding-bottom:26px;font-size:15px}.service-body .text-link{font-size:13px}.work{display:flex;flex-direction:column;gap:0}.work-heading{margin-bottom:34px}.work-heading>p:last-child{font-size:15px;margin-top:20px}.work-main{width:100%}.work-detail{width:78%;margin:40px 0 0 auto;padding-top:0}figcaption{font-size:12px;padding-top:12px}.contact{display:block}.contact-copy>p:nth-of-type(2){font-size:15px;margin-top:24px}.location{margin-top:28px}.phone-number{margin-top:12px;font-size:31px}.quote-sheet{margin-top:34px;margin-right:6px;padding:28px 22px}.form-title{font-size:31px}.send{font-size:13px}footer{padding:48px 16px 112px}.footer-name{font-size:48px}.footer-bottom{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;font-size:11px}.contact-tab{bottom:12px;right:16px}.contact-tab a{min-height:50px;padding:0 18px}dialog{padding:24px 24px}dialog nav a{font-size:56px}}
@media(max-width:360px){.identity{font-size:39px}.hero h1{font-size:47px}.services h2,.work h2,.contact h2{font-size:56px}summary h3{font-size:34px}.area{font-size:11px}.language button{min-width:42px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.seam span{transform:none}}html.save-data{scroll-behavior:auto}

.menu-contact{display:flex;gap:24px;margin-top:20px}.menu-contact a{display:flex;align-items:center;min-width:64px;min-height:48px;border-bottom:1px solid var(--silver)}.menu-contact a:hover{color:var(--silver)}

@media(max-width:760px){html[lang="pt-BR"] .hero h1{font-size:42px;line-height:1.05}.contact-tab{bottom:calc(12px + env(safe-area-inset-bottom,0px))}}
