/* Vintage print composition. The original TOP hero and PS2 package styling remain unchanged. */
.v-site { --v-ink:#171b1b; --v-paper:#ede6d6; --v-teal:#03a3a8; --v-orange:#ea5025; --v-display:'Barlow Condensed','Arial Narrow',sans-serif; }
.v-site main > :is(.r-section,.r-service-detail,.p-service-overview,.r-form-section) { padding-block:clamp(64px,8vw,110px); }
.v-site main > :is(.r-section,.r-service-detail,.p-service-overview,.r-form-section,.r-cta) { position:relative; }
.v-site main > [id]:not(.p-hero):not(.r-hero),.v-policy .p-privacy h2[id] { scroll-margin-top:20px; }
.v-site main > :is(.r-section,.r-service-detail,.p-service-overview,.r-form-section,.r-cta)::after { content:''; position:absolute; inset:0; pointer-events:none; opacity:.035; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' opacity='.7' d='M0 0h160v160H0z'/%3E%3C/svg%3E"); }
.v-site :focus-visible { outline:3px solid #00666a; outline-offset:5px; }
.v-site .r-section--ink :focus-visible { outline-color:var(--v-paper); }
.v-masthead { position:relative; display:flex; flex-direction:column-reverse; align-items:flex-start; margin-bottom:clamp(42px,5vw,72px); }
.v-masthead-meta { font-size:1.2rem; line-height:1.6; font-weight:500; letter-spacing:.12em; margin-top:14px; }
.v-section-name { font:700 clamp(8rem,14vw,18rem)/.88 var(--v-display); letter-spacing:-.025em; }
.v-name-text { display:block; white-space:nowrap; }
.v-kicker { font:700 1.05rem/1.6 var(--font-family-base); letter-spacing:.1em; }
.v-site .r-title:not(.r-hero .r-title) { font-size:clamp(2.8rem,3.6vw,4.6rem); line-height:1.65; letter-spacing:-.055em; }
.v-site .r-heading { gap:32px 64px; }
.v-site .r-link { min-width:220px; gap:28px; font-size:1.35rem; }
.v-site .r-link span[aria-hidden] { color:currentColor; }
.v-site .r-button { background:var(--v-ink); color:var(--v-paper); border:1px solid var(--v-ink); box-shadow:none; font-size:1.4rem; padding:21px 26px; }
.v-site .r-button:hover { background:#343a37; transform:none; box-shadow:none; }
.v-site .l-header .c-button { border-radius:0; box-shadow:none; padding:14px 24px; font-size:1.3rem; letter-spacing:.04em; }
.v-site .l-header .c-button:hover { transform:none; box-shadow:none; }
/* Header invitation: an ink band and coloured ticket stub, without a drop shadow. */
.v-site .l-header .v-header-contact { position:relative; isolation:isolate; display:grid; grid-template-columns:1fr 44px; gap:0; min-width:190px; height:48px; padding:0; border:1px solid var(--v-ink); background:var(--v-ink); color:var(--v-paper); text-align:left; overflow:hidden; transition:color .25s ease; }
.v-header-contact::before { content:''; position:absolute; z-index:-1; inset:0 44px 0 0; background:var(--v-orange); transform:scaleX(0); transform-origin:left; transition:transform .5s cubic-bezier(.22,1,.36,1); }
.v-contact-label { display:flex; flex-direction:column; gap:3px; padding:5px 16px; }
.v-contact-caption { font:500 .85rem/1.2 var(--font-family-base); letter-spacing:.04em; white-space:nowrap; }
.v-contact-reel { display:block; height:24px; overflow:hidden; font:600 2.4rem/24px var(--v-display); letter-spacing:.07em; }
.v-contact-reel > span { display:block; transition:transform .55s cubic-bezier(.22,1,.36,1); }
.v-contact-stub { display:grid; place-items:center; height:100%; border-left:1px solid var(--v-ink); background:var(--v-orange); color:var(--v-ink); transition:background .4s ease; }
.v-contact-arrow { display:block; position:relative; width:24px; height:24px; overflow:hidden; }
.v-contact-arrow svg { position:absolute; inset:0; width:24px; height:24px; transition:transform .55s cubic-bezier(.22,1,.36,1); }
.v-contact-arrow svg:last-child { transform:translate(-110%,110%); }
.v-site .l-header .v-header-contact:focus-visible { color:var(--v-ink); outline:2px solid #00666a; outline-offset:4px; }
.v-header-contact:focus-visible::before { transform:scaleX(1); }
.v-header-contact:focus-visible .v-contact-reel > span { transform:translateY(-100%); }
.v-header-contact:focus-visible .v-contact-stub { background:var(--v-paper); }
.v-header-contact:focus-visible .v-contact-arrow svg:first-child { transform:translate(110%,-110%); }
.v-header-contact:focus-visible .v-contact-arrow svg:last-child { transform:translate(0,0); }
@media (hover:hover) and (pointer:fine) {
  .v-site .l-header .v-header-contact:hover { background:var(--v-ink); color:var(--v-ink); }
  .v-header-contact:hover::before { transform:scaleX(1); }
  .v-header-contact:hover .v-contact-reel > span { transform:translateY(-100%); }
  .v-header-contact:hover .v-contact-stub { background:var(--v-paper); }
  .v-header-contact:hover .v-contact-arrow svg:first-child { transform:translate(110%,-110%); }
  .v-header-contact:hover .v-contact-arrow svg:last-child { transform:translate(0,0); }
}
@media (max-width:900px) {
  .v-site .l-header .v-header-contact { min-width:220px; height:56px; grid-template-columns:1fr 52px; }
  .v-header-contact::before { right:52px; }
  .v-contact-label { padding-inline:20px; gap:5px; }
  .v-contact-caption { font-size:.95rem; }
}
@media (prefers-reduced-motion:reduce) {
  .v-site .l-header .v-header-contact,.v-header-contact::before,.v-contact-reel > span,.v-contact-stub,.v-contact-arrow svg { transition:none; }
}
.v-site .l-header { box-shadow:none; border-bottom:1px solid rgba(23,27,27,.15); }
.v-site .p-form__success,.v-site .p-form__success .c-button { box-shadow:none; border-radius:0; }
.v-site .p-form__success .v-kicker { margin-bottom:24px; }
.v-site .p-form__submit button:hover:not(:disabled) { box-shadow:none; transform:none; }
.v-site .r-tags { gap:6px 18px; }
.v-site .r-tags li { border:none; padding:0; font-size:1.2rem; }
.v-site .r-tags li::before { content:'・'; }

/* TOP / ABOUT: open margins and a single illustration, like a poster spread. */
.v-about { background:var(--v-paper); }
.v-about .v-masthead { flex-direction:row; align-items:end; gap:32px; }
.v-about .v-masthead-meta { order:2; margin-bottom:8px; }
.v-about .v-section-name { color:#007c80; }
.v-about-grid { display:grid; grid-template-columns:1.15fr 1fr; gap:80px; align-items:center; }
.v-about-statement .r-title { margin-bottom:30px; }
.v-about-statement .r-copy { margin-bottom:28px; font-size:1.5rem; max-width:510px; }
.v-city-poster { padding:0 12px; }
.v-city-graphic { padding:0 0 25px; border-bottom:1px solid var(--v-ink); }
.v-city-graphic img { width:100%; height:310px; object-fit:contain; }
.v-city-poster figcaption { padding-top:16px; font:600 2.6rem/1.3 var(--v-display); letter-spacing:.03em; }
.v-city-poster figcaption span { display:block; margin-top:8px; font:400 1.1rem/1.7 var(--font-family-base); letter-spacing:.06em; }

/* TOP / SERVICE: one continuous service index, not a repeated card grid. */
.v-service { background:var(--v-teal); }
.v-service .v-masthead { flex-direction:row; justify-content:space-between; align-items:end; border-bottom:2px solid var(--v-ink); padding-bottom:28px; }
.v-service .v-masthead-meta { order:2; margin-bottom:4px; }
.v-service .r-overview-head { margin-bottom:48px; grid-template-columns:1.1fr 1fr; gap:80px; }
.v-service .r-overview-head .r-copy { font-size:1.5rem; }
.v-service .r-service-rows { border-top:1px solid var(--v-ink); }
.v-service .v-service-card { display:grid; grid-template-columns:70px 1fr 1fr; align-items:start; gap:34px; padding:38px 0; border:0; border-bottom:1px solid var(--v-ink); background:none; box-shadow:none; }
.v-service .v-service-card::before { inset:0 -16px; background:rgba(237,230,214,.14); }
.v-service-card-top { display:flex; flex-direction:column; gap:12px; padding-top:5px; }
.v-service .r-service-num { color:var(--v-ink); font:500 1.2rem/1 var(--font-family-en); }
.v-service .v-kicker { font-size:1.1rem; font-weight:400; letter-spacing:.04em; }
.v-service .r-service-row h3 { font-size:clamp(2rem,2.25vw,2.8rem); line-height:1.6; letter-spacing:-.04em; }
.v-service .r-service-row .r-meta { color:#173e3d; font-weight:400; font-size:1.05rem; letter-spacing:.05em; margin-top:14px; }
.v-service .r-service-row p { font-size:1.4rem; line-height:2; }
.v-service .r-service-examples { color:#163e3e; font-size:1.1rem; margin-top:16px; }
.v-service .r-note { color:var(--v-ink); }
.v-service .r-overview-footer { margin-top:24px; }

/* WORKS: a quiet collection wall leaves the packages themselves in focus. */
.v-works,.v-work-archive { background:#dcd0ba; }
.v-works .v-masthead,.v-work-archive .v-masthead { align-items:flex-end; }
.v-works .v-section-name,.v-work-archive .v-section-name { font-size:clamp(9rem,18vw,23rem); }
.v-gallery-heading { display:flex; align-items:end; justify-content:space-between; gap:40px; margin-bottom:40px; }
.v-gallery-heading .r-copy { font-size:1.4rem; }
.v-gallery-meta,.v-gallery-footer { display:flex; justify-content:space-between; align-items:center; gap:20px; border-top:1px solid #878475; padding-top:14px; font:500 1rem/1.6 var(--font-family-en); letter-spacing:.06em; }
.v-gallery-footer { margin-top:32px; }
.v-work-archive .p-works-grid { grid-template-columns:repeat(3,minmax(0,1fr)); padding:40px 14px; gap:40px; }
.v-client .r-work-notes { margin-top:48px; }
.v-client .r-work-note { grid-template-columns:1fr 1fr; gap:60px; padding:40px 0; border-top:1px solid var(--v-ink); }
.v-client .r-work-note h3 { font-size:clamp(2.6rem,3.4vw,4.2rem); letter-spacing:-.045em; margin-block:18px; }
.v-client .r-work-note .r-meta { font-weight:400; font-size:1rem; }
.v-client .r-work-notes + .r-link { margin-top:24px; }
.v-product { background:#ccc9b6; }
.v-product .v-section-name { color:#007c80; }
.v-product .r-work-product { grid-template-columns:1.2fr 1fr; gap:72px; }
.v-product .r-work-product > img { border:none; box-shadow:none; padding:0; }
.v-study { background:var(--v-paper); }
.v-study .r-heading { margin-bottom:0; }

/* Service details: a large title in the margin, then a practical work sheet. */
.v-detail { background:var(--v-paper); border-bottom:1px solid #878475; }
.v-detail--marketing { background:#e4d9c1; }
.v-detail--ai { background:#d4d8c8; }
.v-detail .v-masthead { margin-bottom:64px; }
.v-detail .v-section-name { font-size:clamp(7rem,12vw,15rem); }
.v-detail--marketing .v-section-name { color:#007c80; }
.v-detail--ai .v-section-name { color:#985133; }
.v-detail .r-service-layout { grid-template-columns:.9fr 1.1fr; gap:88px; align-items:start; }
.v-detail .r-service-intro { position:sticky; top:108px; }
.v-detail .r-service-number { font:400 1.2rem/1 var(--font-family-en); color:var(--v-ink); margin:0 0 22px; }
.v-detail .r-service-intro .r-meta { display:none; }
.v-detail .r-service-intro .r-copy { font-size:1.5rem; }
.v-detail .r-service-layout > div:last-child { border-top:2px solid var(--v-ink); padding-top:28px; }
.v-detail .r-service-layout .r-label { font-size:1.8rem; font-weight:700; letter-spacing:-.03em; margin-bottom:22px; text-transform:none; }
.v-detail .r-service-layout .r-label::before { display:none; }
.v-detail .r-deliverables { border-top:1px solid #878475; }
.v-detail .r-deliverables > div { padding-block:24px; }
.v-detail .r-deliverables dt { margin-bottom:14px; }
.v-detail .r-deliverables dd { color:#40463f; }
.v-detail .r-brief { border-left:1px solid var(--v-ink); }
.v-detail .r-service-bottom { flex-direction:column; align-items:start; gap:12px; }
.v-site .r-section--ink { background:var(--v-ink); }
.v-site .r-section--ink .v-masthead { display:block; float:left; width:36%; }
.v-site .r-section--ink .v-section-name { color:var(--v-paper); font-size:clamp(6rem,7.7vw,10rem); }
.v-site .r-section--ink > .l-inner > .r-title { margin-left:42%; font-size:2.8rem; }
.v-site .r-flow { margin:32px 0 0 42%; }
.v-site .r-flow li { display:grid; grid-template-columns:35px 1fr; gap:14px 20px; border-top:1px solid #767970; padding:26px 0; }
.v-site .r-flow li::before { font-size:1rem; color:#c3c2b5; padding-top:6px; }
.v-site .r-flow h3 { font-size:1.65rem; }
.v-site .r-flow p { grid-column:2; font-size:1.4rem; }
.v-site .r-faq { border-top:1px solid var(--v-ink); }
.v-site .r-faq summary { padding-block:28px; font-size:1.5rem; }
.v-site .r-faq summary::before { font:600 2.2rem var(--v-display); color:var(--v-ink); }
.v-site .r-faq summary::after { font-size:2rem; }
.v-site .r-faq details > p { font-size:1.4rem; color:#41443c; }

/* ABOUT: a biography spread, a continuous manifesto, and a career chronology. */
.v-story .r-about-intro { grid-template-columns:.85fr 1.15fr; gap:88px; align-items:center; }
.v-story .r-about-art { background:transparent; padding:0 24px 0 0; border:none; }
.v-story .r-about-art img { width:100%; }
.v-story .r-about-art .r-meta { border-top:1px solid #878475; padding-top:16px; font-weight:400; font-size:.95rem; }
.v-story .v-kicker { font-weight:400; margin-bottom:24px; }
.v-approach { background:var(--v-teal); }
.v-approach .r-strengths { grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; }
.v-approach .r-strength { border-top:1px solid var(--v-ink); padding:28px 32px 0 0; }
.v-approach .r-strength + .r-strength { border-left:1px solid var(--v-ink); padding-left:32px; }
.v-approach .r-strength:last-child { padding-right:0; }
.v-approach .r-strength h3 { font-size:2.1rem; margin-block:30px 20px; }
.v-approach .r-strength p { font-size:1.4rem; }
.v-approach .r-strength .r-meta { font-size:1rem; font-weight:400; }
.v-experience .v-masthead { align-items:flex-end; }
.v-experience .r-history { max-width:none; margin-left:20%; }
.v-experience .r-history > div { grid-template-columns:180px 1fr; gap:40px; padding:36px 0; border-top:1px solid #878475; }
.v-experience .r-history dt { font:600 2.5rem/1.3 var(--v-display); color:#007c80; letter-spacing:.01em; }
.v-information .r-profile { max-width:880px; border-top:1px solid var(--v-ink); margin-top:56px; }
.v-information .r-profile dt { font-size:1.2rem; font-weight:500; }
.v-information .r-profile > div { padding-block:24px; }

/* Contact is a typeset invitation, without decorative stamps or CTA tiles. */
.v-contact-poster { background:#e9dfca; padding:72px 0 80px; border-top:1px solid #878475; }
.v-contact-poster .v-masthead { flex-direction:row; justify-content:space-between; align-items:end; border-bottom:1px solid var(--v-ink); padding-bottom:26px; margin-bottom:44px; }
.v-contact-poster .v-masthead-meta { order:2; margin-bottom:4px; }
.v-contact-poster .v-section-name { font-size:clamp(8rem,13.2vw,17rem); color:#007c80; }
.v-contact-poster .r-cta-grid { grid-template-columns:1.15fr 1fr; align-items:center; gap:72px; }
.v-contact-poster .r-button { width:100%; }
.v-contact-poster .r-meta { margin-bottom:0; font-size:1.05rem; font-weight:400; }
.v-site .l-footer { background:var(--v-ink); color:var(--v-paper); padding:42px 0 26px; }
.v-colophon { display:flex; justify-content:space-between; align-items:end; gap:20px; border-bottom:1px solid #76776d; padding-bottom:28px; margin-bottom:28px; }
.v-colophon > span:first-child { font:600 clamp(2.8rem,4.2vw,5.4rem)/1 var(--v-display); letter-spacing:.015em; }
.v-colophon > span:last-child { text-align:right; font:400 1rem/1.6 var(--font-family-en); }
.v-site .l-footer__inner { gap:24px; }
.v-site .l-footer__link { color:var(--v-paper); }
.v-contact-form { background:var(--v-paper); }
.v-form-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:88px; align-items:start; }
.v-form-aside { position:sticky; top:108px; }
.v-form-aside h2 { font-size:2.8rem; font-weight:700; line-height:1.7; margin-bottom:28px; }
.v-form-aside .r-form-intro { border-bottom:0; padding:0; margin-bottom:32px; }
.v-form-aside .r-form-intro p { font-size:1.4rem; }
.v-contact-notes > div { padding:24px 0; border-top:1px solid #878475; }
.v-contact-notes dt { font-size:1.3rem; font-weight:700; margin-bottom:12px; }
.v-contact-notes dd { font-size:1.4rem; line-height:1.9; }
.v-form-paper { min-width:0; padding:32px 0 0; border-top:2px solid var(--v-ink); }
.v-contact-form .p-form__label-req,.v-contact-form .p-form__label-opt { border-radius:0; font-size:1rem; background:none; color:#656557; border:1px solid #9a998b; }
.v-contact-form :is(.p-form__input,.p-form__select,.p-form__textarea) { border:1px solid #a2a090; background:#f6f0e4; font-size:1.6rem; }
.v-contact-form .p-form__submit button { background:var(--v-ink); color:var(--v-paper); border:1px solid var(--v-ink); box-shadow:none; font-size:1.5rem; }
.v-contact-form .p-form__submit button:hover:not(:disabled) { background:#343a37; }
.v-policy { background:var(--v-paper); }
.v-policy .v-section-name { font-size:clamp(8rem,12vw,15rem); }
.v-policy-layout { display:grid; grid-template-columns:250px minmax(0,1fr); gap:80px; align-items:start; }
.v-policy-index { position:sticky; top:110px; }
.v-policy-index .v-kicker { font-weight:400; margin-bottom:18px; }
.v-policy-index a { display:flex; align-items:baseline; gap:12px; border-top:1px solid #aaa798; padding:16px 0; font-size:1.2rem; line-height:1.7; }
.v-policy-index a span { font:400 1rem var(--font-family-en); color:#656557; }
.v-policy-index a:hover { color:#00666a; }
.v-policy .p-privacy { padding:0; width:100%; }
.v-policy .p-privacy h2 { scroll-margin-top:100px; padding-top:28px; padding-bottom:0; border-top:1px solid #878475; border-bottom:none; font-size:2rem; }
.v-policy .p-privacy a { color:#00666a!important; }
.v-policy .p-privacy h2:first-child { margin-top:0; padding-top:0; border-top:0; }
.v-policy .p-privacy :is(p,li,td,th) { font-size:1.4rem; line-height:2; overflow-wrap:anywhere; }

/* Progressive motion: letters rise through a mask, then remain still. */
.v-letter { display:inline-block; position:relative; white-space:pre; }
.v-letter > span { display:inline-block; }
.r-motion-ready [data-section-title] .v-name-text { clip-path:inset(-12% -2% -12% -2%); }
.r-motion-ready [data-section-title] .v-letter { opacity:0; transform:translateY(105%); }
.r-motion-ready [data-section-title].is-revealed .v-letter { animation:v-type-reveal 1s cubic-bezier(.22,1,.36,1) var(--letter-delay) both; }
@keyframes v-type-reveal { from { opacity:0; transform:translateY(105%); } to { opacity:1; transform:none; } }
.v-site:not(.r-motion-ready) .js-fade-in { opacity:1; transform:none; }
@media (max-width:1000px) {
  .v-about-grid,.v-story .r-about-intro,.v-detail .r-service-layout,.v-contact-poster .r-cta-grid { gap:48px; }
  .v-service .r-overview-head { gap:48px; }
  .v-service .v-service-card { grid-template-columns:40px 1fr 1fr; gap:24px; }
  .v-form-layout { gap:48px; }
  .v-policy-layout { grid-template-columns:210px minmax(0,1fr); gap:40px; }
  .v-experience .r-history { margin-left:10%; }
}
@media (max-width:900px) {
  .v-site .r-title:not(.r-hero .r-title) { font-size:clamp(2.6rem,4.4vw,3.7rem); }
  .v-about-grid { grid-template-columns:1fr 1fr; gap:36px; }
  .v-about-statement .r-title { font-size:3rem!important; }
  .v-city-graphic img { height:270px; }
  .v-service .r-overview-head,.v-detail .r-service-layout { grid-template-columns:1fr; }
  .v-detail .r-service-intro { position:static; }
  .v-detail .r-service-number { float:right; margin-left:20px; }
  .v-work-archive .p-works-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
  .v-site .r-section--ink .v-masthead { float:none; width:auto; }
  .v-site .r-section--ink .v-section-name { font-size:clamp(8rem,14vw,14rem); }
  .v-site .r-section--ink > .l-inner > .r-title,.v-site .r-flow { margin-left:0; }
  .v-story .r-about-intro { grid-template-columns:1fr 1.2fr; gap:40px; }
  .v-approach .r-strength { padding-right:20px; }
  .v-approach .r-strength + .r-strength { padding-left:20px; }
  .v-approach .r-strength h3 { font-size:1.8rem; }
  .v-experience .r-history { margin-left:0; }
  .v-experience .r-history > div { grid-template-columns:160px 1fr; gap:24px; }
  .v-form-layout { grid-template-columns:1fr; gap:24px; }
  .v-form-aside { position:static; }
  .v-contact-notes { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
  .v-policy-layout { grid-template-columns:1fr; }
  .v-policy-index { position:static; display:grid; grid-template-columns:1fr 1fr; gap:0 24px; }
  .v-policy-index .v-kicker { grid-column:1 / -1; }
}
@media (max-width:600px) {
  .v-site main > :is(.r-section,.r-service-detail,.p-service-overview,.r-form-section) { padding-block:60px; }
  .v-section-name { font-size:clamp(6.4rem,20vw,12rem); }
  .v-masthead { margin-bottom:40px; }
  .v-masthead-meta { font-size:1rem; letter-spacing:.07em; margin-top:14px; }
  .v-about .v-masthead { align-items:start; flex-direction:column-reverse; gap:0; }
  .v-about .v-masthead-meta { order:0; margin-bottom:0; }
  .v-about-grid,.v-story .r-about-intro { grid-template-columns:1fr; gap:36px; }
  .v-about-statement .r-title { font-size:clamp(2.4rem,6.4vw,3.2rem)!important; }
  .v-about-statement .r-copy { font-size:1.4rem; }
  .v-city-poster { max-width:360px; padding:0 16px; margin:auto; }
  .v-city-graphic { padding-bottom:12px; }
  .v-city-graphic img { height:220px; }
  .v-city-poster figcaption { font-size:2.3rem; }
  .v-service .v-masthead { display:block; padding-bottom:22px; }
  .v-service .v-masthead-meta { margin-top:0; margin-bottom:20px; }
  .v-service .r-overview-head { gap:24px; margin-bottom:36px; }
  .v-service .r-overview-head .r-copy { font-size:1.4rem; }
  .v-service .v-service-card { grid-template-columns:28px 1fr; gap:14px 16px; padding:30px 0; }
  .v-service .r-service-row h3 { font-size:2.2rem; }
  .v-service .v-service-card > p { grid-column:2; font-size:1.4rem; }
  .v-service .r-service-row .r-meta { margin-top:8px; font-size:.95rem; }
  .v-service-card-top { gap:14px; }
  .v-service .v-kicker { font-size:1rem; writing-mode:vertical-rl; letter-spacing:.12em; }
  .v-service .r-service-examples { font-size:1rem; }
  .v-service .r-overview-footer { align-items:stretch; gap:12px; }
  .v-service .r-note { font-size:1.2rem; }
  .v-works .v-section-name,.v-work-archive .v-section-name { font-size:clamp(9rem,30vw,18rem); }
  .v-gallery-heading { display:block; margin-bottom:28px; }
  .v-gallery-heading .r-copy { margin-top:20px; }
  .v-gallery-meta { font-size:.85rem; gap:8px; letter-spacing:0; }
  .v-gallery-meta > span:last-child:not(:first-child) { display:none; }
  .v-gallery-footer { align-items:start; flex-direction:column; gap:8px; }
  .v-work-archive .p-works-grid { grid-template-columns:1fr; padding:32px 12px; gap:32px; }
  .v-client .r-work-note { grid-template-columns:1fr; gap:20px; padding:28px 0; }
  .v-product .r-work-product { grid-template-columns:1fr; gap:32px; }
  .v-detail .v-section-name { font-size:clamp(5.2rem,16.6vw,10rem); }
  .v-detail .v-masthead { margin-bottom:42px; }
  .v-detail .r-service-layout { gap:32px; }
  .v-detail .r-service-layout > div:last-child { padding-top:24px; }
  .v-detail .r-service-layout .r-label { font-size:1.8rem; }
  .v-detail .r-deliverables dd { font-size:1.4rem; }
  .v-detail .r-service-bottom .r-link { min-width:0; font-size:1.25rem; gap:12px; }
  .v-site .r-section--ink .v-section-name { font-size:clamp(6rem,19vw,11.4rem); }
  .v-site .r-flow li { grid-template-columns:24px 1fr; gap:12px 16px; }
  .v-site .r-faq summary { font-size:1.4rem; gap:12px; }
  .v-site .r-faq details > p { font-size:1.4rem; }
  .v-story .r-about-art { padding:0 24px; max-width:340px; margin:auto; }
  .v-story .r-about-art .r-meta { font-size:.8rem; }
  .v-approach .r-strengths { grid-template-columns:1fr; }
  .v-approach .r-strength,.v-approach .r-strength + .r-strength { padding:26px 0; border-left:none; }
  .v-approach .r-strength h3 { font-size:2.2rem; margin-block:20px 16px; }
  .v-experience .r-history > div { grid-template-columns:1fr; gap:18px; }
  .v-experience .r-history dt { font-size:2.6rem; }
  .v-information .r-profile { margin-top:36px; }
  .v-information .r-profile > div { gap:8px; }
  .v-contact-poster { padding:56px 0 60px; }
  .v-contact-poster .v-masthead { display:block; padding-bottom:24px; }
  .v-contact-poster .v-masthead-meta { margin-top:0; margin-bottom:20px; }
  .v-contact-poster .v-section-name { font-size:clamp(7rem,22vw,13rem); }
  .v-contact-poster .r-cta-grid { grid-template-columns:1fr; gap:28px; }
  .v-contact-poster p { font-size:1.4rem; }
  .v-contact-poster .r-meta { font-size:1.05rem; }
  .v-colophon { align-items:start; flex-direction:column; }
  .v-colophon > span:last-child { text-align:left; font-size:.9rem; }
  .v-contact-notes { grid-template-columns:1fr; gap:0; }
  .v-form-aside h2 { font-size:2.4rem; }
  .v-contact-form .p-form__label { font-size:1.3rem; }
  .v-policy-index { gap:0 18px; }
  .v-policy-index a { font-size:1.05rem; gap:8px; }
  .v-policy .v-section-name { font-size:clamp(7rem,22vw,13rem); }
  .v-policy .p-privacy h2 { font-size:1.8rem; }
}
@media (prefers-reduced-motion:reduce) {
  .v-site .js-fade-in { opacity:1; transform:none; transition:none; }
  .v-site .v-letter { animation:none!important; opacity:1; transform:none; }
  .v-site .v-masthead::after { transition:none; transform:none; }
  .v-site .r-button,.v-site .v-service-card { transition:none; }
}

/* Different print treatments belong to different chapters, rather than every heading. */
.v-title--plain .r-marker::after,.v-title--accent .r-marker::after,.v-title--side .r-marker::after,.v-title--rule .r-marker::after { display:none; }
.v-title--band .r-marker { display:inline-block; color:var(--v-paper); padding:0 .12em .02em; line-height:1.3; }
.v-title--band .r-marker::after { display:block; inset:0; height:auto; background:var(--v-ink); opacity:1; }
.v-title--accent .r-marker { color:#005f62; }
.v-title--side { border-left:3px solid #985133; padding-left:22px; }
.v-title--side .r-marker { color:#00666a; }
.v-title--rule::after { content:''; display:block; width:72px; height:1px; background:currentColor; margin-top:28px; transform-origin:left; }
.r-motion-ready .v-title--rule::after { transform:scaleX(0); transition:transform 1s cubic-bezier(.22,1,.36,1) .45s; }
.r-motion-ready .v-title--rule.is-revealed::after { transform:scaleX(1); }
.v-works .v-section-name,.v-experience .v-section-name { color:transparent; -webkit-text-stroke:1.5px var(--v-ink); }
.v-detail--marketing .v-masthead { border-left:2px solid #007c80; padding-left:26px; }
.v-approach .v-masthead { display:block; }
.v-approach .v-section-name { display:inline-block; color:var(--v-paper); background:var(--v-ink); padding:.06em .12em .12em; transform:rotate(-1deg); }
.v-approach .v-masthead-meta { margin-top:24px; }
.v-drawing { display:block; width:100%; height:auto; overflow:visible; }
.v-service-illustration { margin-top:30px; max-width:440px; }
.v-service-illustration figcaption { font-size:1rem; line-height:1.8; letter-spacing:.08em; margin-top:8px; color:#4b5046; }
.v-city-graphic .v-drawing { width:100%; }
.v-art-line { stroke-dasharray:1200; stroke-dashoffset:0; }
.v-art-plate,.v-art-type { transform-origin:center; }
.r-motion-ready [data-drawing] .v-art-line { stroke-dashoffset:1200; opacity:0; transition:stroke-dashoffset 1.8s cubic-bezier(.22,1,.36,1) .1s,opacity .6s ease; }
.r-motion-ready [data-drawing] .v-art-plate { transform:translate(0,18px); opacity:0; transition:transform 1.4s cubic-bezier(.22,1,.36,1) .3s,opacity .9s ease .3s; }
.r-motion-ready [data-drawing] .v-art-type { transform:translate(-10px,0); opacity:0; transition:transform 1.2s cubic-bezier(.22,1,.36,1) .5s,opacity .8s ease .5s; }
.r-motion-ready [data-drawing].is-revealed .v-art-line { stroke-dashoffset:0; opacity:1; }
.r-motion-ready [data-drawing].is-revealed :is(.v-art-plate,.v-art-type) { opacity:1; transform:none; }
@media (max-width:600px) {
  .v-service-illustration { max-width:340px; margin:24px auto 0; }
  .v-title--side { padding-left:16px; border-width:2px; }
  .v-works .v-section-name,.v-experience .v-section-name { -webkit-text-stroke-width:1px; }
  .v-detail--marketing .v-masthead { padding-left:16px; }
  .v-approach .v-section-name { font-size:clamp(5.7rem,17vw,10rem); }
}
@media (prefers-reduced-motion:reduce) {
  .v-site [data-drawing] :is(.v-art-line,.v-art-plate,.v-art-type) { opacity:1; transform:none; stroke-dashoffset:0; transition:none; }
  .v-site .v-title--rule::after { transform:none; transition:none; }
}

/* Subpage heroes run through a three-colour offset proof before the type locks in. */
.v-animated-hero { isolation:isolate; }
.v-animated-hero::before {
  content:'';
  position:absolute;
  top:0;
  left:0;
  z-index:2;
  width:100%;
  height:3px;
  pointer-events:none;
  background:linear-gradient(90deg,var(--v-orange) 0 22%,var(--v-ink) 22% 76%,var(--v-teal) 76% 100%);
  transform-origin:left;
}
.v-print-pass {
  position:absolute;
  inset:0;
  z-index:4;
  overflow:hidden;
  pointer-events:none;
  visibility:hidden;
}
.v-print-pass::before,
.v-print-pass::after {
  content:'';
  position:absolute;
  z-index:2;
  width:28px;
  height:28px;
  opacity:0;
  background:
    linear-gradient(90deg,transparent 47%,var(--v-ink) 48% 52%,transparent 53%),
    linear-gradient(transparent 47%,var(--v-ink) 48% 52%,transparent 53%);
}
.v-print-pass::before { top:18px; left:18px; }
.v-print-pass::after { right:18px; bottom:18px; }
.v-print-pass__plate {
  position:absolute;
  top:-14%;
  bottom:-14%;
  left:-58%;
  width:46%;
  opacity:0;
  transform:translateX(-20%) skewX(-8deg);
  transform-origin:center;
  will-change:transform;
}
.v-print-pass__plate--orange {
  background:repeating-linear-gradient(90deg,var(--v-orange) 0 9px,#b84a2f 9px 10px);
}
.v-print-pass__plate--ink {
  width:38%;
  background:repeating-linear-gradient(90deg,var(--v-ink) 0 13px,#2b302f 13px 14px);
}
.v-print-pass__plate--teal {
  width:32%;
  background:repeating-linear-gradient(90deg,var(--v-teal) 0 7px,#0b686a 7px 8px);
}
.v-print-pass__proof {
  position:absolute;
  right:clamp(18px,3vw,46px);
  bottom:20px;
  z-index:3;
  padding:6px 9px 5px;
  border:1px solid currentColor;
  color:var(--v-ink);
  background:var(--v-paper);
  font:700 1rem/1 var(--v-display);
  letter-spacing:.14em;
  opacity:0;
  transform:rotate(-2deg) translateY(10px);
}
.r-motion-ready .v-animated-hero::before { transform:scaleX(0); }
.r-motion-ready .v-animated-hero .v-print-pass { visibility:visible; }
.r-motion-ready .v-animated-hero :is(.r-breadcrumb,.r-label) {
  opacity:0;
  clip-path:inset(0 100% 0 0);
  transform:translateX(-18px) skewX(-8deg);
}
.r-motion-ready .v-animated-hero .r-lead {
  opacity:0;
  clip-path:polygon(0 0,0 0,0 88%,0 100%);
  transform:translateX(-10px);
}
.r-motion-ready .v-animated-hero .r-hero-side {
  opacity:0;
  clip-path:inset(0 100% 0 0);
  transform:translateX(30px) rotate(.7deg);
}
.r-motion-ready .v-animated-hero .r-index {
  opacity:0;
  clip-path:inset(0 100% 0 0);
  transform:translateX(-12px);
}
.r-motion-ready .v-animated-hero [data-title] .r-char > span {
  opacity:0;
  transform:translateY(118%) rotate(3deg);
  transition:none;
}
.r-motion-ready .v-animated-hero [data-title] .r-char {
  position:relative;
}
.r-motion-ready .v-animated-hero [data-title] .r-char::before,
.r-motion-ready .v-animated-hero [data-title] .r-char::after {
  content:attr(data-ink);
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:0;
  pointer-events:none;
}
.r-motion-ready .v-animated-hero [data-title] .r-char::before { color:var(--v-orange); }
.r-motion-ready .v-animated-hero [data-title] .r-char::after { color:var(--v-teal); }
.r-motion-ready .v-animated-hero [data-title] .r-marker::after {
  transform:scaleX(0) skewX(-12deg);
  transition:none;
}
.r-motion-ready .v-animated-hero.is-hero-visible::before {
  animation:v-register-rule 1.05s steps(7,end) .12s both;
}
.r-motion-ready .v-animated-hero.is-hero-visible .v-print-pass__plate--orange {
  animation:v-plate-sweep .82s cubic-bezier(.7,0,.3,1) .02s both;
}
.r-motion-ready .v-animated-hero.is-hero-visible .v-print-pass__plate--ink {
  animation:v-plate-sweep .82s cubic-bezier(.7,0,.3,1) .12s both;
}
.r-motion-ready .v-animated-hero.is-hero-visible .v-print-pass__plate--teal {
  animation:v-plate-sweep .82s cubic-bezier(.7,0,.3,1) .22s both;
}
.r-motion-ready .v-animated-hero.is-hero-visible .v-print-pass::before,
.r-motion-ready .v-animated-hero.is-hero-visible .v-print-pass::after {
  animation:v-proof-mark .9s steps(3,end) .2s both;
}
.r-motion-ready .v-animated-hero.is-hero-visible .v-print-pass__proof {
  animation:v-proof-label .8s steps(4,end) .2s both;
}
.r-motion-ready .v-animated-hero.is-hero-visible :is(.r-breadcrumb,.r-label) {
  animation:v-type-set .58s steps(5,end) .42s both;
}
.r-motion-ready .v-animated-hero.is-hero-visible .r-label {
  animation-delay:.54s;
}
.r-motion-ready .v-animated-hero.is-hero-visible [data-title].is-revealed .r-char > span {
  animation:v-type-impress .78s cubic-bezier(.2,.8,.2,1) calc(.5s + var(--char-delay, 0ms)) both;
}
.r-motion-ready .v-animated-hero.is-hero-visible [data-title].is-revealed .r-char::before {
  animation:v-orange-register .72s steps(5,end) calc(.48s + var(--char-delay, 0ms)) both;
}
.r-motion-ready .v-animated-hero.is-hero-visible [data-title].is-revealed .r-char::after {
  animation:v-teal-register .72s steps(5,end) calc(.54s + var(--char-delay, 0ms)) both;
}
.r-motion-ready .v-animated-hero.is-hero-visible [data-title].is-revealed .r-marker::after {
  animation:v-ink-smear .74s steps(6,end) .92s both;
}
.r-motion-ready .v-animated-hero.is-hero-visible .r-lead {
  animation:v-roller-copy .74s steps(7,end) .88s both;
}
.r-motion-ready .v-animated-hero.is-hero-visible .r-hero-side {
  animation:v-side-register .92s steps(8,end) .68s both;
}
.r-motion-ready .v-animated-hero.is-hero-visible .r-hero-word.is-revealed {
  animation:v-roller-type .76s steps(7,end) .78s both;
}
.r-motion-ready .v-animated-hero.is-hero-visible .r-index {
  animation:v-index-rule .82s steps(7,end) 1.04s both;
}
@keyframes v-plate-sweep {
  0% { opacity:0; transform:translateX(-20%) skewX(-8deg); }
  10%,72% { opacity:.94; }
  100% { opacity:0; transform:translateX(440%) skewX(-8deg); }
}
@keyframes v-proof-mark {
  0%,100% { opacity:0; transform:rotate(-8deg) scale(.8); }
  25%,72% { opacity:.7; transform:rotate(0) scale(1); }
}
@keyframes v-proof-label {
  0%,100% { opacity:0; transform:rotate(-2deg) translateY(10px); }
  25%,72% { opacity:1; transform:rotate(-2deg) translateY(0); }
}
@keyframes v-register-rule {
  0% { transform:scaleX(0); }
  38% { transform:scaleX(.22); }
  58% { transform:scaleX(.21); }
  100% { transform:scaleX(1); }
}
@keyframes v-type-set {
  0% { opacity:0; clip-path:inset(0 100% 0 0); transform:translateX(-18px) skewX(-8deg); }
  55% { opacity:1; clip-path:inset(0 0 0 0); transform:translateX(3px) skewX(2deg); }
  100% { opacity:1; clip-path:inset(0); transform:none; }
}
@keyframes v-type-impress {
  0% { opacity:0; transform:translateY(118%) rotate(3deg); }
  52% { opacity:1; transform:translateY(-7%) rotate(-1deg); }
  72% { opacity:1; transform:translateY(2%) rotate(.3deg); }
  100% { opacity:1; transform:none; }
}
@keyframes v-orange-register {
  0% { opacity:0; transform:translate(-9px,5px); }
  28%,62% { opacity:.82; transform:translate(-4px,1px); }
  100% { opacity:0; transform:none; }
}
@keyframes v-teal-register {
  0% { opacity:0; transform:translate(9px,-4px); }
  28%,62% { opacity:.72; transform:translate(4px,-1px); }
  100% { opacity:0; transform:none; }
}
@keyframes v-ink-smear {
  0% { transform:scaleX(0) skewX(-12deg); clip-path:polygon(0 5%,100% 0,96% 82%,4% 100%); }
  72% { transform:scaleX(1.04) skewX(-4deg); clip-path:polygon(0 5%,100% 0,97% 88%,2% 100%); }
  100% { transform:scaleX(1) skewX(0); clip-path:none; }
}
@keyframes v-roller-copy {
  0% { opacity:0; clip-path:polygon(0 0,0 0,0 88%,0 100%); transform:translateX(-10px); }
  35% { opacity:1; }
  100% { opacity:1; clip-path:polygon(0 0,100% 0,100% 100%,0 100%); transform:none; }
}
@keyframes v-side-register {
  0% { opacity:0; clip-path:inset(0 100% 0 0); transform:translateX(30px) rotate(.7deg); }
  64% { opacity:1; clip-path:inset(0); transform:translateX(-3px) rotate(-.25deg); }
  100% { opacity:1; clip-path:inset(0); transform:none; }
}
@keyframes v-roller-type {
  0% { opacity:0; clip-path:inset(0 100% 0 0); transform:translateX(-12px); }
  100% { opacity:1; clip-path:inset(0); transform:none; }
}
@keyframes v-index-rule {
  0% { opacity:0; clip-path:inset(0 100% 0 0); transform:translateX(-12px); }
  100% { opacity:1; clip-path:inset(0); transform:none; }
}

/* WORKS / CONTACT: compact editorial lockups for short Japanese page titles. */
.v-page-hero { background-color:var(--v-paper); }
.v-page-hero::after {
  content:'';
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.22;
  background:repeating-linear-gradient(90deg,transparent 0,transparent 79px,rgba(23,27,27,.08) 80px);
}
.v-page-hero > .l-inner { position:relative; z-index:1; }
.v-page-hero .v-page-hero__grid {
  grid-template-columns:minmax(0,1.16fr) minmax(300px,.84fr);
  gap:clamp(46px,7vw,104px);
  align-items:stretch;
}
.v-page-hero__copy {
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  min-width:0;
  padding:clamp(18px,3vw,34px) 0 12px;
}
.v-page-hero .r-label { margin-bottom:clamp(24px,3vw,38px); }
.v-page-hero .r-title--large {
  font-size:clamp(5.2rem,7.2vw,9.4rem);
  line-height:1.02;
  letter-spacing:-.075em;
  overflow-wrap:normal;
  word-break:keep-all;
}
.v-page-hero--contact .r-title--large { font-size:clamp(4.8rem,6.1vw,8rem); }
.v-page-hero__title-line { display:inline-block; white-space:nowrap; }
.v-page-hero .r-marker { display:inline-block; }
.v-page-hero .r-marker::after {
  bottom:.04em;
  height:.26em;
  background:var(--v-orange);
  opacity:.92;
}
.v-page-hero .r-lead {
  max-width:590px;
  margin-top:clamp(28px,3.4vw,42px);
  padding-top:20px;
  border-top:1px solid rgba(23,27,27,.72);
}
.v-page-hero .v-page-hero__side {
  position:relative;
  display:grid;
  grid-template-rows:auto 1fr auto;
  min-width:0;
  min-height:300px;
  padding:20px 0 12px clamp(28px,4vw,58px);
  border-left:1px solid rgba(23,27,27,.72);
  overflow:hidden;
  isolation:isolate;
}
.v-page-hero .v-page-hero__side::before,
.v-page-hero .v-page-hero__side::after {
  content:'';
  position:absolute;
  pointer-events:none;
  z-index:-1;
}
.v-page-hero--works .v-page-hero__side::before {
  width:clamp(78px,8vw,122px);
  aspect-ratio:1;
  top:0;
  right:0;
  background:var(--v-orange);
  clip-path:polygon(50% 0,100% 100%,0 100%);
}
.v-page-hero--works .v-page-hero__side::after {
  width:92px;
  height:92px;
  right:28px;
  bottom:28px;
  border:1px solid rgba(23,27,27,.38);
  transform:rotate(12deg);
}
.v-page-hero--contact .v-page-hero__side::before {
  width:clamp(96px,10vw,150px);
  aspect-ratio:1;
  top:0;
  right:0;
  background:
    linear-gradient(90deg,transparent 47%,var(--v-ink) 48%,var(--v-ink) 52%,transparent 53%),
    linear-gradient(transparent 47%,var(--v-ink) 48%,var(--v-ink) 52%,transparent 53%),
    var(--v-teal);
}
.v-page-hero--contact .v-page-hero__side::after {
  width:52px;
  height:52px;
  right:clamp(76px,9vw,132px);
  top:clamp(72px,8vw,116px);
  background:var(--v-orange);
}
.v-page-hero__register {
  position:relative;
  z-index:1;
  display:block;
  width:max-content;
  font:600 1.05rem/1.5 var(--v-display);
  letter-spacing:.15em;
  text-transform:uppercase;
}
.v-page-hero__register strong {
  display:block;
  margin-top:2px;
  font-size:1.9rem;
  letter-spacing:.04em;
}
.v-page-hero .r-hero-word {
  position:relative;
  z-index:1;
  align-self:end;
  padding:0;
  text-align:left;
  font-size:clamp(8rem,10vw,13.5rem);
  transform:translateX(-.03em);
}
.v-page-hero--contact .r-hero-word { font-size:clamp(5.8rem,6.5vw,8.4rem); }
.v-page-hero .r-hero-side .r-meta {
  position:relative;
  z-index:1;
  margin-top:18px!important;
  padding-top:12px;
  border-top:1px solid rgba(23,27,27,.45);
}
.v-page-hero--works .r-index { margin-top:clamp(44px,5vw,68px); }

@media (max-width:900px) {
  .v-page-hero .v-page-hero__grid {
    grid-template-columns:minmax(0,1.08fr) minmax(240px,.92fr);
    gap:clamp(28px,4vw,42px);
  }
  .v-page-hero .v-page-hero__side {
    display:grid;
    grid-template-rows:auto 1fr;
    min-height:260px;
    padding:18px 0 8px 26px;
    border-top:0;
    border-left:1px solid rgba(23,27,27,.72);
  }
  .v-page-hero__register { text-align:left; }
  .v-page-hero .r-hero-word {
    align-self:end;
    font-size:clamp(6.4rem,9vw,8.4rem);
  }
  .v-page-hero--contact .r-hero-word { font-size:clamp(4.6rem,6.4vw,6rem); }
  .v-page-hero .r-hero-side .r-meta { display:none; }
}

@media (max-width:720px) {
  .v-page-hero .v-page-hero__grid { grid-template-columns:1fr; gap:38px; }
  .v-page-hero .v-page-hero__side {
    grid-template-columns:1fr auto;
    grid-template-rows:auto auto;
    min-height:154px;
    padding:22px 0 0;
    border-top:1px solid rgba(23,27,27,.72);
    border-left:0;
  }
  .v-page-hero .v-page-hero__side::before { top:18px; }
  .v-page-hero--works .v-page-hero__side::after { right:18px; bottom:12px; width:66px; height:66px; }
  .v-page-hero--contact .v-page-hero__side::after { top:66px; right:76px; width:40px; height:40px; }
  .v-page-hero__register { grid-column:1; grid-row:1; text-align:left; }
  .v-page-hero .r-hero-word {
    grid-column:1 / -1;
    grid-row:2;
    font-size:clamp(6.8rem,18vw,10rem);
  }
  .v-page-hero--contact .r-hero-word { font-size:clamp(5.6rem,15.5vw,8.5rem); }
}

@media (max-width:600px) {
  .v-page-hero { padding-top:26px; padding-bottom:42px; }
  .v-page-hero .r-breadcrumb { margin-bottom:24px; }
  .v-page-hero__copy { padding-top:8px; }
  .v-page-hero .r-label { margin-bottom:20px; }
  .v-page-hero .r-title--large { font-size:clamp(4.5rem,14.8vw,6.4rem); }
  .v-page-hero--contact .r-title--large { font-size:clamp(3.8rem,12.5vw,5.2rem); }
  .v-page-hero .r-lead { margin-top:28px; padding-top:18px; font-size:1.45rem; line-height:1.9; }
  .v-page-hero .v-page-hero__grid { gap:30px; }
  .v-page-hero .v-page-hero__side { min-height:128px; }
  .v-page-hero .r-hero-word { font-size:clamp(5.8rem,18vw,8rem); }
  .v-page-hero--contact .r-hero-word { font-size:clamp(4.7rem,14.6vw,6.8rem); }
  .v-page-hero__register { font-size:.92rem; }
  .v-page-hero__register strong { font-size:1.5rem; }
  .v-page-hero--works .r-index { margin-top:32px; }
}

@media (prefers-reduced-motion:reduce) {
  .v-print-pass { display:none; }
  .r-motion-ready .v-animated-hero::before,
  .r-motion-ready .v-animated-hero :is(.r-breadcrumb,.r-label,.r-lead,.r-hero-side,.r-index) {
    opacity:1;
    clip-path:none;
    transform:none;
    transition:none;
  }
  .r-motion-ready .v-animated-hero [data-title] .r-char > span,
  .r-motion-ready .v-animated-hero [data-title] .r-char::before,
  .r-motion-ready .v-animated-hero [data-title] .r-char::after,
  .r-motion-ready .v-animated-hero [data-title] .r-marker::after {
    opacity:1;
    transform:none;
    animation:none;
    transition:none;
  }
  .r-motion-ready .v-animated-hero [data-title] .r-char::before,
  .r-motion-ready .v-animated-hero [data-title] .r-char::after { opacity:0; }
}
