/* Original logo: display-only framing. The source image is unchanged. */
:root { --accessible-blue: #506d85; }
.topline, .hero-copy, .contact, .essence-art { background: var(--accessible-blue); }
.contact-links span { color: #fff; }
.quote-form label, .address-details summary { font-size: 13px; }
.quote-form .form-note, .quote-form .cep-help { font-size: 11px; }
.quote-form input, .quote-form select, .quote-form textarea { font-size: 14px; }
#dialog-guide { margin: 0 0 20px; display: flex; }
.footer-bottom { font-size: 11px; }
.footer-bottom button { font-size: 12px; min-height: 28px; }
.logo-crop {
  --logo-scale: 1;
  display: block;
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
  width: calc(84px * var(--logo-scale));
  height: calc(96px * var(--logo-scale));
}
.logo-crop > img {
  position: absolute;
  width: calc(144px * var(--logo-scale));
  height: calc(144px * var(--logo-scale));
  max-width: none;
  left: calc(-30px * var(--logo-scale));
  top: calc(-25px * var(--logo-scale));
  object-fit: contain;
}
.brand { width: 104px; justify-content: center; }
.brand-panel .logo-crop { --logo-scale: 1.45; margin: 12px 0 20px; }
.footer-brand { padding: 8px 15px 8px 0; }
.footer-brand .logo-crop { --logo-scale: 1.06; }
.header nav { gap: 22px; }
.header-cta { gap: 18px; }
.button-whatsapp, .floating-contact { background: #25d366; color: #073b24; }
.button-whatsapp:hover, .floating-contact:hover { background: #1ebe5d; color: #073b24; }
.whatsapp-icon { width: 26px; height: 26px; flex-shrink: 0; object-fit: contain; filter: brightness(0) invert(1); }
.floating-contact .whatsapp-icon { width: 29px; height: 29px; }
.footer-whatsapp { gap: 16px; flex-shrink: 0; }
.imagery-note { font-size: 10px; line-height: 1.7; margin: -12px 0 24px; }
.dialog-image-note { font-size: 10px !important; }
.service-image img { object-position: center; }
.service-image[data-service="cortinas"] img { object-position: 80% center; }

/* Inspiration gallery: explicitly illustrative until real projects are supplied. */
.inspiration-section { background: #f2f3f6; padding-block: 76px; }
.inspiration-grid { display: grid; grid-template-columns: 1.4fr 1fr; grid-template-rows: 230px 230px; gap: 20px; margin-top: 34px; }
.inspiration-card { position: relative; overflow: hidden; background: var(--deep); border: 0; padding: 0; text-align: left; color: #fff; }
.inspiration-main { grid-row: span 2; }
.inspiration-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.inspiration-card:hover img { transform: scale(1.035); }
.inspiration-card:after { content: ''; position: absolute; inset: 40% 0 0; background: linear-gradient(transparent, #182a36ba); pointer-events: none; }
.inspiration-caption { position: absolute; z-index: 1; bottom: 23px; left: 25px; right: 25px; display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.inspiration-caption small { display: block; font-size: 8px; letter-spacing: 1.8px; margin-bottom: 7px; }
.inspiration-caption strong { font-family: var(--serif); font-size: 27px; font-weight: 400; line-height: 1.15; }
.inspiration-caption > span:last-child { font-size: 26px; }
.inspiration-bottom { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding-top: 18px; }
.inspiration-bottom p { max-width: 570px; font-size: 10px; }
.inspiration-bottom button { background: none; border: 0; border-bottom: 1px solid #a0aeb4; padding: 6px 0; }
#gallery-dialog { width: min(1040px, calc(100% - 40px)); background: var(--cream); }
.gallery-photo { position: relative; background: #1f303b; }
#gallery-image { display: block; width: 100%; height: min(59vh, 580px); object-fit: contain; }
.gallery-arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; border: 1px solid #ffffff70; background: #233947cc; color: #fff; border-radius: 50%; font-size: 22px; }
.gallery-arrow:hover { background: var(--deep); }
.gallery-prev { left: 14px; }
.gallery-next { right: 14px; }
.gallery-copy { display: flex; justify-content: space-between; gap: 35px; align-items: center; padding: 24px 32px; }
.gallery-info { max-width: 570px; }
.gallery-info .eyebrow { font-size: 9px; margin-bottom: 8px; }
.gallery-info h2 { font-size: 31px; letter-spacing: -.8px; }
.gallery-info > p:last-child { font-size: 12px; margin-top: 9px; }
.gallery-action { flex-shrink: 0; }
.gallery-action p { font-size: 9px; margin-top: 8px; }
.inspiration-selection { background: #e5e7f1; padding: 12px; color: var(--deep); border-left: 2px solid var(--blue); }

/* Region and booking information confirmed with the business. */
.cep-row { display: flex; gap: 8px; }
.contact-grid { align-items: start; }
.quote-form .cep-row input { min-width: 0; flex: 1; }
.cep-row button { border: 1px solid var(--deep); background: var(--deep); color: white; padding: 9px 13px; font-size: 11px; white-space: nowrap; min-width: 93px; }
.cep-row button:disabled { opacity: .65; cursor: wait; }
.quote-form .cep-help { font-size: 9px; line-height: 1.7; margin: 8px 0 0; }
.cep-help a { text-decoration: underline; }
.quote-form .cep-status { font-size: 11px; line-height: 1.65; margin: 9px 0 0; }
.cep-status:empty { display: none; }
.cep-status[data-state="success"] { color: #385a43; }
.cep-status[data-state="error"] { color: #89513d; }
.address-row { display: grid; grid-template-columns: minmax(0,1fr) 85px; gap: 12px; }
.quote-form .address-details { margin-top: 18px; border-top: 1px solid var(--line); }
.address-details summary { padding: 12px 0; gap: 8px; font-size: 11px; }
.address-details summary span { font-size: 10px; color: var(--muted); }
.address-details summary b { font-weight: 400; font-size: 19px; margin-left: auto; }
.address-details[open] summary span { transform: none; }
.address-details[open] summary b { transform: rotate(45deg); }
.quote-form .address-details label:first-of-type { margin-top: 4px; }
.quote-form .address-details input:last-child { margin-bottom: 17px; }
.service-area { padding: 64px 0; background: var(--cream); border-top: 1px solid var(--line); }
.area-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; align-items: center; }
.area-layout h2 { font-size: 43px; }
.area-layout h2 em { color: var(--blue); }
.area-layout > div > p:not(.eyebrow) { font-size: 13px; margin: 22px 0 15px; max-width: 400px; }
.area-details article { display: flex; gap: 20px; padding: 20px 0; border-top: 1px solid var(--line); }
.area-details article:last-child { border-bottom: 1px solid var(--line); }
.area-details article > span { color: var(--blue); font-family: var(--serif); font-size: 24px; }
.area-details h3 { font-size: 14px; font-weight: 500; margin-bottom: 6px; }
.area-details p { font-size: 12px; line-height: 1.85; }

@media(max-width:1100px) {
  .header nav { gap: 15px; }
  .header nav a { font-size: 10px; }
  .header-cta { padding-inline: 12px; gap: 10px; }
  .area-layout { gap: 55px; }
}
@media(max-width:850px) {
  .brand .logo-crop { --logo-scale: .87; }
  .inspiration-grid { grid-template-rows: 195px 195px; }
  .inspiration-caption { left: 18px; right: 18px; bottom: 18px; }
  .inspiration-caption strong { font-size: 23px; }
  .gallery-copy { gap: 20px; padding: 22px; }
  .gallery-info h2 { font-size: 27px; }
  .gallery-action .button { font-size: 10px; gap: 10px; padding-inline: 12px; }
  .area-layout { gap: 35px; }
}
@media(max-width:600px) {
  .topline { font-size: 6.5px; letter-spacing: 1px; padding-block: 6px; }
  .header-inner { height: 74px; }
  .brand { width: 74px; height: 74px; }
  .brand .logo-crop { --logo-scale: .73; }
  .header nav { top: 74px; }
  .header nav a { font-size: 14px; }
  .hero-copy { min-height: 0; padding: 26px 24px 28px; }
  .hero .eyebrow { font-size: 7px; margin-bottom: 15px; }
  .hero h1 { font-size: clamp(34px, 10.6vw, 44px); letter-spacing: -1.5px; }
  .hero-description { font-size: 12px; line-height: 1.75; margin: 16px 0 19px; max-width: 310px; }
  .hero .button { min-height: 45px; padding: 11px 17px; font-size: 11px; }
  .hero-image { height: 220px; min-height: 220px; }
  .image-caption { bottom: 27px; font-size: 6px; letter-spacing: .9px; }
  .values-grid { grid-template-columns: repeat(3,minmax(0,1fr)); padding-block: 16px; }
  .values-grid > div { flex-direction: column; justify-content: flex-start !important; gap: 8px; text-align: center; border-bottom: 0; border-right: 1px solid var(--line); padding: 0 8px !important; }
  .values-grid > div:first-child { padding-left: 0 !important; }
  .values-grid > div:last-child { padding-right: 0 !important; }
  .values svg { width: 24px; height: 24px; }
  .values span { font-size: 10px; line-height: 1.5; }
  .values small { display: none; }
  .section { padding-block: 42px; }
  .section-intro { gap: 17px; }
  .section-intro h2 { font-size: 33px; }
  .section-intro > p { font-size: 12px; }
  .filters { gap: 12px; justify-content: space-between; margin: 17px 0 23px; }
  .filter { font-size: 9px; }
  .imagery-note { font-size: 9px; line-height: 1.7; margin: -6px 0 18px; }
  .service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 25px 15px; }
  .service-image { height: 178px; }
  .image-tag { top: 8px; left: 8px; right: 8px; font-size: 6px; letter-spacing: .5px; padding: 4px 5px; }
  .round-arrow { width: 30px; height: 30px; font-size: 18px; bottom: 9px; right: 9px; }
  .service-heading { align-items: flex-start; margin-top: 12px; }
  .service-heading h3 { font-size: 20px; letter-spacing: -.4px; }
  .service-heading > span { display: none; }
  .service-card > p { font-size: 11px; line-height: 1.7; }
  .service-help { min-height: 280px; padding: 18px 15px; }
  .service-help .eyebrow { font-size: 6px; letter-spacing: .8px; margin-bottom: 13px; }
  .service-help h3 { font-size: 25px; }
  .service-help p { font-size: 11px; margin: 13px 0; }
  .service-help .text-link { font-size: 10px; gap: 9px; margin-top: auto; }
  .inspiration-grid { grid-template-columns: 1fr 1fr; grid-template-rows: 240px 180px; gap: 13px; margin-top: 24px; }
  .inspiration-main { grid-column: span 2; grid-row: auto; }
  .inspiration-caption { left: 13px; right: 13px; bottom: 13px; gap: 9px; }
  .inspiration-caption small { font-size: 6px; letter-spacing: .8px; }
  .inspiration-caption strong { font-size: 19px; }
  .inspiration-main .inspiration-caption strong { font-size: 27px; }
  .inspiration-caption > span:last-child { font-size: 20px; }
  .inspiration-bottom { align-items: flex-start; flex-direction: column; gap: 10px; }
  .inspiration-bottom p { font-size: 9px; }
  .inspiration-bottom .text-link { font-size: 11px; }
  #gallery-dialog { width: calc(100% - 24px); }
  #gallery-image { height: auto; max-height: 45dvh; min-height: 200px; }
  .gallery-arrow { width: 36px; height: 36px; font-size: 18px; }
  .gallery-prev { left: 8px; }
  .gallery-next { right: 8px; }
  .gallery-copy { padding: 22px; flex-direction: column; align-items: stretch; gap: 18px; }
  .gallery-info h2 { font-size: 28px; }
  .gallery-action .button { width: 100%; font-size: 12px; }
  .essence { padding-block: 42px; }
  .essence-art { min-height: 360px; padding: 25px; }
  .essence-art > p { font-size: 26px; margin-top: 19px; }
  .art-caption { margin-top: 20px; }
  .brand-panel { width: 195px; height: 205px; }
  .brand-panel .logo-crop { --logo-scale: 1.25; margin: 8px 0 16px; }
  .service-area { padding-block: 42px; }
  .area-layout { grid-template-columns: 1fr; gap: 27px; }
  .area-layout h2 { font-size: 36px; }
  .area-layout > div > p:not(.eyebrow) { font-size: 12px; margin-top: 18px; }
  .area-details article { padding-block: 17px; }
  .contact { padding-block: 42px; }
  .contact h2 { font-size: 40px; }
  .footer-main { gap: 16px; }
  .footer-brand { padding: 0; }
  .footer-brand .logo-crop { --logo-scale: .8; }
  .footer-main .text-link { margin-left: 83px; }
}
@media(max-width:360px) {
  .service-image { height: 155px; }
  .service-heading h3 { font-size: 18px; }
  .service-help { padding-inline: 12px; }
  .service-help h3 { font-size: 23px; }
  .service-help .text-link { font-size: 9px; }
}
@media(max-width:600px) {
  .topline { font-size: 9px; letter-spacing: .65px; line-height: 1.7; }
  .hero-description, .section-intro > p, .service-card > p, .area-details p { font-size: 13px; }
  .quote-form input, .quote-form select, .quote-form textarea { font-size: 16px; }
  .quote-form label, .address-details summary { font-size: 13px; }
  .quote-form .form-note, .quote-form .cep-help { font-size: 11px; }
  .footer-bottom { flex-wrap: wrap; gap: 12px; }
}
/* Shared finishing details: readable controls and consistent navigation. */
.service-page .internal-nav{display:flex;position:static;margin-left:auto;gap:24px;padding:0;border:0;background:transparent;box-shadow:none}
.service-page .internal-nav a{font-size:13px;width:auto;min-height:44px;display:flex;align-items:center}
.footer-bottom{align-items:center;gap:18px;flex-wrap:wrap}
body:not(.service-page) .footer-bottom{padding-right:74px}
.footer-bottom a,.footer-bottom button{display:inline-flex;align-items:center;min-height:44px;overflow-wrap:anywhere}
.menu-toggle{min-width:44px;min-height:44px;align-items:center}
.quote-form .required-note{font-size:11px;margin-top:10px;color:var(--deep)}
.quote-form input,.quote-form select,.quote-form textarea{border-color:#aab8c0;border-radius:2px;transition:border-color .2s,box-shadow .2s}
.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{border-color:var(--deep);box-shadow:0 0 0 3px #6a869e1c}
.quote-form label>span{font-size:11px}
.quote-form .cep-help{font-size:11px}
.quote-form .form-note{line-height:1.8}
.modal-open .floating-contact{visibility:hidden}
.service-page .related a{transition:background .2s,border-color .2s;min-height:48px}
.service-page .related a:hover{border-color:var(--blue)}
@media(max-width:700px){
 .service-page .header .header-inner{height:auto;min-height:90px;flex-wrap:wrap;gap:0 12px;padding-block:6px}
 .service-page .header-inner>.button{margin-left:auto}
 .service-page .header .internal-nav{order:3;flex-basis:100%;justify-content:center;gap:30px;margin:0;border-top:1px solid var(--line)}
 .service-page .header .internal-nav a{font-size:13px;padding:8px 0}
 .service-page [id]{scroll-margin-top:65px}
 .service-page .footer-main{flex-wrap:wrap}
 .footer-whatsapp{max-width:100%;white-space:normal}
 body:not(.service-page) .footer-bottom{padding-right:58px}
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none!important; transition: none!important; }
}

.quote-form h3{line-height:1.2}
