/* Creative direction: retain the approved palette, add curved forms and rhythm. */
.button { border-radius: 999px; gap: 24px; }
.button > span { transition: transform .2s ease; }
.button:hover > span { transform: translate(2px,-2px); }
.hero-english { display: table; position: relative; isolation: isolate; }
.hero-english::after { content: ''; position: absolute; left: 0; right: -8px; bottom: 2px; height: 9px; border-radius: 50%; background: var(--apricot); z-index: -1; }
.hero-scroll { display: none; }
.eyebrow { font-size: 15px; font-weight: 750; letter-spacing: .065em; }
.eyebrow > span:not(:empty) { display: inline-grid; place-items: center; width: 30px; height: 30px; border: 1px solid var(--blueGreen); border-radius: 50%; color: var(--ink); font-size: 11px; }
.eyebrow i { width: 19px; height: 19px; margin-left: 2px; clip-path: polygon(50% 0,62% 35%,100% 50%,62% 63%,50% 100%,37% 63%,0 50%,37% 35%); }
.mission-row { grid-template-columns: .65fr 2fr; align-items: center; border: 1px solid var(--blueGreen); border-radius: 36px 10px 36px 10px; padding: 25px 32px; margin: 10px 0 36px; }
.mission-row > .eyebrow { margin: 0; }
.mission-body { font-size: 15px; }
.vision-grid { gap: 40px; }
.vision-copy { padding-top: 74px; }
.vision-copy > .watermark { font-size: clamp(56px,6.2vw,87px); top: 0; font-style: italic; }
.vision-copy h2 { line-height: 1.55; }
.business-section .watermark, .values-section .watermark { font-style: italic; letter-spacing: -.065em; right: 6px; }
.business-section > .container, .values-section > .container { padding-top: 66px; }
.service-card { --card-radius: 28px; border-radius: 32px 12px 32px 12px; }
.card-caption { gap: 18px; min-height: 80px; }
.card-number { display: grid; place-items: center; border: 1px solid var(--blueGreen); width: 30px; height: 30px; border-radius: 50%; flex-shrink: 0; }
.service-community .card-number { border-color: var(--orange); }
.service-sns-marketing .card-number { border-color: var(--violet); }
.service-system-development .card-number { border-color: var(--periwinkle); }
.card-arrow { border: 0; padding: 0; font-size: 25px; }
.values-list li { grid-template-columns: 70px 1fr; gap: 22px; border-bottom: 0; padding-block: 21px; }
.values-list li + li { border-top: 1px dashed var(--backgroundType); }
.value-icon { width: 80px; height: 80px; margin-left: -5px; }
.values-list .value-number { display: inline-block; position: static; font-size: 12px; margin-bottom: 7px; }
.values-list h3 { font-size: 21px; }
.contact-form { border-radius: 30px 10px 30px 10px; }
.form-field input, .form-field select, .form-field textarea { border-radius: 9px; }
.contact-copy .watermark { font-style: italic; }
.inquiry-band { border-radius: 36px 12px 36px 12px; }

