/* Editorial footer: one invitation, a contact/resource pair and a quiet colophon. */
.site_footer{background:var(--surface-bg,var(--c-text-dark));color:var(--surface-text,var(--c-bg-cream-1))}
.footer_container{padding-block:var(--section-space) 28px}
.footer_intro,.footer_details{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:8%;align-items:start}
.footer_opening .section_kicker{margin-bottom:24px;color:var(--surface-accent,#ff8273)}
.footer_heading{margin:0;max-width:14ch;font:500 clamp(38px,5.8vw,84px)/1.04 var(--font-body);letter-spacing:var(--type-tracking);text-wrap:balance}
.footer_conversation{padding-top:36px;min-width:0}
.site_footer .footer_invitation{margin:0;max-width:27ch;min-height:0;color:var(--surface-muted,#bbc3bf);font-size:clamp(17px,1.65vw,23px);line-height:1.65;rotate:-2deg}
.footer_hello{display:flex;align-items:center;flex-wrap:wrap;gap:6px clamp(12px,1.4vw,18px);width:fit-content;max-width:100%;min-height:60px;margin-top:30px;color:var(--surface-text,#fffaf1);font:400 clamp(24px,2.7vw,38px)/1.5 var(--font-hand);text-decoration:none;rotate:-3deg}
.footer_hello .pencil-mark{flex:none;width:clamp(44px,4.5vw,58px);height:32px;color:var(--surface-accent,#ff8273);transition:translate .2s}
.footer_hello__service{flex-basis:100%;font:500 10px/1.5 var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--surface-muted,#bbc3bf);rotate:3deg}
.footer_details{margin-top:clamp(44px,5vw,72px)}
.footer_left{min-width:0}
.footer_contact{display:inline-block;max-width:100%;color:var(--surface-text,#fffaf1);text-decoration:none;overflow-wrap:anywhere;letter-spacing:-.035em}
.footer__email{font:450 clamp(24px,2.6vw,36px)/1.4 var(--font-body)}
.footer_phone_row{margin-top:9px}
.footer__phone{font:450 clamp(24px,2.6vw,36px)/1.4 var(--font-body)}
.footer_social{display:flex;flex-wrap:wrap;gap:10px 24px;list-style:none;margin:22px 0 0;padding:0}
.footer_social_link{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--surface-muted,#bbc3bf);text-decoration:none;font:450 12px/1.5 var(--font-body)}
.social_ico{width:18px;height:18px;flex:0 0 18px}.social_ico--fill *{fill:currentColor;stroke:none}
.footer_instagram{width:18px;text-align:center;font:500 21px/1 var(--font-body)}
.footer_right{display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:100%;max-width:340px;padding-top:0}
.footer_brandbook,.footer_btn{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:48px;max-width:100%;color:var(--surface-text,#fffaf1);font:500 14px/1.5 var(--font-body);text-decoration:none}
.footer_right :is(.footer_brandbook,.footer_btn){width:100%}
.footer_btn{text-transform:none}
.footer_brandbook span,.footer_btn::after{flex:none;color:var(--surface-accent,#ff8273);font:400 26px/1 var(--font-hand)}
.footer_btn::after{content:"↓"}
.footer_bottom{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:48px;align-items:start;margin-top:58px;padding-top:20px;border-top:1px solid color-mix(in srgb,var(--surface-text,#fffaf1) 14%,transparent)}
.site_footer .footer_legal{margin:0;max-width:none;gap:0 24px}
.site_footer .footer_legal button{font-weight:450;font-size:11px}
.site_footer .footer_meta_notice{grid-column:1;max-width:88ch;margin:9px 0 16px;font-size:10px;line-height:1.8}
.site_footer .footer_copyright{grid-column:1;margin:0;font-size:10px;font-weight:400}
.footer_studio{grid-column:2;grid-row:1/4;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px 10px;width:160px;max-width:100%;min-width:0;min-height:56px;padding:7px 3px 3px;align-self:end;color:inherit;text-decoration:none;cursor:pointer;transition:opacity .2s}
.footer_studio__label{grid-column:1/-1;justify-self:start;color:var(--surface-accent,#ff8273);font:400 14px/1.4 var(--font-hand);white-space:nowrap;rotate:-5deg;transform-origin:left center}
.footer_studio__arrow{grid-column:1;grid-row:2;width:48px;height:30px;justify-self:start;color:var(--surface-accent,#ff8273);rotate:8deg}
.footer_studio img{grid-column:2;grid-row:2;display:block;width:88px;height:auto;filter:var(--surface-logo,none)}
.media_legal_footer .footer_studio{margin-left:auto;width:144px;min-width:0;min-height:44px}.media_legal_footer .footer_studio img{width:64px}
.media_legal_footer .footer_brandbook{font-size:12px}
.site_footer :is(a,button):focus-visible,.studio_dialog :is(a,button):focus-visible{outline:2px solid var(--surface-accent,#ff8273);outline-offset:5px}
@media(hover:hover){
 .footer_hello:hover .pencil-mark{translate:5px -3px}
 .footer_contact:hover,.footer_brandbook:hover,.footer_btn:hover,.footer_social_link:hover{color:var(--surface-accent,#ff8273)}
 .footer_studio:hover{opacity:.65}
}
@media(max-width:760px){
 .footer_intro,.footer_details{grid-template-columns:1fr;gap:34px}
 .footer_conversation{padding:0}
 .site_footer .footer_invitation{max-width:30ch;font-size:18px}
 .footer_hello{margin-top:23px;font-size:28px}
 .footer_details{margin-top:44px;gap:32px}
 .footer_right{max-width:420px}
 .footer_bottom{margin-top:36px;column-gap:24px}
 .site_footer .footer_legal{grid-column:1/-1;gap:0 18px}
 .site_footer .footer_meta_notice{grid-column:1/-1;margin:14px 0 24px}
 .footer_studio{grid-row:3;align-self:center;width:144px;min-height:44px}.footer_studio img{width:68px}
 .footer_studio__label{font-size:13px}
 .site_footer .footer_copyright{grid-row:3;align-self:center;max-width:25ch}
}

/* Native dialog isolates focus/background; the logo remains a normal link without JS. */
.studio_dialog{padding:0;border:0;border-radius:3px;width:min(500px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;background:var(--c-bg-cream-1);color:var(--c-text-dark);box-shadow:0 24px 100px rgb(0 0 0 / .3)}
.studio_dialog:not([open]){display:none}
.studio_dialog::backdrop{background:rgb(3 14 18 / .78);backdrop-filter:blur(7px)}
.studio_dialog__inner{padding:clamp(24px,5vw,42px)}
.studio_dialog__header{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:38px}
.studio_dialog__header h2{margin:0;line-height:1}.studio_dialog__header img{display:block;width:112px;height:auto;filter:brightness(0)}
.studio_dialog__close{display:grid;place-items:center;flex:none;width:44px;height:44px;margin:-8px -10px 0 0;padding:0;border:0;background:transparent;color:var(--c-text-dark);font:300 32px/1 var(--font-body);cursor:pointer}
.studio_dialog__role{margin:0 0 12px;color:var(--c-grey-600);font:500 10px/1.4 var(--font-body);letter-spacing:.12em;text-transform:uppercase}
.studio_dialog__name{margin:0 0 30px;font:500 clamp(26px,5vw,36px)/1.2 var(--font-body);letter-spacing:-.045em}
.studio_dialog__contacts{display:flex;flex-direction:column;gap:3px;font-style:normal}
.studio_dialog__contacts a{display:grid;grid-template-columns:70px minmax(0,1fr);align-items:center;gap:12px;min-height:48px;color:inherit;text-decoration:none;overflow-wrap:anywhere}
.studio_dialog__contacts span{font:400 11px/1.4 var(--font-body);color:var(--c-grey-600)}
.studio_dialog__contacts strong{font:500 15px/1.5 var(--font-body)}
.studio_dialog__website{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:52px;margin-top:28px;padding-top:18px;border-top:1px solid rgb(3 14 18 / .15);color:var(--c-red-dark);font:500 23px/1.5 var(--font-body);letter-spacing:-.04em;text-decoration:none}
.studio_dialog__website .pencil-mark{width:50px;height:28px;color:var(--c-red-dark)}
.studio_dialog :is(a,button):focus-visible{outline-color:var(--c-red-dark)}
@media(hover:hover){.studio_dialog a:hover{color:var(--c-red-dark)}.studio_dialog__close:hover{color:var(--c-red-dark)}}
@media(max-width:380px){.footer_hello{font-size:24px}.studio_dialog__inner{padding:24px 20px}.studio_dialog__contacts a{grid-template-columns:58px minmax(0,1fr);gap:8px}.studio_dialog__contacts strong{font-size:13px}}
@media(prefers-reduced-motion:reduce){.footer_hello .pencil-mark,.footer_studio{transition:none}}
