/* Shared sizing keeps the same visual hierarchy across phones, tablets and desktops. */
:root { --pad:clamp(16px,4.5vw,64px); }
html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body { min-width:0; }
img,video { max-width:100%; }
h1,h2,h3,p,label,summary { word-break:keep-all; overflow-wrap:break-word; }
h1,h2,h3 { text-wrap:balance; }
.nav__inner { gap:20px; }
.nav__logo { flex:none; }
.nav__links { min-width:0; align-items:center; }
.nav__links a { display:inline-flex; align-items:center; min-height:44px; white-space:nowrap; }
.about__headline { line-height:1.5; }
.about__body { font-size:clamp(16px,1.6vw,20px); }
.hero__desc { max-width:850px; margin-inline:auto; }
.hero:not(:has(.hero__bg)) .hero__title { line-height:1.35; }
.creator-results { margin-top:clamp(56px,7vw,100px); }
.creator-results__title { font-size:clamp(25px,3.6vw,52px); line-height:1.35; text-wrap:balance; }
.creator-results__stage { grid-template-columns:.85fr 1.35fr 1.2fr; gap:clamp(10px,2.6vw,40px); margin-top:clamp(28px,4vw,48px); }
.creator-results__portrait { grid-column:auto; grid-row:auto; width:100%; max-width:none; justify-self:stretch; aspect-ratio:4 / 5; }
.creator-results__metric--followers { align-self:start; padding-top:6px; }
.creator-results__metric--revenue { align-self:end; justify-self:stretch; padding-bottom:clamp(12px,3.8vw,48px); }
.creator-results__value { font-size:clamp(28px,7.7vw,124px); }
.creator-results__value span { margin-left:clamp(2px,.4vw,5px); font-size:max(10px,.28em); }
.creator-results__label { margin-top:clamp(8px,1.5vw,18px); font-size:clamp(14px,3.3vw,46px); }
.creator-results__portrait figcaption { left:clamp(7px,1.6vw,20px); bottom:clamp(7px,1.6vw,20px); padding:clamp(4px,.65vw,8px) clamp(7px,1vw,13px); font-size:clamp(8px,.82vw,10px); letter-spacing:.04em; white-space:nowrap; }
.service-grid { gap:clamp(24px,3.4vw,48px); }
.service-grid article,.gallery__col,.form-row,.form-group,.team-member { min-width:0; }
.gallery__img-wrap { width:100%; }
.gallery__col { gap:clamp(36px,10vw,144px); }
.gallery__col--right { margin-top:clamp(56px,12vw,170px); }
.cta__btn,.submit-btn { min-height:48px; max-width:100%; }
.form-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
.form-group :is(input,textarea,select) { min-width:0; font-size:16px; }
body:has(#contact-form) .hero { padding-top:clamp(56px,8vw,112px); }
.consent label { overflow-wrap:anywhere; }
.delegated-process .process-step { min-height:0; }
.delegated-process .process-step__img--square,.delegated-process .process-step__img--portrait { height:clamp(200px,23vw,300px); }
.core-team .team__grid { gap:clamp(20px,3vw,40px); }
.core-team .team-member__desc { font-size:clamp(14px,1.4vw,16px); }
@media (max-width:900px) {
 .nav__inner { padding-block:18px; }
 .service-grid { grid-template-columns:1fr; gap:28px; }
 .service-grid h3 { margin-top:16px; }
 .about-hero .hero__title,.hero>.hero__title:not(:has(span)) { font-size:clamp(28px,4.2vw,38px); }
 .about-hero .hero__image { margin-top:32px; }
 .delegated-process .process__grid { grid-template-columns:minmax(0,1.1fr) 64px minmax(0,1fr) minmax(0,1fr); gap:16px; max-width:100%; }
 .delegated-process .process-step__label { font-size:14px; }
 .delegated-process .process-arrow__label { font-size:12px; }
 .core-team .team-member__role { font-size:18px; }
}
@media (max-width:700px) {
 .about { padding-block:56px; }
 .about__headline { font-size:clamp(22px,4vw,28px); }
 .hero__desc { font-size:16px; line-height:1.8; }
 .hero__desc br { display:none; }
 .creator-results__period { margin-top:16px; font-size:16px; }
 .creator-results__value { font-size:clamp(28px,8.1vw,57px); }
 .creator-results__portrait figcaption { font-size:clamp(8px,1.25vw,9px); }
 .delegated-process .process__grid { grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr); gap:18px 12px; }
 .delegated-process .process-step { padding-bottom:48px; }
 .delegated-process .process-step--connector { min-height:0; padding:0; }
 .delegated-process .process-arrow { width:100%; }
 .delegated-process .process-arrow__label { font-size:11px; }
 .delegated-process .process-step__img--square,.delegated-process .process-step__img--portrait { width:100%; height:clamp(160px,42vw,240px); object-fit:contain; }
 .delegated-process .process-step--social { grid-column:1 / -1; padding:16px 0 36px; }
 .delegated-process .process-icons { grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; padding:12px 0 28px; width:min(100%,340px); }
 .delegated-process .process-icon { width:clamp(40px,12vw,68px); }
 .delegated-process .process-icons img:nth-child(n) { transform:none; }
 .core-team .team__grid { grid-template-columns:1fr; gap:40px; }
 .core-team .team-member__icon { width:72px; height:72px; }
 .core-team .team-member__desc { font-size:16px; }
 .site-footer { padding:38px var(--pad); }
}
@media (max-width:480px) {
 .nav__inner { padding:14px var(--pad); gap:12px; }
 .nav__brand { font-size:16px; }
 .nav__brand small { font-size:6px; letter-spacing:.19em; }
 .nav__logo { gap:6px; }
 .nav__links { gap:14px; }
 .nav__links a { font-size:12px; }
 .switch-symbol { width:26px; height:17px; padding:3px; }
 .switch-symbol i { width:10px; height:10px; }
 .hero:has(.hero__bg) { min-height:430px; height:76svh; max-height:650px; }
 .hero__title:has(span) { font-size:clamp(54px,15vw,72px); }
 .about-hero .hero__title,.hero>.hero__title:not(:has(span)) { font-size:28px; }
 .about-hero .hero__image { width:calc(100% + 2 * var(--pad)); max-width:none; margin-left:calc(-1 * var(--pad)); }
 .form-row { grid-template-columns:1fr; gap:24px; }
 .form-group :is(input,textarea,select) { padding:14px; }
 .form-submit .submit-btn { width:100%; }
 .cta__title { font-size:26px; }
 .cta__subtitle { font-size:15px; }
}
@media (hover:none) { .gallery__img-wrap:hover .gallery__img--hover { opacity:0; } }

