@font-face{font-family:Questrial;src:url('/assets/Questrial-Regular.ttf') format('truetype');font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:#F3EFE7;color:#3F3F3F;font:17px/1.55 Questrial,Arial,sans-serif}button,input,select{font:inherit}a{color:inherit}img{max-width:100%;display:block}.wrap{max-width:1200px;margin:auto;padding-inline:40px}.dev{text-align:center;padding:7px 16px;background:#3F3F3F;color:#F3EFE7;font-size:12px}header{display:flex;align-items:center;justify-content:space-between;padding-block:28px}header img{object-fit:contain;width:200px;height:76px}header span{font-size:13px;color:#5C674A}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center;padding-top:32px;padding-bottom:70px}.eyebrow{font-size:12px;letter-spacing:.17em;color:#5C674A;margin:0 0 24px}h1,h2,h3{font-weight:400;line-height:1.1;margin:0}h1{font-size:clamp(36px,4.2vw,58px);letter-spacing:-.035em;max-width:650px}h2{font-size:clamp(30px,3.3vw,43px);letter-spacing:-.025em}h3{font-size:24px}.intro{font-size:19px;max-width:470px;margin:26px 0}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:15px 24px;background:#5C674A;color:#F3EFE7;border:1px solid #5C674A;text-decoration:none;cursor:pointer;line-height:1.25}.button:hover{background:#3F3F3F;border-color:#3F3F3F}.button:disabled{opacity:.7;cursor:wait}:focus-visible{outline:3px solid #3F3F3F;outline-offset:4px}.small{font-size:13px;margin-top:14px}.placeholder{background:linear-gradient(135deg,transparent 49.8%,#CDBA93 50%,transparent 50.2%),#e7e5dc;border:1px solid #CDBA93;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;color:#3F3F3F;padding:24px;overflow:hidden}.hero-image{height:500px;margin:0;border-radius:220px 220px 0 0}.image-label{font-size:11px;letter-spacing:.15em;background:#F3EFE7;padding:8px}.placeholder figcaption{font-size:13px;max-width:230px;background:#F3EFE7;padding:4px 10px}.has-image{padding:0;background:none}.has-image img{width:100%;height:100%;object-fit:cover}.has-image figcaption{position:absolute;bottom:12px}.differences{display:grid;grid-template-columns:repeat(3,1fr);gap:42px;padding-block:38px 56px;border-top:1px solid #CDBA93}.difference-number{font-size:13px;color:#5C674A;display:block;margin-bottom:22px}.differences h3{font-size:25px;line-height:1.2}.differences p{font-size:16px;margin-bottom:0}.portfolio{padding-block:52px 64px}.section-heading{max-width:640px}.section-heading>p:last-child{max-width:550px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:32px 0}.gallery figure{margin:0;height:280px}.gallery h3{font-size:16px;margin-bottom:12px}.text-link{text-underline-offset:6px}.contact{background:#e7e5dc;padding-block:64px}.contact-grid{display:grid;grid-template-columns:.9fr 1fr;gap:100px}.contact h2{max-width:370px}.contact p{max-width:420px}.privacy{border-top:1px solid #AF9868;padding-top:24px;margin-top:36px;font-size:14px}.privacy h3{font-size:20px}.privacy summary{cursor:pointer;text-decoration:underline;text-underline-offset:4px}label{display:block;font-size:14px;margin-bottom:7px}input,select{width:100%;min-height:48px;border:1px solid #75796c;background:#F3EFE7;color:#3F3F3F;border-radius:0;padding:10px 12px;margin-bottom:18px}small{display:block;font-size:12px;margin-top:-12px;margin-bottom:18px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.consent{display:flex;gap:12px;font-size:13px;align-items:flex-start;margin:4px 0 24px}.consent input{width:18px;min-height:18px;margin:2px 0;flex-shrink:0;accent-color:#5C674A}form .button{width:100%}.form-status{font-size:14px}.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}[hidden]{display:none!important}footer{display:flex;justify-content:space-between;font-size:13px;padding-block:26px}.skip{position:absolute;top:-100px;left:20px;background:#F3EFE7;padding:12px;z-index:5}.skip:focus{top:10px}blockquote{border-left:2px solid #AF9868;margin:24px 0;padding-left:20px}@media(max-width:760px){.wrap{padding-inline:24px}header{padding-block:20px}header img{width:160px;height:60px}header span{display:none}.hero{grid-template-columns:1fr;gap:28px;padding-top:20px;padding-bottom:40px}.hero-image{height:330px;border-radius:160px 160px 0 0}.hero .button{width:100%}h1{font-size:39px}.intro{font-size:18px}.eyebrow{font-size:11px;margin-bottom:20px}.differences{grid-template-columns:1fr;gap:30px;padding-block:30px}.difference-number{margin-bottom:10px}.portfolio{padding-block:32px 40px}.gallery{grid-template-columns:1fr;gap:16px}.gallery figure{height:260px}.contact{padding-block:40px}.contact-grid{grid-template-columns:1fr;gap:32px}.privacy{margin-top:24px}.field-row{grid-template-columns:1fr;gap:0}footer{gap:15px;flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Destaque para a assinatura oficial, preservando proporções. */
header{border-bottom:1px solid #CDBA93;padding-block:30px}header img{width:310px;height:auto}header span{font-size:14px}@media(max-width:760px){header{justify-content:center;padding-block:26px}header img{width:245px;height:auto}}


.process{grid-column:1/-1;border-top:1px solid #CDBA93;border-bottom:1px solid #CDBA93;padding:20px 0}.process summary{cursor:pointer;color:#5C674A;font-size:20px;min-height:36px}.process>p{font-size:14px;max-width:650px}.process ol{list-style:none;counter-reset:phase;display:grid;grid-template-columns:repeat(4,1fr);gap:0 26px;padding:0;margin:24px 0 6px}.process li{counter-increment:phase;padding:18px 0;border-top:1px solid #CDBA93;font-size:17px}.process li:before{content:counter(phase,decimal-leading-zero);display:block;font-size:12px;color:#5C674A;margin-bottom:10px}@media(max-width:760px){.process ol{grid-template-columns:repeat(2,1fr);gap:0 20px}.process summary{font-size:19px}}


.gallery figure.has-image{display:block;height:auto;border:0;overflow:visible;text-align:left}.gallery .has-image img{width:100%;height:260px;object-fit:cover}.gallery .has-image figcaption{position:static;max-width:none;padding:16px 0;background:transparent;font-size:15px;line-height:1.5}


/* Arco superior: raio horizontal e vertical iguais à metade da largura. */
.hero-image{border-radius:50% 50% 0 0 / var(--hero-radius,250px) var(--hero-radius,250px) 0 0}


/* Galeria de projetos com imagens quadradas em todas as larguras. */
.gallery .has-image img{height:auto;aspect-ratio:1 / 1;object-fit:cover}


/* Foto preenchendo o contorno externo do O oficial, com barra verde acima. */
.hero-image,.hero-image.has-image{display:block;width:min(100%,360px);height:auto;justify-self:center;margin:0;border:0;border-radius:0;overflow:visible;padding:0;background:none}
.hero-image:before{content:"";display:block;width:99%;aspect-ratio:5 / 1;background:#5C674A;margin:0 auto 27%}
.hero-image.has-image img{display:block;width:100%;height:auto;aspect-ratio:596 / 722;object-fit:cover;mask-image:url(/assets/mascara-o-oficial.png);mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-image:url(/assets/mascara-o-oficial.png);-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat}
.hero-image figcaption:empty{display:none}
@media(max-width:760px){.hero-image,.hero-image.has-image{width:min(84%,310px)}}


/* Geometria medida no logo 6250 x 6250: O [1959,2228,4290,5047]; barra [1961,1131,4276,1593]. */
.hero-image,.hero-image.has-image{position:relative;aspect-ratio:2331 / 3916;height:auto}
.hero-image:before{position:absolute;left:calc(100% * 2 / 2331);top:0;width:calc(100% * 2315 / 2331);height:calc(100% * 462 / 3916);aspect-ratio:auto;margin:0}
.hero-image.has-image img{position:absolute;left:0;top:calc(100% * 1097 / 3916);width:100%;height:calc(100% * 2819 / 3916);aspect-ratio:2331 / 2819;mask-size:100% 100%;-webkit-mask-size:100% 100%}


/* Foto oval sem barra, ocupando a largura da coluna. */
.hero-image,.hero-image.has-image{width:100%;aspect-ratio:2331 / 2819;align-self:center}
.hero-image:before{display:none}
.hero-image.has-image img{top:0;left:0;width:100%;height:100%}
@media(max-width:760px){.hero-image,.hero-image.has-image{width:100%}}

