/* Betonico 1.3 - a cohesive visual system, without external font requests. */
:root {
  --graphite: #202420;
  --black: #141814;
  --mid: #636961;
  --light: #f6f7f3;
  --border: #e0e4dc;
  --shadow-soft: 0 12px 40px #20242008;
  --shadow-strong: 0 24px 60px #2024200c;
}
body { font-family: 'Segoe UI', Arial, sans-serif; line-height: 1.65; }
.container { width: min(1360px, calc(100% - 80px)); }
h1, h2 { font-family: 'Segoe UI', Arial, sans-serif; font-weight: 750; letter-spacing: -.045em; text-transform: none; line-height: 1.08; }
h1 { font-size: clamp(42px, 5.2vw, 70px); }
h2 { font-size: clamp(30px, 3.3vw, 46px); }
h3 { font-size: 23px; font-weight: 700; letter-spacing: -.025em; line-height: 1.25; }
p { text-wrap: pretty; }
.section { padding-block: clamp(56px, 7vw, 96px); }
.eyebrow { gap: 10px; font-size: 11px; font-weight: 750; letter-spacing: .1em; margin-bottom: 22px; }
.eyebrow::before { flex-basis: 22px; width: 22px; height: 2px; }
.button { min-height: 52px; border-radius: 8px; font-size: 14px; font-weight: 700; border-width: 1px; box-shadow: none; gap: 12px; }
.button:hover { box-shadow: 0 8px 22px #20242012; transform: translateY(-2px); }
.button-small { min-height: 44px; }
.button-outline { color: #202420; border-color: #c6cdc0; background: #fff; }
.inline-link { font-weight: 700; font-size: 14px; }
.topbar { min-height: 32px; padding-inline: max(40px, calc((100% - 1360px) / 2)); background: #202420; font-weight: 500; }
.site-header { height: 88px; padding-inline: max(40px, calc((100% - 1360px) / 2)); gap: 28px; grid-template-columns: 190px minmax(0, 1fr) auto; box-shadow: none; border-bottom-color: #e9ece6; }
.brand-logo, .brand-logo img { width: 180px; }
.desktop-nav { gap: 24px; font-size: 13px; font-weight: 650; }
.desktop-nav > a, .nav-dropdown-trigger { min-height: 88px; }
.nav-dropdown-panel { border-radius: 12px; box-shadow: 0 20px 55px #20242018; }
.nav-dropdown-panel a { border-radius: 6px; }
.mobile-menu > summary { border: 1px solid var(--border); border-radius: 8px; }
.mobile-menu nav { border-radius: 12px; max-height: calc(100dvh - 180px); overflow-y: auto; }
#wycena { scroll-margin-top: 112px; }

/* Hero: distinct copy and image areas, with a real image on mobile. */
.service-strip { min-height: 58px; background: #fff; color: #697163; border-bottom: 1px solid #e8ece3; gap: 36px; }
.service-strip span { font-weight: 650; font-size: 10px; letter-spacing: .09em; }
.service-strip i { width: 4px; height: 4px; flex-basis: 4px; border-radius: 50%; transform: none; }

/* A consistent family of cards. */
.split-heading { gap: 80px; align-items: center; }
.section-heading { margin-bottom: 38px; }
.split-heading > p { font-size: 16px; line-height: 1.8; }
.service-grid { gap: 20px; }
.service-card { padding: 30px; min-height: 320px; border-radius: 14px; background: #fafbf8; border-color: #e2e6dd; box-shadow: none; }
#oferta .service-card:first-child { background: #fff2e7; border-color: #f2decb; }
.service-card::before { display: none; }
.service-card:hover { box-shadow: 0 18px 38px #2024200c; border-color: #d18b57; }
.service-card-top { margin-bottom: 38px; }
.service-card-top svg { width: 48px; height: 48px; border: 1px solid #e2e6dd; border-radius: 12px; background: #fff; color: #b64700; }
.service-card-top span { font-family: 'Segoe UI', Arial, sans-serif; color: #858b80; font-size: 13px; font-weight: 500; }
.service-card p { font-size: 14px; line-height: 1.75; }
.service-card strong { width: 100%; justify-content: space-between; padding-top: 18px; border-top: 1px solid #20242012; font-size: 13px; font-weight: 650; }
.service-card strong svg { width: 28px; height: 28px; padding: 6px; border-radius: 50%; background: #fff; color: #b64700; }
.calculator-section { border-top: 1px solid var(--border); gap: 80px; grid-template-columns: .85fr 1.15fr; }
.calculator-copy h2 { max-width: 390px; }
.calculator-copy > p:not(.eyebrow) { max-width: 420px; font-size: 16px; }
.calculator-tool { border-radius: 18px; border: 1px solid #dfe5d9; background: #f6f7f3; padding: 32px; box-shadow: none; }
.tool-symbol { border-radius: 10px; color: #202420; width: 44px; height: 44px; flex-basis: 44px; }
.calculator-head span { font-size: 10px; font-weight: 650; letter-spacing: .05em; }
.calculator-head strong { font-size: 18px; letter-spacing: -.02em; }
.calculator-fields label, .quote-form label { font-size: 12px; font-weight: 600; gap: 8px; color: #4d5548; }
.calculator-fields input, .calculator-fields select, .quote-form input, .quote-form textarea { border-color: #dce1d6; border-radius: 8px; font-weight: 500; }
.calculator-result { border: 0; border-radius: 12px; padding: 24px; background: #202420; box-shadow: none; }
.calculator-result strong { font-size: 28px; font-weight: 650; letter-spacing: -.04em; }
.calculator-result > div { min-width: 0; }
.calculator-result .icon-button { border-radius: 8px; }
.calculator-result span { color: #c5cbbf; }
.application-directory { background: #f6f7f3; border-block: 1px solid #e7ebe1; }
.application-directory > .container > div:last-child { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 0; gap: 12px; }
.application-directory > .container > div:last-child > a { min-height: 145px; padding: 24px 20px; border: 1px solid #e2e6dd; border-radius: 12px; background: #fff; }
.application-directory > .container > div:last-child > a:hover { background: #fff2e7; color: #202420; }
.application-directory a span { font-size: 9px; letter-spacing: .07em; }
.application-directory a strong { font-size: 15px; font-weight: 650; }

.dark-band { width: min(1360px, calc(100% - 80px)); margin: 80px auto; border: 0; border-radius: 22px; background: #202420; }
.dark-band::after { display: none; }
.mascot-service-layout { width: 100%; min-height: 0; padding: 52px; grid-template-columns: .75fr 1.25fr; gap: 70px; }
.mascot-frame { height: 380px; align-self: center; border-radius: 50%; background: radial-gradient(circle, #434b3d 0, #202420 70%); }
.mascot-service-layout h2 { font-size: clamp(30px, 3vw, 42px); }
.dark-band .eyebrow { color: #ffac70; }
.advantage-list { margin-block: 26px; }
.advantage-list > div { padding-block: 16px; }
.advantage-list strong { text-transform: none; color: #fff; font-weight: 650; }
.advantage-list span { color: #c5cbbf; }
.location-section { background: #fff; border: 0; }
.location-layout { gap: 40px; grid-template-columns: 1fr .8fr 1fr; }
.map-mascot { height: 340px; }
.location-numbers strong { font-family: 'Segoe UI', Arial, sans-serif; font-size: 42px; font-weight: 750; letter-spacing: -.05em; }
.location-numbers div { border-left-width: 2px; }
.location-numbers span { font-weight: 500; font-size: 10px; letter-spacing: .08em; }
.province-list a { font-size: 11px; font-weight: 550; border-color: #e0e5d9; }
.featured-cities { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; border: 0; margin-top: 38px; }
.featured-cities a { border: 1px solid var(--border); border-radius: 10px; min-height: 100px; background: #f8f9f6; }
.featured-cities strong { font-size: 17px; font-weight: 650; }
.knowledge-preview { background: #f6f7f3; }
.knowledge-card { border-radius: 14px; overflow: hidden; box-shadow: none; border-color: #e2e6dd; }
.knowledge-card-copy { padding: 28px; }
.knowledge-meta { font-size: 10px; }
.knowledge-card h3 { font-size: 22px; }
.faq-section { background: #fff; border-block: 1px solid var(--border); }
.faq-layout { gap: 80px; }
.faq-list { border: 0; }
.faq-list details { margin-bottom: 10px; border: 1px solid var(--border); border-radius: 10px; padding-inline: 22px; background: #f8f9f6; }
.faq-list details[open] { padding-inline: 22px; box-shadow: none; }
.faq-list summary { font-weight: 650; padding-block: 21px; font-size: 15px; }
.faq-list summary span { background: transparent; color: #a44200; border-radius: 50%; border: 1px solid #dfe5d8; }
.faq-list details[open] summary span { background: #ff6a00; color: #202420; }
.quote-section { background: #f6f7f3; border: 0; }
.quote-layout { grid-template-columns: .8fr 1.2fr; gap: 80px; min-height: 0; padding-block: 80px; align-items: center; }
.quote-mascot { height: auto; align-self: center; }
.quote-mascot h2 { font-size: 44px; }
.quote-mascot > p:not(.eyebrow) { max-width: 360px; color: var(--mid); }
.quote-mascot img { height: 310px; margin-top: 30px; object-position: left bottom; }
.quote-copy { margin: 0; padding: 38px; border: 1px solid #e0e5da; border-radius: 18px; box-shadow: 0 18px 50px #20242008; }
.quote-copy h2 { font-size: 32px; }
.quote-copy > p:not(.eyebrow) { font-size: 14px; }
.form-help { padding: 12px 14px; background: #f6f7f3; border-radius: 8px; font-size: 12px; }
.form-note { font-size: 11px; }
.consent { font-weight: 400 !important; font-size: 11px !important; line-height: 1.6; }
.consent input, .volume-help input { border-radius: 4px; }
.footer-cta { background: #ff6a00; }
.footer-cta-inner { min-height: 150px; gap: 30px; }
.footer-cta-inner strong { font-family: 'Segoe UI', Arial, sans-serif; color: #202420; font-size: clamp(26px, 2.7vw, 38px); text-transform: none; font-weight: 750; letter-spacing: -.035em; }
.footer-cta-inner span { color: #202420; letter-spacing: .07em; font-size: 10px; }
.footer-main { padding-block: 64px; }
.footer-column h2 { font-family: 'Segoe UI', Arial, sans-serif; font-weight: 650; letter-spacing: .05em; }
.footer-bottom { border-color: #ffffff20; }
.local-hero, .inner-hero, .legal-hero { background: #f6f7f3; }
.local-hero h1, .inner-hero h1 { font-size: clamp(40px, 4.8vw, 66px); }
.contact-panel, .article-toc, .knowledge-aside, .calculator-directory { border-radius: 14px; }

@media (max-width: 1100px) {
  .site-header { grid-template-columns: 165px minmax(0, 1fr) auto; gap: 18px; }
  .desktop-nav { gap: 14px; font-size: 12px; }
  .brand-logo, .brand-logo img { width: 160px; }
  .split-heading, .calculator-section, .faq-layout, .quote-layout { gap: 44px; }
}
@media (max-width: 900px) {
  .container { width: calc(100% - 48px); }
  .topbar { padding-inline: 24px; }
  .site-header { height: 76px; padding-inline: 24px; grid-template-columns: 1fr auto; }
  .desktop-nav, .site-header > .button { display: none; }
  .mobile-menu { display: block; }
  .application-directory > .container > div:last-child { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dark-band { width: calc(100% - 48px); margin-block: 48px; }
  .mascot-service-layout { width: 100%; grid-template-columns: 1fr; padding: 36px; gap: 24px; }
  .mascot-frame { height: 250px; width: min(260px, 100%); margin: 0 auto; }
  .location-layout { grid-template-columns: 1fr 1fr; }
  .province-list { grid-column: 1 / -1; grid-template-columns: repeat(4, 1fr); }
  .quote-layout { grid-template-columns: 1fr; padding-block: 56px; }
  .quote-mascot { display: none; }
  .quote-copy { order: initial; max-width: 700px; width: 100%; margin-inline: auto; }
  .service-grid { gap: 14px; }
  .service-card { padding: 24px; }
}
@media (max-width: 560px) {
  .container { width: calc(100% - 40px); }
  .section { padding-block: 56px; }
  .topbar { padding-inline: 20px; }
  .site-header { height: 72px; padding-inline: 20px; }
  .service-strip { padding-block: 16px; gap: 22px; }
  .service-card { min-height: 265px; padding: 26px; }
  .service-card-top { margin-bottom: 24px; }
  .split-heading { gap: 20px; }
  h2 { font-size: 34px; }
  .calculator-tool { padding: 22px; }
  .calculator-result { padding: 20px; }
  .calculator-fields { grid-template-columns: 1fr 1fr; }
  .calculator-fields input { padding-inline: 10px; }
  .calculator-result .icon-button { grid-column: auto; width: 40px; }
  .calculator-result:not(.calculator-result-multi) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .calculator-result strong { font-size: 23px; overflow-wrap: anywhere; }
  .calculator-result .icon-button { grid-column: 1 / -1; width: 100%; }
  .application-directory > .container > div:last-child > a { min-height: 145px; padding: 20px 16px; }
  .application-directory a strong { font-size: 14px; }
  .dark-band { width: calc(100% - 40px); border-radius: 16px; }
  .mascot-service-layout { padding: 28px; }
  .location-layout { grid-template-columns: 1fr; }
  .location-copy h2 { font-size: 34px; }
  .map-mascot { height: 230px; }
  .province-list { display: none; }
  .featured-cities { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .featured-cities a { padding: 16px; min-height: 100px; }
  .faq-layout { gap: 28px; }
  .faq-list details, .faq-list details[open] { padding-inline: 16px; }
  .faq-list summary { font-size: 14px; gap: 12px; }
  .faq-list details p { margin-right: 0; }
  .quote-copy { padding: 24px; border-radius: 14px; }
  .quote-copy h2 { font-size: 30px; }
  .footer-cta-inner strong { font-size: 28px; }
  .footer-cta-inner { padding-block: 34px; }
  .footer-main { padding-block: 48px; }
  .mobile-contact-bar { gap: 10px; padding-inline: 20px; }
}

/* 1.4 - a full-width photographic opening. */
.hero-home { display: flex; min-height: 700px; background: #1b221b; border: 0; color: #fff; }
.hero-home::after, .hero-content::after { display: none; }
.hero-visual { position: absolute; inset: 0; margin: 0; width: 100%; height: 100%; border-radius: 0; overflow: hidden; }
.hero-background { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 58%; }
.hero-visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #121b16ed 0%, #121b16d9 28%, #121b166b 57%, #121b160a 82%), linear-gradient(0deg, #121b1659, transparent 45%); }
.hero-content { position: relative; z-index: 1; min-height: 700px; padding-block: 72px 50px; justify-content: center; }
.hero-content > .eyebrow { max-width: 620px; color: #ffb578; font-size: 11px; }
.hero-home h1 { max-width: 660px; font-size: clamp(48px, 5.6vw, 78px); line-height: 1.04; padding: 0; border: 0; color: #fff; text-shadow: 0 2px 24px #00000020; }
.hero-home h1 span { color: #ffa363; }
.hero-lead { max-width: 510px; margin: 26px 0 30px; font-size: 18px; color: #edf1e8; line-height: 1.75; }
.hero-actions { max-width: 660px; gap: 12px; }
.hero-actions .button { padding-inline: 24px; }
.hero-home .hero-actions .button-outline { color: #fff; background: #ffffff0c; border-color: #ffffff59; backdrop-filter: blur(8px); }
.hero-home .hero-actions .button-outline:hover { background: #fff; color: #202420; border-color: #fff; }
.hero-proof { width: min(640px, 100%); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 46px 0 0; padding: 24px 0 0; border: 0; border-top: 1px solid #ffffff40; background: none; box-shadow: none; backdrop-filter: none; }
.hero-proof li { gap: 10px; min-height: 0; padding: 0; }
.hero-proof strong { color: #fff; font-size: 12px; text-transform: none; font-weight: 650; }
.hero-proof span { color: #d0d8ca; font-size: 11px; }
.hero-proof svg { color: #ffac70; width: 18px; flex-basis: 18px; }
.hero-photo-caption { position: absolute; z-index: 1; right: max(40px, calc((100% - 1360px) / 2)); bottom: 44px; display: flex; align-items: center; gap: 12px; padding: 16px 20px; border-radius: 12px; border: 1px solid #ffffff30; background: #19221bdd; color: #fff; backdrop-filter: blur(10px); }
.photo-caption-mark { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid #ffffff40; border-radius: 50%; font-size: 22px; color: #ffac70; }
.hero-photo-caption > span:last-child { font-size: 13px; font-weight: 600; }
.hero-photo-caption small { display: block; font-size: 11px; color: #c5cfbe; font-weight: 400; margin-top: 3px; }
@media (max-width: 1100px) {
  .hero-home h1 { max-width: 580px; font-size: 64px; }
  .hero-photo-caption { display: none; }
}
@media (max-width: 900px) {
  .hero-home, .hero-content { min-height: 680px; }
  .hero-content { padding-block: 60px 40px; }
  .hero-home h1 { max-width: 580px; font-size: clamp(46px, 7.5vw, 64px); }
  .hero-background { object-position: 61% center; }
  .hero-visual::after { background: linear-gradient(90deg, #121b16e8, #121b1673 80%), linear-gradient(0deg, #121b1680, transparent 70%); }
}
@media (max-width: 560px) {
  .hero-home { min-height: 780px; }
  .hero-content { min-height: 780px; padding-block: 250px 30px; justify-content: flex-end; }
  .hero-background { object-position: 64% top; height: 430px; }
  .hero-visual { background: #19221b; }
  .hero-visual::after { background: linear-gradient(180deg, #19221b05 0, #19221b0d 150px, #19221b80 265px, #19221bf2 380px, #19221b 435px); }
  .hero-content > .eyebrow { font-size: 9px; margin-bottom: 18px; letter-spacing: .07em; }
  .hero-home h1 { max-width: 100%; font-size: clamp(38px, 10.7vw, 52px); }
  .hero-lead { max-width: 100%; margin-block: 20px; font-size: 15px; line-height: 1.65; }
  .hero-actions { max-width: 100%; width: 100%; gap: 10px; }
  .hero-actions .button { width: 100%; min-height: 50px; }
  .hero-proof { margin-top: 24px; padding-top: 18px; gap: 10px; }
  .hero-proof li { display: block; }
  .hero-proof svg { margin-bottom: 7px; }
  .hero-proof strong { font-size: 10px; }
  .hero-proof span { font-size: 10px; }
}



/* Brand imagery and illustrated ordering */
.hero-home::after { content:""; position:absolute; right:0; top:0; bottom:0; width:18px; background:#ff6a00; transform:skewX(-12deg); pointer-events:none; }
.service-card { overflow:hidden; position:relative; }
.service-photo { margin:-30px -30px 24px; height:220px; overflow:hidden; background:#e4e3de; }
.service-photo img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.service-card:hover .service-photo img { transform:scale(1.04); }
.order-section { background:#f5f4f0; border-block:1px solid #e6e4de; }
.order-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.order-card { min-width:0; }
.order-art { aspect-ratio:1.1; overflow:hidden; border-radius:22px; }
.order-art img { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.order-text { padding:18px 16px 0; }
.order-number { display:block; color:#ff6a00; font-weight:800; font-size:13px; letter-spacing:.12em; margin-bottom:12px; }
.order-text h3 { font-size:23px; line-height:1.3; margin:0 0 12px; }
.order-text p { font-size:15px; line-height:1.75; color:#656961; margin:0; }
.order-contact { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:38px; padding:24px 16px 0; border-top:1px solid #dcded5; }
.order-contact > span { font-weight:650; }
@media(max-width:900px) { .service-photo { height:190px; } .order-grid { gap:14px; } .order-text { padding-inline:0; } .order-text h3 { font-size:20px; } }
@media(max-width:600px) { .hero-home::after { width:7px; } .service-photo { height:230px; } .order-grid { grid-template-columns:1fr; gap:36px; } .order-card { display:grid; grid-template-columns:120px minmax(0,1fr); align-items:center; gap:16px; } .order-art { aspect-ratio:.8; } .order-text { padding:0; } .order-text h3 { font-size:19px; } .order-text p { font-size:14px; } .order-number { margin-bottom:7px; } .order-contact { align-items:flex-start; flex-direction:column; padding-inline:0; } }
@media(prefers-reduced-motion:reduce) { .service-photo img { transition:none; } }

/* Full-width offer photos: prevent intrinsic flex sizing and shrinking. */
#oferta .service-card { --card-padding:30px; padding:var(--card-padding); }
#oferta .service-photo { width:calc(100% + 2 * var(--card-padding)); align-self:stretch; flex:0 0 auto; height:280px; margin:calc(-1 * var(--card-padding)) calc(-1 * var(--card-padding)) 24px; }
#oferta .service-photo img { display:block; width:100%; max-width:none; height:100%; object-fit:cover; }
#oferta .service-card-top { margin-bottom:24px; }
@media(max-width:1100px) { #oferta .service-card { --card-padding:24px; } #oferta .service-photo { height:240px; } }
@media(max-width:600px) { #oferta .service-card { --card-padding:26px; } #oferta .service-photo { height:260px; } }

/* Clean mascot presentation on the dark band. */
.mascot-frame { background:transparent; border-radius:0; }

/* Larger quote mascot, balanced with the enquiry form. */
.quote-layout { grid-template-columns:.95fr 1.05fr; gap:60px; }
.quote-mascot { width:100%; max-width:none; overflow:visible; }
.quote-mascot img { display:block; width:100%; height:520px; margin-top:20px; object-fit:contain; object-position:center bottom; }
@media(max-width:1100px) { .quote-layout { gap:36px; } .quote-mascot img { height:440px; } }
@media(max-width:900px) { .quote-layout { grid-template-columns:1fr; } .quote-mascot { display:block; } .quote-mascot img { height:340px; max-width:400px; margin:20px auto 0; } .quote-mascot h2 { font-size:36px; } }
@media(max-width:560px) { .quote-mascot img { height:300px; } .quote-mascot h2 { font-size:32px; } }

/* Readable dropdown labels and supporting descriptions. */
.nav-dropdown-panel { width:390px; }
.nav-dropdown-panel a { padding:12px 14px; gap:4px; line-height:1.45; }
.nav-dropdown-panel strong { font-size:14px; }
.nav-dropdown-panel span { font-size:12px; }
.nav-dropdown-panel .nav-dropdown-all { font-size:14px; }
.mobile-calculator-menu a { font-size:14px; padding-block:11px; }
.mobile-calculator-menu small { font-size:11px; line-height:1.45; }
.nav-dropdown-panel.nav-offer-panel { width:680px; }

/* Shared typography for primary navigation and dropdown labels. */
.desktop-nav > a, .desktop-nav .nav-dropdown-trigger, .nav-dropdown-panel strong, .nav-dropdown-panel .nav-dropdown-all { font-family:'Segoe UI',Arial,sans-serif; font-size:14px; font-weight:650; letter-spacing:normal; }
.mobile-menu nav > a, .mobile-calculator-menu > summary, .mobile-calculator-menu a { font-family:'Segoe UI',Arial,sans-serif; font-size:14px; font-weight:650; letter-spacing:normal; }

/* Topic-specific character scenes. */
.inner-mascot img, .local-hero-mascot img { object-fit:contain; }
.thematic-hero-layout { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); align-items:center; gap:56px; }
.thematic-hero-layout > div { min-width:0; }
.thematic-mascot img { display:block; width:100%; height:360px; object-fit:contain; }
.local-mascot-caption { display:block; text-align:center; font-size:13px; font-weight:650; color:#6b7066; margin-top:12px; }
.response-mascot { display:block; width:min(300px,100%); height:280px; object-fit:contain; margin:0 auto 24px; }
@media(max-width:900px) { .thematic-hero-layout { grid-template-columns:1fr; gap:24px; } .thematic-mascot img { height:280px; } }
.local-hero-mascot img { height:calc(100% - 36px); }
.game-teaser{display:flex;align-items:center;gap:28px;padding:16px 30px;margin-top:0;margin-bottom:12px;border:1px solid #e1e5dc;border-radius:18px;background:#f7f8f3}.game-teaser-art{width:140px;flex-shrink:0}.game-teaser-art img{display:block;width:140px;height:110px;object-fit:contain}.game-teaser-copy{flex:1;min-width:0}.game-teaser-copy .eyebrow{font-size:10px;margin:0 0 7px}.game-teaser-copy h2{font-size:24px;line-height:1.2;margin:0 0 7px}.game-teaser-copy>p:last-child{font-size:14px;line-height:1.5;color:#6b7466;margin:0}.game-teaser>.button{flex-shrink:0;font-size:13px;background:#fff;color:#253023;border-color:#ccd4c5;box-shadow:none}.game-teaser>.button:hover{background:#edf0e7;border-color:#89977f}.game-page-breadcrumbs{padding-top:32px}.game-page>.pour-game{padding-top:40px}.game-page .pour-game h1{font-size:clamp(32px,4vw,54px);line-height:1.1;letter-spacing:-1px;margin:0}.game-sales{display:flex;justify-content:space-between;align-items:center;gap:32px;padding:36px;margin-bottom:80px;background:#f4f6ef;border:1px solid #e1e6da;border-radius:20px}.game-sales h2{font-size:32px;margin:0 0 12px}.game-sales p:last-child{color:#64705d;margin:0;line-height:1.7}.game-sales-actions{display:flex;flex-direction:column;align-items:center;gap:16px;flex-shrink:0}
@media(max-width:900px){.calculator-section{grid-template-columns:1fr;gap:32px}.game-teaser{gap:18px;padding:16px 20px}.game-teaser-art,.game-teaser-art img{width:100px}.game-teaser-art img{height:100px}.game-teaser-copy h2{font-size:21px}.game-teaser>.button{padding:14px}.game-sales{padding:28px;flex-direction:column;align-items:flex-start}.game-sales-actions{align-items:flex-start}}
@media(max-width:600px){.game-teaser{display:grid;grid-template-columns:70px minmax(0,1fr);gap:12px;padding:18px;margin-bottom:0}.game-teaser-art,.game-teaser-art img{width:70px}.game-teaser-art img{height:88px}.game-teaser-copy h2{font-size:20px}.game-teaser-copy>p:last-child{font-size:13px}.game-teaser>.button{grid-column:1/-1;justify-content:center}.game-page-breadcrumbs{padding-top:24px}.game-page>.pour-game{padding-top:24px}.game-sales{padding:24px;margin-bottom:48px}.game-sales h2{font-size:27px}}
.legal-hero .thematic-hero-layout > div > p:not(.eyebrow) { max-width:780px; margin:24px 0 0; color:var(--mid); font-size:18px; }
@media(max-width:560px) { .legal-hero .thematic-hero-layout > div > p:not(.eyebrow) { font-size:16px; } }
/* Compact calculator links on the sales homepage. */
.calculator-links-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:24px}.calculator-links-heading h2{font-size:clamp(28px,3vw,40px);line-height:1.15;max-width:750px;margin-bottom:12px}.calculator-links-heading p:not(.eyebrow){font-size:16px;color:#697160;margin:0}.calculator-links-heading>.inline-link{flex-shrink:0;min-height:44px}.calculator-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.calculator-link-grid>a{display:grid;grid-template-columns:48px minmax(0,1fr) 20px;align-items:center;gap:16px;padding:22px;border:1px solid #dde3d8;background:#f8f9f5;border-radius:16px;color:#242c23;text-decoration:none;transition:background .2s,border-color .2s}.calculator-link-grid>a:hover{background:#fff1e6;border-color:#ff6a00}.calculator-link-grid>a:focus-visible{outline:3px solid #ff6a00;outline-offset:3px}.calculator-link-symbol{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:#fff0e3;color:#b84800;font-weight:750;font-size:22px}.calculator-link-grid strong{display:block;font-size:18px;line-height:1.3;margin-bottom:6px}.calculator-link-grid small{display:block;font-size:13px;line-height:1.5;color:#687160}.calculator-link-grid svg{color:#cf5100}
@media(max-width:900px){.calculator-links-heading{align-items:flex-start;flex-direction:column;gap:16px}.calculator-link-grid{gap:12px}.calculator-link-grid>a{grid-template-columns:40px minmax(0,1fr);padding:18px;gap:12px}.calculator-link-symbol{width:40px;height:40px;font-size:20px}.calculator-link-grid>a>svg{display:none}.calculator-link-grid strong{font-size:17px}}
@media(max-width:600px){.calculator-link-grid{grid-template-columns:minmax(0,1fr)}.calculator-link-grid>a{grid-template-columns:44px minmax(0,1fr) 20px;padding:16px;gap:14px}.calculator-link-grid>a>svg{display:block}.calculator-link-symbol{width:44px;height:44px}.calculator-links-heading h2{font-size:30px}.calculator-links-heading>.inline-link{font-size:14px}}
.landing-calculator{border:1px solid #dde3d8;border-radius:12px;padding:18px;margin:18px 0}.landing-toggle{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:650;min-height:44px;cursor:pointer}.landing-toggle input{width:20px;height:20px;min-height:20px;flex-shrink:0;accent-color:#ff6a00}.landing-fields{margin-top:18px}.landing-fields[hidden],.landing-calculator p[hidden]{display:none}.landing-calculator p{font-size:14px;line-height:1.6}
