
/* This file demonstrates structure. Brand values and media are provisional. */
:root{color-scheme:dark;--rin-bg:#0d0d0c;--rin-surface:#181715;--rin-surface-raised:#28251f;--rin-brass:#b69a63;--rin-brass-light:#decba3;--rin-text:#f2efe8;--rin-text-muted:#c2bbb0;--rin-border:#494134}
body{margin:0;background:var(--rin-bg);color:var(--rin-text);font:16px/1.7 "Noto Sans CJK JP","Hiragino Kaku Gothic ProN",sans-serif}a{color:inherit;text-underline-offset:5px}button,input{font:inherit}button,summary{cursor:pointer}button{color:inherit}h1,h2,h3,p{margin:0}h1{font-family:"Noto Serif CJK JP",serif;font-weight:600;font-size:clamp(46px,4.35vw,68px);line-height:1.24;letter-spacing:-.03em}h2{font-size:clamp(30px,3.4vw,52px);line-height:1.4;font-weight:400;letter-spacing:-.025em}h3{font-size:24px;line-height:1.5}p{color:var(--rin-text-muted)}.eyebrow{font-size:13px;letter-spacing:.09em;line-height:1.6;color:var(--rin-brass-light)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 24px;border:1px solid var(--rin-brass);border-radius:0;background:var(--rin-brass);color:var(--rin-bg);text-decoration:none;line-height:1.5;gap:14px;font-size:15px;font-weight:600}.button.secondary{background:transparent;color:var(--rin-text);border-color:var(--rin-brass)}.button:disabled{opacity:.5;cursor:not-allowed}.link{background:none;border:0;padding:8px 0;color:var(--rin-text);text-decoration:underline;font-size:15px}.actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:24px}.fine{font-size:13px;line-height:1.7;color:var(--rin-text-muted)}.circle{width:68px;height:68px;flex:0 0 68px;border-radius:50%;border:0;background:var(--rin-surface-raised);color:var(--rin-text);font-size:38px;text-decoration:none;display:grid;place-items:center}.skip{position:absolute;left:16px;top:-100px;z-index:10}.skip:focus{top:12px}.center{text-align:center}.section{padding:88px 0}.head-copy{margin-bottom:42px}.head-copy .eyebrow{margin-bottom:26px}.head-copy h2{max-width:1060px;margin:auto}.asset{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;min-width:0;background:linear-gradient(130deg,#27231b,#111110);color:var(--rin-brass-light)}.asset-frame{border:1px solid #64563b;position:absolute;inset:16%;display:grid;place-items:center;padding:24px;text-align:center;line-height:1.8}.asset .asset-label{position:absolute;top:16px;left:18px;right:18px;font-size:11px;letter-spacing:.08em;color:var(--rin-text-muted)}.asset-mark{font-family:"Noto Serif CJK JP",serif;font-size:clamp(48px,6vw,110px);font-weight:400;opacity:.5;letter-spacing:.03em}.asset-caption{font-size:14px;color:var(--rin-text-muted)}.media-note{font-size:12px;color:var(--rin-text-muted);margin-top:12px}.header{height:112px;box-sizing:border-box;padding:12px 32px 0}.utility{display:flex;justify-content:flex-end;gap:12px;font-size:13px;height:28px}.header-main{display:flex;align-items:center;gap:28px;min-height:64px}.icon-button{border:0;background:transparent;color:var(--rin-text);font-size:28px;width:40px;min-height:44px;padding:0;display:grid;place-items:center}.wordmark{font-family:"Noto Serif CJK JP",serif;font-size:27px;letter-spacing:.02em;text-decoration:none;line-height:1.35;white-space:nowrap}.wordmark small{display:block;color:var(--rin-brass-light);font:10px/1.6 sans-serif;letter-spacing:.18em}.main-nav{display:flex;align-items:center;gap:25px;margin-left:34px;flex:1;min-width:0}.main-nav>a,.main-nav>button{text-decoration:none;background:none;border:0;padding:10px 0;white-space:nowrap;font-size:14px;color:var(--rin-text)}.mega{position:absolute;z-index:10;top:112px;left:4.8%;width:90.4%;padding:32px 40px;background:var(--rin-surface);border-top:1px solid var(--rin-border);box-shadow:0 28px 42px #0008}.mega-grid{display:grid;grid-template-columns:2fr 1fr;gap:40px}.mega-links{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mega-links a{padding:12px 0;border-bottom:1px solid var(--rin-border);text-decoration:none}.mega p{font-size:14px}.board-section{padding:46px 0 86px}.board-intro{padding:0 42px 30px 0}.intro-bottom{display:flex;align-items:center;gap:24px;margin-top:22px}.intro-bottom p{font-size:16px;line-height:1.8;flex:1}.intro-bottom .circle:hover{background:var(--rin-brass);color:var(--rin-bg)}.media-tile{position:relative;display:flex;align-items:stretch;text-decoration:none;overflow:hidden;background:var(--rin-surface)}.media-tile>.asset{position:absolute;inset:0;transition:transform 220ms ease}.media-tile .asset-frame{inset:13% 14% 31%;}.tile-copy{position:relative;z-index:1;align-self:flex-end;padding:26px 24px;width:100%;background:linear-gradient(transparent,#080807ed 20%)}.tile-copy .eyebrow{color:var(--rin-text);margin-bottom:10px}.tile-copy h3{font-size:25px;line-height:1.65;font-weight:600}.tile-copy .arr{white-space:nowrap}.board-pro{position:relative;overflow:hidden;background:var(--rin-surface);padding:34px 32px;display:flex;flex-direction:column;min-height:0}.pro-art{position:absolute;inset:0;background:linear-gradient(140deg,#403724,#151310 66%)}.pro-art .asset-frame{inset:27% 16% 23%;background:#11110e;border-color:#867047}.pro-art .asset-frame:before{content:"実アプリの画像を配置";font-size:14px;position:absolute;top:12%;left:8%;right:8%;text-align:center;color:var(--rin-text-muted)}.pro-top,.pro-bottom{position:relative;z-index:1}.pro-top h2{font-size:42px;margin-top:14px}.pro-bottom{margin-top:auto;padding-top:260px}.pro-bottom .price-ref{font-size:26px;color:var(--rin-text);margin-bottom:8px}.pro-bottom .fine{max-width:100%;margin-bottom:18px}.board-finder{padding:32px;background:var(--rin-surface-raised)}.board-finder h3{font-size:24px;font-weight:400}.board-finder p{font-size:14px;margin:10px 0 14px}.segmented{display:flex;gap:0;max-width:100%;margin:18px 0}.segmented button{flex:1;background:transparent;border:1px solid var(--rin-border);padding:10px 8px;min-height:44px;font-size:14px}.segmented button[aria-pressed=true]{background:var(--rin-brass);border-color:var(--rin-brass);color:var(--rin-bg);font-weight:600}.finder-result{min-height:84px}.finder-result p{margin:0 0 4px}.finder-result a{font-size:14px}.category-band{padding:28px 0;text-align:center;border-top:1px solid var(--rin-border)}.feature-wide{min-height:480px;display:flex;align-items:center;position:relative;overflow:hidden;background:var(--rin-surface)}.feature-back{position:absolute;inset:0 0 0 44%}.feature-back:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--rin-surface),transparent 35%)}.feature-content{position:relative;z-index:1;max-width:570px;padding:64px 0}.feature-content p{margin-top:22px;max-width:500px;font-size:18px}.note-section{background:linear-gradient(115deg,#13120f,#393120);padding:72px 0 90px}.note-header{display:flex;justify-content:space-between;gap:40px;align-items:center}.note-intro{max-width:910px;margin-top:24px;margin-bottom:48px;font-size:18px}.note-panels{margin-bottom:32px}.note-feature{min-height:500px}.note-info{padding:40px 36px;background:var(--rin-surface-raised);display:flex;flex-direction:column;min-height:500px;box-sizing:border-box}.note-meta{font-size:13px;color:var(--rin-text-muted);margin-bottom:20px}.note-info h3{font-size:30px;line-height:1.65}.note-info p{margin-top:22px;font-size:17px}.note-info .actions{margin-top:auto;padding-top:28px}.note-cover{min-height:500px;background:#121210}.note-cover .asset-frame{inset:9%}.note-cover .asset-mark{font-size:120px}.note-tabs button{background:none;border:0;color:var(--rin-text);padding:0;text-align:left;min-width:0}.tab-line{display:block;height:4px;background:#c0b6a2;margin-bottom:20px}.note-tabs button[aria-selected=true] .tab-line{background:var(--rin-brass-light)}.note-tabs button[aria-selected=true]{font-weight:700}.tab-text{display:block;font-size:14px;line-height:1.7;padding:0 6px}.selected-label{display:block;font-size:11px;min-height:18px;color:var(--rin-brass-light);padding:0 6px}.triptych .asset{aspect-ratio:16/9}.triptych h3{margin:20px 0 12px;font-size:23px}.triptych p{font-size:16px}.triptych .actions{gap:14px;margin-top:12px}.triptych article{min-width:0}.plan-section{background:var(--rin-surface);padding:72px 0 84px}.plan-section>.section-inner>.eyebrow{text-align:center;margin-bottom:46px}.plan-copy h2{color:var(--rin-brass-light);font-size:40px;margin-bottom:20px}.plan-copy .price{font-size:38px;line-height:1.4;margin-top:20px;color:var(--rin-text)}.plan-copy .fine{margin:12px 0}.billing-field{border:0;padding:0;margin:22px 0 0;display:flex;gap:20px}.billing-field legend{font-size:13px;color:var(--rin-text-muted);margin-bottom:8px}.billing-field label{display:flex;align-items:center;gap:7px;min-height:44px}.billing-field input{accent-color:var(--rin-brass)}.plan-visual{position:relative;margin:28px 26px 0 0;align-self:center}.plan-visual:before{content:"";position:absolute;right:-26px;top:-28px;width:37%;height:45%;background:var(--rin-brass)}.plan-visual>.asset{aspect-ratio:16/10;min-height:330px}.preview-action{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:94px;height:94px;border:1px solid var(--rin-text);background:#111c;border-radius:50%;font-size:16px;line-height:1.5}.blog-section{background:#302a20}.devices h2{margin-bottom:56px}.devices .asset{aspect-ratio:4/3;min-height:320px}.device-copy h3{font-size:32px;font-weight:400}.device-copy p{margin:18px 0}.faq-section{background:var(--rin-surface);padding:62px 0}.faq-section h2{font-size:32px;margin-bottom:24px}.faq-section details{border-top:1px solid var(--rin-border)}.faq-section details:last-child{border-bottom:1px solid var(--rin-border)}.faq-section summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;font-size:19px}.faq-section summary::-webkit-details-marker{display:none}.faq-section summary:after{content:"＋";font-size:25px;color:var(--rin-brass-light)}.faq-section details[open] summary:after{content:"−"}.faq-section details p{padding:0 48px 24px 0;max-width:880px}.footer{padding:68px 0 92px;background:#141310}.footer-logo{font-family:"Noto Serif CJK JP",serif;font-size:42px;line-height:1.35;margin-bottom:46px}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr 1.6fr;gap:32px}.footer-top h3{font-size:16px;margin-bottom:18px}.footer-top a{display:block;text-decoration:none;padding:6px 0;font-size:14px}.footer-top p{font-size:14px;margin-bottom:12px}.footer-bottom{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;margin-top:44px;border-top:1px solid var(--rin-border);padding-top:26px;font-size:13px}.footer-legal{display:flex;flex-wrap:wrap;gap:20px}.prototype-warning{margin-top:38px;border-top:1px solid var(--rin-border);padding-top:20px;font-size:12px;color:var(--rin-text-muted)}.floating-finder{position:fixed;bottom:24px;right:24px;z-index:15;border:1px solid var(--rin-brass);padding:14px 20px;background:var(--rin-brass);color:var(--rin-bg);font-size:14px;min-height:52px}.overlay-open .floating-finder{visibility:hidden}dialog{border:1px solid var(--rin-border);background:var(--rin-surface);color:var(--rin-text);padding:0;width:min(760px,calc(100vw - 40px));max-height:90dvh}dialog::backdrop{background:#000b}dialog .dialog-inner{padding:32px}dialog .dialog-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}dialog h2{font-size:26px}dialog .close{background:none;border:1px solid var(--rin-border);width:44px;min-height:44px;font-size:23px;flex-shrink:0}dialog p{margin-bottom:16px}.drawer{margin:0 0 0 auto;max-height:100dvh;height:100dvh;width:min(440px,100vw);border-top:0;border-bottom:0;border-right:0}.left-drawer{margin:0 auto 0 0}.drawer-links{display:grid;gap:0}.drawer-links a{padding:15px 0;border-bottom:1px solid var(--rin-border);text-decoration:none}.search-input{display:block;width:100%;box-sizing:border-box;padding:14px 16px;background:var(--rin-bg);border:1px solid var(--rin-border);color:var(--rin-text);font-size:18px;margin-bottom:20px}.search-result{display:block;padding:14px 0;border-bottom:1px solid var(--rin-border);text-decoration:none}.search-result small{display:block;color:var(--rin-brass-light);font-size:12px}.preview-screen{height:270px;margin:22px 0}.steps{display:flex;gap:10px;flex-wrap:wrap}.steps button{flex:1;min-width:100px;min-height:44px;background:none;border:1px solid var(--rin-border);padding:8px}.steps button[aria-pressed=true]{background:var(--rin-brass);color:var(--rin-bg)}.speak-example{padding:24px;background:var(--rin-bg);margin-bottom:22px}.speak-example p{font-size:22px;margin:0}.speak-example .answer{color:var(--rin-brass-light);margin-top:20px}.back-to-top{display:inline-block;margin-top:28px;font-size:14px}
@media(hover:hover) and (pointer:fine){.media-tile:hover>.asset{transform:scale(1.03)}.media-tile:hover h3{text-decoration:underline;text-decoration-color:var(--rin-brass);text-underline-offset:5px}.button:hover{filter:brightness(1.1)}}
@media(width<1200px){.main-nav{display:none}.header-main .search-trigger{margin-left:auto}.header{height:92px}.mega{top:92px}.board-section{padding-top:34px}.board-intro{padding:0 0 30px}.board-pro{min-height:520px;padding:32px;width:100%}.pro-top{max-width:50%}.pro-art .asset-frame{inset:13% 8% 13% 55%}.pro-bottom{padding-top:100px;max-width:50%}.note-header{align-items:flex-start}.note-header .button{flex-shrink:0}.note-info{padding:30px 26px}.note-info h3{font-size:26px}.note-tabs .tab-text{font-size:13px}.footer-top{grid-template-columns:1fr 1fr}.board-finder .finder-result{min-height:58px}}
@media(width<768px){h1{font-size:36px;line-height:1.4}h2{font-size:30px}.header{height:72px;padding:0 20px}.utility{display:none}.header-main{height:72px;gap:16px}.wordmark{font-size:23px}.wordmark small{font-size:9px}.header-main .icon-button{width:28px}.board-section{padding:28px 0 48px}.intro-bottom{gap:18px;margin-top:22px}.intro-bottom p{font-size:15px}.circle{width:52px;height:52px;flex-basis:52px;font-size:31px}.board-intro{padding:0 0 18px}.board-pro{padding:26px 24px;min-height:530px!important}.pro-top{max-width:100%}.pro-top h2{font-size:34px}.pro-bottom{max-width:100%;padding-top:250px}.pro-bottom .price-ref{font-size:23px}.pro-art .asset-frame{inset:28% 18% 28%}.tile-copy{padding:22px 24px}.tile-copy h3{font-size:24px}.board-finder{padding:24px}.feature-wide{display:block;min-height:0}.feature-content{max-width:100%;padding:44px 0 30px}.feature-content p{font-size:16px}.feature-back{position:relative;inset:auto;height:260px;margin-top:0;order:2}.feature-back:after{display:none}.feature-wide .section-inner{position:relative;z-index:2}.feature-wide{display:flex;flex-direction:column-reverse}.feature-back{width:100%}.note-section{padding:48px 0 58px}.note-header{display:block}.note-header .button{margin-top:24px}.note-intro{font-size:16px;margin-top:20px;margin-bottom:28px}.note-cover{min-height:260px;height:260px}.note-cover .asset-mark{font-size:90px}.note-info{min-height:390px;padding:28px 24px}.note-info h3{font-size:24px}.note-info p{font-size:16px}.note-tabs .tab-text{font-size:14px}.tab-line{margin-bottom:12px}.section{padding:56px 0}.head-copy{margin-bottom:30px}.head-copy .eyebrow{margin-bottom:18px}.triptych .asset{min-height:190px}.triptych h3{font-size:24px;margin-top:18px}.plan-section{padding:52px 0 64px}.plan-copy h2{font-size:32px}.plan-copy .price{font-size:32px}.plan-visual{margin:18px 18px 0 0}.plan-visual:before{right:-18px;top:-18px}.plan-visual>.asset{min-height:250px}.devices h2{margin-bottom:32px}.device-copy h3{font-size:28px}.faq-section{padding:48px 0}.faq-section summary{font-size:17px}.faq-section details p{padding-right:0}.footer{padding:52px 0 100px}.footer-logo{font-size:34px;margin-bottom:32px}.footer-top{gap:28px 22px}.footer-top>div:last-child{grid-column:1/-1}.footer-bottom{gap:20px}.floating-finder{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));width:52px;height:52px;padding:0;font-size:22px}.floating-finder .float-label{display:none}dialog .dialog-inner{padding:24px}dialog h2{font-size:24px}.mega{display:none!important}.note-header .button{width:auto}.actions{gap:12px}.button{padding:10px 18px}.header-main{gap:12px}.footer-bottom{padding-right:54px}}


