:root { --ink:#17191d; --muted:#686d76; --paper:#f5f3ee; --surface:#fffdfa; --line:#dcd9d1; --ren:#2365ad; --rey:#21a58e; --radius:20px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"Yu Gothic UI","Hiragino Sans",Meiryo,system-ui,sans-serif; font-feature-settings:"palt" 1; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
img,video { display:block; max-width:100%; }
.shell { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }
.site-header { width:min(1320px,calc(100% - 48px)); height:84px; margin-inline:auto; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.wordmark { display:inline-flex; align-items:center; gap:10px; }
.wordmark-icon { width:42px; height:42px; border-radius:50%; object-fit:cover; }
.wordmark-logo { width:auto; height:34px; object-fit:contain; }
.site-header nav { display:flex; gap:30px; color:#444850; font-size:14px; }
.site-header nav a { transition:color .2s ease; }
.site-header nav a:hover,.site-header nav a[aria-current="page"] { color:var(--rey); }
.hero { min-height:700px; display:grid; grid-template-columns:.86fr 1.14fr; gap:70px; align-items:center; padding-block:76px 92px; }
.eyebrow { margin:0 0 18px; font-size:11px; font-weight:800; letter-spacing:.18em; color:#757a82; }
.hero h1 { margin:0; font-size:clamp(52px,6vw,84px); line-height:1.06; letter-spacing:-.065em; font-weight:650; }
.hero-lead { margin:32px 0 28px; font-size:17px; line-height:1.95; color:var(--muted); }
.text-link { display:inline-flex; align-items:center; gap:10px; padding-bottom:5px; border-bottom:1px solid #a7aaa9; font-size:14px; font-weight:700; }
.text-link .arrow { transition:transform .2s ease; }
.text-link:hover .arrow { transform:translateX(4px); }
.hero-product { padding:14px; background:#11151a; color:#fff; border-radius:26px; box-shadow:0 28px 65px rgb(35 39 44 / 18%); transition:transform .3s ease,box-shadow .3s ease; }
.hero-product:hover { transform:translateY(-5px); box-shadow:0 34px 75px rgb(35 39 44 / 24%); }
.hero-product-meta { display:flex; align-items:center; justify-content:space-between; padding:4px 7px 14px; font-size:10px; letter-spacing:.1em; color:#a9b1bb; }
.hero-product>img { width:100%; border-radius:14px; border:1px solid #313841; }
.hero-product-title { display:flex; gap:24px; justify-content:space-between; align-items:flex-end; padding:20px 8px 8px; }
.hero-product-title strong { font-size:22px; letter-spacing:-.03em; }
.hero-product-title p { margin:6px 0 0; font-size:12px; color:#aeb6c0; }
.status-chip { white-space:nowrap; padding:7px 10px; border-radius:99px; font-size:10px; font-weight:750; }
.rey-chip { background:#143d37; color:#79d6c5; }
.brand-section,.recent-section { padding-block:108px; border-top:1px solid var(--line); }
.section-heading { margin-bottom:40px; }
.section-heading h2 { margin:0; font-size:clamp(34px,4vw,54px); letter-spacing:-.055em; font-weight:650; }
.brand-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.brand-card { min-height:380px; padding:34px; border-radius:var(--radius); display:flex; flex-direction:column; justify-content:space-between; position:relative; overflow:hidden; transition:transform .25s ease; }
.brand-card:hover { transform:translateY(-4px); }
.brand-card::after { content:''; position:absolute; width:260px; height:260px; border-radius:50%; right:-90px; bottom:-120px; border:54px solid rgb(255 255 255 / 15%); }
.ren-card { background:#19364f; color:#fff; }
.rey-card { background:#e2f1eb; color:#143a34; }
.brand-index { font-size:10px; letter-spacing:.13em; opacity:.65; }
.brand-logo { position:relative; z-index:1; width:auto; object-fit:contain; object-position:left center; }
.brand-card .brand-logo { height:92px; max-width:72%; margin:18px 0; }
.ren-card .brand-logo { filter:brightness(0) invert(1); opacity:.96; }
.brand-card strong { display:block; margin-bottom:12px; font-size:24px; }
.brand-card p { margin:0; font-size:14px; opacity:.68; }
.brand-card>.corner-arrow { position:absolute; top:33px; right:33px; font-size:22px; }
.inline-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; }
.product-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.product-card { min-height:280px; padding:24px; border:1px solid var(--line); border-radius:16px; background:rgb(255 253 250 / 62%); display:flex; flex-direction:column; }
.product-card.linked { background:var(--surface); transition:border-color .2s ease,transform .2s ease; }
.product-card.linked:hover { border-color:#9fcfc4; transform:translateY(-3px); }
.product-card-top { display:flex; align-items:center; gap:8px; color:var(--muted); font-size:11px; }
.product-card-top .outbound { margin-left:auto; }
.brand-dot { width:8px; height:8px; border-radius:50%; }
.brand-dot.ren { background:var(--ren); }
.brand-dot.rey { background:var(--rey); }
.product-card h3 { margin:48px 0 12px; font-size:23px; letter-spacing:-.04em; }
.product-card>p { margin:0; color:var(--muted); font-size:13px; line-height:1.7; }
.product-card-meta { margin-top:auto; padding-top:22px; border-top:1px solid #e5e2dc; display:flex; gap:8px; }
.product-card-meta span { padding:5px 8px; border-radius:6px; background:#efede8; color:#666a72; font-size:10px; }
.product-thumb { width:52px; height:52px; margin:32px 0 -24px; border-radius:12px; object-fit:cover; }
.site-footer { margin-top:30px; padding-block:30px 42px; border-top:1px solid var(--line); display:flex; justify-content:space-between; color:#7c8086; font-size:11px; }
.footer-links { display:flex; gap:22px; }
.page-hero { padding-block:110px 120px; }
.page-hero h1 { max-width:920px; margin:0; font-size:clamp(48px,7vw,92px); line-height:1.08; letter-spacing:-.065em; font-weight:650; }
.page-hero>p:last-child { margin:34px 0 0; color:var(--muted); font-size:16px; }
.catalog-section { padding-block:92px 112px; border-top:1px solid var(--line); scroll-margin-top:30px; }
.catalog-heading { display:grid; grid-template-columns:116px 240px 1fr; align-items:center; gap:32px; margin-bottom:50px; }
.catalog-heading-visual { display:flex; align-items:center; }
.catalog-heading>span { font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); }
.catalog-heading .brand-logo { max-width:210px; max-height:82px; }
.catalog-heading p { margin:0; color:var(--muted); font-size:17px; }
.catalog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.catalog-grid .product-card { min-height:300px; }
.about-hero { padding-block:120px 130px; }
.about-hero h1 { margin:0; font-size:clamp(56px,9vw,120px); line-height:.95; letter-spacing:-.075em; font-weight:600; }
.about-hero>p:last-child { margin:34px 0 0; color:var(--muted); font-size:17px; }
.about-statement { padding-block:110px; border-top:1px solid var(--line); }
.about-statement p { max-width:950px; margin:0; font-size:clamp(35px,5.4vw,70px); line-height:1.3; letter-spacing:-.06em; }
.about-brands { display:grid; grid-template-columns:1fr 1fr; gap:16px; padding-bottom:120px; }
.about-brand { min-height:500px; padding:42px; border-radius:var(--radius); display:flex; flex-direction:column; }
.about-brand>span { font-size:10px; letter-spacing:.14em; opacity:.62; }
.about-brand .brand-logo { height:95px; max-width:70%; margin:auto 0 35px; }
.about-brand h2 { margin:0 0 24px; font-size:clamp(38px,4.5vw,64px); line-height:1.15; letter-spacing:-.06em; }
.about-brand p { margin:0; opacity:.7; }
.ren-about { color:#fff; background:#19364f; }
.ren-about .brand-logo { filter:brightness(0) invert(1); }
.rey-about { color:#153b35; background:#dff1eb; }
.detail-page { background:#f4f3ef; }
.detail-hero { display:grid; grid-template-columns:.8fr 1.2fr; gap:64px; align-items:center; min-height:720px; padding-block:90px; }
.detail-brand-logo { width:190px; max-height:82px; object-fit:contain; object-position:left center; margin:0 0 20px; }
.detail-hero h1 { margin:0 0 24px; font-size:clamp(60px,7vw,94px); line-height:.95; letter-spacing:-.075em; font-weight:650; }
.detail-hero h2 { max-width:530px; margin:0; font-size:clamp(26px,3vw,42px); line-height:1.3; letter-spacing:-.045em; }
.detail-hero-copy>p:not(.eyebrow) { max-width:480px; margin:25px 0; color:var(--muted); line-height:1.8; }
.detail-meta { display:flex; gap:8px; margin:26px 0; }
.detail-meta span { padding:7px 10px; border:1px solid #cacac3; border-radius:99px; font-size:11px; }
.disabled-cta { display:inline-flex; align-items:center; gap:10px; padding:15px 20px; border-radius:10px; background:#c9cbc8; color:#737775; font-weight:750; cursor:not-allowed; }
.disabled-cta small { padding-left:10px; border-left:1px solid #aeb1ae; font-size:10px; font-weight:500; }
.detail-hero-visual { padding:14px; border-radius:22px; background:#11151a; box-shadow:0 28px 60px rgb(32 36 41 / 18%); }
.detail-hero-visual img { border-radius:11px; }
.intro-block { padding-block:130px; border-top:1px solid var(--line); }
.intro-block .large-copy { max-width:1030px; margin:0 0 30px; font-size:clamp(33px,4.8vw,62px); line-height:1.35; letter-spacing:-.055em; }
.intro-block>p:last-child { max-width:700px; margin:0; color:var(--muted); font-size:16px; line-height:1.9; }
.feature-section,.screens-section { padding-block:120px; border-top:1px solid var(--line); }
.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.feature-card { min-height:250px; padding:28px; border:1px solid var(--line); border-radius:16px; background:var(--surface); }
.feature-icon { display:inline-grid; min-width:36px; height:28px; place-items:center; padding-inline:8px; border:1px solid #90cfc3; border-radius:99px; color:#178675; font-size:10px; font-weight:800; letter-spacing:.08em; }
.feature-card h3 { margin:45px 0 12px; font-size:20px; letter-spacing:-.03em; }
.feature-card p { margin:0; color:var(--muted); line-height:1.75; font-size:13px; }
.feature-card small { display:block; margin-top:14px; color:#8b8e93; font-size:10px; line-height:1.6; }
.media-section { padding-block:120px; }
.media-heading { margin-bottom:38px; }
.media-heading h2 { margin:0; font-size:clamp(36px,4.5vw,58px); letter-spacing:-.055em; }
.media-section video,.obs-section video { width:100%; border-radius:18px; background:#0d1014; box-shadow:0 20px 55px rgb(28 31 35 / 13%); }
.screens-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.screens-grid figure { margin:0; padding:12px; border-radius:18px; background:#e8e6e0; }
.screens-grid img { width:100%; border-radius:10px; }
.screens-grid figcaption { padding:12px 5px 3px; color:var(--muted); font-size:11px; }
.obs-section { padding-block:130px; background:#151a20; color:#fff; }
.obs-grid { display:grid; grid-template-columns:.62fr 1.38fr; gap:72px; align-items:center; }
.obs-copy h2 { margin:0 0 28px; font-size:clamp(42px,5.5vw,72px); line-height:1.1; letter-spacing:-.065em; }
.obs-copy>p:last-child { color:#aab2bb; line-height:1.85; }
.rey-text { color:var(--rey); }
.download-section { padding-block:150px; text-align:center; }
.download-section h2 { margin:0 0 40px; font-size:clamp(45px,6.5vw,82px); line-height:1.12; letter-spacing:-.065em; }
.disabled-cta.large { padding:18px 24px; }
.not-found { min-height:70vh; display:grid; place-content:center; text-align:center; }
.not-found h1 { margin:0; font-size:96px; letter-spacing:-.08em; }
.not-found p { color:var(--muted); }
@media (max-width:920px) { .hero{grid-template-columns:1fr;min-height:0;gap:50px}.hero-copy{max-width:620px}.product-grid{grid-template-columns:1fr 1fr}.catalog-grid{grid-template-columns:1fr 1fr}.detail-hero{grid-template-columns:1fr;gap:55px}.detail-hero-copy{max-width:720px}.feature-grid{grid-template-columns:1fr 1fr}.obs-grid{grid-template-columns:1fr;gap:45px} }
@media (max-width:640px) { .shell,.site-header{width:min(100% - 30px,1180px)}.site-header{height:72px}.site-header nav{gap:18px;font-size:12px}.wordmark-icon{width:36px;height:36px}.wordmark-logo{height:27px}.hero{padding-block:62px 76px}.hero h1{font-size:50px}.hero-lead{font-size:15px}.hero-product-title{align-items:flex-start;flex-direction:column;gap:14px}.brand-section,.recent-section{padding-block:76px}.brand-grid,.product-grid,.catalog-grid,.feature-grid,.screens-grid,.about-brands{grid-template-columns:1fr}.brand-card{min-height:330px;padding:28px}.brand-card .brand-logo{height:78px}.inline-heading{align-items:flex-start;flex-direction:column}.product-card{min-height:245px}.footer-links a{display:none}.page-hero{padding-block:80px}.page-hero h1{font-size:48px}.catalog-heading{grid-template-columns:1fr;gap:18px}.about-hero{padding-block:90px}.about-statement{padding-block:80px}.about-brand{min-height:430px;padding:30px}.detail-hero{padding-block:70px;min-height:0}.detail-hero h1{font-size:58px}.intro-block,.feature-section,.media-section,.screens-section,.obs-section,.download-section{padding-block:88px}.feature-card{min-height:220px}.obs-grid{gap:36px} }