/* Ticket-shaped news. Every row shares one top/bottom line; no offsets. */
.news-tiles { gap: 28px; align-items: stretch; grid-auto-rows: 1fr; padding-bottom: 0; }
.news-tile, .news-tile:nth-child(3n+2) { transform: none; position: relative; border: 0; border-radius: 0; overflow: visible; }
.news-tile > a { border: 1px solid var(--tile-accent); border-radius: 44px 14px 36px 14px; overflow: hidden; background: var(--white); }
.news-tile:focus-within { outline: 2px solid var(--ink); outline-offset: 5px; border-radius: 44px 14px 36px 14px; }
.news-tile > a:focus-visible { outline: none; }
.news-tile .news-thumbnail { flex-shrink: 0; margin: 12px 12px 0; border-radius: 32px 8px 64px 8px; }
.news-tone-1 .news-thumbnail { border-radius: 32px 32px 8px 48px; }
.news-tone-2 .news-thumbnail { border-radius: 32px 8px 32px 48px; }
.news-tone-3 .news-thumbnail { border-radius: 32px 48px 8px 32px; }
.news-tile-body { border-top: 0; padding: 22px 24px 18px; }
.news-tile h3 { min-height: 3.4em; }
.news-tile-link { padding-top: 17px; border-top: 1px dashed var(--tile-accent); }
.news-tile-link > span { width: 38px; height: 38px; border-radius: 50% 50% 50% 12%; }
.news-tile::before, .news-tile::after { content: ''; position: absolute; z-index: 2; width: 18px; height: 18px; bottom: 64px; border: 1px solid var(--tile-accent); border-radius: 50%; background: var(--white); pointer-events: none; }
.news-tile::before { left: -9px; clip-path: inset(0 0 0 50%); }
.news-tile::after { right: -9px; clip-path: inset(0 50% 0 0); }
.news-heading .watermark, .page-heading .watermark { font-style: italic; }
.news-heading { padding-top: 66px; }
.news-heading .watermark { top: -10px; }
.news-category { border: 0; padding: 2px 9px; border-radius: 999px; background: var(--backgroundType); }
.news-tile .news-meta { min-height: 26px; }
.news-tile .news-thumbnail img { transition: transform .25s ease; }

@media (max-width: 1100px) and (min-width: 601px) {
 .mission-row { grid-template-columns: 1fr 2fr; padding: 24px; gap: 24px; }
 .mission-body { font-size: 13px; }
 .vision-grid { gap: 24px; }
 .vision-copy { padding-top: 63px; }
 .vision-copy > .watermark { font-size: 52px; }
 .values-list li { grid-template-columns: 48px 1fr; gap: 16px; }
 .value-icon { display: block; width: 54px; height: 54px; }
 .values-list h3 { font-size: 17px; }
 .card-caption { gap: 12px; }
}
@media (max-width: 600px) {
 .hero-english::after { height: 6px; bottom: 1px; }
 .eyebrow { font-size: 13px; }
 .eyebrow > span:not(:empty) { width: 27px; height: 27px; font-size: 10px; }
 .eyebrow i { width: 16px; height: 16px; }
 .mission-row { padding: 22px 20px; margin: 10px 0 22px; border-radius: 28px 8px 28px 8px; }
 .mission-row > .eyebrow { margin-bottom: 16px; }
 .mission-body { font-size: 12px; }
 .vision-grid { gap: 5px; }
 .vision-copy { padding-top: 56px; }
 .vision-copy > .watermark { font-size: clamp(40px,11.5vw,64px); }
 .business-section > .container, .values-section > .container { padding-top: 56px; }
 .card-caption { min-height: 71px; padding-inline: 16px; gap: 13px; }
 .card-number { width: 26px; height: 26px; font-size: 10px; }
 .card-caption h3 { font-size: 17px; }
 .values-list li { grid-template-columns: 50px 1fr; gap: 15px; }
 .value-icon { width: 58px; height: 58px; margin-left: -4px; }
 .values-list h3 { font-size: 17px; }
 .news-heading { padding-top: 55px; }
 .news-heading .watermark { font-size: 66px; }
 .news-tiles { gap: 25px; grid-auto-rows: auto; }
 .news-tile h3 { min-height: 0; }
 .news-tile-body { padding-inline: 22px; }
 .contact-form { border-radius: 25px 8px 25px 8px; }
}
@media (prefers-reduced-motion: reduce) {
 .button > span, .news-tile .news-thumbnail img { transition: none; }
 .button:hover > span { transform: none; }
}
.card-photo { border-radius: 30px 10px 0 0; }
.card-caption { border-radius: 0 0 30px 10px; }
.values-list li > div { padding-left: 0; }

/* Typography experiment reverted. Keep the explicitly requested removals. */
.hero-english::after { content: none; }
.mission-row { border: 0; border-radius: 0; padding-inline: 0; }
.eyebrow > span:not(:empty) { display: inline; width: auto; height: auto; border: 0; border-radius: 0; }
.card-number { display: block; width: auto; height: auto; border: 0; border-radius: 0; }

