footer {
    background:var(--paper-soft);
    color:var(--ink)
}

.footer-upper {
    padding:80px 8% 60px !important;
    border-top:4px solid var(--amber);
    position:relative;
    overflow:hidden;
    width:100%;
}

.footer-upper::before {
    content:'';
    position:absolute;
    top:0;
    right:0;
    width:300px;
    height:300px;
    background-image:radial-gradient(circle,var(--amber) 1px,transparent 1px);
    background-size:20px 20px;
    opacity:0.06;
}

.footer-top-row {
    display:grid;
    grid-template-columns:auto 1fr;
    gap:52px;
    align-items:flex-end;
    margin-bottom:52px;
    padding-bottom:44px;
    border-bottom:1px solid var(--rule);
}

.footer-logo-block {
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:0;
    min-width:150px;
    padding-bottom:4px;
}

.footer-logo-img {
    width:120px;
    height:auto;
    object-fit:contain;
    margin-top:12px;
    margin-bottom:-12px;
}

.footer-brand-name {
    font-family:var(--serif,'Vesper Libre',serif);
    font-size:20px;
    font-weight:700;
    color:var(--ink);
    letter-spacing:0.5px;
    text-align:center;
    margin-top:0px;
}

.footer-brand-name .brand-i {
    color:var(--red)
}

.footer-desc-main {
    font-size:15px;
    color:var(--mute);
    line-height:1.8;
    margin-bottom:14px;
    max-width:660px;
    font-family:var(--sans,'Inter',system-ui,sans-serif);
}

.footer-desc-highlight {
    font-family:var(--serif,'Vesper Libre',serif) !important;
    color:var(--ink);
}

.footer-desc-highlight .text-red {
    color:var(--red) !important;
}

.footer-desc-tagline {
    font-size:15px;
    font-weight:700;
    color:var(--ink);
    line-height:1.6;
    margin-bottom:16px;
    font-family:var(--sans,'Inter',system-ui,sans-serif);
}

.footer-nav-row {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:32px
}

.footer-col-title {
    font-size:14px;
    font-weight:700;
    color:var(--ink);
    margin-bottom:18px;
    letter-spacing:0.3px;
    font-family:var(--serif,'Vesper Libre',serif);
}

.footer-links {
    list-style:none;
    display:flex;
    flex-direction:column;
    gap:13px;
    padding-left:0;
    margin-bottom:16px;
}

.footer-links a {
    text-decoration:none;
    color:var(--mute);
    font-size:14px;
    transition:color 0.2s;
    font-family:var(--sans,'Inter',system-ui,sans-serif);
}

.footer-links a:hover {
    color:var(--amber)
}

.footer-email-link {
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:var(--mute);
    font-size:14px;
    text-decoration:none;
    transition:color 0.2s;
    font-family:var(--sans,'Inter',system-ui,sans-serif);
}

.footer-email-link:hover {
    color:var(--amber)
}

.footer-email-link svg {
    width:16px;
    height:16px;
    flex-shrink:0;
    stroke:currentColor;
    fill:none;
    stroke-width:1.5
}

.footer-bottom-strip {
    background:var(--ink-soft);
    padding:24px 8% !important;
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:12px;
    width:100%;
}

.footer-copy {
    font-size:13px;
    color:rgba(255,255,255,0.5);
    font-weight:500;
    font-family:var(--sans,'Inter',system-ui,sans-serif);
    margin:0;
}

.footer-copy a {
    color:rgba(255,255,255,0.7);
    text-decoration:none
}

.footer-copy a:hover {
    color:var(--amber)
}

.social-row {
    display:flex;
    gap:10px
}

.social-btn {
    width:36px;
    height:36px;
    border-radius:50%;
    background:rgba(255,255,255,0.08);
    border:1px solid rgba(255,255,255,0.15);
    display:flex;
    align-items:center;
    justify-content:center;
    color:rgba(255,255,255,0.6);
    cursor:pointer;
    transition:all 0.2s;
    text-decoration:none;
}

.social-btn:hover {
    background:var(--amber);
    color:#fff;
    border-color:var(--amber)
}

.social-btn svg {
    width:15px;
    height:15px;
    fill:currentColor
}

