/* V1 polish layer — loaded AFTER V1's own rin-v3.css / v5-pages.css / site-menu.css / pro-video.css.
   It only adds to V1: header that condenses on scroll, a larger display scale, one CTA pair
   (gold filled .button + underlined .link), entrance/hover motion. Everything else is V1 as it was. */
:root{--pol-ease:cubic-bezier(.22,1,.36,1);--hdr-h:112px;--hdr-small:64px}
@media(width<1200px){:root{--hdr-h:92px}}
@media(width<768px){:root{--hdr-h:72px;--hdr-small:60px}}

/* 1. Header: fixed, the page keeps its space (no layout shift); after the first scroll it condenses to one row */
body:is(.rin-public,.v3-site){padding-top:var(--hdr-h)}
:is(.rin-public,.v3-site) .header{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(10,10,11,.97);transition:height .45s var(--pol-ease),padding .45s var(--pol-ease),box-shadow .45s var(--pol-ease)}
:is(.rin-public,.v3-site) .header .utility{transition:opacity .25s,transform .35s var(--pol-ease)}
:is(.rin-public,.v3-site) .header .wordmark .mark{transition:height .45s var(--pol-ease)}
:is(.rin-public,.v3-site) .header.is-condensed{height:var(--hdr-small);padding-top:0;box-shadow:0 14px 34px rgba(0,0,0,.55);border-bottom:1px solid var(--rin-border)}
:is(.rin-public,.v3-site) .header.is-condensed .utility{position:absolute;opacity:0;transform:translateY(-120%);pointer-events:none}
:is(.rin-public,.v3-site) .header.is-condensed .header-main{min-height:var(--hdr-small);height:var(--hdr-small)}
:is(.rin-public,.v3-site) .header + .mega{position:fixed;top:var(--hdr-h)}
:is(.rin-public,.v3-site) .header.is-condensed + .mega{top:var(--hdr-small)}
:is(.rin-public,.v3-site) .skip{z-index:60}
html{scroll-padding-top:calc(var(--hdr-h) + 12px)}

/* nav: underline draws from the left on hover / open */
:is(.rin-public,.v3-site) .site-nav-parent{position:relative}
:is(.rin-public,.v3-site) .site-nav-parent::after{content:"";position:absolute;left:0;right:14px;bottom:-6px;height:1px;background:var(--rin-brass);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--pol-ease)}
:is(.rin-public,.v3-site) .site-nav-parent:hover::after,:is(.rin-public,.v3-site) .site-nav-parent[aria-expanded="true"]::after{transform:scaleX(1)}

/* 2. Display scale: the hero headline about 1.4x V1, section heads a step up */
:is(.rin-public,.v3-site) .board-intro h1.hero-lines{font-size:clamp(34px,9.6vw,60px);line-height:1.34;letter-spacing:.01em}
@media(768px<=width<1200px){:is(.rin-public,.v3-site) .board-intro h1.hero-lines{font-size:min(7.2vw,64px)}}
@media(width>=1200px){:is(.rin-public,.v3-site) .board-intro h1.hero-lines{font-size:min(4.7vw,74px)}}
:is(.rin-public,.v3-site) .board-intro .intro-mission{font-size:clamp(18px,1.2vw + 10px,24px);line-height:1.75;color:var(--rin-text);font-weight:600;margin:0}
:is(.rin-public,.v3-site) .board-intro .intro-about{font-size:15px;line-height:1.95;color:var(--rin-text-muted);max-width:34em;margin:0}
.ph{display:inline-block}
:is(.rin-public,.v3-site) .board-pro h2{font-size:clamp(26px,2.5vw,34px);line-height:1.5}
:is(.rin-public,.v3-site) .media-tile .tile-copy h3{font-size:clamp(20px,1.7vw,26px)}
:is(.rin-public,.v3-site) .op-news h2,:is(.rin-public,.v3-site) .board-finder h3{font-size:clamp(24px,2.2vw,32px)}