/* Background lettering: edge-aligned and oversized, based on the Wantedly reference. */
.business-section, .values-section, .news-section { overflow: clip; }
.business-section .watermark, .values-section .watermark, .news-heading .watermark {
 font-family: Arial, sans-serif; font-style: normal; font-weight: 800;
 letter-spacing: -.045em; line-height: 1; transform: none; z-index: -1;
}
.business-section .watermark {
 writing-mode: vertical-rl; left: -76px; right: auto; top: 22px;
 font-size: clamp(110px,10vw,144px);
}
.values-section .watermark {
 writing-mode: horizontal-tb; left: -56px; right: auto; top: -17px;
 font-size: clamp(130px,13vw,187px);
}
.news-heading .watermark {
 writing-mode: horizontal-tb; left: -56px; right: auto; top: -18px;
 font-size: clamp(130px,13vw,187px);
}
@media (max-width: 1100px) and (min-width: 601px) {
 .business-section .watermark { left: -44px; font-size: 105px; }
 .values-section .watermark, .news-heading .watermark { left: -26px; font-size: 140px; }
}
@media (max-width: 600px) {
 .business-section .watermark, .values-section .watermark, .news-heading .watermark {
  writing-mode: horizontal-tb; left: -30px; right: auto; top: -5px;
  font-size: clamp(82px,22vw,112px); letter-spacing: -.045em;
 }
 .values-section .watermark, .news-heading .watermark { font-size: clamp(102px,28vw,150px); top: -10px; }
}

/* Consistent background type, legible values, and a compact contact invitation. */
.vision-copy > .watermark, .contact-copy .watermark, .page-heading .watermark {
 font-family: Arial, sans-serif; font-style: normal; font-weight: 800; letter-spacing: -.045em; line-height: 1;
}
.values-list p { font-size: 16px; line-height: 1.9; }
.contact-teaser { background:var(--white); padding-block:72px; }
.contact-invitation { display:flex; align-items:center; justify-content:space-between; gap:48px; padding:56px 64px; border-radius:24px; background:var(--ink); color:var(--white);
 background-image:radial-gradient(ellipse at 100% 0%, color-mix(in srgb,var(--periwinkle) 42%,transparent), transparent 70%), radial-gradient(ellipse at 85% 110%, color-mix(in srgb,var(--violet) 14%,transparent), transparent 60%), linear-gradient(120deg,var(--ink) 15%,color-mix(in srgb,var(--ink) 90%,var(--white)) 100%);
 box-shadow:inset 0 1px 0 #ffffff12;
}
.contact-invitation .eyebrow { margin-bottom:18px; }
.contact-invitation h2 { font-size:clamp(30px,3.3vw,44px); letter-spacing:var(--heading-tracking); }
.contact-invitation-copy > p:last-child { margin-top:16px; font-size:16px; }
.contact-invitation .section-action { flex-shrink:0; margin:0; }
.contact-invitation .button { min-height:64px; background:var(--white); color:var(--ink); border-color:var(--white); }
.contact-invitation .button:hover { background:var(--backgroundType); border-color:var(--backgroundType); color:var(--ink); }
.contact-invitation .button:focus-visible { outline-color:var(--white); }
@media (max-width:900px) {
 .contact-invitation { flex-direction:column; align-items:flex-start; gap:32px; padding:40px; }
 .contact-invitation .section-action { align-self:center; }
}
@media (max-width:600px) {
 .vision-grid { gap:22px; }
 .vision-copy { order:-1; }
 .values-list p { font-size:14px; line-height:1.9; }
 .contact-invitation { padding:32px 24px; border-radius:24px; gap:28px; }
 .contact-invitation-copy > p:last-child { font-size:14px; line-height:1.9; }
 .contact-invitation .section-action { width:100%; }
 .contact-invitation .button { width:100%; gap:16px; padding-inline:20px; }
}

.mobile-vision-break { display: none; }
@media (max-width: 600px) { .mobile-vision-break { display: initial; } }

