#avalon-fractal-footer { width:100%; container-type:inline-size; }
#avalon-fractal-footer *,#avalon-fractal-footer *::before,#avalon-fractal-footer *::after { box-sizing:border-box; }
#avalon-fractal-footer .ff-product {
  --ff-gold:#e5c37b; --ff-soft:#cdbecb; --ff-gutter:clamp(24px,4.5vw,88px);
  position:relative; width:100%; border-top:1px solid #b89956; background:#170d18;
  color:#f5ece1; color-scheme:dark; font:15px/1.6 Arial,Helvetica,sans-serif; -webkit-font-smoothing:antialiased;
}
#avalon-fractal-footer h2,#avalon-fractal-footer h3,#avalon-fractal-footer p { margin:0; }
#avalon-fractal-footer a { color:inherit; text-decoration:none; }
#avalon-fractal-footer a:hover,#avalon-fractal-footer .ff-links button:hover { color:#f6d995; text-decoration:underline; text-underline-offset:5px; }
#avalon-fractal-footer a:focus-visible,#avalon-fractal-footer button:focus-visible,#avalon-fractal-footer input:focus-visible { outline:2px solid #f6d995; outline-offset:4px; }
#avalon-fractal-footer .ff-eyebrow { display:block; color:var(--ff-gold); font:500 10px/1.65 Arial,Helvetica,sans-serif; letter-spacing:1.7px; }
#avalon-fractal-footer .ff-topline { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:21px var(--ff-gutter); border-bottom:1px solid #e5c37b26; background:#180f1a; }
#avalon-fractal-footer .ff-small-wordmark { display:flex; align-items:center; gap:20px; color:#efd598; font:36px/1 Georgia,'Times New Roman',serif; letter-spacing:-1.4px; }
#avalon-fractal-footer .ff-small-wordmark span { font:10px/1.5 Arial,Helvetica,sans-serif; letter-spacing:3px; }
#avalon-fractal-footer .ff-spiral-main { display:grid; grid-template-columns:minmax(0,1.618034fr) minmax(0,1fr); }
#avalon-fractal-footer .ff-invitation { min-width:0; padding:36px var(--ff-gutter) 40px; background:radial-gradient(ellipse at 0 30%,#3e1c33,transparent 90%),#201223; }
#avalon-fractal-footer .ff-invitation h2 { margin:18px 0; color:#f5ead7; font:400 clamp(42px,4.7vw,68px)/1.05 Georgia,'Times New Roman',serif; letter-spacing:-.035em; }
#avalon-fractal-footer .ff-invitation h2 span,#avalon-fractal-footer .ff-invitation h2 em { display:block; }
#avalon-fractal-footer .ff-invitation h2 em { color:#eaca8a; font-weight:400; }
#avalon-fractal-footer .ff-invitation p { margin-bottom:24px; max-width:400px; color:var(--ff-soft); font-size:14px; }
#avalon-fractal-footer .ff-cta { display:inline-flex; align-items:center; justify-content:space-between; gap:26px; max-width:100%; min-height:48px; padding:12px 24px; border:1px solid #f0d69d; border-radius:30px; background:linear-gradient(110deg,#f0d69d,#c69a4d); color:#25151d; font-size:13px; font-weight:600; text-align:left; }
#avalon-fractal-footer .ff-cta:hover { background:#eed39a; color:#25151d; text-decoration:none; }
#avalon-fractal-footer .ff-cta svg { width:17px; height:17px; flex-shrink:0; }
#avalon-fractal-footer .ff-contact-panel { position:relative; display:flex; flex-direction:column; min-width:0; border-left:1px solid #e5c37b38; background:radial-gradient(ellipse at 65% 5%,#62432d,transparent 80%),#21151c; }
#avalon-fractal-footer .ff-shell { position:relative; flex:1; min-height:230px; overflow:hidden; }
#avalon-fractal-footer .ff-art { position:absolute; inset:0; width:100%; height:100%; opacity:.92; pointer-events:none; }
#avalon-fractal-footer .ff-art-caption { display:grid; gap:3px; padding:0 20px 28px; color:#e6c997; text-align:center; }
#avalon-fractal-footer .ff-art-caption span { font:16px Georgia,serif; letter-spacing:6px; }
#avalon-fractal-footer .ff-art-caption i { color:#c6b5a7; font:italic 14px Georgia,serif; }
#avalon-fractal-footer .ff-directory { position:relative; overflow:hidden; padding:0 var(--ff-gutter); border-block:1px solid #e5c37b36; background:radial-gradient(ellipse at 100% 100%,#3e21322e,transparent 65%),#170f19; }
#avalon-fractal-footer .ff-branches { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; opacity:.25; }
#avalon-fractal-footer .ff-contact-strip,#avalon-fractal-footer .ff-spiral-navs { position:relative; z-index:1; }
#avalon-fractal-footer .ff-contact-strip { display:grid; grid-template-columns:minmax(0,1.618034fr) minmax(0,1fr); gap:36px; align-items:end; padding:28px 0; border-bottom:1px solid #e5c37b42; }
#avalon-fractal-footer .ff-hours { display:flex; align-items:center; gap:9px; margin-bottom:16px; color:#f4ddb0; font-size:11px; letter-spacing:1px; }
#avalon-fractal-footer .ff-hours-dot { flex-shrink:0; width:5px; height:5px; border-radius:50%; background:var(--ff-gold); box-shadow:0 0 9px #e5c37b5c; }
#avalon-fractal-footer address { margin-top:5px; font-style:normal; font-size:18px; line-height:1.55; }
#avalon-fractal-footer address span { color:#c7bbc7; font-size:14px; }
#avalon-fractal-footer address svg { width:13px; height:13px; margin-left:12px; color:var(--ff-gold); }
#avalon-fractal-footer .ff-phone { display:block; width:fit-content; margin:5px 0 2px; color:#f4dfb4; font:clamp(28px,2.5vw,38px)/1.4 Georgia,'Times New Roman',serif; letter-spacing:-.02em; white-space:nowrap; }
#avalon-fractal-footer .ff-contact-note { color:#c7bbc7; font-size:12px; }
#avalon-fractal-footer .ff-spiral-navs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)) minmax(230px,1.55fr); padding:34px 0 38px; }
#avalon-fractal-footer .ff-nav,#avalon-fractal-footer .ff-updates { min-width:0; padding:0 clamp(14px,1.6vw,30px); border-left:1px solid #e5c37b20; }
#avalon-fractal-footer .ff-nav:first-child { padding-left:0; border-left:0; }
#avalon-fractal-footer .ff-updates { padding-right:0; }
#avalon-fractal-footer .ff-spiral-navs h3 { margin-bottom:15px; color:var(--ff-gold); font:500 16px/1.35 Georgia,'Times New Roman',serif; }
#avalon-fractal-footer .ff-links { margin:0; padding:0; list-style:none; }
#avalon-fractal-footer .ff-links a,#avalon-fractal-footer .ff-links button { display:flex; align-items:center; min-height:37px; padding:6px 0; border:0; background:none; color:#dfd5df; font:13px/1.55 Arial,Helvetica,sans-serif; text-align:left; cursor:pointer; }
#avalon-fractal-footer .ff-updates > p { color:#c7bbc7; font-size:12px; line-height:1.7; }
#avalon-fractal-footer .ff-email-label { display:block; margin-top:14px; margin-bottom:6px; color:#e7d9e1; font-size:11px; }
#avalon-fractal-footer .ff-email-field { display:flex; min-height:44px; border:1px solid #a88a5c; border-radius:24px; background:#100b11; }
#avalon-fractal-footer #ff-email { min-width:0; width:100%; padding:10px 15px; border:0; border-radius:24px 0 0 24px; background:transparent; color:#f5ece1; font:12px Arial,Helvetica,sans-serif; }
#avalon-fractal-footer #ff-email::placeholder { color:#b8a9b5; opacity:1; }
#avalon-fractal-footer .ff-subscribe { display:grid; place-items:center; width:46px; min-width:46px; min-height:44px; border:0; border-radius:0 24px 24px 0; background:#dfbd7c; color:#241421; cursor:pointer; }
#avalon-fractal-footer .ff-subscribe:hover { background:#f2d69f; }
#avalon-fractal-footer .ff-subscribe svg { width:21px; height:21px; }
#avalon-fractal-footer .ff-consent { display:flex; gap:8px; align-items:flex-start; padding-block:12px 7px; color:#c5b9c3; font-size:10px; line-height:1.6; cursor:pointer; }
#avalon-fractal-footer .ff-consent input { flex-shrink:0; width:15px; height:15px; margin:1px 0 0; accent-color:#e5c37b; }
#avalon-fractal-footer .ff-preview-note { display:block; margin-top:10px; color:#bfa58f; font-size:10px; line-height:1.5; }
#avalon-fractal-footer .ff-updates > .ff-preview-note { color:#bfa58f; font-size:10px; }
#avalon-fractal-footer .ff-signup-status:empty { display:none; }
#avalon-fractal-footer .ff-updates > .ff-signup-status { margin-top:10px; color:#f4dfb4; font-size:11px; }
#avalon-fractal-footer .ff-bottom { display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; gap:12px 24px; padding:17px var(--ff-gutter); background:#100c12; color:#bdb0bd; font-size:11px; }
#avalon-fractal-footer .ff-legal { display:flex; flex-wrap:wrap; gap:8px 22px; align-items:center; }
#avalon-fractal-footer .ff-legal a { display:inline-flex; align-items:center; min-height:44px; }
#avalon-fractal-footer .ff-socials { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-left:auto; }
#avalon-fractal-footer .ff-social { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:44px; padding:8px 16px; border:1px solid #e5c37b50; border-radius:30px; color:#e8d6b4; font-size:12px; }
#avalon-fractal-footer .ff-social:hover { background:#342435; text-decoration:none; }
#avalon-fractal-footer .ff-social svg { flex-shrink:0; }
#avalon-fractal-footer .ff-lang { display:flex; align-items:center; gap:2px; color:#907b88; }
#avalon-fractal-footer .ff-lang button { min-width:44px; min-height:44px; padding:8px 10px; border:0; border-radius:22px; background:transparent; color:#cdbecb; font:11px/1.5 Arial,Helvetica,sans-serif; cursor:pointer; }
#avalon-fractal-footer .ff-lang button:hover { background:#281e27; }
#avalon-fractal-footer .ff-lang button[aria-pressed="true"] { background:#362932; color:#f3d798; }
#avalon-fractal-footer .ff-service-dialog { width:min(480px,calc(100% - 32px)); padding:32px; border:1px solid #b89956; border-radius:18px; background:#211421; color:#f5ece1; box-shadow:0 20px 100px #0008; }
#avalon-fractal-footer .ff-service-dialog::backdrop { background:#08040cbb; }
#avalon-fractal-footer .ff-service-dialog h2 { margin:18px 0; color:#eaca8a; font:32px Georgia,serif; }
#avalon-fractal-footer .ff-service-dialog p { color:#cdbecb; font:14px/1.7 Arial,sans-serif; }
#avalon-fractal-footer .ff-dialog-close { margin-top:24px; min-height:44px; padding:10px 24px; border:1px solid #b89956; border-radius:25px; background:#dfbd7c; color:#241421; cursor:pointer; }
@container (max-width:1000px) {
  #avalon-fractal-footer .ff-spiral-navs { grid-template-columns:repeat(4,minmax(0,1fr)); row-gap:28px; }
  #avalon-fractal-footer .ff-updates { grid-column:1/-1; border-left:0; border-top:1px solid #e5c37b20; padding:24px 0 0; max-width:100%; }
  #avalon-fractal-footer .ff-updates > p,#avalon-fractal-footer .ff-email-field,#avalon-fractal-footer .ff-consent { max-width:430px; }
}
@container (max-width:700px) {
  #avalon-fractal-footer .ff-product { --ff-gutter:24px; }
  #avalon-fractal-footer .ff-topline { align-items:flex-start; flex-wrap:wrap; gap:12px; padding-block:20px; }
  #avalon-fractal-footer .ff-small-wordmark { font-size:32px; }
  #avalon-fractal-footer .ff-topline > .ff-eyebrow { font-size:9px; }
  #avalon-fractal-footer .ff-spiral-main { grid-template-columns:1fr; }
  #avalon-fractal-footer .ff-invitation { padding-block:32px 35px; }
  #avalon-fractal-footer .ff-invitation h2 { font-size:clamp(40px,9vw,60px); }
  #avalon-fractal-footer .ff-contact-panel { display:block; min-height:175px; overflow:hidden; border-top:1px solid #e5c37b38; border-left:0; }
  #avalon-fractal-footer .ff-shell { position:absolute; right:0; top:0; width:61.8%; height:200px; min-height:0; }
  #avalon-fractal-footer .ff-art-caption { position:relative; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; min-height:175px; padding:24px; max-width:52%; text-align:left; }
  #avalon-fractal-footer .ff-art-caption span { font-size:14px; letter-spacing:3px; }
  #avalon-fractal-footer .ff-art-caption i { margin-top:5px; font-size:12px; }
  #avalon-fractal-footer .ff-contact-strip { grid-template-columns:1fr; gap:24px; padding-block:25px; }
  #avalon-fractal-footer .ff-hours { font-size:10px; letter-spacing:.7px; }
  #avalon-fractal-footer .ff-phone { font-size:30px; }
  #avalon-fractal-footer .ff-spiral-navs { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:26px; padding-block:28px; }
  #avalon-fractal-footer .ff-nav { padding:0 14px; }
  #avalon-fractal-footer .ff-nav:nth-child(odd) { border-left:0; padding-left:0; }
  #avalon-fractal-footer .ff-nav:nth-child(even) { padding-right:0; }
  #avalon-fractal-footer .ff-spiral-navs h3 { font-size:17px; }
  #avalon-fractal-footer .ff-links a,#avalon-fractal-footer .ff-links button { min-height:44px; }
  #avalon-fractal-footer .ff-bottom { gap:12px; }
  #avalon-fractal-footer .ff-legal { width:100%; justify-content:space-between; gap:5px 15px; }
  #avalon-fractal-footer .ff-socials { margin-left:0; }
  #avalon-fractal-footer .ff-social { padding-inline:12px; }
  #avalon-fractal-footer .ff-lang { margin-left:auto; }
}
@media (pointer:coarse) { #avalon-fractal-footer .ff-links a,#avalon-fractal-footer .ff-links button { min-height:44px; } }

/* Production guard against legacy theme typography and form styling. */
#avalon-fractal-footer { text-align:left; }
#avalon-fractal-footer .ff-product { margin:0; padding:0; border-radius:0; }
#avalon-fractal-footer h2,#avalon-fractal-footer h3 { text-transform:none; text-shadow:none; }
#avalon-fractal-footer .ff-links li { padding:0; background:none; list-style:none; }
#avalon-fractal-footer input:disabled,#avalon-fractal-footer button:disabled { cursor:not-allowed; opacity:.65; }
#avalon-fractal-footer #ff-email { height:auto; margin:0; box-shadow:none; }
#avalon-fractal-footer .ff-lang a { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; border-radius:22px; }
#avalon-fractal-footer .ff-lang a:hover { background:#281e27; }
#avalon-fractal-footer .ff-service-dialog:not([open]) { display:none; }
#avalon-fractal-footer .ff-service-dialog[open] { position:fixed; inset:0; margin:auto; max-height:calc(100dvh - 32px); overflow:auto; }
