/* Layout matched to the supplied desktop and mobile screenshots. */
.reference-site { margin:0; font-family:var(--font); font-size:14px; line-height:1.6; color:#4c4b40; background:#fff; }
.reference-site * { box-sizing:border-box; }
.reference-site h1,.reference-site h2,.reference-site h3,.reference-site p { margin:0; }
.reference-site h1,.reference-site h2 { font-size:32px; line-height:1.3; font-weight:600; letter-spacing:-.025em; }
.reference-site p { color:#747477; }
.reference-container { width:67%; max-width:1280px; margin:0 auto; }
.reference-logo { display:block; width:390px; height:auto; object-fit:contain; filter:grayscale(1) sepia(.35); }
.reference-hero { background:repeating-linear-gradient(138deg,transparent 0 150px,#7d795908 150px 220px,transparent 220px 380px),#f1f1ef; overflow:hidden; }
.hero-layout { display:grid; grid-template-columns:1fr 1fr; align-items:center; min-height:600px; }
.hero-copy { padding:48px 0; position:relative; z-index:1; }
.hero-copy .reference-logo { height:160px; object-fit:cover; object-position:center 55%; margin-left:-35px; margin-bottom:28px; }
.hero-copy h1 { font-size:32px; margin-bottom:16px; }
.hero-copy p { max-width:510px; margin-bottom:28px; }
.hero-photo { height:600px; align-self:end; overflow:hidden; position:relative; display:flex; align-items:flex-end; justify-content:center; }
.hero-photo::before { content:""; position:absolute; inset:0; background:#e9e6df url('../assets/hero-wall-background.png') center/cover no-repeat; opacity:.56; mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.08) 3%,rgba(0,0,0,.35) 7%,rgba(0,0,0,.75) 12%,#000 20%,#000 80%,rgba(0,0,0,.75) 88%,rgba(0,0,0,.35) 93%,rgba(0,0,0,.08) 97%,transparent 100%); pointer-events:none; }
.hero-photo img { position:relative; width:auto; max-width:100%; height:90%; margin:0 auto; object-fit:contain; object-position:center bottom; transform:translateY(6px); mask-image:linear-gradient(to bottom,#000 0%,#000 98%,rgba(0,0,0,.9) 98.4%,rgba(0,0,0,.5) 99%,rgba(0,0,0,.1) 99.6%,transparent 100%); }
.contact-button { display:inline-flex; justify-content:center; align-items:center; gap:8px; width:445px; max-width:100%; min-height:68px; padding:16px 30px; border-radius:999px; background:linear-gradient(100deg,#6F6A49,#96916F); color:white; text-decoration:none; text-transform:uppercase; font-size:13px; font-weight:500; transition:transform 180ms ease,background 180ms ease; }
.contact-button svg { width:20px; height:20px; }
.contact-button:hover { background:var(--primary-dark); transform:translateY(-1px); }
.contact-button:active { transform:translateY(0); }
.introduction { display:grid; grid-template-columns:.8fr 1.35fr; gap:80px; align-items:center; padding-top:96px; padding-bottom:64px; }
.intro-photo { margin:0; overflow:hidden; border-radius:16px; }
.intro-photo > img { width:100%; height:490px; object-fit:cover; object-position:center 47%; }
.intro-photo figcaption { height:100px; display:flex; justify-content:center; align-items:center; background:#6F6A49; }
.intro-photo .reference-logo { width:320px; height:100px; filter:brightness(0) invert(1); opacity:.8; }
.intro-copy h2 { margin-bottom:24px; }
.check-list { list-style:none; padding:0; margin:0 0 32px; display:flex; flex-direction:column; gap:18px; color:#747477; }
.check-list li { display:flex; align-items:flex-start; gap:12px; }
.check-list svg { flex-shrink:0; border:1px solid #DAD8CE; color:var(--primary); padding:3px; width:24px; height:24px; border-radius:50%; }
.services-section { padding:40px 0 72px; text-align:center; }
.service-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:48px 0; text-align:left; }
.service-card { border:1px solid var(--border); border-radius:8px; padding:30px; position:relative; }
.service-card:before { content:''; width:48px; height:4px; position:absolute; top:-1px; left:30px; background:var(--primary); }
.service-card > svg { width:32px; height:32px; color:var(--primary); margin-bottom:24px; }
.service-card h3 { font-size:16px; font-weight:500; line-height:1.4; margin-bottom:8px; }
.service-card p { line-height:1.5; }
.care-section { text-align:center; padding:24px 0 96px; }
.care-intro { max-width:740px; margin:20px auto 24px!important; }
.care-highlight { padding:28px 48px; border-radius:16px; background:linear-gradient(100deg,#6F6A49,#96916F); color:white; font-size:20px; line-height:1.5; }
.care-caption { max-width:740px; margin:20px auto 44px!important; }
.testimonials-section { background:linear-gradient(100deg,#6F6A49,#96916F); padding:96px 0; color:white; }
.testimonials-section h2 { text-align:center; font-weight:500; }
.review-controls { display:flex; gap:32px; justify-content:center; margin:32px 0; }
.review-controls button { width:36px; height:36px; display:grid; place-items:center; border:0; border-radius:50%; background:#fff; color:var(--primary); cursor:pointer; }
.review-controls button:disabled { opacity:.45; cursor:default; }
.review-track { display:flex; align-items:stretch; gap:18px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
.review-track::-webkit-scrollbar { display:none; }
.review-card { flex:0 0 calc((100% - 36px)/3); align-self:stretch; scroll-snap-align:start; background:white; border-radius:8px; padding:20px 24px; color:var(--text-secondary); display:flex; flex-direction:column; min-height:260px; height:260px; }
.review-stars { color:var(--primary); letter-spacing:3px; margin-bottom:12px; flex:none; }
.review-card blockquote { flex:1 1 auto; min-height:0; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:var(--primary) transparent; margin:0 0 12px; line-height:1.6; }
.review-card blockquote::-webkit-scrollbar { width:4px; }
.review-card blockquote::-webkit-scrollbar-thumb { background:var(--primary); border-radius:4px; }
.review-card blockquote:focus-visible { outline:2px solid var(--primary); outline-offset:2px; }
.review-author { display:flex; gap:12px; align-items:center; margin-top:0; flex:none; }
.review-author > span { border-radius:50%; background:#7d79591c; color:var(--primary-dark); width:42px; height:42px; display:grid; place-items:center; }
.review-author h3 { font-size:13px; margin-bottom:4px; }
.review-author p { font-size:11px; }
.about-section { display:grid; grid-template-columns:1.3fr .8fr; gap:130px; align-items:center; padding:96px 0; }
.reference-site #sobre h2 { margin-bottom:24px; color:#4c4b40; }
.about-details > p { margin-bottom:24px; }
.contact-section { background:#F7F7F7; padding:96px 0; }
.contact-layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:130px; align-items:center; }
.contact-layout h2 { margin-bottom:20px; }
.contact-layout address { display:flex; flex-direction:column; font-style:normal; margin:24px 0; max-width:440px; }
.contact-layout address a,.contact-layout address span { display:flex; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid var(--border); color:#747477; font-size:13px; overflow-wrap:anywhere; }
.contact-layout address svg { width:20px; height:20px; flex-shrink:0; color:var(--primary); }
.booking-link { display:block; background:none; border:0; color:var(--primary-dark); font:inherit; font-size:12px; margin-top:18px; text-decoration:underline; cursor:pointer; }
.map-card { overflow:hidden; border-radius:16px; box-shadow:0 8px 24px #00000014; background:white; }
.map-card iframe { width:100%; height:300px; border:0; display:block; }
.map-card > a { padding:20px; display:flex; align-items:center; gap:12px; font-size:12px; color:#747477; }
.map-card svg { flex-shrink:0; color:var(--primary); width:22px; }
.reference-footer { background:linear-gradient(100deg,#6F6A49,#96916F); color:white; padding:30px 0; }
.footer-layout { display:grid; grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr); gap:clamp(40px,7vw,96px); align-items:center; }
.footer-brand { display:block; width:max-content; max-width:100%; }
.reference-footer .reference-logo { width:320px; height:138px; object-fit:cover; object-position:center 55%; filter:brightness(0) invert(1); opacity:.8; margin-left:-30px; }
.footer-bottom { display:flex; justify-content:space-between; align-items:center; gap:24px; color:#fff; font-size:11px; line-height:1.6; }
.developer-credit { display:inline-flex; align-items:center; gap:6px; color:#fff; text-decoration:none; white-space:nowrap; font-size:10px; line-height:18px; }
.developer-logo { display:block; position:relative; width:62px; height:18px; overflow:hidden; }
.developer-credit > span:first-child { transform:translateY(2px); }
.developer-logo img { position:absolute; left:50%; top:50%; width:72px; height:72px; max-width:none; transform:translate(-50%,-50%); object-fit:contain; }
.developer-credit:hover { opacity:.8; }
.developer-credit:focus-visible { outline:2px solid #fff; outline-offset:4px; border-radius:3px; }
.reference-footer .panel-link { color:#fff; font-size:11px; opacity:.9; text-underline-offset:3px; }
#booking-dialog { width:min(600px,calc(100% - 24px)); max-width:none; max-height:90dvh; padding:0; border:0; border-radius:16px; background:#fff; overflow:auto; }
#booking-dialog::backdrop { background:#342f2b99; }
#booking-dialog #agendar { width:100%; padding:0; background:#fff; }
#booking-dialog .booking-panel { position:relative; width:100%; max-width:none; margin:0; border:0; border-radius:16px; }
#booking-dialog .booking-panel > .bg-primary { padding:26px 56px 22px; }
#booking-dialog .booking-content { padding:24px 28px 28px; }
#booking-dialog #service-list,#booking-dialog #step-2 > .grid { grid-template-columns:1fr; gap:12px; }
.dialog-close { position:absolute; top:14px; right:14px; z-index:3; display:grid; place-items:center; width:36px; height:36px; padding:8px; border:0; border-radius:50%; background:var(--primary-dark); color:#fff; cursor:pointer; }
.dialog-close svg { stroke:#fff; }
.contact-button { border:0; cursor:pointer; }
.hero-links { display:flex; gap:24px; margin-top:20px; font-size:13px; }
.hero-links a { text-decoration:underline; text-underline-offset:4px; }
.booking-hint { display:block; color:var(--text-secondary); font-size:12px; margin-top:16px; }
.reference-site .plans-section { padding:64px 0; scroll-margin-top:24px; }
.plans-heading { text-align:center; margin-bottom:32px; }
.plans-heading p { margin:14px auto 0; max-width:650px; }
.reference-site #planos .plans-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; align-items:stretch; }
.reference-site #planos .plan-option { display:flex; flex-direction:column; padding:24px; border:1px solid #D7D5CD; border-radius:8px; background:#E7E6DC; color:var(--text); }
.plan-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; margin-bottom:20px; }
.plan-heading h3 { font-size:20px; color:var(--primary-dark); }
.plan-heading span { font-size:12px; background:rgba(111,106,73,.10); color:var(--primary-dark); padding:4px 10px; border-radius:999px; white-space:nowrap; }
.reference-site #planos .plan-option.plan-recommended { position:relative; border-color:transparent; background:#DCDACB; box-shadow:0 8px 24px rgba(111,106,73,.16); }
.reference-site #planos .plan-option.plan-highlight { position:relative; border-color:transparent; background:#E1DFD1; }
.plan-badge { position:absolute; top:-14px; left:50%; z-index:1; transform:translateX(-50%); white-space:nowrap; background:var(--primary-dark); color:#fff; font-size:12px; line-height:1.2; font-weight:600; padding:6px 16px; border-radius:999px; box-shadow:0 3px 10px rgba(52,47,43,.22); }
.plan-badge-secondary { background:var(--primary-dark); color:#fff; box-shadow:0 3px 10px rgba(52,47,43,.22); }
.plan-consultations { display:block; color:var(--text); font-size:16px; font-weight:500; margin-bottom:8px; }
.plan-option > p { color:var(--text-secondary); font-size:13px; min-height:64px; }
.plan-option details { margin-top:20px; border-top:1px solid rgba(111,106,73,.24); }
.plan-option summary { display:flex; align-items:center; justify-content:space-between; gap:8px; cursor:pointer; list-style:none; padding:16px 0 0; font-size:12px; color:var(--primary-dark); }
.plan-option summary::-webkit-details-marker { display:none; }
.plan-option summary svg { width:16px; height:16px; flex-shrink:0; transition:transform 180ms ease; }
.plan-option details[open] summary svg { transform:rotate(45deg); }
.plan-option details ul { list-style:disc; padding-left:16px; margin-top:16px; font-size:12px; color:var(--text-secondary); }
.plan-option details li + li { margin-top:8px; }
.plan-cta { display:flex; justify-content:center; align-items:center; width:100%; margin-top:auto; text-align:center; min-height:68px; }
.reference-site #planos .plan-cta { min-height:68px; }
.plan-benefits { margin:20px 0 24px; padding-top:16px; border-top:1px solid rgba(111,106,73,.24); }
.plan-benefits-title { font-size:13px; font-weight:500; color:var(--primary-dark); }
.plan-benefits ul { list-style:disc; padding-left:18px; margin:16px 0 0; font-size:13px; color:var(--text-secondary); }
.plan-benefits li + li { margin-top:8px; }
.footer-review-link svg { color:#e8bd4d; fill:#e8bd4d; }
.duo-plan-card { min-width:0; }
.plans-action { text-align:center; margin-top:32px; }
.plans-action h3 { font-size:20px; margin-bottom:6px; }
.plans-action p { font-size:13px; margin:0 0 18px; }
.plans-action .contact-button { width:auto; min-width:min(100%,360px); }
.text-contact { display:inline-flex; align-items:center; gap:6px; color:var(--primary-dark); font-size:13px; text-decoration:underline; text-underline-offset:4px; margin-top:18px; }
.text-contact svg { width:16px; height:16px; }
.contact-widget { position:fixed; right:24px; bottom:24px; z-index:40; display:flex; flex-direction:column; align-items:flex-end; gap:10px; font-family:inherit; }
.contact-toggle { display:grid; place-items:center; width:58px; height:58px; border:0; border-radius:50%; background:var(--primary-dark); color:#fff; box-shadow:0 8px 28px #3b382852; cursor:pointer; transition:transform 180ms ease, background-color 180ms ease; }
.contact-toggle:hover { transform:translateY(-2px); background:var(--primary); }
.contact-toggle svg { width:27px; height:27px; }
.contact-menu[hidden] { display:none; }
.contact-menu { display:grid; gap:8px; padding:8px; background:#fff; border:1px solid var(--border); border-radius:18px; box-shadow:0 10px 32px #3b38282e; animation:contact-menu-enter 200ms ease both; }
.contact-menu a { display:flex; align-items:center; gap:10px; min-width:154px; padding:10px 12px; border-radius:11px; color:var(--primary-dark); font-size:13px; font-weight:600; text-decoration:none; }
.contact-menu a:hover,.contact-menu a:focus-visible { background:var(--background-secondary); }
.contact-menu svg { width:21px; height:21px; flex-shrink:0; }
.contact-toggle:focus-visible,.contact-menu a:focus-visible { outline:2px solid var(--primary-dark); outline-offset:3px; }
@keyframes contact-menu-enter { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
.scroll-revealed { animation:section-enter 650ms cubic-bezier(.2,.65,.2,1) var(--reveal-delay,0ms) both; }
@keyframes section-enter { from { opacity:.65; transform:translateY(18px); } to { opacity:1; transform:translateY(0); } }
@media(prefers-reduced-motion:reduce) { .scroll-revealed,.contact-menu { animation:none; } .contact-toggle { transition:none; } }
.reference-site .about-section { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:64px; align-items:center; padding:64px 0; text-align:left; }
.about-portrait { display:block; width:100%; max-width:380px; height:auto; border-radius:16px; justify-self:center; }
.reference-site .about-section .about-copy { display:block; }
.reference-site .about-section .check-list li { display:block; text-align:center; }
.reference-site .about-section .check-list svg { display:inline-block; vertical-align:middle; margin-right:8px; }
.reference-site .about-details > p { margin-bottom:18px; }
.reference-site .about-details .about-closing { font-weight:600; color:#4c4b40; }
.reference-site .testimonials-section,.reference-site .contact-section { padding:56px 0; }
.reference-site .review-card { min-height:240px; }
.reference-site .review-controls { margin:20px 0; }
.reviews-whatsapp-cta { margin:12px auto 0; text-align:center; }
.reviews-whatsapp-cta .contact-button { border:1px solid rgba(255,255,255,.7); }
.reference-footer .footer-links a { color:#fff; text-underline-offset:3px; }
.reference-site .contact-button { min-height:54px; }
#booking-dialog .bg-primary > p { color:#fff; }
@media(min-width:1600px) { .hero-layout,.hero-photo { min-height:700px; height:700px; } }
@media(min-width:1800px) { .reference-container { width:82%; max-width:1440px; } .reference-site #planos .plans-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(min-width:768px) and (max-width:1350px) {
 .reference-container { width:82%; max-width:1080px; }
 .introduction { gap:56px; }
 .contact-layout,.about-section { gap:64px; }
 .reference-site h1,.reference-site h2 { font-size:28px; }
 .footer-layout { grid-template-columns:260px 1fr; gap:32px; }
 .reference-footer .reference-logo { width:260px; }
}

@media(max-width:767px) {
 .contact-widget { right:16px; bottom:16px; }
 .contact-toggle { width:54px; height:54px; }
 .reference-site { font-size:12px; line-height:1.55; }
 .reference-container { width:calc(100% - 36px); }
 .reference-site h1,.reference-site h2 { font-size:20px; line-height:1.3; letter-spacing:-.02em; }
 .reference-hero { background:white; }
 .hero-layout { display:flex; flex-direction:column-reverse; min-height:0; width:100%; }
 .hero-photo { height:340px; width:100%; background:transparent; }
 .hero-photo img { object-fit:contain; object-position:center bottom; width:auto; }
 .hero-copy { width:100%; padding:0 18px 32px; text-align:center; }
 .hero-copy .reference-logo { width:270px; height:130px; object-fit:cover; object-position:center 53%; margin:-18px auto 16px; }
 .hero-copy p { font-size:12px; margin:0 auto 24px; max-width:330px; }
 .contact-button { width:100%; min-height:50px; padding:12px 20px; font-size:11px; }
 .contact-button svg { width:18px; height:18px; }
 .introduction { display:flex; flex-direction:column-reverse; gap:24px; padding:40px 0 24px; }
 .intro-copy h2 { margin-bottom:22px; }
 .check-list { gap:16px; margin-bottom:24px; }
 .check-list li { gap:10px; }
 .check-list svg { width:20px; height:20px; padding:3px; }
 .intro-photo { width:100%; border-radius:8px; }
 .intro-photo > img { height:320px; object-position:center 42%; }
 .intro-photo figcaption { height:76px; }
 .intro-photo .reference-logo { height:80px; width:270px; }
 .services-section { padding:48px 0 40px; }
 .services-section > h2 { font-size:18px; }
 .service-grid { grid-template-columns:1fr; gap:14px; margin:36px 0; }
 .service-card { padding:24px 22px; min-height:170px; }
 .service-card:before { left:22px; width:38px; height:3px; }
 .service-card > svg { width:28px; height:28px; margin-bottom:18px; }
 .service-card h3 { font-size:14px; }
 .service-card p { font-size:12px; }
 .care-section { padding:36px 0 56px; }
 .care-section h2 { max-width:300px; margin:auto; }
 .care-intro { margin:18px auto 24px!important; }
 .care-highlight { padding:24px 22px; text-align:left; font-size:16px; border-radius:10px; }
 .care-caption { margin:20px auto 32px!important; }
 .testimonials-section { padding:64px 0; }
 .testimonials-section h2 { max-width:260px; margin:auto; font-size:20px; }
 .review-controls { gap:48px; margin:24px 0; }
 .review-controls button { width:30px; height:30px; }
 .review-track { gap:12px; }
 .review-card { flex-basis:100%; min-height:230px; height:230px; padding:18px 20px; }
 .review-card blockquote { font-size:15px; }
 .about-section { display:grid; grid-template-columns:1fr; gap:0; padding:64px 0; }
 .about-copy { display:contents; }
 .about-copy h2 { order:0; text-align:center; margin-bottom:24px; }
 .about-details { order:2; }
 .about-details > p { margin-bottom:20px; }
 .contact-section { padding:64px 0; }
 .contact-layout { display:flex; flex-direction:column; gap:40px; align-items:stretch; }
 .contact-layout h2 { margin-bottom:12px; }
 .contact-layout address a { font-size:11px; }
 .map-card iframe { height:290px; }
 .map-card > a { font-size:10px; padding:16px; }
 .reference-footer { padding:30px 0 24px; }
 .footer-layout { display:grid; grid-template-columns:1fr; justify-items:center; gap:14px; text-align:center; }
 .footer-brand { justify-self:center; }
 .reference-footer .reference-logo { margin:0; width:280px; height:122px; }
 .footer-bottom { width:100%; justify-content:center; flex-wrap:wrap; gap:10px 20px; padding-top:12px; border-top:1px solid #ffffff45; font-size:10px; }
 .hero-links { justify-content:center; gap:20px; font-size:12px; }
 .booking-hint { font-size:11px; }
 .reference-site .plans-section { padding:32px 0 40px; }
 .plans-heading { margin-bottom:24px; }
 .reference-site #planos .plans-grid { grid-template-columns:1fr; gap:24px 12px; }
 .reference-site #planos .plan-option { padding:18px; }
 .plan-heading { margin-bottom:10px; }
 .plan-heading h3 { font-size:18px; }
 .plan-consultations { font-size:14px; margin-bottom:4px; }
 .plan-option > p { min-height:0; font-size:12px; }
 .plan-option details { margin-top:12px; }
 .plan-option summary { padding-top:12px; }
 .duo-plan-card { padding:18px; }
 .plans-action { margin-top:24px; }
 .plans-action h3 { font-size:17px; }
 .reference-site .about-section { grid-template-columns:1fr; gap:28px; padding:32px 0 40px; text-align:left; }
 .about-portrait { max-width:300px; }
 .reference-site .testimonials-section,.reference-site .contact-section { padding:40px 0; }
 .reference-site .review-card { min-height:230px; height:230px; }
 .reviews-whatsapp-cta { margin-top:10px; }
 .review-card blockquote { font-size:13px; }
 .reference-site .contact-button { min-height:48px; }
 #booking-dialog { width:calc(100% - 16px); max-height:94dvh; border-radius:14px; }
 #booking-dialog .booking-panel { border-radius:14px; }
 #booking-dialog .booking-panel > .bg-primary { padding:28px 48px 20px; }
 #booking-dialog .booking-content { padding:22px 18px 26px; }
 .dialog-close { top:10px; right:10px; width:34px; height:34px; }
}

/* Keep the footer to brand plus utility links; contact information lives above. */
.reference-footer { padding:16px 0 12px; }
.footer-layout { grid-template-columns:320px minmax(0,1fr); grid-template-rows:1fr auto; gap:8px clamp(32px,6vw,72px); align-items:center; }
.footer-brand { grid-column:1; grid-row:1; }
.footer-links { grid-column:2; grid-row:1; display:flex; justify-content:flex-end; align-items:center; gap:24px; }
.footer-review-link { display:inline-flex; align-items:center; gap:6px; padding:7px 12px; border:1px solid rgba(255,255,255,.62); border-radius:999px; text-decoration:none; font-size:12px; transition:background 180ms ease,border-color 180ms ease; }
.footer-review-link svg { width:14px; height:14px; }
.footer-review-link:hover { background:rgba(255,255,255,.12); border-color:#fff; }
.footer-review-link:focus-visible,.footer-links .panel-link:focus-visible { outline:2px solid #fff; outline-offset:3px; }
.footer-bottom { grid-column:1/-1; grid-row:2; width:100%; padding-top:8px; border-top:1px solid #ffffff45; text-align:center; font-size:10px; }
@media(min-width:768px) and (max-width:1350px) {
 .footer-layout { grid-template-columns:260px 1fr; column-gap:32px; row-gap:4px; }
}
@media(max-width:767px) {
 .reference-footer { padding:12px 0 10px; }
 .footer-layout { display:grid; grid-template-columns:1fr; grid-template-rows:auto auto auto; justify-items:center; gap:10px; text-align:center; }
 .footer-brand { justify-self:center; }
 .footer-brand,.footer-links,.footer-bottom { grid-column:1; }
 .footer-brand { grid-row:1; }
 .footer-links { grid-row:2; justify-content:center; flex-wrap:wrap; gap:10px 18px; font-size:11px; }
 .footer-bottom { grid-row:3; padding-top:8px; font-size:10px; }
}