/* A standalone X mark and a quieter, more legible header. */
.site-header { border-bottom: 0; box-shadow: none; background: rgba(255,255,255,.96); }
.header-inner { height: 84px; width: calc(100% - 80px); max-width: 1440px; }
.site-header .brand { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; gap: 0; }
.header-logo { display: block; width: 44px; height: 44px; }
.site-header nav { gap: 38px; font-size: 14px; font-weight: 650; letter-spacing: .04em; }
.site-header nav > a { position: relative; }
.site-header nav > a::after { content: ''; position: absolute; bottom: 4px; left: 0; width: 100%; height: 2px; background: var(--blueGreen); transform: scaleX(0); transform-origin: left; transition: transform .2s; }
.site-header nav > a:hover::after, .site-header nav > a:focus-visible::after { transform: scaleX(1); }
.site-header nav > a:hover { color: var(--ink); }
@media (max-width: 860px) {
 .header-inner { height: 72px; width: calc(100% - 40px); }
 .header-logo { width: 36px; height: 36px; }
 .site-header .brand { width: 44px; height: 44px; }
 .site-header nav { top: 72px; padding: 16px 24px 28px; gap: 0; border-bottom: 1px solid var(--backgroundType); box-shadow: 0 16px 24px #20212408; font-size: 16px; }
 .site-header nav > a:not(.button) { padding: 17px 0; }
 .site-header nav > a + a { border-top: 1px solid var(--backgroundType); }
 .menu-toggle { padding: 10px 8px; align-items: center; }
 .menu-toggle span { width: 28px; }
}

/* Shared X silhouette and contact submission alignment. */
.footer-logo { display: block; width: 44px; height: 44px; flex-shrink: 0; }
.contact-form .form-field { display: block; }
.contact-form .form-field label { margin-top: 0; }
.contact-form .consent-wrap { margin: 24px 0 20px; }
.contact-verification { width: 100%; min-height: 65px; margin-bottom: 20px; }
.contact-verification .cf-turnstile { width: 100%; }
@media (max-width: 999px) {
 .contact-section:not(.contact-teaser) .contact-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
 .footer-logo { width: 36px; height: 36px; }
 .contact-section:not(.contact-teaser) .contact-grid { width: calc(100% - 32px); }
 .contact-form { padding: 24px 12px; }
}

/* Dedicated contact page uses the same heading as company and other pages. */
.contact-page-intro { position: relative; }
.contact-page-art { max-width: 420px; margin-top: 32px; }
@media (max-width: 999px) {
 .contact-page .contact-grid { grid-template-columns: 1fr; }
 .contact-page-art { width: 180px; position: absolute; right: 0; bottom: 0; }
 .contact-page .page-heading { padding-bottom: 32px; padding-right: 180px; }
}
@media (max-width: 600px) {
 .contact-page { width: calc(100% - 32px); }
 .contact-page-art { width: 100px; bottom: 10px; }
 .contact-page .page-heading { padding-right: 0; padding-bottom: 55px; }
}

/* Article hierarchy follows the site's typography and restrained teal accents. */
.news-article .article-heading h1 {
 font-size: clamp(28px, 3.2vw, 44px); line-height: 1.55;
 letter-spacing: var(--heading-tracking); margin: 24px 0 18px; overflow-wrap: anywhere;
 text-wrap: pretty;
}
.news-article .article-heading > p { font-size: 16px; line-height: 1.9; }
.news-article .prose { max-width: 800px; margin-inline: auto; }
.news-article .prose section { margin: 48px 0; }
.news-article .prose :is(h2,h3,h4,h5,h6) {
 color: var(--ink); line-height: 1.65; letter-spacing: var(--heading-tracking);
 overflow-wrap: anywhere; text-wrap: pretty; scroll-margin-top: 110px;
}
.news-article .prose h2 {
 font-size: clamp(22px, 2.3vw, 28px); margin: 48px 0 24px;
 padding-bottom: 16px; border-bottom: 1px solid var(--backgroundType);
 background: linear-gradient(var(--blueGreen),var(--blueGreen)) left bottom / 40px 2px no-repeat;
}
.news-article .prose h3 { font-size: 22px; margin: 32px 0 16px; font-weight: 750; }
.news-article .prose h4 { font-size: 19px; margin: 28px 0 14px; font-weight: 700; }
.news-article .prose h5 { font-size: 17px; margin: 24px 0 12px; font-weight: 700; }
.news-article .prose h6 { font-size: 16px; margin: 22px 0 10px; font-weight: 700; }
.news-article .prose p { font-size: 16px; line-height: 2; }
@media (max-width: 600px) {
 .news-article .article-heading h1 { font-size: 27px; margin-block: 20px 14px; }
 .news-article .article-heading > p { font-size: 14px; }
 .news-article .prose section { margin-block: 36px; }
 .news-article .prose h2 { font-size: 21px; margin: 36px 0 20px; padding-bottom: 14px; }
 .news-article .prose h3 { font-size: 19px; }
 .news-article .prose h4 { font-size: 17px; }
 .news-article .prose p { font-size: 15px; }
}

/* Japanese typography: bundled regular, medium and bold faces. */
body { font-weight: 400; }
h1, h2, h3, h4, h5, h6 { font-weight: 700; }
.news-meta time { font-family: var(--font); font-weight: 500; letter-spacing: .02em; font-variant-numeric: proportional-nums; }
.eyebrow, .hero-english, .footer-top > p, .footer-bottom small { font-family: var(--font); }
.eyebrow, .news-article .prose h3 { font-weight: 700; }

/* Keep Japanese headings open without forcing narrow-screen line breaks. */
:root { --heading-tracking: .02em; }
@media (max-width: 600px) { :root { --heading-tracking: .01em; } }

.news-article .prose p + p { margin-top: 1.25em; }

.news-thumbnail-empty .news-fallback-logo { width: 80px; height: 80px; flex-shrink: 0; color: var(--ink); }

/* Keep Japanese heading phrases intact at responsive line breaks. */
main :is(h1,h2,h3,h4,h5,h6) { line-break:strict; word-break:normal; overflow-wrap:break-word; }
.text-phrase { display:inline-block; max-width:100%; }
main :is(p,dd,li) { line-break:strict; text-wrap:pretty; }
@media(max-width:900px) {
 .careers-value-grid { grid-template-columns:1fr; }
}
@media(max-width:600px) {
 .careers-message h2 { font-size:clamp(23px,6.4vw,26px); }
}

.news-article .article-heading h1 { text-wrap:balance; }

/* Shared interface system: page titles, actions, media, reading and spacing. */
:root {
 --ui-radius:24px;
 --ui-media-radius:20px;
 --ui-section-gap:88px;
 --ui-rule:color-mix(in srgb,var(--ink) 14%,transparent);
}
.document-page,.careers-hero { padding-top:48px; }
.page-heading,.company-page .page-heading,.careers-heading { margin-bottom:40px; }
.page-heading > .eyebrow,.business-detail-copy .eyebrow { font-size:12px; letter-spacing:.12em; margin-bottom:16px; }
.page-heading h1,.careers-heading h1,.business-detail-copy h1 { font-size:clamp(32px,3.2vw,46px); line-height:1.5; letter-spacing:var(--heading-tracking); margin:0; }
.page-heading .watermark { font-size:clamp(64px,7vw,100px); top:-16px; left:-5px; }
.page-heading > p:not(.eyebrow),.business-intro { font-size:16px; line-height:1.9; margin-top:16px; }
.business-index .page-heading { margin-bottom:16px; }
.business-index .business-intro { margin-top:0; margin-bottom:32px; }
.business-detail-hero { padding-top:48px; padding-bottom:64px; align-items:center; }
.business-detail-copy .business-page-heading { margin-bottom:24px; }
.business-detail.service-influencer-management .business-detail-copy h1 { font-size:clamp(28px,3.2vw,46px); }
.breadcrumb { font-size:12px; gap:12px; line-height:1.7; }
.breadcrumb a { text-decoration:none; padding-block:4px; }
.breadcrumb a:hover { text-decoration:underline; text-underline-offset:4px; }
.site-header nav > a[aria-current]::after { transform:scaleX(1); }
.footer-bottom a[aria-current] { text-decoration:underline; text-decoration-color:var(--blueGreen); text-decoration-thickness:2px; text-underline-offset:6px; }

/* One action shape; arrows communicate internal vs external navigation. */
.button { min-height:52px; max-width:100%; gap:28px; padding:14px 26px; border:1px solid var(--ink); border-radius:999px; background:var(--ink); color:var(--white); font-size:14px; font-weight:700; line-height:1.6; box-shadow:none; transition:background .2s,color .2s; }
.button:hover { background:var(--blueGreen); border-color:var(--blueGreen); color:var(--ink); transform:none; }
.direction-icon { display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; flex:0 0 24px; }
.direction-icon svg { display:block; width:24px; height:24px; }
.direction-icon-external svg { transform:rotate(-45deg); }
.button:hover > .direction-icon { transform:translateX(3px); }
.button:hover > .direction-icon-external { transform:translate(2px,-2px); }
.button:disabled { cursor:wait; opacity:.6; transform:none; }
.button:disabled:hover { background:var(--ink); color:var(--white); border-color:var(--ink); }
.section-action { margin-top:40px; }
.service-card { --card-radius:var(--ui-radius); border-radius:var(--ui-radius); }
.card-photo { border-radius:calc(var(--ui-radius) - 2px) calc(var(--ui-radius) - 2px) 0 0; }
.card-caption { border-radius:0 0 calc(var(--ui-radius) - 2px) calc(var(--ui-radius) - 2px); }
.card-caption h3 { line-height:1.6; }
.card-arrow { display:flex; align-items:center; justify-content:center; margin-left:auto; }
.service-card:hover { transform:translateY(-3px); }
.service-summary { font-size:15px; line-height:1.9; margin:16px 4px 24px; }
.news-tile-link > .direction-icon { flex-basis:38px; }
.news-tile h3 { font-size:19px; line-height:1.8; }
.news-tile-body > p { font-size:14px; line-height:1.9; }
.news-tile-link { font-size:13px; }
.news-tile > a { border-radius:28px 12px 28px 12px; }
.news-tile .news-thumbnail { border-radius:18px 6px 18px 6px; }
.news-tile:focus-within { border-radius:28px 12px 28px 12px; }

/* Photographic treatments share a radius and an intentional crop. */
.business-detail-art { overflow:hidden; border-radius:var(--ui-media-radius); }
.business-detail-art img { aspect-ratio:1.5; object-fit:cover; }
.offering-photo { border-radius:var(--ui-media-radius); }
.careers-making-photo { border-radius:var(--ui-media-radius); }
.business-offerings-heading h2,.careers-section-heading h2 { font-size:clamp(26px,2.7vw,36px); line-height:1.7; }
.offering-features { gap:28px; }
.offering-features p { font-size:15px; }
.offering-features li { gap:20px; }
.business-offering + .business-offering { border-color:var(--ui-rule); }
.related { padding-block:64px var(--ui-section-gap); }
.related > h2 { font-size:clamp(26px,2.7vw,36px); margin-bottom:28px; }

/* Reading columns sit within the same full-width page frame. */
.news-article > .news-thumbnail { max-width:960px; margin:40px auto 56px; border-radius:var(--ui-media-radius); }
.news-article > .news-thumbnail img { object-fit:contain; }
.news-article .prose,.privacy-content { max-width:800px; margin-inline:auto; }
.news-article .prose p,.privacy-content { font-size:16px; color:var(--ink); }
.privacy-content h2 { font-size:clamp(21px,2.3vw,28px); line-height:1.65; padding-bottom:16px; border-bottom:1px solid var(--backgroundType); background:linear-gradient(var(--blueGreen),var(--blueGreen)) left bottom / 40px 2px no-repeat; }
.privacy-index { border-radius:var(--ui-media-radius); padding:28px 32px; }
.privacy-index li { padding-block:3px; }
.article-navigation { gap:40px; border-color:var(--ui-rule); padding-top:28px; margin-block:56px 32px; }
.article-navigation a { font-size:15px; line-height:1.8; }
.article-navigation small { font-size:12px; color:var(--muted); margin-bottom:12px; }

/* A calmer form with the same typography, spacing and corners as the site. */
.contact-page .contact-grid { grid-template-columns:.85fr 1.15fr; gap:64px; }
.contact-page .page-heading { padding:0; }
.contact-page-art { width:100%; max-width:360px; margin:40px 0 0; }
.contact-form { padding:36px; border:1px solid var(--ui-rule); border-radius:var(--ui-radius); box-shadow:none; background:var(--white); }
.contact-form .form-field { margin-bottom:24px; }
.contact-form .form-field label { font-size:14px; font-weight:600; gap:10px; margin-bottom:10px; }
.contact-form :is(input:not([type=checkbox]),select,textarea) { font-size:16px; min-height:52px; border:1px solid var(--ui-rule); border-radius:10px; padding:12px 14px; background:var(--white); color:var(--ink); transition:border-color .2s; }
.contact-form textarea { min-height:160px; resize:vertical; }
.contact-form :is(input,select,textarea):focus { border-color:var(--ink); }
.contact-form :is(input,select,textarea)[aria-invalid=true] { border-color:#b63528; }
.contact-form .field-hint,.contact-form .field-error { font-size:12px; line-height:1.7; }
.contact-form .consent { font-size:14px; line-height:1.8; gap:10px; }
.contact-form .consent-wrap { margin:28px 0 24px; }
.contact-verification { margin-bottom:24px; }
.contact-form .submit { width:100%; }
.state-page { padding-block:88px; }
.state-page .state-symbol { color:var(--ink); background:var(--backgroundType); display:grid; place-items:center; width:72px; height:72px; border-radius:50%; font-size:32px; margin:24px auto; }
.state-symbol svg { width:32px; height:32px; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.state-page p.error-number { font-size:clamp(80px,12vw,144px); font-weight:700; line-height:1; color:var(--blueGreen); margin:0 0 32px; }
.state-page p:not(.eyebrow):not(.error-number) { font-size:16px; max-width:640px; margin:24px auto 32px; }
.site-footer { padding-block:40px 28px; border-color:var(--ui-rule); }
.footer-bottom { margin-top:28px; align-items:center; }
.footer-bottom nav { gap:16px 28px; font-size:13px; line-height:1.7; }
.footer-bottom nav a { padding-block:8px; }
.footer-bottom small { font-family:var(--font); font-size:11px; }
.footer-top > p { font-family:var(--font); font-size:13px; }
.back-top { width:44px; height:44px; border-color:var(--ui-rule); }

@media(max-width:999px) {
 .contact-page .contact-grid { grid-template-columns:1fr; gap:32px; }
 .contact-page-intro { display:flex; justify-content:space-between; align-items:center; gap:24px; }
 .contact-page-intro .page-heading { margin:0; }
 .contact-page-art { position:static; width:160px; margin:0; }
}
@media(max-width:600px) {
 :root { --ui-radius:18px; --ui-media-radius:16px; --ui-section-gap:56px; }
 .document-page,.careers-hero { padding-top:32px; }
 .page-heading,.company-page .page-heading,.careers-heading { margin-bottom:28px; }
 .page-heading h1,.careers-heading h1,.business-detail-copy h1 { font-size:30px; }
 .page-heading > .eyebrow,.business-detail-copy .eyebrow { font-size:12px; margin-bottom:12px; }
 .page-heading .watermark { font-size:64px; top:-12px; }
 .page-heading > p:not(.eyebrow),.business-intro { font-size:15px; margin-top:12px; }
 .breadcrumb { font-size:11px; gap:8px; }
 .business-detail-hero { padding-top:32px; padding-bottom:40px; gap:28px; }
 .business-detail-copy .business-page-heading { margin-bottom:20px; }
 .business-detail.service-influencer-management .business-detail-copy h1 { font-size:28px; }
 .business-detail-art { max-width:none; }
 .business-detail-art img { aspect-ratio:1.65; }
 .section-action { margin-top:28px; }
 .button { font-size:14px; gap:20px; padding:14px 22px; }
 .service-summary { font-size:14px; }
 .news-tile h3 { font-size:18px; }
 .news-tile-body { padding:20px; }
 .news-tile-body > p { font-size:14px; }
 .offering-features p { font-size:14px; }
 .related { padding-block:40px 56px; }
 .news-article > .news-thumbnail { margin:28px auto 36px; }
 .news-article .prose p,.privacy-content { font-size:15px; }
 .privacy-index { padding:22px; }
 .article-navigation { grid-template-columns:1fr; gap:24px; margin-top:40px; }
 .article-navigation > span:empty { display:none; }
 .article-navigation a { font-size:14px; }
 .contact-page { width:calc(100% - 40px); }
 .contact-page .contact-grid { gap:28px; }
 .contact-page-intro { gap:12px; align-items:flex-end; }
 .contact-page-art { width:80px; flex-shrink:0; margin-bottom:4px; }
 .contact-page-intro .page-heading { flex:1; min-width:0; }
 .contact-page .page-heading h1 { white-space:nowrap; font-size:28px; }
 .contact-page .page-heading .watermark { font-size:56px; }
 .contact-form { padding:28px 0 0; border-width:1px 0 0; border-radius:0; }
 .contact-form .form-field { margin-bottom:22px; }
 .contact-form .consent { font-size:13px; }
 .state-page { padding-block:64px; }
 .state-page p:not(.eyebrow):not(.error-number) { font-size:15px; }
 .site-footer { padding-block:32px 24px; }
 .footer-bottom { align-items:stretch; margin-top:20px; gap:24px; }
 .footer-bottom nav { font-size:12px; gap:4px 24px; }
 .footer-bottom nav a { min-height:40px; display:flex; align-items:center; }
 .footer-top > p { font-size:12px; }
}
@media(prefers-reduced-motion:reduce) {
 .button,.button > .direction-icon,.service-card { transition:none; }
 .button:hover > .direction-icon,.service-card:hover { transform:none; }
}

/* Review refinements: preserve copy, bring hierarchy and repetition into balance. */
.values-section .watermark, .news-heading .watermark { left:-8px; top:-34px; font-size:clamp(88px,9vw,128px); }
.values-section { padding-top:80px; }
.news-section { padding-top:72px; padding-bottom:0; }
.news-tile-body > p { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
.offering-nav { display:flex; flex-wrap:wrap; gap:0 28px; margin:0 0 40px; border-block:1px solid var(--backgroundType); }
.offering-nav a { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 0; font-size:15px; font-weight:700; }
.offering-nav .direction-icon { width:20px; transform:rotate(90deg); }
.offering-nav a:hover { text-decoration:underline; text-underline-offset:5px; }
.business-offering { scroll-margin-top:112px; }
.offering-photo.offering-screen { aspect-ratio:auto; background:var(--backgroundType); }
.offering-photo.offering-screen > img { height:auto; aspect-ratio:1.44; object-fit:contain; }
.offering-screen .offering-photo-caption { position:static; background:var(--backgroundType); color:var(--ink); padding:20px 24px; }
.offering-screen::after { display:none; }
@media(min-width:1101px) {
 .hero-copy { width:750px; }
 .hero-art { width:76%; max-width:1030px; }
 .hero h1 { font-size:clamp(44px,3.7vw,54px); }
}
@media(max-width:600px) {
 .values-section .watermark, .news-heading .watermark { left:0; top:-22px; font-size:80px; }
 .values-section, .news-section { padding-top:56px; }
 .contact-teaser { padding-block:48px; }
 .offering-nav { display:grid; grid-template-columns:1fr; margin-bottom:32px; }
 .offering-nav a + a { border-top:1px solid var(--backgroundType); }
 .news-tile-body > p { -webkit-line-clamp:2; }
}