/* Subpage layouts adapt to the content rather than only shrinking desktop columns. */
.about-page .hero__desc,.identity-page .hero__desc,.contact-page .hero__desc { text-wrap:pretty; }
.identity-page .gallery__inner { width:100%; }
.contact-page .form-wrap { gap:28px; }
.contact-page .form-group { gap:10px; }
.contact-page .form-group :is(input,select) { min-height:52px; }
.contact-page select { padding-right:44px; }
.contact-page .consent label { min-height:44px; align-items:flex-start; }
.contact-page .consent input { width:22px; height:22px; margin-top:1px; }
.contact-page .consent summary { min-height:44px; padding-block:10px; }
@media (min-width:641px) and (max-width:1024px) {
 .about-page .core-team .team__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px 28px; }
 .about-page .core-team .team-member:last-child { grid-column:1 / -1; width:calc((100% - 28px)/2); justify-self:center; }
 .about-page .core-team .team-member__desc { font-size:16px; }
 .about-page .core-team .team-member__desc br { display:none; }
 .identity-page .gallery__inner { gap:24px; }
 .identity-page .gallery__col { gap:56px; }
 .identity-page .gallery__col--right { margin-top:72px; }
}
@media (max-width:640px) {
 .about-page .hero,.identity-page .hero { padding-top:40px; }
 .about-page .hero__title,.identity-page .hero__title,.contact-page .hero__title { max-width:22ch; margin-inline:auto; }
 .about-page .hero__desc,.identity-page .hero__desc,.contact-page .hero__desc { max-width:38ch; font-size:16px; }
 .about-page .core-team .team__grid { grid-template-columns:1fr; gap:24px; text-align:left; }
 .about-page .core-team .team-member { display:grid; grid-template-columns:56px minmax(0,1fr); gap:8px 18px; align-items:start; padding-bottom:24px; border-bottom:1px solid #48343e; }
 .about-page .core-team .team-member:last-child { grid-column:auto; width:auto; justify-self:stretch; }
 .about-page .core-team .team-member__icon { grid-column:1; grid-row:1 / 3; width:56px; height:56px; }
 .about-page .core-team .team-member__role { grid-column:2; font-size:18px; }
 .about-page .core-team .team-member__desc { grid-column:2; font-size:15px; line-height:1.85; margin-top:0!important; }
 .about-page .core-team .team-member__desc br { display:none; }
 .about-page .faq summary { min-height:64px; padding-block:20px; font-size:16px; line-height:1.6; align-items:center; }
 .about-page .faq details p { font-size:15px; }
 .identity-page .gallery { padding-block:32px 56px; }
 .identity-page .gallery__inner { display:grid; grid-template-columns:minmax(0,1fr); gap:28px; max-width:440px; padding-top:0; }
 .identity-page .gallery__col { display:contents; }
 .identity-page .gallery__img-wrap { width:100%; border-radius:6px; }
 .identity-page .gallery__col:first-child .gallery__img-wrap:first-child { order:1; }
 .identity-page .gallery__col:last-child .gallery__img-wrap:first-child { order:2; }
 .identity-page .gallery__col:first-child .gallery__img-wrap:last-child { order:3; }
 .identity-page .gallery__col:last-child .gallery__img-wrap:last-child { order:4; }
 .contact-page .hero { padding-top:44px; padding-bottom:24px; }
 .contact-page .form-section { padding-top:20px; }
 .contact-page .form-wrap { max-width:520px; gap:26px; }
 .contact-page .form-row { grid-template-columns:minmax(0,1fr); gap:26px; }
 .contact-page .form-group label { font-size:15px; line-height:1.5; }
 .contact-page .form-group :is(input,textarea,select) { padding:15px; }
 .contact-page .form-group select { padding-right:44px; }
 .contact-page textarea { min-height:200px; }
 .contact-page .form-submit { margin-top:12px; }
 .contact-page .submit-btn { width:100%; min-height:54px; }
 .about-page .cta,.identity-page .cta { padding-block:64px; }
 .about-page .cta__btn,.identity-page .cta__btn { width:min(100%,360px); }
}