/* McKinsey-structure adaptation for 英語のりん, v2.
   STRUCTURAL STARTER, not a production patch.
   Scope to the public website; never apply to the learning app globally.
   Bind --rin-* color/font roles to existing brand tokens before deployment.
*/
.rin-public {
  --board-width: min(90.4vw, 1600px);
  --content-width: min(81.8vw, 1440px);
  --grid-gap: 16px;
  --tile-unit: calc((var(--board-width) - 32px) / 3.52);
  --intro-height: calc(var(--tile-unit) * .641);
  --tile-a-height: calc(var(--tile-unit) * 1.356);
  --tail-height: calc(var(--tile-unit) * 1.039);
  --stagger: calc(var(--tile-unit) * .148);
}
.rin-public *, .rin-public *::before, .rin-public *::after { box-sizing: border-box; }
.rin-public .board-wrap { width: var(--board-width); margin-inline: auto; }
.rin-public .section-inner { width: var(--content-width); margin-inline: auto; }
.rin-public .editorial-board {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(0,1.52fr);
  grid-template-rows: minmax(var(--intro-height), auto) var(--tile-a-height) minmax(var(--tail-height), auto);
  gap: var(--grid-gap);
  align-items: start;
}
.rin-public .editorial-board > * { min-width: 0; }
.rin-public .board-intro { grid-column: 1 / 3; grid-row: 1; }
.rin-public .board-pro { grid-column: 3; grid-row: 1 / 3; align-self: stretch; }
.rin-public .board-pron { grid-column: 1; grid-row: 2; height: var(--tile-a-height); }
.rin-public .board-speak {
  grid-column: 2; grid-row: 2;
  margin-top: var(--stagger);
  height: calc(var(--tile-a-height) - var(--stagger) * 2);
}
.rin-public .board-listen { grid-column: 1; grid-row: 3; min-height: calc(var(--tile-unit) * .912); }
.rin-public .board-blog {
  grid-column: 2; grid-row: 3;
  margin-top: calc(var(--stagger) * -1);
  min-height: calc(var(--tail-height) + var(--stagger));
}
.rin-public .board-finder { grid-column: 3; grid-row: 3; min-height: calc(var(--tile-unit) * .84); }
.rin-public .feature-band { width: 100%; }
.rin-public .note-feature { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
.rin-public .note-feature > * { min-width: 0; }
.rin-public .note-switcher { display: flex; flex-direction: column; }
/* DOM: tab list first, then panels. Visual: panel above controls. */
.rin-public .note-tabs { order: 2; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 32px; }
.rin-public .note-panels { order: 1; }
.rin-public .triptych { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; }
.rin-public .split { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 48px; }
.rin-public [hidden] { display: none !important; }
.rin-public :where(a,button,input,summary):focus-visible { outline: 3px solid var(--rin-brass-light); outline-offset: 5px; }
.rin-public [id] { scroll-margin-top: 24px; }
@media (768px <= width < 1200px) {
  .rin-public { --board-width: calc(100vw - 64px); --content-width: calc(100vw - 80px); }
  .rin-public .editorial-board { grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: auto; }
  .rin-public .board-intro { grid-column: 1 / -1; grid-row: 1; }
  .rin-public .board-pro { grid-column: 1 / -1; grid-row: 2; min-height: 520px; }
  .rin-public .board-pron { grid-column: 1; grid-row: 3; }
  .rin-public .board-speak { grid-column: 2; grid-row: 3; }
  .rin-public .board-listen { grid-column: 1; grid-row: 4; }
  .rin-public .board-blog { grid-column: 2; grid-row: 4; }
  .rin-public .board-pron, .rin-public .board-speak, .rin-public .board-listen, .rin-public .board-blog { margin: 0; height: 340px; min-height: 0; }
  .rin-public .board-finder { grid-column: 1 / -1; grid-row: 5; min-height: 260px; }
  .rin-public .triptych { gap: 20px; }
  .rin-public .split { gap: 28px; }
  .rin-public .note-tabs { gap: 20px; }
}
@media (width < 768px) {
  .rin-public { --board-width: calc(100vw - 40px); --content-width: calc(100vw - 40px); }
  .rin-public .editorial-board { display: flex; flex-direction: column; }
  .rin-public .editorial-board > * { width: 100%; grid-area: auto; margin: 0; }
  .rin-public .board-pro { min-height: 500px; }
  .rin-public .board-pron, .rin-public .board-speak, .rin-public .board-listen, .rin-public .board-blog { height: 260px; min-height: 260px; }
  .rin-public .board-finder { min-height: 280px; }
  .rin-public .note-feature { display: flex; flex-direction: column; }
  .rin-public .note-cover { order: -1; }
  .rin-public .note-tabs { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
  .rin-public .triptych, .rin-public .split { grid-template-columns: minmax(0,1fr); gap: 32px; }
}
@media (width < 360px) {
  .rin-public { --board-width: calc(100vw - 32px); --content-width: calc(100vw - 32px); }
}
@media (prefers-reduced-motion: reduce) {
  .rin-public *, .rin-public *::before, .rin-public *::after {
    scroll-behavior: auto !important; animation: none !important; transition: none !important;
  }
}

/* ===== brand override: existing eigonorin tokens, Mincho throughout ===== */
:root{--rin-bg:#0A0A0B;--rin-surface:#141412;--rin-surface-raised:#221F1A;--rin-brass:#C08A3E;--rin-brass-light:#DDBB84;--rin-text:#F5F5F2;--rin-text-muted:#B4B0A6;--rin-border:rgba(245,245,242,.18);
  --serif:"Hiragino Mincho ProN","Hiragino Mincho Pro","Yu Mincho","YuMincho","Noto Serif JP","Noto Serif CJK JP",serif;
  --paper:#F5F5F2;--paper-2:#EAEAE5;--navy:#253A5A;--navy-deep:#16243A}
body,button,input,summary,h1,h2,h3,.wordmark,.wordmark small,.footer-logo{font-family:var(--serif)!important}
body{background:var(--rin-bg)}
.wordmark small{font-size:10px;letter-spacing:.26em}
.eyebrow{letter-spacing:.14em}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* light (warm white) sections — same components, inverted tokens */
.light{--rin-bg:#F5F5F2;--rin-surface:#EAEAE5;--rin-surface-raised:#E1E0D8;--rin-text:#0A0A0B;--rin-text-muted:rgba(10,10,11,.66);--rin-border:rgba(10,10,11,.18);--rin-brass-light:#8E6326;background:var(--paper)!important;color:var(--rin-text)}
.light .button{color:#0A0A0B}
.light .button.secondary{color:#0A0A0B;border-color:#0A0A0B}
.light .segmented button[aria-pressed=true]{color:#0A0A0B}

/* utility link for 青塾 */
.utility .ao{display:inline-flex;gap:7px;align-items:center}
.utility .ao i,.main-nav .ao i{font-style:normal;font-weight:600;background:var(--navy);color:#fff;padding:0 6px;font-size:12px;line-height:1.6}
.main-nav .ao{display:inline-flex;gap:8px;align-items:center}
.main-nav a.on{box-shadow:inset 0 -1px 0 var(--rin-brass)}

/* hero sizing for real copy */
.board-intro h1{font-size:clamp(32px,3.2vw,50px);line-height:1.42}
.intro-bottom p{max-width:640px}

/* images replacing placeholders */
.asset img.cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top}
.phone{border:7px solid #000;border-radius:28px;overflow:hidden;background:#000;box-shadow:0 30px 60px rgba(0,0,0,.45)}
.phone img{width:100%}
.art1{background:radial-gradient(60% 55% at 72% 28%,rgba(192,138,62,.42),transparent 66%),linear-gradient(160deg,#241e14,#0d0d0c)}
.art2{background:repeating-linear-gradient(118deg,transparent 0 26px,rgba(221,187,132,.07) 26px 27px),radial-gradient(70% 60% at 30% 30%,rgba(192,138,62,.34),transparent 66%),#12110e}
.art3{background:repeating-radial-gradient(circle at 75% 30%,transparent 0 16px,rgba(192,138,62,.14) 16px 17px),linear-gradient(#17150f,#0c0c0b)}
.art4{background:linear-gradient(135deg,#7A5420 0%,#2a2115 55%,#0f0e0c 100%)}
.art5{background:radial-gradient(55% 60% at 60% 45%,rgba(221,187,132,.32),transparent 70%),repeating-linear-gradient(0deg,transparent 0 30px,rgba(245,245,242,.04) 30px 31px),#11100d}
.art6{background:repeating-linear-gradient(90deg,transparent 0 40px,rgba(245,245,242,.06) 40px 41px),linear-gradient(#3b2d18,#120f0b)}

/* PRO card with a real screen */
.pro-art{background:linear-gradient(150deg,#3a2f1c 0%,#16140f 62%)}
.pro-art .phone{position:absolute;left:50%;top:50%;width:34%;max-width:230px;transform:translate(-50%,-50%) rotate(-3deg)}
.pro-art:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(12,11,9,.95) 20%,transparent 46%),linear-gradient(to bottom,rgba(12,11,9,.8) 8%,transparent 34%)}
.pro-top h2{font-size:clamp(26px,2.25vw,34px);line-height:1.5}
.pro-bottom .price-ref small{font-size:14px;color:var(--rin-text-muted);margin-left:12px}
.media-tile>.asset.art1 img.cover{opacity:.5}

/* S02 feature with phones */
.feature-back{display:flex;align-items:center;justify-content:center;gap:26px;background:radial-gradient(60% 70% at 55% 50%,rgba(192,138,62,.34),transparent 70%),#15130f}
.feature-back .phone{width:200px;position:relative}
.feature-back .phone+.phone{transform:translateY(40px)}
.feature-back:after{z-index:1}
.note-section{background:linear-gradient(115deg,#0F0E0C 0%,#4A3718 100%)}

/* plan visual */
.plan-visual>.asset{align-items:flex-start;background:linear-gradient(140deg,#2c2519,#0f0e0c)}
.plan-visual .phone{width:34%;margin-top:34px}

/* 青塾 section on the top page */
.aoj-sec{padding:104px 0}
.aoj-mark{color:var(--navy);line-height:1}
.aoj-mark small{display:block;font-size:14px;letter-spacing:.3em;margin-bottom:10px}
.aoj-mark b{display:block;font-size:60px;font-weight:700;letter-spacing:.1em}
.aoj-sec h2{margin:30px 0 12px;font-size:clamp(26px,2.6vw,38px);color:var(--rin-text)}
.aoj-sec .button{background:var(--navy);border-color:var(--navy);color:#fff;margin-top:26px}
.offset-nv{position:relative;margin:28px 28px 0 0}
.offset-nv:before{content:"";position:absolute;right:-28px;top:-28px;width:40%;height:48%;background:var(--navy)}
.certs{position:relative;display:grid;grid-template-columns:1.15fr 1fr;gap:14px}
.certs img{width:100%;height:100%;object-fit:cover;background:#fff}
.certs .t{grid-row:span 2;aspect-ratio:3/4}
.certs .s{aspect-ratio:4/3}

/* devices */
.devices-art{display:flex;justify-content:center;align-items:flex-end;gap:20px;aspect-ratio:4/3;background:var(--rin-surface);padding:0 20px;overflow:hidden}
.devices-art .phone{width:28%;box-shadow:0 24px 40px rgba(0,0,0,.18);transform:translateY(12%)}
.devices-art .phone.mid{width:32%;transform:translateY(4%)}
.blog-section{background:#2A2319}
.footer{background:#121110}
@media(width<768px){.feature-back .phone{width:118px}.pro-art .phone{width:40%}.devices-art .phone{border-width:4px;border-radius:14px}}
@media(width<768px){.plan-visual>.asset{min-height:0;aspect-ratio:4/3}}

.feature-content{max-width:640px}
.feature-content h2{font-size:clamp(28px,2.9vw,44px);line-height:1.5}
.footer-top a.button{display:inline-flex}
.head-copy:not(.center) h2{margin:0}

/* ===== v3: logo mark, deeper navy ===== */
:root{--navy:#0A1F38;--navy-deep:#061426;--navy-2:#10283F}
.wordmark{display:flex;align-items:center;gap:12px}
.wordmark .mark{height:30px;width:auto}
.footer-logo{display:flex;align-items:center;gap:16px}
.footer-logo .mark{height:40px;width:auto}
.utility .ao i,.main-nav .ao i{background:#10283F}
@media(width<768px){.wordmark .mark{height:24px}}
/* top v3: 青塾 card B + S05 navy */
.plans-link{margin-top:14px;font-size:14px}
.plans-link a{text-decoration:underline;text-underline-offset:4px}
.pro-bottom{padding-top:300px}
.ao-tile>.asset{background:radial-gradient(70% 60% at 70% 20%,rgba(120,150,190,.22),transparent 65%),linear-gradient(170deg,#0F2A48,#061426)}
.ao-tile>.asset img.cover{opacity:.16;filter:grayscale(1);object-position:center}
.ao-tile .tile-copy{background:linear-gradient(transparent,rgba(6,20,38,.96) 26%)}
.ao-mark{position:absolute;left:28px;top:30px;color:#F5F5F2;line-height:1;text-align:left}
.ao-mark small{display:block;font-size:11px;letter-spacing:.34em;margin-bottom:8px;color:#C9D6E6}
.ao-mark b{display:block;font-size:56px;font-weight:700;letter-spacing:.12em}
.ao-mark.big{position:static}
.ao-mark.big b{font-size:64px}
.aoj-feature{background:linear-gradient(120deg,#061426 0%,#0F2A48 100%);padding:104px 0;--rin-text:#F5F5F2;--rin-text-muted:#BFCADA;--rin-border:rgba(245,245,242,.2)}
.aoj-feature h2{font-size:clamp(28px,2.8vw,42px);margin:10px 0 12px}
.aoj-feature .button{background:#F5F5F2;border-color:#F5F5F2;color:#061426}
.offset-brass{position:relative;margin:28px 28px 0 0}
.offset-brass:before{content:"";position:absolute;right:-28px;top:-28px;width:40%;height:48%;background:var(--rin-brass)}
@media(width<768px){.aoj-feature{padding:60px 0}.offset-brass{margin:18px 18px 0 0}.offset-brass:before{right:-18px;top:-18px}.pro-bottom{padding-top:250px}}
.triptych .asset.ph{align-items:flex-start;overflow:hidden}
.triptych .asset.ph .phone{width:34%;margin-top:26px;border-width:5px;border-radius:20px}

/* editorial photos (ChatGPT generated, 2026-09-15) */
.asset img.photo{opacity:1;filter:none}
.feat .img img.photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ao-tile>.asset img.photo{opacity:.9;filter:none;object-position:center top}

/* 青塾: 受講生の実績(トップ S05 内) */
.ao-proof{margin-top:72px;padding-top:40px;border-top:1px solid rgba(245,245,242,.2)}
.ao-proof-row{display:grid;grid-template-columns:180px 1fr;gap:32px;align-items:start;padding:22px 0}
.ao-proof-row+.ao-proof-row{border-top:1px solid rgba(245,245,242,.12)}
.ao-proof .eyebrow{color:#C9D6E6;margin-top:8px}
.ao-res{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:26px 0}
.ao-res li{padding:0 18px;border-left:1px solid rgba(245,245,242,.16)}
.ao-res li:nth-child(3n+1){border-left:0;padding-left:0}
.ao-res b{display:block;font-size:clamp(28px,2.6vw,42px);font-weight:300;line-height:1.1;color:#F5F5F2;white-space:nowrap}
.ao-res b small{font-size:.45em;margin-left:2px}
.ao-res span{display:block;margin-top:10px;font-size:13px;line-height:1.6;color:#BFCADA}
.ao-emp{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 0}
.ao-emp li{font-size:17px;color:#F5F5F2;padding:0 20px;border-left:1px solid rgba(245,245,242,.2);line-height:1.5}
.ao-emp li:first-child{border-left:0;padding-left:0}
.ao-proof-note{margin-top:18px}
@media(width<768px){.ao-proof{margin-top:48px}.ao-proof-row{grid-template-columns:1fr;gap:14px}.ao-res{grid-template-columns:1fr 1fr}.ao-res li{border-left:0;padding-left:0}.ao-emp{flex-direction:column}.ao-emp li{border-left:0;padding:6px 0;border-top:1px solid rgba(245,245,242,.12)}}

/* ===== 2026-09-15 共通motion(公開サイト) =====
   押下120ms・切替200〜240ms。opacity/transformだけを使い、本文を隠さない(スクロール出現は既存reveal.jsの担当)。
   JSに依存しないため、読み込み失敗時も表示は変わらない。reduce時は移動なし。app.html(学習画面)は rin-v3.css を読まないので対象外。 */
:is(.rin-public,.v3-site) :is(.button,.btn,.icon-button,[role=tab],summary){transition:transform 120ms cubic-bezier(.2,.7,.2,1),background-color 200ms ease-out,color 200ms ease-out,border-color 200ms ease-out,opacity 200ms ease-out}
:is(.rin-public,.v3-site) :is(.button,.btn,.icon-button,[role=tab]):active:not(:disabled){transform:translateY(1px)}
:is(.rin-public,.v3-site) .mega:not([hidden]){animation:rin-m-drop 200ms cubic-bezier(.2,.7,.2,1) both}
:is(.rin-public,.v3-site) dialog[open]{animation:rin-m-fade 220ms ease-out both}
:is(.rin-public,.v3-site) dialog.left-drawer[open]{animation:rin-m-slide 240ms cubic-bezier(.2,.7,.2,1) both}
:is(.rin-public,.v3-site) [role=tabpanel]:not([hidden]){animation:rin-m-fade 200ms ease-out both}
:is(.rin-public,.v3-site) details[open]>:not(summary){animation:rin-m-fade 200ms ease-out both}
@keyframes rin-m-fade{from{opacity:0}to{opacity:1}}
@keyframes rin-m-drop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@keyframes rin-m-slide{from{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){
  .v3-site *,.v3-site *::before,.v3-site *::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}

/* ===== 2026-09-15 編集画像(editorial-v2) ===== 生成イメージ。3:2を保ち、縦長にクロップしない */
.ed-figure{margin:36px 0 40px;max-width:960px}
.ed-figure img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.meeting-hero .ed-figure{margin:28px 0 0}
.lesson-visual.has-photo{min-height:0;background:none;border:0;display:block}
body[data-copy-mode="release"] .lesson-visual.has-photo{display:block}
body[data-copy-mode="release"] .lesson-grid:has(.has-photo){grid-template-columns:1.1fr .9fr}
@media(width<900px){body[data-copy-mode="release"] .lesson-grid:has(.has-photo){grid-template-columns:1fr}}
.lesson-visual.has-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
