/* Only the shared footer. No body, header, map or CTA selectors. */
#ddd-footer {
  --pf-gold:#e4b74f; --pf-cream:#f4f1e7; --pf-line:rgba(196,174,108,.27);
  position:relative; isolation:isolate; margin:0; padding:0; overflow:hidden;
  background:radial-gradient(ellipse at 50% 25%,#052d1e 0,#001b12 70%);
  color:var(--pf-cream); font-family:var(--font-sans,Arial,Helvetica,sans-serif);
  font-size:18px; line-height:1.45; text-align:left;
}
#ddd-footer *,#ddd-footer *::before,#ddd-footer *::after { box-sizing:border-box; }
#ddd-footer a { color:inherit; text-decoration:none; transition:color .2s; }
#ddd-footer a:hover { color:var(--pf-gold); }
#ddd-footer a:focus-visible { outline:2px solid #f7d888; outline-offset:5px; border-radius:2px; }
#ddd-footer .pf-shell { width:min(calc(100% - 64px),var(--max,1180px)); margin:0 auto; }
#ddd-footer .pf-panorama { position:relative; height:clamp(200px,18vw,300px); background:#001b12; overflow:hidden; }
#ddd-footer .pf-panorama::after { content:''; position:absolute; inset:0; background:linear-gradient(transparent 50%,#001b1244 80%,#001b12); pointer-events:none; }
#ddd-footer .pf-skyline { position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; object-position:50% 15%; opacity:.72; }
#ddd-footer .pf-wave { position:absolute; z-index:1; bottom:-7px; left:0; width:100%; height:62px; }
#ddd-footer .pf-columns { display:grid; grid-template-columns:35fr 32fr 33fr; padding:32px 0 28px; }
#ddd-footer .pf-columns>nav { border-left:1px solid var(--pf-line); padding:0 34px; min-width:0; }
#ddd-footer .pf-columns>nav:last-child { padding-right:0; }
#ddd-footer .pf-brand-column { min-width:0; padding:0 28px 0 0; }
#ddd-footer .pf-brand { display:flex; gap:20px; align-items:center; white-space:nowrap; font-size:25px; letter-spacing:-.025em; }
#ddd-footer .pf-brand img { flex:0 0 85px; width:85px; height:auto; aspect-ratio:235/204; object-fit:contain; }
#ddd-footer .pf-brand strong { font-weight:800; }
#ddd-footer .pf-description { margin:2px 0 22px 105px; font-size:18px; color:#cbd3c9; }
#ddd-footer .pf-phone { display:flex; align-items:center; gap:20px; margin:0; border:0; padding:0; background:none; }
#ddd-footer .pf-phone-icon { display:grid; place-items:center; flex:0 0 60px; height:60px; color:var(--pf-gold); border:1.5px solid var(--pf-gold); border-radius:50%; }
#ddd-footer .pf-phone-icon svg { width:27px; height:27px; fill:currentColor; }
#ddd-footer .pf-phone strong { display:block; font-size:34px; color:var(--pf-gold); font-weight:800; letter-spacing:.025em; white-space:nowrap; line-height:1.2; }
#ddd-footer .pf-phone:hover strong { color:#ffda7e; }
#ddd-footer .pf-phone small { display:block; margin-top:7px; color:#d8dfd5; font-size:11px; font-weight:400; letter-spacing:.17em; white-space:nowrap; }
#ddd-footer h2 { margin:0 0 16px; font-size:24px; font-weight:800; line-height:1.25; letter-spacing:-.02em; color:#fffdf7; }
#ddd-footer .pf-row { display:flex; align-items:center; gap:18px; min-height:53px; }
#ddd-footer .pf-row-label { flex:1; align-self:stretch; display:flex; align-items:center; min-width:0; padding:12px 0; border-bottom:1px solid var(--pf-line); transition:border-color .2s; }
#ddd-footer .pf-row:last-child .pf-row-label { border-bottom-color:transparent; }
#ddd-footer .pf-row:hover .pf-row-label { border-color:rgba(228,183,79,.6); }
#ddd-footer .pf-icon { display:grid; place-items:center; width:29px; flex:0 0 29px; color:var(--pf-gold); }
#ddd-footer .pf-icon svg { width:27px; height:27px; }
#ddd-footer .pf-icon--circle { width:48px; height:48px; flex-basis:48px; border:1.4px solid var(--pf-gold); border-radius:50%; }
#ddd-footer .pf-row--service { min-height:76px; gap:22px; }
#ddd-footer .pf-arrow { width:21px; height:21px; flex:0 0 21px; color:var(--pf-gold); transition:transform .2s; }
#ddd-footer .pf-row:hover .pf-arrow { transform:translateX(3px); }
#ddd-footer .pf-local { border-top:1px solid var(--pf-line); padding:24px 0 30px; }
#ddd-footer .pf-local-title { display:flex; gap:20px; align-items:flex-start; }
#ddd-footer .pf-local-title>svg { width:25px; height:30px; flex:0 0 25px; color:var(--pf-gold); fill:var(--pf-gold); }
#ddd-footer .pf-local-title>svg circle { fill:#052519; stroke:none; }
#ddd-footer .pf-local h2 { margin:0 0 6px; font-size:24px; }
#ddd-footer .pf-local p { margin:0; color:#cbd3c9; font-size:15px; }
#ddd-footer .pf-local ul { display:flex; flex-wrap:wrap; gap:10px 0; list-style:none; margin:24px 0 0; padding:0; }
#ddd-footer .pf-local li { display:flex; margin:0; padding:0; }
#ddd-footer .pf-local li:not(:last-child)::after { content:''; height:22px; width:1px; margin:10px 25px; background:#be9440; }
#ddd-footer .pf-local a { display:flex; align-items:center; min-height:44px; }
#ddd-footer .pf-bottom { border-top:1px solid var(--pf-line); padding:22px 0; font-size:13px; color:#d6dbd1; }
#ddd-footer .pf-bottom>.pf-shell { display:flex; justify-content:space-between; gap:25px; align-items:center; }
#ddd-footer .pf-bottom p { margin:0; }
#ddd-footer .pf-bottom .pf-tagline { border-left:1px solid var(--pf-line); margin-left:24px; padding-left:24px; }
#ddd-footer .pf-bottom a { display:inline-flex; align-items:center; min-height:44px; }
@media(min-width:1500px) { #ddd-footer .pf-columns { padding:40px 0 30px; } }
@media(max-width:1100px) and (min-width:769px) {
  #ddd-footer .pf-columns { grid-template-columns:1fr 1fr; gap:28px; }
  #ddd-footer .pf-brand-column { grid-row:span 2; }
  #ddd-footer .pf-columns>nav { padding-left:28px; padding-right:0; }
  #ddd-footer .pf-quick-column { grid-column:2; }
}
@media(max-width:768px) {
  #ddd-footer .pf-shell { width:calc(100% - 40px); }
  #ddd-footer .pf-columns { grid-template-columns:1fr 1fr; gap:26px; padding-top:22px; }
  #ddd-footer .pf-brand-column { grid-column:1/-1; padding:0 0 24px; border-bottom:1px solid var(--pf-line); }
  #ddd-footer .pf-columns>nav { border:0; padding:0; }
  #ddd-footer .pf-description { margin-left:105px; }
  #ddd-footer .pf-phone { margin-top:20px; }
  #ddd-footer .pf-panorama { height:140px; }
  #ddd-footer .pf-skyline { object-position:center; }
  #ddd-footer .pf-local ul { display:grid; grid-template-columns:1fr 1fr; gap:4px 22px; }
  #ddd-footer .pf-local li::after { display:none; }
  #ddd-footer .pf-bottom>.pf-shell { align-items:flex-start; }
  #ddd-footer .pf-bottom .pf-tagline { display:block; border:0; margin:6px 0 0; padding:0; }
}
@media(max-width:540px) {
  #ddd-footer { font-size:17px; }
  #ddd-footer .pf-columns { grid-template-columns:1fr; gap:28px; }
  #ddd-footer .pf-brand { font-size:23px; gap:14px; }
  #ddd-footer .pf-brand img { width:72px; flex-basis:72px; }
  #ddd-footer .pf-description { margin:8px 0 24px 86px; font-size:16px; }
  #ddd-footer .pf-phone { gap:18px; }
  #ddd-footer .pf-phone strong { font-size:32px; }
  #ddd-footer .pf-phone-icon { flex-basis:54px; height:54px; }
  #ddd-footer .pf-local ul { grid-template-columns:1fr; margin-top:18px; }
  #ddd-footer .pf-local-title { gap:14px; }
  #ddd-footer .pf-local h2 { font-size:22px; }
  #ddd-footer .pf-local p { font-size:14px; }
  #ddd-footer .pf-bottom>.pf-shell { display:block; }
  #ddd-footer .pf-bottom nav { margin-top:12px; }
}
@media(prefers-reduced-motion:reduce) { #ddd-footer a,#ddd-footer .pf-arrow,#ddd-footer .pf-row-label { transition:none; } }
