/* Shared overrides loaded last on every page (previously injected at runtime by script.js). */

/* Images keep their aspect ratio when width/height attributes are set. */
img{height:auto}

/* Brand wordmark */
.brand{gap:0}.brand-mark{display:flex;flex-direction:column;align-items:center;background:transparent;border-radius:0;padding:0;box-shadow:none}.brand-mark img{display:block;width:136px;height:auto;border-radius:0}.brand-mark small{display:block;width:100%;margin-top:1px;color:#76ad82;font-family:'DM Sans',sans-serif;font-size:9px;font-weight:700;letter-spacing:.26em;line-height:1.4;text-align:center;text-transform:uppercase}.footer-brand .brand-mark{padding:0}.footer-brand .brand-mark img{width:170px}.footer-brand .brand-mark small{font-size:10px}@media(max-width:720px){.brand-mark img{width:120px}.footer-brand .brand-mark img{width:160px}}

/* Instagram post (decorative icons only) */
.instagram-post-actions{display:flex;align-items:center;gap:16px;padding:12px 15px 5px;color:#1f3d28}.ig-action{display:grid;place-items:center;width:24px;height:24px;color:inherit}.ig-action svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.instagram-post-actions .instagram-save{margin-left:auto}.instagram-post-actions .instagram-save svg{width:23px;height:23px}

/* Testimonials */
.testimonials{background:#f7fbf7;border-top:1px solid #dce9df;border-bottom:1px solid #dce9df;color:#173220}.testimonials .section-top{margin-bottom:30px}.testimonials .section-top h2{color:#173220}.testimonials .section-top p{color:#52675a}.testimonials-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.testimonial-card{display:flex;flex-direction:column;min-height:210px;margin:0;padding:23px;border:1px solid #dce9df;border-radius:20px;background:#fff;box-shadow:0 14px 35px rgba(30,76,45,.08)}.testimonial-stars{color:#d59b24;letter-spacing:2px;font-size:15px}.testimonial-card blockquote{margin:15px 0 auto;color:#294d34;font-size:15px;line-height:1.55}.testimonial-card figcaption{margin-top:18px;color:#6b8170;font-size:12px;font-weight:700}.testimonial-source{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:27px;color:#6b8170;font-size:12px}.testimonial-source a{color:#267346;font-weight:700}@media(max-width:760px){.testimonials-grid{grid-template-columns:1fr}.testimonial-card{min-height:0}}

/* Audience cards: arrows */
.audience-cards b{display:grid;place-items:center;width:28px;height:28px;color:#a8dcb0;font-family:Arial,sans-serif}.audience-cards b svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}

/* Legal links, privacy note and small utilities */
.legal-links{display:flex;flex-wrap:wrap;gap:16px;color:#8aa291;font-size:11px}.legal-links a{color:inherit}.legal-links a:hover{color:#b9e1bd}.privacy-note{margin:16px 0 0;color:#6b8170;font-size:12px;line-height:1.5}.privacy-note a{color:#267346;font-weight:700}
@media(max-width:720px){body.condos-page .table-wrap table{min-width:0;table-layout:fixed}body.condos-page .table-wrap th,body.condos-page .table-wrap td{padding:10px 4px;font-size:.78rem;overflow-wrap:anywhere}body.condos-page .table-wrap th:first-child{width:36%;padding-left:10px}}
.condos-cta .privacy-note{color:#b7cbbb}.condos-cta .privacy-note a{color:#9fe0b2}
.footer-grid a{overflow-wrap:anywhere}.footer-brand{justify-self:start}.nowrap{white-space:nowrap}body.condos-page .footer-grid p{font-size:13px;line-height:1.6}.footer-grid p{max-width:290px}.footer-end{flex-wrap:wrap;gap:12px}
.legal-page{max-width:820px}.legal-page h1,.care-copy h1{font-family:Manrope,sans-serif;font-weight:700;letter-spacing:-.055em;line-height:1.08}.legal-page h1{font-size:clamp(2.2rem,5vw,3.4rem);margin:18px 0 24px}.care-copy h1{font-size:clamp(2.35rem,4.4vw,4rem);margin:20px 0 0;max-width:550px}.legal-page h2{font-size:clamp(1.3rem,3vw,1.75rem);letter-spacing:-.03em;margin:40px 0 10px}.legal-page p{color:#c3d1c5;max-width:68ch}.legal-page p a{color:#9fe0b2;text-decoration:underline;text-underline-offset:3px}

/* Home carousel on phones/tablets: stack all slides in one grid cell so the carousel keeps the height
   of the tallest slide and the page below does not jump on every automatic slide change. */
/* The outgoing slide disappears at once and only the incoming one fades in, so texts never overlap. */
.frontino-home .hero-slide:not(.active){transition:none}
@media(max-width:900px){
  .frontino-home .hero-carousel{display:grid}
  .frontino-home .hero-slide{display:block;grid-area:1/1;visibility:hidden;opacity:0}
  .frontino-home .hero-slide.active{visibility:visible;opacity:1}
}

/* Mobile refinements */
@media (max-width: 720px) {
  html, body { overflow-x: clip; }
  .container { width: calc(100% - 32px); }
  .header-inner { min-height: 72px; gap: 12px; }
  .brand-mark img { width: 116px; }
  .brand-mark small { font-size: 8px; letter-spacing: .22em; }
  .menu-button { width: 46px; height: 46px; flex: 0 0 46px; border-radius: 14px; }
  .nav { top: 72px; padding: 10px 16px 16px; border-top: 1px solid rgba(130, 194, 143, .1); }
  .nav a { min-height: 46px; display: flex; align-items: center; }
  .nav-cta { justify-content: center; margin-top: 4px; }
  .hero-grid { padding-top: 48px; padding-bottom: 30px; }
  .hero h1 { font-size: clamp(2.7rem, 12vw, 4.1rem); line-height: 1.02; margin: 20px 0; }
  .hero-copy > p { font-size: 1rem; line-height: 1.55; }
  .hero-actions { margin-top: 26px; gap: 10px; }
  .hero-actions .button, .contact-right .button, .condo-actions .button { width: 100%; }
  .button { min-height: 50px; gap: 12px; padding: 12px 16px; }
  .hero-art { height: 365px; margin-top: 14px; }
  .hero-access { max-height: 320px; }
  .hero-small-product { width: 126px; height: 112px; right: -2px; bottom: 18px; }
  .hero-small-product img { width: 105px; height: 98px; }
  .hero-end { padding-bottom: 18px; }
  .section { padding: 72px 0; }
  h2 { font-size: clamp(2rem, 9vw, 3rem); }
  .section-top { margin-bottom: 26px; }
  .section-top h2 { margin-top: 14px; }
  .section-top p { font-size: 14px; line-height: 1.5; }
  .audience-section { padding-top: 74px; }
  .audience-grid { gap: 26px; }
  .audience-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .audience-cards a { min-height: 205px; padding: 18px 14px; border-radius: 18px; }
  .audience-cards a:last-child { grid-column: 1 / -1; min-height: 145px; }
  .audience-cards span { font-size: 10px; }
  .audience-cards strong { font-size: 1rem; line-height: 1.15; }
  .audience-cards small { font-size: 12px; line-height: 1.35; }
  .audience-cards b { top: 17px; right: 16px; }
  .product-grid { gap: 12px; }
  .product-card { min-height: 310px; padding: 22px; border-radius: 20px; }
  .product-copy { max-width: 59%; }
  .product-card h3 { font-size: 1.45rem; margin: 18px 0 8px; }
  .product-card p { font-size: 12px; }
  .card-more { left: 22px; bottom: 19px; font-size: 12px; }
  .search-service-grid { grid-template-columns: 1fr; gap: 10px; }
  .search-service-grid a { padding: 17px; border-radius: 16px; }
  .search-service-grid strong { font-size: 16px; }
  .orchestral-grid { gap: 28px; }
  .orchestral-copy > p { font-size: 15px; line-height: 1.55; }
  .orchestral-points { gap: 8px; margin: 19px 0; }
  .orchestral-points span { padding: 10px 12px; }
  .instagram-post { width: min(100%, 360px); border-radius: 18px; }
  .instagram-post-head { padding: 12px; }
  .instagram-post-media video { aspect-ratio: 9 / 12; }
  .care-grid, .condo-grid, .app-teaser-grid { grid-template-columns: 1fr; gap: 28px; }
  .care-visual, .condo-visual { height: 320px; }
  .care-copy > p, .condo-copy > p { font-size: 15px; line-height: 1.55; }
  .condo-actions { flex-direction: column; align-items: stretch; gap: 10px; }
  .app-teaser { padding: 72px 0; }
  .app-teaser-art { order: -1; }
  .teaser-phone { width: min(100%, 310px); margin-inline: auto; }
  .brands-inner { gap: 16px 24px; }
  .contact { padding: 72px 0; }
  .contact-grid { gap: 24px; }
  .contact-right { margin-top: 24px; width: 100%; }
  .footer-grid { grid-template-columns: 1fr; gap: 24px; }
  .footer-end { gap: 8px; line-height: 1.4; }
  .solutions-hero { padding: 70px 0 56px; }
  .solutions-hero-inner { gap: 28px; }
  .solutions-hero h1 { font-size: clamp(2.65rem, 12vw, 4rem); }
  .solutions-hero p { font-size: 16px; line-height: 1.55; }
  .solutions-tabs { top: 72px; }
  .solutions-tabs a { padding: 13px 11px; font-size: 12px; }
  .solution-detail { padding: 68px 0; }
  .solution-detail-media { min-height: 285px; border-radius: 20px; }
  .solution-detail-media img { width: 70%; height: 72%; }
  .solution-detail-media span { left: 18px; bottom: 18px; font-size: 9px; }
  .solution-detail-copy h2 { font-size: clamp(2rem, 9vw, 3rem); }
  .solution-detail-copy > p { font-size: 15px; line-height: 1.55; }
  .app-hero-grid { padding-top: 60px; padding-bottom: 35px; gap: 20px; }
  .app-hero h1 { font-size: clamp(2.7rem, 11vw, 4.2rem); }
  .app-hero-copy > p, .app-qr-copy p, .app-context-grid p { font-size: 15px; line-height: 1.55; }
  .app-stage { min-height: 465px; width: 100%; overflow: visible; }
  .app-phone { width: 270px; height: 520px; transform: rotate(-4deg) scale(.82); }
  .app-sidecard { width: 145px; left: -2px; top: 72px; padding: 13px; }
  .app-sidecard-right { left: auto; top: auto; right: -2px; bottom: 62px; }
  .app-sidecard strong { font-size: 13px; }
  .app-sidecard small { font-size: 9px; }
  .app-qr-visual { height: 350px; }
  .qr-card { width: 240px; padding: 21px; }
  .qr-pattern { width: 145px; height: 145px; }
  .qr-float { min-width: 135px; left: -2px; top: 42px; font-size: 11px; }
  .qr-float-two { left: auto; top: auto; right: -2px; bottom: 27px; }
}
@media (max-width: 420px) {
  .container { width: calc(100% - 28px); }
  .hero h1 { font-size: 2.65rem; }
  .hero-art { height: 330px; }
  .hero-access { max-height: 290px; }
  .hero-small-product { width: 110px; height: 100px; }
  .hero-small-product img { width: 92px; height: 86px; }
  .audience-cards a { min-height: 190px; }
  .audience-cards a:last-child { min-height: 136px; }
  .product-card { min-height: 295px; }
  .product-copy { max-width: 57%; }
  .product-card h3 { font-size: 1.32rem; }
  .product-card img { width: 48%; }
  .app-phone { transform: rotate(-4deg) scale(.72); }
  .app-stage { min-height: 410px; }
  .app-sidecard { width: 126px; left: -6px; top: 58px; }
  .app-sidecard-right { left: auto; top: auto; right: -6px; bottom: 44px; }
}
