/* Turan Oto Kurtarma — clear type, charcoal and genuine photographs. */
:root { --ink:#191b1d; --dark:#222528; --muted:#62676a; --accent:#d3eb3d; --accent-hover:#e2f466; --paper:#fff; --soft:#f3f4f0; --line:#dedfda; --dark-line:#414548; --max:1200px; --header-height:86px; --space-section:88px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:110px; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:"Segoe UI",Arial,sans-serif; font-size:16px; line-height:1.65; -webkit-font-smoothing:antialiased; overflow-wrap:break-word; }
body.menu-open { overflow:hidden; }
button,input,select,textarea { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; height:auto; }
figure,dl { margin:0; }
p { margin:0 0 1.25rem; }
h1,h2,h3 { margin:0; font-weight:700; letter-spacing:-.035em; line-height:1.16; }
h2 { font-size:clamp(1.85rem,2.8vw,2.5rem); }
h3 { font-size:1.3rem; }
::selection { color:var(--ink); background:var(--accent); }
:focus-visible { outline:3px solid #79890c; outline-offset:5px; }
.site-header :focus-visible,.hero :focus-visible,.section-dark :focus-visible,.site-footer :focus-visible { outline-color:var(--accent); }
[hidden],.no-js .enhancement-only { display:none!important; }
.container { width:min(var(--max),calc(100% - 80px)); margin-inline:auto; }
.icon { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.skip-link { position:fixed; top:-120px; left:20px; z-index:100; padding:12px 20px; color:var(--ink); background:var(--accent); }
.skip-link:focus { top:12px; }
.topbar { background:#111315; color:#bfc3c5; font-size:.75rem; }
.topbar .container { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:32px; }
.topbar a { padding-block:4px; }
.topbar a:hover { color:var(--accent); }
.site-header { position:sticky; top:0; z-index:40; color:white; background:var(--ink); border-bottom:1px solid #363a3d; }
.header-inner { display:flex; align-items:center; justify-content:space-between; gap:26px; min-height:var(--header-height); }
.brand { display:inline-flex; align-items:center; gap:11px; flex-shrink:0; line-height:1; }
.brand-logo { width:55px; height:55px; object-fit:contain; border-radius:50%; }
.brand-copy strong { display:block; font-size:1.43rem; font-weight:800; letter-spacing:.045em; }
.brand-copy span { display:block; font-size:.61rem; font-weight:600; letter-spacing:.12em; margin-top:7px; }
.site-nav { display:flex; align-items:center; gap:24px; }
.site-nav a { position:relative; padding-block:32px; font-size:.82rem; white-space:nowrap; color:#dedfe0; }
.site-nav a::after { content:""; position:absolute; left:0; right:0; bottom:23px; height:2px; background:var(--accent); transform:scaleX(0); transform-origin:left; transition:transform .18s ease; }
.site-nav a:hover,.site-nav a[aria-current="page"] { color:white; }
.site-nav a:hover::after,.site-nav a[aria-current="page"]::after { transform:scaleX(1); }
.header-call { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:44px; padding:10px 16px; font-size:.8rem; font-weight:700; white-space:nowrap; background:var(--accent); color:var(--ink); border-radius:3px; transition:background .18s ease,transform .18s ease; }
.header-call .icon { width:17px; height:17px; }
.header-call:hover { background:var(--accent-hover); transform:translateY(-1px); }
.menu-toggle { display:none; width:44px; height:44px; padding:10px; border:1px solid #51565a; border-radius:3px; background:transparent; color:white; }
.close-icon { display:none; }
.menu-toggle[aria-expanded="true"] .menu-icon { display:none; }
.menu-toggle[aria-expanded="true"] .close-icon { display:block; }
.button-row { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:50px; padding:13px 20px; border:1px solid transparent; border-radius:3px; font-size:.87rem; font-weight:650; line-height:1.4; text-align:center; transition:background .18s ease,border-color .18s ease,transform .18s ease; }
.button .icon { width:19px; height:19px; }
.button:hover { transform:translateY(-2px); }
.button:active,.header-call:active { transform:translateY(0); }
.button-primary { background:var(--accent); color:var(--ink); }
.button-primary:hover { background:var(--accent-hover); }
.button-dark { background:var(--ink); color:white; }
.button-dark:hover { background:#373d40; }
.button-outline { border-color:#8e9496; color:var(--ink); background:transparent; }
.button-outline:hover { border-color:var(--ink); background:var(--soft); }
.hero .button-outline,.section-dark .button-outline { color:white; border-color:#757c80; }
.hero .button-outline:hover,.section-dark .button-outline:hover { background:#353a3d; border-color:white; }
.text-link { display:inline-flex; align-items:center; justify-content:space-between; gap:16px; padding-block:9px; border-bottom:1px solid #a5ac96; font-size:.87rem; font-weight:650; line-height:1.45; }
.text-link .icon { width:19px; height:19px; transition:transform .18s ease; }
.text-link:hover .icon { transform:translateX(4px); }
.hero { background:var(--ink); color:white; }
.hero-inner { display:grid; grid-template-columns:.9fr 1.1fr; gap:50px; align-items:center; padding-top:46px; padding-bottom:48px; }
.hero-copy { min-width:0; padding-block:16px; }
.hero-location { color:#d0d5ca; font-size:.86rem; margin-bottom:18px; display:flex; gap:10px; align-items:center; }
.hero-location::before { content:""; width:22px; height:2px; background:var(--accent); }
.hero h1 { font-size:clamp(2.25rem,3.65vw,3.3rem); line-height:1.15; margin-bottom:23px; letter-spacing:-.04em; }
.hero h1 span { color:var(--accent); }
.hero-description { max-width:450px; color:#c8ccce; font-size:.97rem; line-height:1.75; margin-bottom:28px; }
.hero-phone { display:inline-block; font-size:1.37rem; font-weight:650; letter-spacing:.005em; margin-top:22px; }
.hero-phone:hover { color:var(--accent); }
.hero-person { font-size:.77rem; margin:3px 0 0; color:#aeb4b7; }
.hero-photo { min-width:0; }
.hero-photo img { width:100%; height:auto; }
.hero-photo figcaption { display:flex; justify-content:space-between; gap:12px; padding-top:13px; border-top:1px solid #555b5e; margin-top:14px; font-size:.72rem; color:#b9bec1; }
.hero-photo figcaption span:first-child { color:white; font-weight:600; }
.section { padding-block:var(--space-section); }
.section-soft { background:var(--soft); }
.section-dark { background:var(--dark); color:white; }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:35px; margin-bottom:39px; }
.section-heading h2 { max-width:780px; }
.section-heading p { margin:15px 0 0; color:var(--muted); font-size:.94rem; }
.section-heading > .text-link { flex-shrink:0; }
.services-layout { display:grid; grid-template-columns:.95fr 1.05fr; align-items:start; gap:65px; }
.service-photo { min-width:0; padding-top:9px; }
.service-photo img { width:100%; height:auto; }
.service-photo figcaption,.about-photo figcaption,.service-aside figcaption { font-size:.76rem; color:var(--muted); margin-top:12px; }
.service-rows { min-width:0; }
.service-row { display:grid; grid-template-columns:26px minmax(0,1fr) 22px; gap:22px; padding-block:23px; border-top:1px solid var(--line); transition:border-color .2s ease; }
.service-row:first-child { border-top-color:var(--ink); padding-top:20px; }
.service-index { font-size:.74rem; color:var(--muted); margin-top:5px; font-variant-numeric:tabular-nums; }
.service-row h3 { margin-bottom:8px; font-size:1.4rem; }
.service-row p { color:var(--muted); font-size:.88rem; margin:0; }
.service-row > .icon { margin-top:5px; transition:transform .18s ease; }
.service-row:hover { border-top-color:#6d7c0b; }
.service-row:hover > .icon { transform:translateX(4px); }
.support-services { display:grid; grid-template-columns:1fr 1fr; gap:0 26px; border-top:1px solid var(--line); padding-top:12px; }
.support-services a { display:flex; justify-content:space-between; align-items:center; gap:10px; padding-block:11px; font-size:.81rem; font-weight:600; }
.support-services a:hover { text-decoration:underline; text-underline-offset:4px; }
.support-services span { color:var(--muted); }
.trust-layout { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:start; }
.trust-copy h2 { margin-bottom:25px; }
.trust-copy > p { max-width:455px; color:#c3c9cc; font-size:.93rem; }
.trust-copy .text-link { margin-top:10px; border-color:#788445; }
.trust-copy .text-link .icon { color:var(--accent); }
.trust-list > div { display:grid; grid-template-columns:.95fr 1fr; gap:24px; padding-block:19px; border-top:1px solid var(--dark-line); }
.trust-list > div:first-child { padding-top:0; border-top:0; }
.trust-list dt { font-size:.95rem; font-weight:600; }
.trust-list dd { margin:0; color:#bac1c4; font-size:.85rem; line-height:1.6; }
.gallery-preview { display:grid; grid-template-columns:1.35fr 1fr 1fr; gap:24px; align-items:start; }
.photo-card { min-width:0; }
.photo-card > a { display:block; position:relative; overflow:hidden; }
.photo-card img { width:100%; height:auto; transition:transform .25s ease; }
.photo-card > a:hover img { transform:scale(1.025); }
.photo-expand,.gallery-grid .photo-card > a::after { position:absolute; right:10px; bottom:10px; width:30px; height:30px; display:grid; place-items:center; background:#fff; color:var(--ink); font-size:1rem; }
.gallery-grid .photo-card > a::after { content:"↗"; }
.photo-card figcaption { margin-top:12px; font-size:.82rem; font-weight:600; }
.gallery-preview .photo-card:not(:first-child) { margin-top:43px; }
.help-layout { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:start; }
.help-layout > div h2 { margin-bottom:23px; }
.help-layout > div p { max-width:430px; font-size:.94rem; color:var(--muted); }
.help-steps { list-style:none; margin:0; padding:0; }
.help-steps li { display:grid; grid-template-columns:30px minmax(0,1fr); gap:22px; border-top:1px solid #d0d3c8; padding-block:22px; }
.help-steps li:first-child { padding-top:0; border-top:0; }
.help-steps li:last-child { padding-bottom:0; }
.help-steps li > span { font-size:.78rem; margin-top:3px; color:#646d4b; }
.help-steps h3 { font-size:1.1rem; margin-bottom:8px; }
.help-steps p { color:var(--muted); font-size:.89rem; margin:0; }
.contact-band { padding-block:43px; background:var(--accent); }
.contact-band-inner { display:flex; justify-content:space-between; align-items:center; gap:48px; }
.contact-band h2 { font-size:2rem; }
.contact-band p { max-width:535px; margin:12px 0 0; font-size:.9rem; color:#38401b; }
.contact-band-actions { display:flex; flex-direction:column; align-items:end; gap:13px; flex-shrink:0; }
.cta-number { font-size:1.8rem; font-weight:700; line-height:1.3; letter-spacing:-.02em; }
.cta-number:hover { text-decoration:underline; text-underline-offset:5px; }
.contact-band-actions .button { font-size:.82rem; }
.site-footer { background:#141618; color:white; padding-top:47px; }
.footer-grid { display:grid; grid-template-columns:1.25fr .9fr 1fr 1.1fr; gap:48px; padding-bottom:38px; }
.footer-grid > div { min-width:0; }
.footer-brand .brand-logo { width:45px; height:45px; }
.footer-brand .brand-copy strong { font-size:1.2rem; }
.footer-brand .brand-copy span { font-size:.53rem; }
.footer-brand > p { max-width:265px; color:#aeb5b8; margin:18px 0 0; font-size:.8rem; }
.footer-title { font-size:.81rem; font-weight:600; letter-spacing:0; line-height:1.5; margin:4px 0 17px; }
.footer-links { list-style:none; margin:0; padding:0; display:grid; gap:7px; color:#b4babd; font-size:.8rem; }
.footer-links a { display:inline-block; padding-block:2px; }
.footer-links a:hover,.social-links a:hover { color:var(--accent); }
.footer-phone { font-size:1.19rem; font-weight:650; white-space:nowrap; }
.footer-phone:hover { color:var(--accent); }
.footer-contact p { margin:11px 0 0; color:#b4babd; font-size:.81rem; }
.social-links { display:flex; flex-wrap:wrap; gap:15px; margin-top:15px; font-size:.76rem; color:#b4babd; }
.social-links a { padding-block:4px; }
.footer-bottom { border-top:1px solid #34383b; display:flex; justify-content:space-between; gap:20px; padding-block:19px; color:#a6aeb2; font-size:.72rem; }
.mobile-contact { display:none; }
.page-hero { background:var(--soft); padding-block:29px 50px; border-bottom:1px solid var(--line); }
.breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:11px; font-size:.75rem; color:var(--muted); margin-bottom:32px; }
.breadcrumb a:hover { text-decoration:underline; text-underline-offset:4px; }
.page-hero h1 { font-size:clamp(2.1rem,3.7vw,3rem); max-width:960px; }
.page-hero > .container > p { max-width:700px; color:var(--muted); margin:20px 0 0; font-size:.98rem; }
.about-layout { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:start; }
.about-copy h2 { margin-bottom:23px; }
.about-copy > p { color:var(--muted); font-size:.94rem; }
.about-photo img { width:100%; height:auto; }
.person-block { padding-top:22px; border-top:1px solid var(--line); margin-top:28px; }
.person-block strong { display:block; font-size:1rem; }
.person-block > span { display:block; font-size:.78rem; color:var(--muted); margin-top:3px; }
.person-block > a { display:inline-flex; align-items:center; gap:16px; margin-top:9px; padding-block:6px; font-weight:650; }
.person-block .icon { width:18px; height:18px; }
.service-page-layout { display:grid; grid-template-columns:.65fr 1.35fr; gap:66px; align-items:start; }
.service-aside { min-width:0; position:sticky; top:118px; }
.service-aside img { width:100%; height:auto; }
.service-aside-contact { padding-top:27px; border-top:1px solid var(--line); margin-top:27px; }
.service-aside-contact h2 { font-size:1.35rem; margin-bottom:13px; }
.service-aside-contact p { font-size:.88rem; color:var(--muted); }
.service-detail { display:grid; grid-template-columns:28px minmax(0,1fr); gap:10px 24px; border-top:1px solid var(--line); padding-block:28px; scroll-margin-top:110px; }
.service-detail:first-child { border-top-color:var(--ink); padding-top:24px; }
.service-detail:last-child { border-bottom:1px solid var(--line); }
.service-number { color:var(--muted); font-size:.78rem; margin-top:4px; font-variant-numeric:tabular-nums; }
.service-detail-copy h2 { font-size:1.3rem; margin-bottom:12px; }
.service-detail-main .service-detail-copy h2 { font-size:1.7rem; }
.service-detail-copy p { font-size:.91rem; color:var(--muted); margin:0; }
.service-detail > .text-link { grid-column:2; justify-self:start; font-size:.79rem; padding-top:3px; border:0; }
.faq-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:90px; }
.faq-layout > div > p { max-width:355px; color:var(--muted); margin-top:20px; font-size:.92rem; }
.faq-list { border-top:1px solid #cbd0c3; }
.faq-list details { border-bottom:1px solid #cbd0c3; }
.faq-list summary { display:flex; justify-content:space-between; align-items:center; gap:24px; cursor:pointer; padding-block:21px; font-size:.95rem; font-weight:600; list-style:none; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { content:"+"; font-weight:400; font-size:1.4rem; flex-shrink:0; }
.faq-list details[open] summary::after { content:"−"; }
.faq-list details > p { padding:0 25px 20px 0; margin:0; color:var(--muted); font-size:.9rem; }
.gallery-toolbar { display:flex; align-items:center; justify-content:space-between; gap:22px; flex-wrap:wrap; border-bottom:1px solid var(--line); padding-bottom:24px; margin-bottom:32px; }
.gallery-filters { display:flex; flex-wrap:wrap; gap:8px; }
.gallery-filter { border:1px solid #d1d4ca; background:white; color:var(--ink); border-radius:3px; padding:10px 16px; min-height:44px; font-size:.82rem; transition:background .18s ease,border-color .18s ease; }
.gallery-filter:hover { border-color:#737b60; }
.gallery-filter[aria-pressed="true"] { border-color:var(--ink); background:var(--ink); color:white; }
.gallery-count { color:var(--muted); font-size:.78rem; }
.gallery-grid { columns:3; column-gap:24px; }
.gallery-grid .photo-card { break-inside:avoid; margin-bottom:30px; }
.gallery-grid .photo-card img { width:100%; height:auto; }
.gallery-dialog { width:min(1050px,calc(100% - 48px)); max-height:calc(100dvh - 48px); padding:0; color:white; background:var(--ink); border:1px solid #51585c; overflow:auto; }
.gallery-dialog::backdrop { background:rgb(10 12 13 / .88); }
body:has(.gallery-dialog[open]) { overflow:hidden; }
.dialog-header { display:flex; align-items:center; justify-content:space-between; gap:25px; padding:12px 20px; border-bottom:1px solid #3a4044; }
.dialog-caption { margin:0; font-size:.85rem; font-weight:600; }
.dialog-close { width:44px; height:44px; display:grid; place-items:center; flex-shrink:0; background:transparent; color:white; border:1px solid #60696f; border-radius:3px; }
.dialog-close:hover { background:#3a4044; }
.gallery-dialog > img { width:100%; height:min(66dvh,680px); object-fit:contain; background:#111315; }
.dialog-navigation { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 20px; border-top:1px solid #3a4044; }
.dialog-navigation button { min-height:44px; border:1px solid #60696f; border-radius:3px; background:transparent; color:white; padding:8px 15px; font-size:.8rem; }
.dialog-navigation button:hover { background:#3a4044; }
.dialog-navigation button:disabled { opacity:.45; cursor:default; }
.dialog-counter { font-size:.78rem; color:#c1c8cc; }
.dialog-status { padding:40px 25px; font-size:.9rem; text-align:center; margin:0; }
.contact-layout { display:grid; grid-template-columns:1fr .95fr; gap:90px; align-items:start; }
.contact-main h2 { font-size:1.6rem; }
.contact-person { font-size:.92rem; margin:11px 0 13px; color:var(--muted); }
.contact-phone { display:inline-block; font-size:clamp(1.8rem,3vw,2.5rem); font-weight:750; line-height:1.4; letter-spacing:-.035em; margin-bottom:23px; white-space:nowrap; }
.contact-phone:hover { text-decoration:underline; text-underline-offset:6px; }
.contact-main > p:not(.contact-person):not(.location-note) { max-width:480px; font-size:.95rem; color:var(--muted); }
.contact-main .button-row { margin-block:28px 35px; }
.contact-details { display:grid; grid-template-columns:1fr 1fr; gap:25px; border-top:1px solid var(--line); padding-top:24px; margin-bottom:25px; }
.contact-details > div { min-width:0; }
.contact-details dt { color:var(--muted); font-size:.77rem; margin-bottom:7px; }
.contact-details dd { margin:0; font-size:.88rem; font-weight:600; overflow-wrap:anywhere; }
.contact-details a:hover { text-decoration:underline; text-underline-offset:4px; }
.location-note { color:var(--muted); font-size:.75rem; margin:8px 0 0; }
.contact-panel { background:var(--soft); padding:32px; border-top:3px solid var(--ink); }
.contact-panel h2 { font-size:1.65rem; margin-bottom:16px; }
.contact-panel > p { color:var(--muted); font-size:.88rem; }
.form-grid { display:grid; gap:20px; margin-top:24px; }
.form-field label { display:block; font-size:.82rem; font-weight:650; margin-bottom:8px; }
.form-field label span { font-weight:400; color:var(--muted); }
.form-field input,.form-field select { display:block; width:100%; min-height:48px; padding:11px 12px; border:1px solid #bec3b8; border-radius:2px; background:white; color:var(--ink); font-size:.89rem; }
.form-field input::placeholder { color:#757b73; opacity:1; }
.form-note { color:var(--muted); font-size:.75rem; margin:16px 0 0; }
.contact-form .button { margin-top:20px; width:100%; }
.form-note[data-form-status]:empty { display:none; }
.contact-guidance { padding-block:47px; }
.contact-guidance h2 { font-size:1.7rem; margin-bottom:15px; }
.contact-guidance p { max-width:690px; color:var(--muted); font-size:.93rem; }
.not-found { padding-block:80px; }
.not-found h1 { font-size:2.5rem; margin-bottom:20px; }
.not-found > p { color:var(--muted); }
/* Content remains visible with JS disabled, interrupted or reduced motion. */
.reveal.is-revealing { animation:reveal-in .45s ease-out both; }
@keyframes reveal-in { from { opacity:.7; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
@media (max-width:1199px) {
  .container { width:calc(100% - 64px); }
  .header-inner { gap:20px; }
  .site-nav { gap:18px; }
  .site-nav a { font-size:.77rem; }
  .brand-logo { width:49px; height:49px; }
  .brand-copy strong { font-size:1.28rem; }
  .brand-copy span { font-size:.55rem; }
  .header-call { padding-inline:13px; font-size:.77rem; }
  .hero-inner { gap:35px; }
  .services-layout,.about-layout { gap:44px; }
  .trust-layout,.help-layout,.faq-layout,.contact-layout { gap:55px; }
  .footer-grid { gap:30px; }
  .service-page-layout { gap:45px; }
}
@media (max-width:1023px) {
  :root { --header-height:76px; --space-section:68px; }
  .container { width:calc(100% - 48px); }
  .header-inner { justify-content:start; gap:20px; }
  .header-call { margin-left:auto; }
  .menu-toggle { display:block; flex-shrink:0; }
  .site-nav { position:absolute; left:0; right:0; top:100%; flex-direction:column; align-items:stretch; gap:0; padding:14px 24px 20px; background:var(--ink); border-bottom:1px solid #51585c; }
  .js .site-nav { visibility:hidden; opacity:0; transform:translateY(-8px); pointer-events:none; transition:opacity .18s ease,transform .18s ease; }
  .js .site-nav.is-open { visibility:visible; opacity:1; transform:translateY(0); pointer-events:auto; max-height:calc(100dvh - 170px); overflow:auto; }
  .site-nav a { padding:13px 4px; border-bottom:1px solid #3c4144; font-size:.94rem; }
  .site-nav a:last-child { border-bottom:0; }
  .site-nav a::after { display:none; }
  .site-nav a[aria-current="page"] { color:var(--accent); }
  .no-js .site-header { position:relative; }
  .no-js .header-inner { flex-wrap:wrap; padding-block:13px; }
  .no-js .site-nav { position:static; order:4; width:100%; padding:5px 0 0; flex-direction:row; flex-wrap:wrap; gap:5px 20px; border:0; }
  .no-js .site-nav a { padding:8px 0; font-size:.82rem; }
  .no-js .menu-toggle { display:none; }
  .hero-inner { grid-template-columns:1fr 1fr; gap:28px; padding-top:30px; padding-bottom:35px; }
  .hero h1 { font-size:2.35rem; }
  .hero .button-row { gap:10px; }
  .hero .button { padding-inline:13px; font-size:.8rem; }
  .hero-description { font-size:.9rem; }
  .hero-photo figcaption { flex-direction:column; gap:3px; }
  .services-layout { gap:32px; }
  .service-row { gap:15px; padding-block:20px; }
  .service-row h3 { font-size:1.2rem; }
  .support-services { gap:0 16px; }
  .support-services a { font-size:.74rem; }
  .trust-layout { grid-template-columns:.85fr 1.15fr; gap:40px; }
  .trust-list > div { grid-template-columns:1fr; gap:6px; padding-block:16px; }
  .trust-list dt { font-size:.9rem; }
  .gallery-preview { gap:18px; }
  .gallery-preview .photo-card:not(:first-child) { margin-top:25px; }
  .help-layout { gap:44px; }
  .contact-band-inner { gap:30px; }
  .contact-band h2 { font-size:1.7rem; }
  .contact-band-actions .button { padding-inline:14px; font-size:.77rem; }
  .cta-number { font-size:1.55rem; }
  .footer-grid { grid-template-columns:1.2fr 1fr 1fr; gap:32px; }
  .footer-contact { grid-column:1 / -1; display:flex; flex-wrap:wrap; align-items:baseline; gap:20px 28px; }
  .footer-contact .footer-title,.footer-contact p,.footer-contact .social-links { margin:0; }
  .service-page-layout { grid-template-columns:.65fr 1.35fr; gap:32px; }
  .service-detail { gap:10px 17px; }
  .service-detail-main .service-detail-copy h2 { font-size:1.45rem; }
  .service-aside-contact h2 { font-size:1.2rem; }
  .about-layout { gap:35px; }
  .faq-layout { gap:38px; }
  .gallery-grid { columns:2; }
  .contact-layout { gap:35px; grid-template-columns:1fr 1fr; }
  .contact-panel { padding:24px; }
  .contact-panel h2 { font-size:1.5rem; }
  .contact-main .button-row { gap:10px; }
  .contact-main .button { font-size:.8rem; padding-inline:13px; }
  .contact-details { grid-template-columns:1fr; gap:20px; }
}
@media (max-width:767px) {
  :root { --header-height:72px; --space-section:54px; }
  html { scroll-padding-top:88px; }
  .container { width:calc(100% - 40px); }
  .topbar { font-size:.67rem; }
  .topbar .container { min-height:30px; gap:10px; }
  .topbar-number { display:none; }
  .header-inner { gap:12px; }
  .brand { gap:8px; }
  .brand-logo { width:44px; height:44px; }
  .brand-copy strong { font-size:1.14rem; }
  .brand-copy span { font-size:.49rem; letter-spacing:.1em; margin-top:6px; }
  .header-call { width:40px; height:44px; min-height:44px; padding:11px; margin-left:auto; }
  .header-call > span { display:none; }
  .header-call .icon { width:19px; height:19px; }
  .menu-toggle { width:42px; }
  .site-nav { padding-inline:20px; }
  .hero-inner { grid-template-columns:1fr; gap:29px; padding-top:32px; padding-bottom:0; }
  .hero-copy { padding:0; }
  .hero-location { font-size:.8rem; margin-bottom:16px; }
  .hero h1 { font-size:clamp(1.95rem,7.8vw,2.9rem); margin-bottom:20px; }
  .hero-description { max-width:520px; font-size:.89rem; line-height:1.7; margin-bottom:23px; }
  .hero .button-row { display:grid; grid-template-columns:.9fr 1.1fr; gap:9px; max-width:440px; }
  .hero .button { padding:13px 9px; font-size:.79rem; gap:7px; }
  .hero .button .icon { width:17px; height:17px; }
  .hero-phone { font-size:1.27rem; margin-top:19px; }
  .hero-person { font-size:.73rem; }
  .hero-photo { margin-inline:-20px; }
  .hero-photo img { width:100%; height:auto; }
  .hero-photo figcaption { flex-direction:row; margin:0; padding:14px 20px 18px; border-top:0; font-size:.65rem; }
  h2 { font-size:1.85rem; }
  .section-heading { display:block; margin-bottom:27px; }
  .section-heading > .text-link { margin-top:15px; }
  .section-heading p { font-size:.88rem; }
  .services-layout { grid-template-columns:1fr; gap:24px; }
  .service-photo { padding-top:0; }
  .service-photo figcaption { font-size:.72rem; }
  .service-row { padding-block:23px; gap:16px; }
  .service-row h3 { font-size:1.25rem; }
  .service-row p { font-size:.84rem; }
  .support-services a { font-size:.78rem; padding-block:12px; }
  .trust-layout { grid-template-columns:1fr; gap:30px; }
  .trust-copy h2 { margin-bottom:22px; }
  .trust-copy > p { font-size:.89rem; }
  .trust-list > div { grid-template-columns:1fr; border-top:1px solid var(--dark-line); padding-block:18px; }
  .trust-list > div:first-child { border-top:1px solid var(--dark-line); padding-top:18px; }
  .trust-list > div:last-child { padding-bottom:0; }
  .trust-list dt { font-size:.92rem; }
  .trust-list dd { font-size:.84rem; }
  .gallery-preview { grid-template-columns:1fr 1fr; gap:23px 16px; }
  .gallery-preview .photo-card:first-child { grid-column:1 / -1; }
  .gallery-preview .photo-card:not(:first-child) { margin-top:0; }
  .photo-card figcaption { font-size:.76rem; margin-top:9px; }
  .help-layout { grid-template-columns:1fr; gap:30px; }
  .help-layout > div p { font-size:.89rem; }
  .help-steps li { gap:16px; padding-block:19px; }
  .help-steps li:first-child { border-top:1px solid #d0d3c8; padding-top:19px; }
  .help-steps h3 { font-size:1.05rem; }
  .help-steps p { font-size:.85rem; }
  .contact-band { padding-block:34px; }
  .contact-band-inner { display:block; }
  .contact-band h2 { font-size:1.75rem; }
  .contact-band p { font-size:.88rem; }
  .contact-band-actions { align-items:start; gap:17px; margin-top:24px; }
  .cta-number { font-size:1.8rem; }
  .contact-band-actions .button { font-size:.8rem; padding-inline:18px; }
  .site-footer { padding-top:38px; padding-bottom:calc(80px + env(safe-area-inset-bottom,0px)); }
  .footer-grid { grid-template-columns:1fr 1fr; gap:29px 22px; padding-bottom:30px; }
  .footer-brand { grid-column:1 / -1; }
  .footer-brand > p { max-width:340px; }
  .footer-contact { display:block; }
  .footer-contact .footer-title { margin-bottom:12px; }
  .footer-contact p { margin-top:10px; }
  .footer-contact .social-links { margin-top:12px; }
  .footer-title { font-size:.8rem; margin-top:0; }
  .footer-links { font-size:.77rem; }
  .footer-links a { padding-block:4px; }
  .footer-bottom { flex-direction:column; gap:8px; padding-block:18px; }
  .mobile-contact { display:grid; grid-template-columns:1fr 1fr; gap:9px; position:fixed; inset:auto 0 0; z-index:35; background:#fff; border-top:1px solid #d1d5c9; padding:9px 12px calc(9px + env(safe-area-inset-bottom,0px)); }
  .mobile-contact a { display:flex; align-items:center; justify-content:center; gap:9px; min-height:48px; padding:11px 10px; border-radius:3px; font-weight:650; font-size:.85rem; line-height:1.4; transition:background .18s ease; }
  .mobile-contact .icon { width:19px; height:19px; }
  .mobile-phone { background:var(--accent); color:var(--ink); }
  .mobile-phone:hover { background:var(--accent-hover); }
  .mobile-whatsapp { background:var(--ink); color:white; }
  .mobile-whatsapp:hover { background:#373d40; }
  .page-hero { padding-block:23px 35px; }
  .breadcrumb { font-size:.69rem; margin-bottom:26px; }
  .page-hero h1 { font-size:2rem; }
  .page-hero > .container > p { font-size:.89rem; margin-top:17px; }
  .about-layout { grid-template-columns:1fr; gap:28px; }
  .about-copy > p { font-size:.91rem; }
  .about-photo figcaption { font-size:.7rem; }
  .service-page-layout { grid-template-columns:1fr; gap:35px; }
  .service-aside { position:static; }
  .service-aside-contact { padding-top:21px; margin-top:21px; }
  .service-aside-contact h2 { font-size:1.25rem; }
  .service-aside-contact p { margin-bottom:8px; }
  .service-detail { gap:9px 15px; padding-block:25px; scroll-margin-top:90px; }
  .service-detail-main .service-detail-copy h2 { font-size:1.45rem; }
  .service-detail-copy h2 { font-size:1.2rem; }
  .service-detail-copy p { font-size:.88rem; }
  .faq-layout { grid-template-columns:1fr; gap:25px; }
  .faq-layout > div > p { font-size:.88rem; margin-bottom:0; }
  .faq-list summary { font-size:.87rem; gap:15px; padding-block:19px; }
  .faq-list details > p { font-size:.85rem; }
  .gallery-toolbar { padding-bottom:20px; margin-bottom:25px; gap:15px; }
  .gallery-filters { gap:8px; }
  .gallery-filter { font-size:.76rem; padding-inline:12px; }
  .gallery-grid { columns:2; column-gap:16px; }
  .gallery-grid .photo-card { margin-bottom:23px; }
  .gallery-dialog { width:calc(100% - 24px); max-height:calc(100dvh - 24px); }
  .gallery-dialog > img { height:min(57dvh,600px); }
  .dialog-header,.dialog-navigation { padding:12px; gap:10px; }
  .dialog-caption { font-size:.78rem; }
  .dialog-navigation button { font-size:.75rem; padding-inline:12px; }
  .dialog-counter { font-size:.7rem; }
  .contact-layout { grid-template-columns:1fr; gap:37px; }
  .contact-main h2 { font-size:1.5rem; }
  .contact-phone { font-size:2rem; }
  .contact-main > p:not(.contact-person):not(.location-note) { font-size:.9rem; }
  .contact-main .button-row { gap:9px; display:grid; grid-template-columns:.9fr 1.1fr; margin-top:24px; }
  .contact-main .button { padding-inline:9px; gap:6px; font-size:.76rem; }
  .contact-main .button .icon { width:17px; height:17px; }
  .contact-details { grid-template-columns:1fr 1fr; gap:22px 16px; }
  .contact-details dd { font-size:.79rem; }
  .contact-panel { padding:25px 20px; }
  .contact-panel h2 { font-size:1.5rem; }
  .form-grid { gap:18px; }
  .contact-guidance { padding-block:36px; }
  .contact-guidance h2 { font-size:1.5rem; }
  .contact-guidance p { font-size:.88rem; }
  .not-found { padding-block:50px; }
  .not-found h1 { font-size:2rem; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none!important; transition:none!important; }
  .photo-card > a:hover img,.button:hover,.header-call:hover { transform:none; }
}

/* Service detail pages share the site's editorial layout and real photographs. */
.service-hero-grid { display:grid; grid-template-columns:1.05fr 1fr; gap:50px; align-items:center; }
.service-hero h1 { font-size:clamp(2rem,3.15vw,2.7rem); }
.service-hero-lead { max-width:560px; color:var(--muted); font-size:.95rem; margin:22px 0 25px; }
.service-hero-grid figcaption { font-size:.75rem; color:var(--muted); margin-top:12px; }
.service-hero-phone { display:inline-block; font-size:1.15rem; font-weight:650; padding-top:14px; }
.service-hero-phone:hover { text-decoration:underline; text-underline-offset:4px; }
.service-content-layout { display:grid; grid-template-columns:1.5fr .8fr; gap:95px; align-items:start; }
.service-article { min-width:0; }
.service-article h2 { font-size:clamp(1.6rem,2.5vw,2rem); margin:38px 0 18px; scroll-margin-top:110px; }
.service-article h2:first-child { margin-top:0; }
.service-article p { color:var(--muted); font-size:.94rem; }
.service-article p a { color:var(--ink); text-decoration:underline; text-underline-offset:4px; }
.service-article p a:hover { text-decoration-thickness:2px; }
.service-checklist { border-left:2px solid var(--accent); padding-left:28px; }
.service-checklist h2 { font-size:1.35rem; margin-bottom:22px; }
.service-checklist ul { padding-left:20px; margin:0 0 26px; color:var(--muted); font-size:.88rem; }
.service-checklist li { margin-bottom:12px; }
.service-checklist p { font-size:.82rem; color:var(--muted); }
.related-services { display:grid; grid-template-columns:1fr 1fr; gap:40px; }
.related-services .service-row { grid-template-columns:minmax(0,1fr) 22px; border-top-color:var(--line); }
@media(max-width:1023px) { .service-content-layout { gap:45px; } .service-hero-grid { gap:35px; } .service-hero .button-row { gap:9px; } .service-hero .button { font-size:.8rem; padding-inline:15px; } }
@media(max-width:767px) {
  .service-hero-grid,.service-content-layout,.related-services { grid-template-columns:1fr; gap:32px; }
  .service-hero h1 { font-size:2rem; } .service-hero-lead { font-size:.89rem; margin-block:19px 23px; }
  .service-hero-grid figcaption { font-size:.7rem; } .service-hero .button { flex:1 1 135px; font-size:.8rem; }
  .service-hero-phone { font-size:1.15rem; } .service-article p { font-size:.91rem; }
  .service-article h2 { font-size:1.65rem; margin-top:30px; }
  .service-checklist { padding-left:22px; } .related-services { gap:0; }
}