@media (max-width:1024px) {
  .footer-top-row {
    grid-template-columns:1fr;
    gap:32px;
    align-items:center;
    text-align:center;
}

.footer-logo-block {
    align-items:center;
}

.footer-desc-main {
    margin-left:auto;
    margin-right:auto;
}

.footer-nav-row {
    grid-template-columns:repeat(2,1fr);
    gap:40px;
}

}

@media (max-width:768px) {
  .footer-nav-row {
    grid-template-columns:repeat(2,1fr);
    text-align:left;
    gap:32px 16px;
}

.footer-nav-row>div:nth-child(even) {
    padding-left:24px;
}

.footer-links {
    align-items:flex-start;
}

.footer-bottom-strip {
    flex-direction:column;
    justify-content:center;
    text-align:center;
    gap:16px;
}

}

@media (min-width:1600px) {
  .footer-upper {
    padding:100px 8% 70px !important;
}

.footer-logo-img {
    width:140px;
}

.footer-brand-name {
    font-size:24px;
}

.footer-desc-main {
    font-size:16px;
    max-width:800px;
}

.footer-desc-highlight {
    font-family:var(--serif,'Vesper Libre',serif) !important;
    color:var(--ink);
}

.footer-desc-highlight .text-red {
    color:var(--red) !important;
}

.footer-desc-tagline {
    font-size:16px;
}

.footer-col-title {
    font-size:16px;
    margin-bottom:22px;
}

.footer-links a {
    font-size:15px;
}

.footer-links {
    gap:16px;
}

.footer-bottom-strip {
    padding:28px 8% !important;
}

.footer-copy {
    font-size:14px;
}

.social-btn {
    width:40px;
    height:40px;
}

.social-btn svg {
    width:17px;
    height:17px;
}

}

@media (min-width:2000px) {
  .footer-upper {
    padding:120px 8% 80px !important;
}

.footer-top-row {
    gap:80px;
    margin-bottom:70px;
    padding-bottom:60px;
}

.footer-logo-img {
    width:170px;
}

.footer-brand-name {
    font-size:28px;
}

.footer-desc-main {
    font-size:19px;
    max-width:1000px;
}

.footer-desc-highlight {
    font-family:var(--serif,'Vesper Libre',serif) !important;
    color:var(--ink);
}

.footer-desc-highlight .text-red {
    color:var(--red) !important;
}

.footer-desc-tagline {
    font-size:19px;
}

.footer-col-title {
    font-size:19px;
    margin-bottom:26px;
}

.footer-links a {
    font-size:18px;
}

.footer-links {
    gap:20px;
}

.footer-email-link {
    font-size:18px;
}

.footer-email-link svg {
    width:22px;
    height:22px;
}

.footer-bottom-strip {
    padding:36px 8% !important;
}

.footer-copy {
    font-size:17px;
}

.social-row {
    gap:14px;
}

.social-btn {
    width:50px;
    height:50px;
}

.social-btn svg {
    width:22px;
    height:22px;
}

}

@media (min-width:2560px) {
  .footer-upper {
    padding:150px 8% 100px !important;
}

.footer-logo-img {
    width:210px;
}

.footer-brand-name {
    font-size:34px;
}

.footer-desc-main {
    font-size:24px;
    max-width:1200px;
    margin-bottom:24px;
}

.footer-desc-highlight {
    font-family:var(--serif,'Vesper Libre',serif) !important;
    color:var(--ink);
}

.footer-desc-highlight .text-red {
    color:var(--red) !important;
}

.footer-desc-tagline {
    font-size:24px;
}

.footer-col-title {
    font-size:24px;
    margin-bottom:34px;
}

.footer-links a {
    font-size:22px;
}

.footer-links {
    gap:26px;
}

.footer-email-link {
    font-size:22px;
}

.footer-email-link svg {
    width:26px;
    height:26px;
}

.footer-bottom-strip {
    padding:46px 8% !important;
}

.footer-copy {
    font-size:22px;
}

.social-row {
    gap:18px;
}

.social-btn {
    width:64px;
    height:64px;
}

.social-btn svg {
    width:28px;
    height:28px;
}

}
