.zo-f { --zo-f-ink:#382f32; --zo-f-line:#e4d8d6; box-sizing:border-box; position:relative; width:calc(100vw - 48px); max-width:none; margin:14px 0 0 calc(50% - 50vw + 24px); padding:clamp(54px,5vw,78px) 0 25px; overflow:hidden; border:1px solid #e4d8d6; border-radius:25px 25px 0 0; background:linear-gradient(145deg,#fbf6f0 0%,#f0e0df 100%); color:var(--zo-f-ink); font-family:Arial,Helvetica,sans-serif; font-size:14px; }
.zo-f *, .zo-f *::before, .zo-f *::after { box-sizing:border-box; }
.zo-f__inner { width:min(1320px,calc(100% - 48px)); margin-inline:auto; }
.zo-f a { color:inherit; text-decoration:none; }
.zo-f a:focus-visible { outline:3px solid #a83f52; outline-offset:3px; }
.zo-f__grid { display:grid; grid-template-columns:112px minmax(190px,1.25fr) minmax(120px,.8fr) minmax(120px,.8fr) minmax(215px,1.25fr); align-items:start; gap:clamp(20px,2.4vw,42px); }
.zo-f__logo-column { display:flex; align-items:flex-start; }
.zo-f__logo { display:grid; place-items:center; width:112px; height:112px; border:1px solid #e4d8d6; border-radius:23px; background:#fffbf7; box-shadow:0 10px 25px #553e470d; transition:transform .2s ease,box-shadow .2s ease; }
.zo-f__logo:hover { transform:translateY(-3px); box-shadow:0 14px 30px #553e471f; }
.zo-f__logo img { display:block; width:92px; height:92px; object-fit:contain; }
.zo-f__brand { padding-right:clamp(4px,1.2vw,20px); }
.zo-f__brand h2 { max-width:290px; margin:-4px 0 18px; color:#382f32; font-family:Georgia,'Times New Roman',serif; font-size:clamp(25px,2.25vw,34px); font-weight:400; line-height:1.13; letter-spacing:-.035em; text-transform:none; }
.zo-f__brand p { max-width:280px; margin:0; color:#70656a; font-size:14px; line-height:1.75; }
.zo-f__nav { display:flex; flex-direction:column; align-items:flex-start; min-width:0; }
.zo-f__nav h2 { align-self:stretch; margin:1px 0 18px; padding:0 0 15px; border-bottom:1px solid var(--zo-f-line); color:#875567; font-family:Arial,Helvetica,sans-serif; font-size:11px; font-weight:800; line-height:1.3; letter-spacing:.17em; text-transform:uppercase; }
.zo-f__nav a { display:inline-block; max-width:100%; margin:0 0 12px; padding:0 0 2px; background-image:linear-gradient(#854052,#854052); background-position:left bottom; background-repeat:no-repeat; background-size:0 1px; color:#854052; font-size:14px; font-weight:400; line-height:1.48; transition:background-size .2s ease,color .2s ease,transform .2s ease; }
.zo-f__nav a:hover, .zo-f__nav a:focus-visible { background-size:100% 1px; color:#a83f52; transform:translateX(3px); }
.zo-f__bottom { display:flex; justify-content:space-between; gap:20px; margin-top:clamp(40px,5vw,72px); padding-top:21px; border-top:1px solid #e4d8d6; color:#70656a; font-size:11px; letter-spacing:.02em; }
.zo-f__bottom a { color:#854052; font-weight:700; }
.zo-f__bottom a:hover { color:#a83f52; text-decoration:underline; text-underline-offset:3px; }
@media (max-width:1100px) { .zo-f__grid { grid-template-columns:112px repeat(2,minmax(0,1fr)); gap:34px 30px; } .zo-f__brand { grid-column:span 2; } }
@media (max-width:680px) { .zo-f { width:calc(100vw - 18px); margin:10px 0 0 calc(50% - 50vw + 9px); padding:43px 0 23px; } .zo-f__inner { width:calc(100% - 36px); } .zo-f__grid { grid-template-columns:94px minmax(0,1fr); gap:30px 22px; } .zo-f__brand { grid-column:auto; align-self:center; padding:0; } .zo-f__brand h2 { margin:0 0 9px; font-size:clamp(23px,6vw,30px); } .zo-f__brand p { font-size:12px; line-height:1.55; } .zo-f__logo { width:94px; height:94px; border-radius:20px; } .zo-f__logo img { width:78px; height:78px; } .zo-f__legal { grid-column:1 / -1; } .zo-f__bottom { margin-top:42px; } }
@media (max-width:420px) { .zo-f__grid { gap:27px 18px; } .zo-f__nav h2 { margin-bottom:15px; } .zo-f__nav a { font-size:13px; } .zo-f__brand p { font-size:11px; } .zo-f__bottom { flex-direction:column; gap:8px; } }
@media (prefers-reduced-motion:reduce) { .zo-f *, .zo-f *::before, .zo-f *::after { transition:none !important; } }