/* 3. One CTA pair everywhere: gold filled .button (primary) + underlined .link (secondary), same order, same gap */
:is(.rin-public,.v3-site) .cta-pair{display:flex;align-items:center;flex-wrap:wrap;gap:14px 26px}
:is(.rin-public,.v3-site) .board-intro .intro-bottom{gap:22px}
:is(.rin-public,.v3-site) .cta-pair .button{position:relative;overflow:hidden;isolation:isolate}
:is(.rin-public,.v3-site) .cta-pair .button::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--rin-brass-light);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--pol-ease)}
:is(.rin-public,.v3-site) .cta-pair .button:hover::before{transform:scaleX(1)}
:is(.rin-public,.v3-site) .cta-pair .link{position:relative;display:inline-flex;align-items:center;gap:8px;padding:6px 0;color:var(--rin-text);text-decoration:none;border-bottom:0}
:is(.rin-public,.v3-site) .cta-pair .link::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--rin-brass);opacity:.55}
:is(.rin-public,.v3-site) .cta-pair .link::before{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--rin-brass-light);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--pol-ease)}
:is(.rin-public,.v3-site) .cta-pair .link:hover::before{transform:scaleX(1)}
:is(.rin-public,.v3-site) .arw{display:inline-block;transition:transform .35s var(--pol-ease)}
:is(.rin-public,.v3-site) a:hover .arw{transform:translateX(5px)}
@media(width<520px){:is(.rin-public,.v3-site) .cta-pair{flex-direction:column;align-items:flex-start}:is(.rin-public,.v3-site) .cta-pair .button{width:100%;justify-content:center}}

/* 4. Tiles: slower, calmer zoom than V1's 220ms, plus a brass line under the title */
:is(.rin-public,.v3-site) .media-tile>.asset{transition:transform .9s var(--pol-ease)}
:is(.rin-public,.v3-site) .media-tile:hover>.asset{transform:scale(1.05)}
:is(.rin-public,.v3-site) .media-tile .tile-copy h3{text-decoration:none!important;background:linear-gradient(var(--rin-brass),var(--rin-brass)) left bottom/0 1px no-repeat;transition:background-size .5s var(--pol-ease);display:inline;padding-bottom:3px}
:is(.rin-public,.v3-site) .media-tile:hover .tile-copy h3{background-size:100% 1px}

/* 5. Entrance (first screen only; V1's rin-motion.js keeps handling reveals below the fold) */
@media (prefers-reduced-motion:no-preference){
  :is(.rin-public,.v3-site) .board-intro .hero-lines .ln{animation:pol-rise .95s var(--pol-ease) both}
  :is(.rin-public,.v3-site) .board-intro .hero-lines .ln:nth-child(2){animation-delay:.1s}
  :is(.rin-public,.v3-site) .board-intro .intro-bottom{animation:pol-rise .9s var(--pol-ease) .22s both}
  :is(.rin-public,.v3-site) .board-pro{animation:pol-rise 1s var(--pol-ease) .3s both}
  :is(.rin-public,.v3-site) .board-speak,:is(.rin-public,.v3-site) .board-pron{animation:pol-fade 1s var(--pol-ease) .45s both}
  :is(.rin-public,.v3-site) .board-listen,:is(.rin-public,.v3-site) .board-blog,:is(.rin-public,.v3-site) .board-finder{animation:pol-fade 1s var(--pol-ease) .55s both}
}
@keyframes pol-rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes pol-fade{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){
  :is(.rin-public,.v3-site) .header,:is(.rin-public,.v3-site) .header *{transition:none!important}
  :is(.rin-public,.v3-site) .cta-pair .button::before,:is(.rin-public,.v3-site) .cta-pair .link::before,:is(.rin-public,.v3-site) .arw,:is(.rin-public,.v3-site) .media-tile>.asset{transition:none!important}
}

/* 6. お知らせ strip in V1's section rhythm */
:is(.rin-public,.v3-site) .op-news{padding:clamp(56px,7vw,96px) 0;border-top:1px solid var(--rin-border)}
:is(.rin-public,.v3-site) .op-news .section-inner{display:grid;gap:22px}
:is(.rin-public,.v3-site) .op-news-row{display:flex;align-items:center;gap:24px;padding:22px 0;border-top:1px solid var(--rin-border);border-bottom:1px solid var(--rin-border);text-decoration:none;color:var(--rin-text)}
:is(.rin-public,.v3-site) .op-news-row time{color:var(--rin-brass-light);font-size:14px;letter-spacing:.08em;flex:none}
:is(.rin-public,.v3-site) .op-news-row span:not(.arw){flex:1}

