/* Final copy and contact, using the existing type, surfaces and chapter motion. */
.hero-backdrop-name{position:absolute;z-index:1;left:50%;top:50%;translate:-50% -50%;transform:rotate(-6deg);margin:0;padding:.16em .1em;white-space:nowrap;font:400 clamp(90px,14vw,270px)/1.35 'Brittany Signature',cursive;font-synthesis:none;letter-spacing:0;color:#fff;pointer-events:none}
.reels-stage .reel-display-word{font-size:var(--video-word-size,clamp(120px,21.5vw,380px))}
.studio-intro[data-work-mode=reels]{padding-bottom:0}
.reels-stage .reel-context{grid-column:1;grid-row:1;align-self:center;justify-self:start;position:relative;z-index:2;width:100%;max-width:320px;margin:0;text-align:left}
.reels-stage .reel-context p{margin:0;font-size:clamp(12px,1.05vw,15px);line-height:1.65;color:var(--white)}
.studio-contact.chapter-motion,.studio-contact{--panel-bg:#2d66ff;--panel-ink:var(--white);background:var(--panel-bg);color:var(--panel-ink);min-height:max(100svh,var(--contact-view-height,100svh));padding:96px 0 28px}
.studio-contact>.studio-container{min-height:calc(var(--contact-view-height,100svh) - 124px);display:flex;flex-direction:column;justify-content:center}
.contact-brand-backdrop{position:absolute;z-index:0;left:calc((100% - 100vw)/2);top:-96px;bottom:-28px;width:100vw;overflow:hidden;pointer-events:none;user-select:none}
.contact-brand-backdrop img{position:absolute;right:clamp(-220px,-14vw,-70px);top:50%;width:clamp(560px,60vw,1080px);max-width:none;height:auto;opacity:1;transform:translateY(-50%) rotate(-14deg);pointer-events:none}
.contact-closing{position:relative;z-index:1;width:min(100%,800px);padding:40px 0;margin-block:auto}
.contact-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;max-width:660px;margin:24px 0 26px}
.contact-services article{min-width:0;background:var(--panel-bg)}
.studio-contact .contact-services h3{margin:0 0 10px;font:600 clamp(17px,1.5vw,22px)/1.25 Montserrat,Arial,sans-serif;letter-spacing:-.025em;color:var(--white)}
.studio-contact .contact-services p{margin:0;font:400 clamp(13px,1.05vw,15px)/1.65 Montserrat,Arial,sans-serif;color:var(--white)}
.studio-contact h2{margin:0 0 10px;font:400 clamp(52px,7vw,100px)/.98 'Bebas Neue',Arial,sans-serif;letter-spacing:-.015em;text-wrap:balance}
.studio-contact .contact-closing>p{max-width:none;white-space:nowrap;margin:0 0 28px;font:400 clamp(13px,1.1vw,16px)/1.55 Montserrat,Arial,sans-serif}
.studio-contact .contact-action{display:inline-flex;align-items:center;justify-content:center;max-width:100%;min-height:64px;padding:18px 28px;border:0;border-radius:0;background:#fff;color:#2d66ff;text-decoration:none;font:600 clamp(13px,1.15vw,16px)/1.4 Montserrat,Arial,sans-serif;transition:background-color .2s ease,transform .2s ease}
.contact-action:hover{background:var(--paper);transform:translateY(-2px)}
.contact-closing>h2,.contact-closing>p,.contact-address,.contact-email,.studio-contact .studio-legal a{width:fit-content;background:var(--panel-bg)}
.contact-address{display:block;width:fit-content;max-width:100%;margin-top:22px;color:var(--white);font:400 clamp(12px,1.1vw,15px)/1.8 Montserrat,Arial,sans-serif;text-decoration:none;overflow-wrap:anywhere;user-select:text;-webkit-user-select:text;cursor:text}
.contact-email{display:block;width:fit-content;max-width:100%;margin-top:8px;color:var(--white);font:400 clamp(12px,1.1vw,15px)/1.8 Montserrat,Arial,sans-serif;text-decoration:none;overflow-wrap:anywhere;user-select:text;-webkit-user-select:text}
.contact-action:focus-visible,.contact-address:focus-visible,.contact-email:focus-visible,.studio-contact .studio-legal a:focus-visible{outline:2px solid #fff;outline-offset:6px}
.studio-contact .studio-legal{z-index:1;margin-top:0;padding-top:24px;color:var(--white);border:0}
.studio-contact .studio-legal a{display:inline-flex;align-items:center;min-height:32px;color:inherit}
/* No backplates: individual controls change ink only over the white artwork. */
.site-header .brand-mark[data-on-cutout] .brand-black{opacity:1}
.site-header .brand-mark[data-on-cutout] .brand-white{opacity:0}
.section-dots a{position:relative}
.section-dots a::after{content:attr(data-label);position:absolute;right:calc(100% + 10px);top:50%;translate:0 -50%;padding:6px 9px;background:var(--ink);color:var(--white);white-space:nowrap;font:500 10px/1.3 Montserrat,Arial,sans-serif;opacity:0;pointer-events:none}
.section-dots a:hover::after,.section-dots a:focus-visible::after{opacity:1}
/* The same return control stays in a zero-height sticky rail; no duplicate,
   collapsed content, layout jump or reserved column through the artwork. */
.portfolio-return-rail{position:sticky;top:12px;height:0;z-index:5}
.portfolio-return-rail .portfolio-close{width:clamp(80px,9vw,132px);transform:translateY(clamp(32px,6vh,80px))}
.portfolio-return-rail .portfolio-close .portfolio-control-label{font:400 clamp(24px,3.2vw,44px)/1 'Bebas Neue',Arial,sans-serif;letter-spacing:0}
.portfolio-intro h2{grid-column:2}
.is-reader-scrolled .portfolio-return-rail .portfolio-close{flex-direction:row;align-items:center;gap:12px;width:fit-content;max-width:100%;min-height:48px;padding:10px 14px;transform:none;background:var(--paper);color:var(--ink);border:0}
.is-reader-scrolled .portfolio-close svg{width:36px}
.is-reader-scrolled .portfolio-close .portfolio-control-label{font:500 11px/1.3 Montserrat,Arial,sans-serif;letter-spacing:.08em}
@media(min-width:761px) and (max-width:1320px){
 .studio-section>.studio-container{width:calc(100% - clamp(24px,5vw,64px) - 72px);margin-left:clamp(24px,5vw,64px);margin-right:72px}
 .contact-brand-backdrop{left:calc(-1 * clamp(24px,5vw,64px))}
}
@media(max-width:760px){
 .hero-backdrop-name{top:43%;font-size:clamp(50px,16vw,120px)}
 .reels-stage .reel-display-word{font-size:var(--video-word-size,18vw)}
 .reels-stage{grid-template-rows:minmax(0,1fr) auto auto;gap:8px}
 .reels-stage .reel-context{grid-column:1;grid-row:3;max-width:100%;align-self:end;justify-self:center}
 .reels-stage .reel-context p{font-size:13px;line-height:1.5}
 .reels-stage .reel-card{height:min(54svh,calc(var(--reels-stage-height,calc(100svh - 130px)) - var(--reel-copy-reserve,210px)),440px)}
 .studio-contact.chapter-motion,.studio-contact{padding-top:80px}
 .studio-contact>.studio-container{min-height:calc(var(--contact-view-height,100svh) - 108px)}
 .contact-closing{padding:24px 0 36px}
 .studio-contact h2{font-size:clamp(48px,12vw,78px)}
 .studio-contact .contact-closing>p{white-space:normal;font-size:13px;line-height:1.55}
 .contact-services{grid-template-columns:1fr;gap:22px;margin:22px 0 26px}
 .contact-services article{background:none}
 .contact-brand-backdrop{left:-24px;top:-80px}
 .contact-brand-backdrop img{width:clamp(440px,112vw,650px);right:-150px}
 /* The mark has its own lower area on mobile; no copy sits on top of it. */
 .studio-contact .contact-closing{order:0;margin-block:0;padding:24px 0 0}
 .studio-contact .contact-brand-backdrop{position:relative;order:1;left:-24px;top:auto;bottom:auto;height:248px;flex:0 0 248px;margin-top:16px;overflow:hidden}
 .studio-contact .contact-brand-backdrop img{width:190px;right:-28px;top:20px;bottom:auto;transform:rotate(-14deg)}
 .studio-contact .studio-legal{order:2;margin-top:auto}
 .studio-contact .contact-closing>h2,.studio-contact .contact-closing>p,.studio-contact .contact-address,.studio-contact .contact-email,.studio-contact .studio-legal a{background:none}
 .contact-action{min-height:58px;padding:16px 22px}
 .portfolio-return-rail .portfolio-close{width:clamp(56px,10vw,80px);transform:translateY(30px)}
 .section-dots{gap:4px}
 .section-dots a{width:32px;height:32px}
}
@media(max-width:380px){.studio-contact .contact-brand-backdrop{left:-18px}}
@media(prefers-reduced-motion:reduce){.contact-action{transition:none}.contact-action:hover{transform:none}}
