/* Homepage: introduce the designer and the offer before the full portfolio. */
.bh-home { --bh-gap:clamp(28px,4vw,58px); }
.bh-home h2 { font-size:clamp(36px,4.1vw,58px); font-weight:500; line-height:1.08; margin:0; }
.bh-home h2 span { color:var(--rd-ink); }
.bh-home p { line-height:1.7; }
.bh-home .rd-button { transition:transform var(--motion-quick) var(--motion-ease),opacity var(--motion-quick) var(--motion-ease); }
.bh-home .rd-link { gap:22px; transition:opacity var(--motion-quick) var(--motion-ease); }
.bh-home .rd-link:is(:hover,:focus-visible) { gap:22px; color:var(--rd-accent); }
.bh-home .rd-link>span { transition:transform var(--motion-quick) var(--motion-ease); }
.bh-home .rd-link:is(:hover,:focus-visible)>span { transform:translate(3px,-3px); }
.bh-home :where(a,button):focus-visible { outline:2px solid var(--rd-accent); outline-offset:6px; }
.bh-hero { padding-top:clamp(128px,12vw,174px); padding-bottom:58px; }
.bh-hero-grid { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:var(--bh-gap); }
.bh-hero-copy { padding-block:12px 28px; }
.bh-kicker { margin:0 0 24px; font-size:13px; font-weight:600; }
.bh-hero h1 { font-size:clamp(56px,6.3vw,88px); font-weight:500; line-height:1.03; margin:0 0 25px; }
.bh-hero h1>span { display:block; }
.bh-hero h1 .bh-hero-accent { color:var(--rd-ink); }
.bh-hero-description { max-width:36ch; margin:0; font-size:16px; }
.bh-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:18px 26px; margin-top:30px; }
.bh-hero-actions .rd-link { font-size:13px; }
.bh-hero-art { position:relative; height:clamp(400px,39vw,550px); isolation:isolate; }
.bh-hero-art::before { content:''; position:absolute; inset:4% 0 4% 10%; background:var(--rd-accent); border-radius:4px; z-index:-1; }
.bh-hero-piece { position:absolute; display:block; text-decoration:none; background:var(--rd-bg); padding:8px; width:93%; transform:rotate(3deg); top:0; right:4%; transition:transform var(--motion-standard) var(--motion-ease); }
.bh-hero-piece img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }
.bh-hero-piece>span { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:10px 3px 2px; font-size:12px; font-weight:600; }
.bh-hero-piece>span>span { font-size:20px; line-height:1; }
.bh-hero-piece:not(.bh-hero-piece--second) { display:flex; flex-direction:column; }
.bh-hero-piece:not(.bh-hero-piece--second)>span { order:-1; padding:2px 3px 10px; }
.bh-hero-piece--second { width:73%; top:auto; bottom:0; right:-1%; transform:rotate(-5deg); }
.bh-hero-piece--second img { aspect-ratio:7/4; }
.bh-hero-piece:focus-visible { transform:rotate(0deg) translateY(-4px); z-index:2; }
.bh-hero-foot { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:18px; margin-top:45px; padding-top:22px; border-top:1px solid var(--rd-line); }
.bh-hero-foot p { font-size:12px; margin:0; color:var(--rd-muted); }
.bh-hero-foot a { display:inline-flex; align-items:center; gap:20px; font-size:12px; font-weight:600; text-decoration:none; padding:8px 0; }
.bh-hero-foot a:is(:hover,:focus-visible) { color:var(--rd-accent); }
.bh-intro { display:grid; grid-template-columns:.8fr 1.2fr; align-items:center; gap:clamp(36px,8vw,112px); padding-block:35px 100px; max-width:1220px; }
.bh-portrait { margin:0; position:relative; }
.bh-portrait img { display:block; width:100%; max-height:420px; aspect-ratio:4/5; object-fit:cover; object-position:center 30%; border-radius:4px; }
.bh-portrait figcaption { margin-top:12px; color:var(--rd-muted); font-size:12px; }
.bh-intro-copy { max-width:49ch; }
.bh-intro-copy p { margin:24px 0; font-size:16px; }
.bh-expertise { background:var(--rd-panel); padding-block:clamp(60px,7vw,100px); }
.bh-expertise-grid { display:grid; grid-template-columns:.85fr 1.2fr; gap:clamp(38px,7vw,96px); }
.bh-expertise-intro p { max-width:28ch; font-size:15px; margin:24px 0 0; }
.bh-services { display:flex; flex-direction:column; }
.bh-service { display:grid; grid-template-columns:118px 1fr auto; align-items:center; gap:24px; text-decoration:none; border-top:1px solid var(--rd-line); padding:20px 0; }
.bh-service:first-child { padding-top:0; border-top:0; }
.bh-service:last-child { padding-bottom:0; }
.bh-service-image { height:96px; overflow:hidden; border-radius:3px; background:var(--rd-ink); }
.bh-service-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform var(--motion-slow) var(--motion-ease); }
.bh-service-image--poster img { object-fit:contain; }
.bh-service-image--logo { background:transparent; }
.bh-service-image--logo img { object-fit:contain; }
.bh-service h3 { margin:0 0 8px; font-size:clamp(23px,2.2vw,30px); font-weight:500; line-height:1.15; }
.bh-service p { margin:0; font-size:13px; color:var(--rd-muted); }
.bh-service-arrow { font-size:28px; transition:transform var(--motion-quick) var(--motion-ease); }
.bh-service:is(:hover,:focus-visible) h3,.bh-service:is(:hover,:focus-visible) .bh-service-arrow { color:var(--rd-accent); }
.bh-service:is(:hover,:focus-visible) .bh-service-arrow { transform:translate(3px,-3px); }
.bh-work { padding-block:clamp(70px,8vw,110px); }
.bh-section-head { display:flex; justify-content:space-between; align-items:end; flex-wrap:wrap; gap:28px; margin-bottom:38px; }
.bh-work-grid { display:grid; grid-template-columns:1.35fr 1fr; align-items:start; gap:30px clamp(30px,4vw,58px); }
.bh-work-item { display:block; text-decoration:none; }
.bh-work-item:first-child { grid-column:1; grid-row:1 / 3; align-self:center; }
.bh-work-item:nth-child(2) { grid-column:2; grid-row:1; margin:28px 0 0 26px; }
.bh-work-item:nth-child(3) { grid-column:2; grid-row:2; margin-right:30px; }
.bh-work-image { aspect-ratio:16/9; position:relative; overflow:hidden; border-radius:4px; background:var(--rd-panel); }
.bh-work-item:first-child .bh-work-image { aspect-ratio:3/2; }
.bh-work-image>img { display:block; width:100%; height:100%; object-fit:cover; transition:transform var(--motion-slow) var(--motion-ease); }
.bh-work-image--posters { display:flex; align-items:center; justify-content:center; gap:12px; padding:16px; background:#1b2431; }
.bh-work-image--posters>img { object-fit:contain; width:calc(50% - 6px); }
.bh-work-caption { display:grid; grid-template-columns:1fr auto; align-items:baseline; gap:6px 12px; padding-top:16px; }
.bh-work-caption h3 { font-size:25px; font-weight:500; line-height:1.15; margin:0; }
.bh-work-caption p { font-size:12px; margin:0; color:var(--rd-muted); }
.bh-work-caption>span { grid-column:2; grid-row:1/3; font-size:25px; transition:transform var(--motion-quick) var(--motion-ease); }
.bh-work-item:is(:hover,:focus-visible) .bh-work-caption>span { color:var(--rd-accent); transform:translate(3px,-3px); }
.bh-collaboration { padding-block:0 90px; }
.bh-collaboration .bh-section-head { margin-bottom:34px; }
.bh-modes { display:flex; flex-direction:column; }
.bh-mode { padding:32px 0; background:transparent; border-radius:0; border-top:1px solid var(--rd-accent); display:grid; grid-template-columns:1fr 1.1fr 1fr; align-items:start; gap:14px clamp(25px,3.5vw,50px); }
.bh-mode:last-child { border-bottom:1px solid var(--rd-accent); }
.bh-mode-label { grid-column:1; grid-row:1; margin:0; font-size:12px; font-weight:600; color:var(--rd-accent); }
.bh-mode h3 { grid-column:1; grid-row:2; margin:0; font-size:clamp(28px,2.6vw,37px); font-weight:500; line-height:1.1; }
.bh-mode-description { grid-column:2; grid-row:1 / 3; margin:0; max-width:42ch; font-size:15px; }
.bh-mode-terms { grid-column:3; grid-row:1; margin:0; font-size:12px; color:var(--rd-muted); }
.bh-mode .rd-link { grid-column:3; grid-row:2; justify-self:start; margin-top:0; color:var(--rd-accent); font-size:13px; }
.bh-mode--partner { color:var(--rd-ink); background:transparent; }
.bh-mode--partner .bh-mode-label { color:var(--rd-accent); }
.bh-mode--partner .bh-mode-terms { color:var(--rd-muted); }
.bh-mode--partner .rd-link:is(:hover,:focus-visible) { color:var(--rd-accent); }
.bh-feedback { border-top:1px solid var(--rd-line); padding-block:55px 75px; }
.bh-feedback-head { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:34px; }
.bh-feedback h2 { font-size:clamp(32px,3.3vw,44px); }
.bh-feedback-hint { display:none; }
.bh-reviews { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(24px,3.2vw,44px); }
.bh-reviews:focus-visible { outline:2px solid var(--rd-accent); outline-offset:6px; }
.bh-feedback figure { margin:0; display:flex; flex-direction:column; align-items:start; min-width:0; }
.bh-feedback blockquote { margin:0 0 28px; font-family:'Bricolage Grotesque',sans-serif; font-size:clamp(21px,1.9vw,26px); line-height:1.42; letter-spacing:-.02em; text-wrap:pretty; }
.bh-feedback figcaption { display:flex; align-items:center; gap:14px; margin-top:auto; font-size:13px; }
.bh-feedback figcaption img { width:42px; height:42px; border-radius:50%; object-fit:cover; }
.bh-feedback figcaption>span { display:flex; flex-direction:column; gap:7px; }
.bh-feedback figcaption strong { font-weight:600; }
.bh-feedback figcaption a { align-self:start; display:inline-flex; align-items:center; gap:5px; min-height:28px; text-underline-offset:4px; font-size:12px; }
.bh-feedback figcaption a:is(:hover,:focus-visible) { color:var(--rd-accent); }
.bh-contact { background:var(--rd-accent); color:#fff; padding-block:clamp(58px,7vw,95px); }
.bh-contact-grid { display:flex; align-items:end; justify-content:space-between; gap:36px; flex-wrap:wrap; }
.bh-contact h2 { font-size:clamp(38px,5.2vw,72px); }
.bh-contact p { font-size:15px; max-width:33ch; margin:24px 0 0; }
.bh-contact .rd-button { background:#fff; color:var(--rd-ink); }
.bh-contact .rd-button:is(:hover,:focus-visible) { background:var(--rd-ink); color:#fff; }
.bh-contact :focus-visible { outline-color:#fff; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
 .bh-hero-piece:hover { transform:rotate(0deg) translateY(-4px); z-index:2; }
 .bh-service:is(:hover,:focus-visible) img { transform:scale(1.04); }
 .bh-work-item:is(:hover,:focus-visible) img { transform:scale(1.025); }
}
@media (max-width:1020px) {
 .bh-hero-grid { grid-template-columns:1.1fr 1fr; gap:28px; }
 .bh-hero h1 { font-size:clamp(50px,6.8vw,68px); }
 .bh-hero-art { height:380px; }
 .bh-hero-piece { width:96%; right:0; }
 .bh-hero-piece--second { width:80%; right:0; }
 .bh-hero-actions { gap:16px; }
 .bh-intro { gap:50px; padding-bottom:75px; }
 .bh-expertise-grid { grid-template-columns:.8fr 1.2fr; gap:36px; }
 .bh-service { grid-template-columns:86px 1fr auto; gap:16px; }
 .bh-service-image { height:82px; }
 .bh-service h3 { font-size:24px; }
 .bh-work-grid { gap:26px; }
 .bh-work-item:nth-child(2) { margin-left:12px; }
 .bh-work-item:nth-child(3) { margin-right:14px; }
 .bh-work-caption h3 { font-size:22px; }
 .bh-work-image--posters { padding:10px; gap:8px; }
}
@media (max-width:760px) {
 .bh-hero { padding-top:120px; padding-bottom:30px; }
 .bh-hero-grid { grid-template-columns:1fr; gap:28px; }
 .bh-hero-copy { padding:0; }
 .bh-kicker { font-size:12px; margin-bottom:20px; }
 .bh-hero h1 { font-size:clamp(42px,11.8vw,68px); margin-bottom:22px; }
 .bh-hero-description { font-size:15px; max-width:36ch; }
 .bh-hero-actions { gap:14px 24px; margin-top:26px; }
 .bh-hero-actions .rd-button { font-size:13px; padding:15px 21px; }
 .bh-hero-art { width:100%; max-width:500px; height:clamp(290px,83vw,415px); margin:8px auto 0; }
 .bh-hero-piece { width:89%; right:6%; padding:6px; }
 .bh-hero-piece--second { width:70%; right:1%; }
 .bh-hero-piece>span { font-size:11px; padding-block:7px 2px; gap:10px; }
 .bh-hero-piece--second>span { flex-wrap:wrap; }
 .bh-hero-piece>span>span { font-size:16px; }
 .bh-hero-foot { margin-top:35px; padding-top:18px; gap:8px; }
 .bh-hero-foot p { font-size:11px; }
 .bh-intro { grid-template-columns:1fr; gap:30px; padding-block:32px 65px; max-width:560px; }
 .bh-portrait img { max-height:390px; aspect-ratio:1/1; }
 .bh-intro-copy p { margin-block:20px; font-size:15px; }
 .bh-expertise-grid { grid-template-columns:1fr; gap:34px; }
 .bh-expertise-intro p { max-width:35ch; margin-top:20px; }
 .bh-service { grid-template-columns:76px 1fr auto; gap:14px; padding-block:18px; }
 .bh-service-image { height:80px; }
 .bh-service h3 { font-size:23px; margin-bottom:6px; }
 .bh-service p { font-size:12px; }
 .bh-service-arrow { font-size:24px; }
 .bh-section-head { gap:20px; margin-bottom:30px; }
 .bh-work-grid { grid-template-columns:1fr; gap:32px; }
 .bh-work-item:first-child,.bh-work-item:nth-child(2),.bh-work-item:nth-child(3) { grid-column:auto; grid-row:auto; margin:0; }
 .bh-work-image,.bh-work-item:first-child .bh-work-image { aspect-ratio:3/2; }
 .bh-work-caption h3 { font-size:25px; }
 .bh-work-image--posters { padding:16px; gap:12px; }
 .bh-collaboration { padding-bottom:60px; }
 .bh-modes { gap:0; }
 .bh-mode { display:flex; flex-direction:column; align-items:start; gap:0; padding-block:27px; }
 .bh-mode-label { margin-bottom:13px; }
 .bh-mode h3 { font-size:31px; }
 .bh-mode-description { font-size:14px; margin:17px 0; }
 .bh-mode-terms { line-height:1.7; margin-bottom:18px; }
 .bh-feedback { padding-block:36px 58px; }
 .bh-feedback-head { align-items:start; flex-direction:column; gap:12px; margin-bottom:24px; }
 .bh-feedback-hint { display:block; font-size:12px; color:var(--rd-muted); margin:0; }
 .bh-reviews { display:flex; gap:24px; overflow-x:auto; padding:6px 0 20px; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; scroll-behavior:smooth; scrollbar-width:thin; scrollbar-color:var(--rd-accent) var(--rd-panel); }
 .bh-feedback figure { flex:0 0 88%; scroll-snap-align:start; }
 .bh-feedback blockquote { font-size:23px; }
 .bh-contact h2 { font-size:clamp(37px,10vw,56px); }
 .bh-contact-grid { gap:28px; }
 .bh-contact p { font-size:14px; }
}
@media (max-width:360px) {
 .bh-service { grid-template-columns:60px 1fr auto; gap:10px; }
 .bh-service-image { height:76px; }
 .bh-service h3 { font-size:21px; }
 .bh-hero-piece--second>span { font-size:10px; }
}
@media (prefers-reduced-motion:reduce) {
 .bh-home * { animation:none !important; transition:none !important; }
 .bh-reviews { scroll-behavior:auto; }
 .bh-hero-piece,.bh-hero-piece:is(:hover,:focus-visible) { transform:none; }
 .bh-home .rd-button:is(:hover,:focus-visible),.bh-home .rd-link:is(:hover,:focus-visible)>span,.bh-work-item:is(:hover,:focus-visible) img,.bh-service:is(:hover,:focus-visible) img,.bh-work-item:is(:hover,:focus-visible) .bh-work-caption>span,.bh-service:is(:hover,:focus-visible) .bh-service-arrow { transform:none; }
}
