@font-face { font-family: Manrope; font-style: normal; font-weight: 400; font-display: swap; src: url('assets/fonts/manrope-400-latin.woff2') format('woff2'); }
@font-face { font-family: Manrope; font-style: normal; font-weight: 500; font-display: swap; src: url('assets/fonts/manrope-500-latin.woff2') format('woff2'); }
@font-face { font-family: Manrope; font-style: normal; font-weight: 600; font-display: swap; src: url('assets/fonts/manrope-600-latin.woff2') format('woff2'); }
@font-face { font-family: Manrope; font-style: normal; font-weight: 700; font-display: swap; src: url('assets/fonts/manrope-700-latin.woff2') format('woff2'); }
:root { --paper:#fff; --ink:#123b36; --deep:#0b2d29; --muted:#526761; --soft-ink:#315f50; --light-muted:#d2e3dc; --gold:#d2e3dc; --line:#dbe4df; --wash:#f3f7f5; --white:#fff; --error:#a52325; --focus:#327562; --serif:Manrope,sans-serif; --sans:Manrope,sans-serif; --gutter:clamp(24px,5vw,80px); font-family:var(--sans); }
h1,h2,h3 {font-family:var(--sans); font-weight:600; letter-spacing:-.035em; line-height:1.12; text-wrap:balance;}
em {font-style:normal;}
.container {width:calc(100% - 2 * var(--gutter)); max-width:1456px;}
.button {min-height:56px; border-radius:7px; padding:15px 24px; font-size:16px; font-weight:500; gap:12px;}
.button-secondary {background:var(--white);color:var(--ink);}
.button-secondary:hover {background:var(--wash);}
.header {background:#fff; border-bottom:1px solid #e8eeeb;}
.header-inner {min-height:92px; gap:30px;}
.brand {gap:12px;}
.brand img {width:34px; height:44px;}
.brand-name {font-family:var(--sans); font-size:32px; font-weight:600; line-height:1; letter-spacing:.01em;}
.brand-name > span {font-size:11px;letter-spacing:.16em; margin-top:9px;}
.site-nav {display:flex; align-items:center; gap:34px; margin-left:auto;}
.site-nav > a {font-size:16px; min-height:44px; display:inline-flex; align-items:center;}
.site-nav .mobile-contact {display:none;}
.header-phone {display:inline-flex; align-items:center; gap:10px; white-space:nowrap; font-size:15px; min-height:44px; margin-left:clamp(0px,4vw,64px);}
.header-phone .icon {width:18px;height:18px;}
.header-cta {margin:0; min-height:52px; white-space:nowrap; font-size:15px; padding-inline:20px;}
.hero {background:var(--white); padding:20px 0 24px; border-bottom:1px solid #e8eeeb;}
.hero-grid {display:grid; grid-template-columns:minmax(0,.408fr) minmax(0,.592fr); align-items:center; gap:64px; width:calc(100% - var(--gutter) - 24px);max-width:1630px; margin-left:var(--gutter);}
.hero-copy {padding:44px 0 0;}
.hero h1 {font-size:clamp(52px,5.05vw,82px);font-weight:700;line-height:1.03;letter-spacing:-.035em; margin:0;}
.hero h1 span {display:block;}
.hero-description {font-size:22px; color:var(--ink); line-height:1.4; max-width:550px; margin-top:26px;}
.hero-actions {display:flex; flex-wrap:wrap; gap:20px; align-items:center; margin-top:34px;}
.hero-actions .button {min-height:62px;}
.hero-actions .button-primary {padding-inline:24px;}
.hero-actions .button-secondary {min-width:162px;}
.hero-visual {width:100%; height:clamp(400px,35.88vw,600px); margin:0; border-radius:12px;overflow:hidden;}
.hero-visual picture {display:block; width:100%;height:100%;}
.hero-visual img {width:100%;height:100%;object-fit:cover;object-position:center;}
.needs-nav {background:var(--white);border-bottom:1px solid #e8eeeb;}
.needs-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding-block:30px;}
.need-link {display:flex;align-items:flex-start;gap:24px;min-height:106px;padding:8px 32px 8px 0;position:relative;}
.need-link + .need-link {border-left:1px solid var(--line);padding-left:42px;}
.need-icon {width:58px;height:58px;flex:none;display:grid;place-items:center;border-radius:50%;background:#cee1d9;color:var(--ink);}
.need-icon .icon {width:28px;height:28px;}
.need-copy {display:flex;flex-direction:column;gap:7px;}
.need-copy strong {font-size:18px;font-weight:600;line-height:1.35;letter-spacing:-.02em;}
.need-copy > span {font-size:16px;line-height:1.45;color:var(--muted);}
.need-link > .icon {width:22px;height:22px;margin-top:auto;margin-left:auto;align-self:flex-end;}
.need-link:hover strong {text-decoration:underline;text-underline-offset:4px;}
.need-link:hover .need-icon {background:#bfd8cd;}
.services-section {background:var(--wash); padding-block:90px;}
.section-heading {align-items:center;gap:60px;margin-bottom:48px;}
.section-heading h2 {font-size:52px;max-width:680px;}
.section-heading > p {font-size:17px;}

* { box-sizing: border-box; }
body { margin: 0; line-height: 1.65; }
button, input, select, textarea { font: inherit; color: inherit; }
button, summary, select { cursor: pointer; }
button, a, summary { -webkit-tap-highlight-color: #ccbb9640; touch-action: manipulation; }
a { color: inherit; text-decoration: none; text-underline-offset: .24em; }
img { display: block; max-width: 100%; height: auto; }
h1, h2, h3, p, figure { margin: 0; }
h1, h2, h3 { font-family: var(--serif); font-weight: 400; line-height: 1.06; letter-spacing: -.025em; text-wrap: balance; }
h2 { font-size: clamp(42px, 4.4vw, 60px); }
em { font-weight: 400; }
p { text-wrap: pretty; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 5px; border-radius: 3px; }
::selection { background: var(--gold); color: var(--deep); }
input, textarea { caret-color: var(--ink); }
section, .anchor-target { scroll-margin-top: 112px; }
.container { width: min(1240px, calc(100% - 96px)); margin-inline: auto; }
.section { padding-block: 88px; }
.icon-definitions { position: absolute; overflow: hidden; }
.icon { display: inline-block; width: 22px; height: 22px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; vertical-align: middle; }
.skip-link { position: fixed; top: 12px; left: 16px; z-index: 100; padding: 12px 20px; background: var(--deep); color: var(--white); transform: translateY(-180%); }
.skip-link:focus { transform: translateY(0); }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 14px; min-height: 54px; padding: 14px 24px; border: 1px solid var(--ink); border-radius: 4px; font-size: 15px; font-weight: 700; line-height: 1.4; transition: background-color .2s, color .2s, border-color .2s; }
.button-primary { background: var(--ink); color: var(--white); }
.button-primary:hover { background: var(--deep); border-color: var(--deep); }
.button .icon { width: 21px; height: 21px; }
.text-link, .small-link { display: inline-flex; align-items: center; gap: 16px; min-height: 44px; font-size: 15px; font-weight: 700; }
.text-link .icon, .small-link .icon { width: 18px; height: 18px; transition: transform .25s var(--ease); }
.text-link:hover, .small-link:hover { text-decoration: underline; }
.text-link:hover .icon, .small-link:hover .icon { transform: translate(2px, -2px); }

.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 44px; }
.section-heading h2 em { color: var(--soft-ink); }
.section-heading > p { padding-bottom: 4px; color: var(--muted); font-size: 16px; }
.services-layout { display: grid; grid-template-columns: .92fr 1.08fr; gap: 72px; align-items: start; }
.opening-service { display: flex; flex-direction: column; align-items: start; min-height: 370px; padding: 40px; background: var(--wash); border-radius: 12px; }
.opening-service h3 { font-size: 51px; }
.opening-service h3 em { color: var(--soft-ink); }
.opening-service p { margin-top: 22px; color: var(--muted); }
.opening-service .text-link { margin-top: auto; padding-top: 20px; }
.service-list { border-top: 1px solid var(--line); }
.service-item { border-bottom: 1px solid var(--line); }
summary { list-style: none; }
summary::-webkit-details-marker { display: none; }
.service-item summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 74px; padding-block: 20px; }
.service-item h3 { font-family: var(--sans); font-size: 19px; letter-spacing: 0; line-height: 1.4; }
.service-item summary .icon, .faq-list summary .icon, .message-panel summary .icon, .privacy summary .icon { width: 20px; height: 20px; transition: transform .2s; }
details[open] > summary .icon { transform: rotate(45deg); }
.service-item summary:hover, .faq-list summary:hover { color: var(--soft-ink); }
.service-item[open] h3 { font-weight: 700; }
.service-content { padding: 0 0 24px; }
.service-content p { color: var(--muted); max-width: 46ch; }
.service-content .text-link { margin-top: 12px; font-size: 14px; }
.about-section { background: var(--deep); color: var(--white); }
.about-grid { display: grid; grid-template-columns: .92fr 1.08fr; gap: 72px; align-items: start; }
.about-section h2 { font-size: clamp(43px, 4.2vw, 58px); }
.about-section h2 em { color: var(--gold); }
.about-copy > p { font-size: 18px; color: var(--light-muted); max-width: 48ch; }
.about-copy strong { color: var(--white); font-weight: 400; }
.about-section :focus-visible { outline-color: var(--focus); }
.faq-list { margin-top: 28px; }
.faq-list details { border-bottom: 1px solid #c4d5cf40; }
.faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 64px; padding-block: 16px; font-size: 15px; }
.faq-list summary:hover { color: var(--gold); }
.faq-list details p { padding: 0 24px 20px 0; color: var(--light-muted); font-size: 15px; }
.contact-heading { display: flex; align-items: center; justify-content: space-between; gap: 32px; margin-bottom: 48px; }
.contact-heading h2 { font-size: clamp(44px, 4.7vw, 64px); }
.contact-heading p { margin-top: 14px; color: var(--muted); }
.contact-information { display: grid; grid-template-columns: 1fr 1.12fr 1.05fr; gap: 40px; padding-bottom: 40px; }
.contact-channel { min-width: 0; }
.contact-channel h3 { margin-bottom: 12px; font-family: var(--sans); font-size: 14px; line-height: 1.4; letter-spacing: 0; color: var(--muted); }
.phone-link, .email-link { display: inline-flex; align-items: center; gap: 14px; min-height: 44px; }
.phone-link { font-size: 25px; font-variant-numeric: tabular-nums; }
.email-link { font-size: 16px; overflow-wrap: anywhere; }
.phone-link .icon, .email-link .icon { width: 17px; height: 17px; }
.phone-link:hover, .email-link:hover { text-decoration: underline; }
.contact-channel .small-link { display: flex; width: fit-content; font-size: 14px; font-weight: 400; }
address { font-style: normal; font-size: 15px; line-height: 1.75; }
.message-panel { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.message-panel > summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 78px; padding-block: 20px; font-size: 16px; }
.message-panel > summary > span { display: flex; align-items: center; gap: 20px; font-size: 14px; color: var(--muted); }
.message-panel > summary:hover { color: var(--white); }
.message-content { max-width: 980px; padding: 12px 0 36px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.field { margin-bottom: 24px; min-width: 0; }
.field label { display: block; margin-bottom: 8px; font-size: 14px; font-weight: 700; }
.field label > span { color: var(--muted); font-weight: 400; }
.field input, .field select, .field textarea { display: block; width: 100%; padding: 12px 14px; min-height: 48px; border: 1px solid #839b91; border-radius: 4px; color: var(--ink); background: var(--white); line-height: 1.5; }
.field input::placeholder, .field textarea::placeholder { color: #546b63; opacity: 1; }
.field textarea { resize: vertical; min-height: 80px; }
.field input:focus, .field select:focus, .field textarea:focus { outline: 2px solid var(--ink); outline-offset: 2px; }
.field [aria-invalid='true'] { border-color: var(--error); }
.field-error { display: block; margin-top: 8px; color: var(--error); font-size: 14px; }
.form-actions { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.form-actions p { color: var(--muted); font-size: 14px; }
.form-feedback { padding: 20px; margin-top: 24px; background: var(--wash); font-size: 15px; border-radius: 4px; }
.form-feedback a { font-weight: 700; text-decoration: underline; }
.footer { border-top: 1px solid var(--line); }
.footer-main { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding-block: 32px; }
.footer-social { display: flex; gap: 32px; }
.footer-social a { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font-size: 14px; }
.footer-social a:hover { text-decoration: underline; }
.footer-social .icon { width: 16px; height: 16px; }
.footer-bottom { display: grid; grid-template-columns: 1fr auto; align-items: start; gap: 24px 40px; padding-block: 24px 32px; border-top: 1px solid var(--line); font-size: 13px; color: var(--muted); }
.legal-copy p + p { margin-top: 4px; }
.privacy { display: contents; }
.privacy > summary { display: flex; align-items: center; gap: 14px; min-height: 44px; font-size: 14px; color: var(--ink); }
.privacy > summary:hover { text-decoration: underline; }
.privacy-content { grid-column: 1 / -1; max-width: 72ch; padding-top: 16px; }
.privacy-content h2 { font-size: 32px; color: var(--ink); margin-bottom: 16px; }
.privacy-content p { margin-top: 12px; font-size: 14px; }
.privacy-content a { text-decoration: underline; overflow-wrap: anywhere; }
.floating-whatsapp { position: fixed; z-index: 20; right: 24px; bottom: max(24px, env(safe-area-inset-bottom)); display: flex; justify-content: center; align-items: center; gap: 10px; width: 54px; height: 54px; border-radius: 50%; background: var(--ink); color: var(--white); box-shadow: 0 5px 18px #062f3326; transition: opacity .2s, background-color .2s, visibility .2s; }
.floating-whatsapp:hover { background: var(--deep); }
.floating-whatsapp span { display: none; }
.floating-whatsapp.near-contact { opacity: 0; visibility: hidden; pointer-events: none; }


/* Corporate layout and interaction states. */
:root {color:var(--ink);background:var(--paper);color-scheme:light;font-size:16px;scroll-behavior:smooth;scroll-padding-top:104px;scrollbar-color:#82a699 #f0f5f2;--ease:cubic-bezier(.16,1,.3,1);}
body {font-family:var(--sans);}
section,[id^="servico"],#abrir-empresa {scroll-margin-top:112px;}
h1,h2,h3 {font-family:var(--sans);font-weight:600;letter-spacing:-.035em;line-height:1.12;}
em {font-style:normal;font-weight:inherit;}
.container {width:calc(100% - 2 * var(--gutter));max-width:1456px;}
.section {padding-block:88px;}
.button {min-height:56px;border-radius:7px;padding:15px 24px;font-size:16px;font-weight:500;gap:12px;}
.button-primary {background:var(--ink);color:var(--white);}
.button-primary:hover {background:var(--deep);}
.button-secondary {background:#fff;color:var(--ink);}
.header {position:sticky;top:0;z-index:30;}
.header-inner {display:flex;align-items:center;min-height:92px;gap:30px;}
.brand {display:inline-flex;align-items:center;gap:12px;flex-shrink:0;min-height:48px;}
.brand img {width:34px;height:44px;object-fit:contain;}
.brand-name {font-family:var(--sans);font-size:32px;font-weight:600;line-height:1;letter-spacing:.01em;}
.brand-name > span {display:block;font-size:11px;font-weight:600;letter-spacing:.16em;margin-top:9px;}
.site-nav {margin-inline:auto;}
.site-nav > a:hover {text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px;}
.header-phone {margin-left:0;}
.header-cta {min-width:208px;min-height:52px;padding-inline:18px;font-size:15px;}
.menu-toggle {display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:46px;height:46px;border:1px solid var(--line);border-radius:7px;background:var(--white);}
.menu-toggle span {display:block;width:20px;height:2px;background:var(--ink);transition:transform .2s;}
.menu-toggle[aria-expanded="true"] span:first-child {transform:translateY(4px) rotate(45deg);}
.menu-toggle[aria-expanded="true"] span:last-child {transform:translateY(-4px) rotate(-45deg);}
.hero-copy {padding-top:18px;}
.hero h1 {font-size:clamp(50px,5.63vw,88px);font-weight:700;line-height:.98;letter-spacing:-.035em;}
.hero-description {font-size:22px;margin-top:28px;line-height:1.4;}
.hero-actions {gap:20px;margin-top:34px;}
.hero-actions .button-primary {min-width:292px;}
.hero-actions .button-secondary {min-width:170px;}
.hero-actions .button {font-size:17px;min-height:62px;}
.need-copy strong {font-size:19px;}
.services-section {background:var(--wash);padding-block:88px;}
.section-heading {display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:72px;margin-bottom:48px;}
.section-heading h2 {font-size:52px;max-width:680px;}
.section-heading > p {font-size:17px;max-width:32ch;line-height:1.6;color:var(--muted);}
.services-layout {grid-template-columns:.86fr 1.14fr;gap:72px;}
.opening-service {min-height:382px;padding:36px;background:#fff;border:1px solid var(--line);border-radius:12px;}
.opening-service h3 {font-size:42px;letter-spacing:-.035em;}
.opening-service h3 em {color:var(--soft-ink);}
.opening-service p {margin-top:20px;font-size:17px;line-height:1.6;}
.opening-service .text-link {font-weight:600;}
.service-item summary {min-height:76px;padding-block:20px;}
.service-item h3 {font-size:19px;font-weight:500;}
.service-item[open] h3 {font-weight:600;}
.service-content p {max-width:60ch;}
.about-section {background:#fff;color:var(--ink);}
.about-grid {grid-template-columns:.86fr 1.14fr;gap:72px;}
.about-section h2 {font-size:44px;line-height:1.16;max-width:520px;}
.about-section h2 em {color:var(--soft-ink);}
.about-copy > p {color:var(--muted);font-size:18px;max-width:58ch;}
.about-copy strong {color:var(--ink);font-weight:600;}
.faq-list {margin-top:26px;}
.faq-list details {border-color:var(--line);}
.faq-list summary {font-size:16px;font-weight:500;}
.faq-list summary:hover {color:var(--soft-ink);}
.faq-list details p {color:var(--muted);}
.contact-section {background:var(--ink);color:#fff;--focus:#d2e3dc;--error:#ffd3cc;}
.contact-heading {align-items:center;}
.contact-heading h2 {font-size:52px;}
.contact-heading p {color:#d2e3dc;font-size:18px;margin-top:16px;}
.contact-section .button-primary {background:#fff;border-color:#fff;color:var(--ink);}
.contact-section .button-primary:hover {background:#dcebe4;border-color:#dcebe4;}
.contact-information {grid-template-columns:1fr 1.2fr 1fr;gap:44px;margin-top:56px;}
.contact-channel h3 {color:#d2e3dc;font-size:15px;}
.phone-link {font-size:26px;font-weight:500;}
.email-link {font-size:17px;}
.contact-channel .small-link {color:#e3efe9;}
.message-panel {border-color:#ffffff40;margin-top:48px;}
.message-panel > summary > span {color:#d2e3dc;}
.field label {font-weight:500;}
.field label > span,.form-actions p {color:#d2e3dc;}
.field input,.field select,.field textarea {background:#fff;color:var(--ink);border-color:#e3ece7;border-radius:6px;--focus:#d2e3dc;}
.field input::placeholder,.field textarea::placeholder {color:#526761;}
.field input[aria-invalid="true"],.field select[aria-invalid="true"] {border:2px solid #ffd3cc;}
.form-feedback {background:#e9f2ed;color:var(--ink);border-radius:6px;}
.footer {background:#fff;}
.footer-main {padding-block:36px;border-top:0;}
.footer-bottom {font-size:13px;}
.privacy-content h2 {font-size:28px;}
.floating-whatsapp {background:var(--ink);box-shadow:0 5px 18px #123b3626;transition:background-color .2s;}
.floating-whatsapp.near-contact {opacity:0;visibility:hidden;pointer-events:none;}
.hero-visual {animation:photo-settle .65s var(--ease) both;}
@keyframes photo-settle {from{transform:translateY(8px);filter:blur(2px)}to{transform:translateY(0);filter:blur(0)}}
@media (min-width:1725px) {.hero-grid {margin-inline:auto;}}
@media (max-width:1250px) {
 .header-phone {display:none;}
 .site-nav {margin-left:auto;margin-right:24px;gap:28px;}
 .header-inner {gap:24px;}
 .hero-grid {gap:36px;}
 .hero-actions {gap:12px;}
 .hero-actions .button-primary {min-width:0;padding-inline:18px;}
 .hero-actions .button-secondary {min-width:126px;padding-inline:16px;}
 .hero-actions .button {font-size:15px;min-height:56px;}
 .hero-description {font-size:20px;}
 .need-link {gap:16px;padding-right:20px;}
 .need-link + .need-link {padding-left:24px;}
 .need-icon {width:46px;height:46px;}
 .need-copy strong {font-size:17px;}
 .need-copy > span {font-size:15px;}
 .need-copy br {display:none;}
 .services-layout,.about-grid {gap:48px;}
 .section-heading h2,.contact-heading h2 {font-size:44px;}
 .contact-information {gap:28px;}
 .email-link {font-size:16px;}
}
@media (max-width:980px) {
 .hero {padding:40px 0 24px;}
 .hero-grid {width:calc(100% - 2 * var(--gutter));margin-inline:auto;grid-template-columns:1fr;gap:32px;}
 .hero-copy {padding:0;}
 .hero h1 {font-size:64px;line-height:1.03;}
 .hero h1 span {display:inline;}
 .hero h1 span + span::before {content:' ';}
 .hero-description {max-width:580px;margin-top:24px;}
 .hero-actions {margin-top:24px;}
 .hero-visual {height:360px;}
 .need-link {flex-wrap:wrap;gap:16px;}
 .need-copy {flex-basis:100%;}
 .need-link > .icon {position:absolute;right:18px;top:22px;}
 .services-layout {grid-template-columns:.9fr 1.1fr;gap:32px;}
 .section-heading {grid-template-columns:1.3fr 1fr;gap:32px;}
 .section-heading h2 {font-size:38px;}
 .opening-service {padding:28px;}
 .opening-service h3 {font-size:36px;}
 .opening-service p br {display:none;}
 .about-grid {grid-template-columns:1fr 1.2fr;gap:40px;}
 .about-section h2 {font-size:36px;}
 .contact-information {grid-template-columns:1fr 1fr;gap:32px;}
 .contact-channel.address {grid-column:1 / -1;}
 .form-row {grid-template-columns:1fr;gap:24px;}
}
@media (max-width:760px) {
 :root {--gutter:24px;scroll-padding-top:88px;}
 section,[id^="servico"],#abrir-empresa {scroll-margin-top:96px;}
 .header-inner {min-height:76px;justify-content:space-between;flex-wrap:wrap;gap:0;}
 .brand {gap:10px;}
 .brand img {width:29px;height:38px;}
 .brand-name {font-size:26px;}
 .brand-name > span {font-size:11px;letter-spacing:.1em;margin-top:7px;}
 .header-cta,.header-phone {display:none;}
 .site-nav {flex-basis:100%;display:flex;flex-direction:column;align-items:stretch;gap:0;margin:0;padding-block:12px 20px;}
 .site-nav > a {padding:10px 0;min-height:48px;font-size:16px;}
 .site-nav .mobile-contact {display:flex;justify-content:space-between;color:var(--ink);font-weight:600;}
 .hero {padding:32px 0 24px;}
 .hero h1 {font-size:clamp(39px,11.2vw,60px);line-height:1.04;letter-spacing:-.035em;}
 .hero h1 span {display:block;}
 .hero h1 span + span::before {content:none;}
 .hero-description {font-size:18px;line-height:1.5;margin-top:20px;}
 .hero-actions {gap:8px 20px;margin-top:24px;}
 .hero-actions .button-primary {width:100%;font-size:16px;}
 .hero-actions .button-secondary {min-width:0;min-height:44px;border:0;padding:8px 0;justify-content:flex-start;font-size:15px;background:transparent;}
 .hero-visual {height:auto;aspect-ratio:1.478;border-radius:12px;}
 .hero-visual img {height:100%;}
 .needs-grid {grid-template-columns:1fr;padding-block:4px;}
 .need-link {align-items:center;flex-wrap:nowrap;min-height:112px;padding:24px 0;gap:18px;}
 .need-link + .need-link {padding-left:0;border-left:0;border-top:1px solid var(--line);}
 .need-copy {flex-basis:auto;gap:5px;}
 .need-copy strong {font-size:17px;}
 .need-copy > span {font-size:15px;}
 .need-copy br {display:none;}
 .need-link > .icon {position:static;align-self:center;margin-left:auto;margin-top:0;width:18px;}
 .need-icon {width:46px;height:46px;}
 .need-icon .icon {width:25px;height:25px;}
 .section {padding-block:56px;}
 .section-heading {display:block;margin-bottom:32px;}
 .section-heading h2 {font-size:34px;line-height:1.15;}
 .section-heading h2 br {display:none;}
 .section-heading > p {font-size:16px;margin-top:18px;}
 .section-heading > p br {display:none;}
 .services-layout,.about-grid {grid-template-columns:1fr;gap:32px;}
 .opening-service {padding:28px;min-height:276px;}
 .opening-service h3 {font-size:34px;}
 .opening-service h3 br {display:none;}
 .opening-service p {font-size:16px;margin-top:16px;}
 .opening-service .text-link {margin-top:24px;padding-top:0;font-size:14px;gap:10px;}
 .service-item summary {min-height:72px;gap:16px;}
 .service-item h3 {font-size:17px;}
 .service-content p {font-size:15px;}
 .service-content .text-link {font-size:14px;}
 .about-section h2 {font-size:34px;max-width:480px;}
 .about-copy > p {font-size:17px;}
 .faq-list summary {font-size:15px;gap:20px;}
 .contact-heading {display:block;}
 .contact-heading h2 {font-size:36px;}
 .contact-heading p {font-size:17px;margin-top:14px;}
 .contact-heading > .button {margin-top:24px;width:100%;}
 .contact-information {grid-template-columns:1fr;gap:30px;margin-top:40px;}
 .contact-channel.address {grid-column:auto;}
 .contact-channel h3 {margin-bottom:8px;}
 .phone-link {font-size:26px;}
 .email-link {font-size:16px;gap:10px;}
 .message-panel {margin-top:36px;}
 .message-panel > summary {align-items:flex-start;flex-direction:column;gap:8px;padding-block:20px;font-size:15px;}
 .message-panel > summary > span {font-size:14px;justify-content:space-between;width:100%;}
 .message-content {padding-bottom:24px;}
 .form-row {grid-template-columns:1fr;gap:20px;}
 .form-actions {flex-direction:column;align-items:stretch;gap:16px;}
 .form-actions .button {width:100%;font-size:15px;}
 .footer-main {flex-direction:column;align-items:flex-start;gap:20px;padding-block:28px;}
 .footer-social {gap:24px;}
 .footer-bottom {grid-template-columns:1fr;gap:16px;padding-bottom:88px;font-size:13px;}
 .privacy > summary {width:fit-content;}
 .privacy-content {padding-top:0;}
 .floating-whatsapp {right:18px;bottom:max(18px,env(safe-area-inset-bottom));width:52px;height:52px;border-radius:50%;padding:0;}
 .floating-whatsapp span {display:none;}
 .desktop-break {display:none;}
}
@media (max-width:360px) {
 :root {--gutter:20px;}
 .hero h1 {font-size:39px;}
 .need-link {gap:12px;}
 .need-copy strong {font-size:16px;}
 .need-copy > span {font-size:14px;}
 .opening-service {padding:24px;}
 .email-link {font-size:15px;}
 .contact-heading h2 {font-size:32px;}
}
@media (prefers-reduced-motion:reduce) {
 :root {scroll-behavior:auto;}
 *,*::before,*::after {animation:none!important;transition:none!important;}
}
@media print {
 .header,.floating-whatsapp,.hero-visual,.message-panel,.footer-social,.privacy {display:none;}
 .container,.hero-grid {width:100%;margin:0;}
 .hero-grid {display:block;}
 .section {padding-block:24px;}
 .contact-section {background:white;color:var(--ink);}
}