/* 7. 法人 card fact + 英語の知見 section (V1 tokens, V1 hairlines) */
:is(.rin-public,.v3-site) .board-finder .op-fact{display:flex;flex-direction:column;gap:4px;margin:18px 0 22px;padding:16px 18px;border:1px solid var(--rin-brass)}
:is(.rin-public,.v3-site) .board-finder .op-fact strong{font-size:20px;letter-spacing:.04em;color:var(--rin-text)}
:is(.rin-public,.v3-site) .board-finder .op-fact > span{font-size:13px;letter-spacing:.08em;color:var(--rin-brass-light)}
:is(.rin-public,.v3-site) .op-insights{padding:clamp(64px,8vw,112px) 0;background:#F5F5F2;color:#0A0A0B}
:is(.rin-public,.v3-site) .op-insights .section-inner{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:start}
:is(.rin-public,.v3-site) .op-insights h2{color:#0A0A0B;font-size:clamp(28px,3vw,44px);line-height:1.4;margin-bottom:18px}
:is(.rin-public,.v3-site) .op-insights p{color:rgba(10,10,11,.72);margin-bottom:26px}
:is(.rin-public,.v3-site) .op-list{list-style:none;margin:0;padding:0;border-top:1px solid rgba(10,10,11,.16)}
:is(.rin-public,.v3-site) .op-list li{margin:0;border-bottom:1px solid rgba(10,10,11,.16)}
:is(.rin-public,.v3-site) .op-list a{display:flex;justify-content:space-between;align-items:center;padding:20px 4px;color:#0A0A0B;text-decoration:none;font-size:18px;letter-spacing:.04em}
:is(.rin-public,.v3-site) .op-list a:hover{color:#7A5320}
@media(width<768px){:is(.rin-public,.v3-site) .op-insights .section-inner{grid-template-columns:1fr}}

/* 8. Sub pages on V1's v3-site template (tk-hero / band-head / post-card) */
:is(.rin-public,.v3-site) .tk-hero .cta-pair{margin-top:28px}
:is(.rin-public,.v3-site) .tk-hero h1.display-lg{font-size:clamp(2.1rem,5.4vw,4.25rem);line-height:1.22}
:is(.rin-public,.v3-site) .op-mission{margin:10px 0 26px;padding-top:22px;border-top:1px solid var(--rin-brass,#C08A3E);max-width:40em}
:is(.rin-public,.v3-site) .op-mission-label{font-size:13px!important;letter-spacing:.2em;color:var(--rin-brass-light,#DDBB84);margin:0 0 10px;font-weight:600}
:is(.rin-public,.v3-site) .op-mission-text{font-size:clamp(22px,2.4vw,34px);line-height:1.6;font-weight:600;color:var(--v3-text,#F5F5F2);margin:0}
:is(.rin-public,.v3-site) .op-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px;border-bottom:1px solid var(--v3-rule,rgba(245,245,242,.18))}
@media(width<768px){:is(.rin-public,.v3-site) .op-cards{grid-template-columns:1fr}}
:is(.rin-public,.v3-site) .op-cards .post-card{display:block;text-decoration:none}
:is(.rin-public,.v3-site) .op-cards .post-card h2{font-size:clamp(18px,1.5vw,22px)}
:is(.rin-public,.v3-site) .op-fact{display:flex;flex-direction:column;gap:4px;margin:18px 0 22px;padding:16px 18px;border:1px solid var(--rin-brass,#C08A3E);max-width:30em}
:is(.rin-public,.v3-site) .op-fact strong{font-size:20px;letter-spacing:.04em;color:inherit}
:is(.rin-public,.v3-site) .op-fact > span{font-size:13px;letter-spacing:.08em;color:inherit;opacity:.78}
:is(.rin-public,.v3-site) .op-steps{list-style:none;counter-reset:s;margin:0;padding:0;max-width:44em;border-top:1px solid var(--v3-rule,rgba(245,245,242,.18))}
:is(.rin-public,.v3-site) .op-steps li{counter-increment:s;display:grid;grid-template-columns:3rem 1fr;gap:12px;padding:18px 0;border-bottom:1px solid var(--v3-rule,rgba(245,245,242,.18));line-height:1.9}
:is(.rin-public,.v3-site) .op-steps li::before{content:counter(s);font-size:28px;line-height:1.1;color:var(--rin-brass,#C08A3E)}
:is(.rin-public,.v3-site) .op-phone{margin:36px 0 0}
:is(.rin-public,.v3-site) .op-phone .phone{width:min(240px,62%);max-width:240px}
:is(.rin-public,.v3-site) .op-phone .phone img{display:block;width:100%;height:auto}
:is(.rin-public,.v3-site) .section.ab-sec .cta-pair{margin-top:24px}
