:root{--red:#e5222e;--black:#080808;--ink:#101010;--muted:#777;--paper:#f4f3f0;--display:"Barlow Condensed",Impact,sans-serif;--body:"Manrope",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:76px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.65}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}.container{width:min(1180px,calc(100% - 40px));margin:auto}.skip-link{position:fixed;top:-80px;left:1rem;z-index:200;background:#fff;padding:.75rem 1rem}.skip-link:focus{top:1rem}.site-header{position:fixed;inset:0 0 auto;z-index:100;background:rgba(8,8,8,.94);border-bottom:1px solid rgba(255,255,255,.12);backdrop-filter:blur(12px)}.header-inner{height:76px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{width:120px;height:58px;overflow:hidden;display:flex;align-items:center}.brand img{width:104px;height:92px;object-fit:cover;object-position:center}.desktop-nav{display:flex;gap:1.8rem;margin-left:auto}.desktop-nav a{color:#c8c8c8;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;transition:.2s}.desktop-nav a:hover{color:#fff}.header-cta{background:var(--red);color:#fff;padding:.72rem 1rem;font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.menu-button{display:none;border:0;background:transparent;width:42px;height:42px;padding:11px}.menu-button span{display:block;height:2px;background:white;margin:6px 0}.mobile-menu{background:#101010;border-top:1px solid #272727;padding:1rem 20px}.mobile-menu a{display:block;color:#fff;padding:.8rem 0;border-bottom:1px solid #242424;font-weight:700}.hero{min-height:760px;position:relative;background:#070707;color:#fff;display:flex;align-items:center;overflow:hidden}.hero-photo{position:absolute;inset:0;background:url('/assets/cavanha-hero.webp') center/cover no-repeat}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,7,7,.98),rgba(7,7,7,.84) 42%,rgba(7,7,7,.16)),linear-gradient(0deg,rgba(7,7,7,.84),transparent 50%)}.hero-content{position:relative;padding-top:96px}.eyebrow{margin:0 0 1rem;display:flex;align-items:center;gap:.65rem;color:#5d5d5d;text-transform:uppercase;font-size:.72rem;font-weight:800;letter-spacing:.18em}.eyebrow span{width:34px;height:2px;background:var(--red)}.eyebrow.light{color:#e3e3e3}.hero h1,.section h2,.cta-band h2,.contact h2,.location h2{font-family:var(--display);text-transform:uppercase;line-height:.88;letter-spacing:-.025em;margin:0}.hero h1{font-size:clamp(4.4rem,9vw,8.3rem);max-width:800px}.hero h1 em,.section h2 em,.cta-band h2 em,.contact h2 em,.location h2 em{color:var(--red);font-style:normal}.hero-copy{font-size:1.1rem;max-width:530px;color:#d0d0d0;margin:1.7rem 0}.service-line{display:flex;list-style:none;padding:0;margin:0 0 2.2rem;gap:1.5rem;flex-wrap:wrap}.service-line li{font:700 .9rem var(--display);text-transform:uppercase;letter-spacing:.08em}.service-line li:before{content:'—';color:var(--red);margin-right:.4rem}.hero-actions,.cta-actions{display:flex;gap:.8rem;flex-wrap:wrap}.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:.8rem 1.1rem;text-transform:uppercase;font-size:.75rem;font-weight:800;letter-spacing:.06em;transition:.2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--red);color:#fff}.button-ghost{border:1px solid #595959;color:#fff}.button-light{background:#fff;color:#111}.button-outline-light{border:1px solid rgba(255,255,255,.65);color:#fff}.button-dark{background:#151515;color:#fff;margin-top:1rem}.hero-signature{position:absolute;right:0;bottom:-95px;border-left:1px solid #555;padding-left:1rem;display:flex;gap:1rem;align-items:flex-start}.hero-signature span{color:var(--red);font:700 1rem var(--display)}.hero-signature strong{font:700 1.3rem var(--display);text-transform:uppercase;line-height:1.1}.trust-strip{background:#111;color:#fff;border-top:1px solid #242424}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr)}.trust-grid>div,.trust-grid>a{padding:1.6rem 2rem;border-left:1px solid #2b2b2b}.trust-grid>*:last-child{border-right:1px solid #2b2b2b}.trust-grid strong,.trust-grid span{display:block}.trust-grid strong{font:700 1.4rem var(--display);text-transform:uppercase}.trust-grid span{color:#8e8e8e;font-size:.78rem;margin-top:.2rem}.section{padding:110px 0}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:3rem;margin-bottom:3.5rem}.section-heading h2,.about-copy h2,.reviews h2,.faq h2{font-size:clamp(3rem,6vw,5.2rem)}.section-heading>p{max-width:390px;color:#6b6b6b;margin:0}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #d2d0cc;border-left:1px solid #d2d0cc}.service-card{min-height:270px;padding:1.8rem;border-right:1px solid #d2d0cc;border-bottom:1px solid #d2d0cc;display:flex;flex-direction:column;transition:.22s;background:#f4f3f0}.service-card:hover{background:#fff;transform:translateY(-3px)}.service-card.featured{background:#151515;color:white}.service-card>span{color:var(--red);font:700 .9rem var(--display)}.service-card h3{font:700 2rem var(--display);text-transform:uppercase;margin:2rem 0 .5rem;line-height:1}.service-card p{color:#777;margin:0}.service-card a{margin-top:auto;padding-top:1.2rem;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.service-card b{color:var(--red);float:right}.cta-band{background:var(--red);color:#fff;padding:75px 0;position:relative;overflow:hidden}.cta-band:after{content:'CG';position:absolute;right:-20px;bottom:-95px;font:900 15rem var(--display);color:rgba(0,0,0,.08)}.cta-band-inner{display:flex;align-items:flex-end;justify-content:space-between;gap:3rem;position:relative;z-index:1}.cta-band h2{font-size:clamp(3rem,6vw,5.1rem)}.cta-band h2 em{color:#111}.cta-band p{margin-bottom:0}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.about-photo{min-height:610px;background:url('/assets/cavanha-classic.webp') center/cover no-repeat;clip-path:polygon(0 0,100% 0,91% 100%,0 100%)}.about-copy>p{color:#686868}.about-copy .address-line{color:#171717;font-weight:700;border-left:3px solid var(--red);padding-left:1rem}.text-link{display:inline-block;margin-top:1rem;text-transform:uppercase;font-size:.75rem;font-weight:800;letter-spacing:.06em;border-bottom:2px solid var(--red);padding-bottom:.3rem}.gallery{background:#111;color:#fff}.gallery .section-heading p{color:#aaa}.gallery-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:18px}.gallery-main{grid-row:span 2;margin:0;position:relative;min-height:670px;overflow:hidden}.gallery-main img,.gallery-side img{width:100%;height:100%;object-fit:cover;filter:saturate(.8) contrast(1.04)}.gallery-main figcaption{position:absolute;inset:auto 0 0;padding:2rem;background:linear-gradient(transparent,rgba(0,0,0,.9));display:flex;justify-content:space-between;align-items:flex-end}.gallery-main figcaption span{color:#aaa;font-size:.75rem}.gallery-main figcaption strong{font:700 2rem var(--display);text-transform:uppercase;text-align:right;line-height:1}.gallery-side{margin:0;height:320px}.instagram-card{display:grid;grid-template-columns:42% 1fr;gap:1.3rem;background:#1b1b1b;padding:1.2rem;min-height:332px}.instagram-card img{width:100%;height:100%;object-fit:cover}.instagram-card h3{font:700 2rem var(--display);text-transform:uppercase;line-height:.95;margin:.8rem 0}.instagram-card h3 em{color:var(--red);font-style:normal}.instagram-card p{font-size:.86rem;color:#a7a7a7}.instagram-card a{font-size:.75rem;font-weight:800;text-transform:uppercase}.reviews-grid{display:grid;grid-template-columns:1fr .8fr;gap:8%;align-items:center}.reviews-grid>div>p:not(.eyebrow){color:#6d6d6d;max-width:520px}.rating-card{background:#fff;border:1px solid #dedbd6;padding:3rem;display:flex;flex-direction:column;box-shadow:15px 15px 0 #e3e0db}.rating-number{font:900 7rem var(--display);line-height:.85}.stars{color:var(--red);letter-spacing:.16em;font-size:1.25rem;margin:1rem 0}.rating-card>b{margin-top:2rem;font-size:.75rem;text-transform:uppercase}.location{background:#111;color:white}.location-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:7%;align-items:center}.location h2{font-size:clamp(4rem,7vw,6.5rem);margin-bottom:2rem}.location-copy>strong{font:700 1.5rem var(--display);text-transform:uppercase}.location address{font-style:normal;color:#aaa;margin:.6rem 0 2rem}.map-card{min-height:460px;background:#1a1a1a;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:2.5rem}.map-lines{position:absolute;inset:-20%;background:linear-gradient(35deg,transparent 48%,#282828 49%,#282828 51%,transparent 52%),linear-gradient(145deg,transparent 46%,#252525 47%,#252525 50%,transparent 51%);background-size:180px 130px;transform:rotate(-4deg)}.map-pin{position:absolute;top:42%;left:56%;width:58px;height:58px;border-radius:50% 50% 50% 0;background:var(--red);display:grid;place-items:center;font:800 1rem var(--display);transform:rotate(-45deg)}.map-card strong,.map-card small{position:relative}.map-card strong{font:700 1.8rem var(--display);text-transform:uppercase}.map-card small{color:#999}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:8%}.faq-grid>div>p:not(.eyebrow){color:#777;max-width:370px}.accordion details{border-top:1px solid #ccc}.accordion details:last-child{border-bottom:1px solid #ccc}.accordion summary{cursor:pointer;list-style:none;padding:1.25rem 2.5rem 1.25rem 0;font:700 1.35rem var(--display);text-transform:uppercase;position:relative}.accordion summary:after{content:'+';position:absolute;right:.5rem;color:var(--red);font-size:1.6rem}.accordion details[open] summary:after{content:'−'}.accordion details p{margin:0 0 1.3rem;color:#696969;max-width:640px}.contact{background:var(--red);color:#fff}.contact-heading{text-align:center;margin-bottom:3rem}.contact-heading .eyebrow{justify-content:center}.contact h2{font-size:clamp(4rem,8vw,7rem)}.contact h2 em{color:#111}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.35);border-left:1px solid rgba(255,255,255,.35)}.contact-grid a{min-height:200px;padding:2rem;border-right:1px solid rgba(255,255,255,.35);border-bottom:1px solid rgba(255,255,255,.35);display:flex;flex-direction:column}.contact-grid span{font-size:.72rem;text-transform:uppercase;letter-spacing:.13em}.contact-grid strong{font:700 1.8rem var(--display);text-transform:uppercase;margin-top:.6rem}.contact-grid b{margin-top:auto;font-size:.74rem;text-transform:uppercase}footer{background:#080808;color:#fff;padding:2.4rem 0 6rem}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem}.footer-inner img{width:130px;height:84px;object-fit:cover}.footer-inner div{display:flex;gap:1.5rem}.footer-inner a{font-size:.75rem;text-transform:uppercase;font-weight:800}.footer-inner p{text-align:right;color:#777;font-size:.75rem}.mobile-actions{display:none}
@media(max-width:900px){.desktop-nav,.header-cta{display:none}.menu-button{display:block}.hero{min-height:720px}.hero-photo{background-position:60% center}.hero-shade{background:linear-gradient(90deg,rgba(7,7,7,.98),rgba(7,7,7,.67)),linear-gradient(0deg,rgba(7,7,7,.85),transparent)}.hero-signature{display:none}.trust-grid{grid-template-columns:1fr}.trust-grid>div,.trust-grid>a{border:0;border-bottom:1px solid #292929;padding:1.2rem 0}.section{padding:80px 0}.section-heading,.cta-band-inner{align-items:flex-start;flex-direction:column}.services-grid{grid-template-columns:repeat(2,1fr)}.about-grid,.reviews-grid,.location-grid,.faq-grid{grid-template-columns:1fr}.about-photo{min-height:480px;order:2}.gallery-grid{grid-template-columns:1fr}.gallery-main{min-height:520px}.gallery-side{height:360px}.contact-grid{grid-template-columns:1fr}.contact-grid a{min-height:150px}.footer-inner{flex-wrap:wrap}.footer-inner p{width:100%;text-align:left}}
@media(max-width:560px){body{padding-bottom:66px}.container{width:min(100% - 28px,1180px)}.header-inner{height:68px}.brand{height:54px}.hero{min-height:690px}.hero-content{padding-top:82px}.hero h1{font-size:4.3rem}.hero-copy{font-size:1rem}.service-line{gap:.45rem 1rem;margin-bottom:1.7rem}.hero-actions .button{width:100%}.section-heading{margin-bottom:2rem}.services-grid{grid-template-columns:1fr}.service-card{min-height:220px}.cta-band{padding:60px 0}.cta-actions .button{width:100%}.about-photo{min-height:400px;clip-path:polygon(0 0,100% 0,94% 100%,0 100%)}.gallery-main{min-height:430px}.gallery-main figcaption strong{font-size:1.5rem}.gallery-side{height:260px}.instagram-card{grid-template-columns:1fr}.instagram-card img{height:210px}.rating-card{padding:2rem}.rating-number{font-size:5.5rem}.map-card{min-height:360px}.contact-grid strong{font-size:1.5rem}.footer-inner{align-items:flex-start;flex-direction:column}.mobile-actions{display:grid;grid-template-columns:.7fr 1.3fr;position:fixed;z-index:110;inset:auto 0 0;height:66px;background:#0c0c0c}.mobile-actions a{display:grid;place-items:center;color:#fff;font-size:.78rem;font-weight:800;text-transform:uppercase}.mobile-actions a:last-child{background:var(--red)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Official Cavanha crest, with enough space to remain legible and untouched. */
.header-inner{height:88px}
.brand{
  width:110px;
  height:86px;
  overflow:visible;
  justify-content:flex-start;
}
.brand img{
  width:auto;
  height:80px;
  max-height:none;
  object-fit:contain;
  object-position:left center;
}
.footer-inner img{
  width:170px;
  height:auto;
  object-fit:contain;
}
@media(max-width:560px){
  .header-inner{height:74px}
  .brand{width:94px;height:72px}
  .brand img{width:auto;height:68px;max-height:none}
  .footer-inner img{width:150px;height:auto}
}
