/* RECIN start page · Brand v2.0 */
body.lp:has(.home-main) {
  --surface:#F1F2EF; --surface-band:#E5E8E4; --surface-dark:#14211C;
  --text:#0F1512; --text-soft:#4F5A54; --text-on-dark:#F1F2EF;
  --accent-light-text:#A83C14; --accent-dark-text:#D9793F;
  --line-on-light:rgba(15,21,18,.13); --line-on-dark:rgba(241,242,239,.18);
  background:var(--surface); color:var(--text);
}
body.lp:has(.home-main) .container { width:min(1160px, calc(100% - 48px)); }
body.lp:has(.home-main) .site-header { background:var(--surface-dark); border-bottom:1px solid var(--line-on-dark); box-shadow:none; }
body.lp:has(.home-main) .nav { min-height:76px; }
body.lp:has(.home-main) .nav .logo img { width:126px; height:auto; }
body.lp:has(.home-main) .nav-links { gap:30px; }
body.lp:has(.home-main) .nav-links a, body.lp:has(.home-main) .nav-dd-btn { color:#F1F2EF; }
body.lp:has(.home-main) .nav-dd-menu { background:var(--surface); border-color:var(--line-on-light); box-shadow:0 15px 36px rgba(15,21,18,.13); }
body.lp:has(.home-main) .nav-dd-menu a { color:var(--text) !important; }
body.lp:has(.home-main) .nav-dd-menu a:hover { background:var(--surface-band); color:var(--accent-light-text) !important; }
body.lp:has(.home-main) .lang-switch select { border-radius:8px; background:transparent; }
body.lp:has(.home-main) a:focus-visible, body.lp:has(.home-main) button:focus-visible, body.lp:has(.home-main) select:focus-visible { outline:3px solid var(--accent-dark-text); outline-offset:3px; }
.home-main h1,.home-main h2,.home-main h3,.home-main p { margin:0; }
.home-main h1,.home-main h2,.home-main h3 { font-family:Inter,Arial,sans-serif; letter-spacing:-.045em; }
.home-main h2 { font-size:clamp(2rem,3.6vw,3.35rem); line-height:1.09; font-weight:600; }
.home-main p { line-height:1.65; }
.home-hero { padding:88px 0 94px; background:var(--surface); }
.home-hero-grid { display:grid; grid-template-columns: .94fr 1.06fr; gap:clamp(40px,6vw,90px); align-items:center; }
.home-overline,.home-section-meta,.home-close-meta { font-family:'PT Mono',monospace; font-size:.77rem; letter-spacing:.02em; color:var(--accent-light-text); margin-bottom:22px !important; }
.home-hero h1 { font-size:clamp(3rem,5.25vw,5.3rem); line-height:1.035; font-weight:600; max-width:700px; }
.home-hero h1 em { font-style:normal; color:var(--accent-light-text); }
.home-lead { font-size:clamp(1.05rem,1.45vw,1.18rem); color:var(--text-soft); max-width:560px; margin-top:28px !important; }
.home-actions { display:flex; align-items:center; gap:30px; flex-wrap:wrap; margin-top:34px; }
.home-button { min-height:50px; padding:13px 20px; display:inline-flex; align-items:center; justify-content:space-between; gap:25px; border:1px solid transparent; border-radius:8px; font-size:.9rem; font-weight:600; white-space:nowrap; transition:transform .16s ease,background .16s ease; }
.home-button:hover { transform:translateY(-2px); }
.home-button--dark { color:#F1F2EF; background:var(--surface-dark); }
.home-button--dark:hover { color:#fff; background:#243c31; }
.home-button--light { color:var(--surface-dark); background:var(--surface); }
.home-button--light:hover { color:var(--surface-dark); background:#fff; }
.home-button span { font-size:1.1rem; font-weight:400; }
.home-link { display:inline-flex; align-items:center; gap:13px; color:var(--accent-light-text); font-size:.9rem; font-weight:600; border-bottom:1px solid currentColor; padding-bottom:3px; }
.home-link:hover { color:#7b2a0e; }
.home-hero-note { color:var(--text-soft); font-size:.77rem; margin-top:25px !important; }
.home-hero-art { min-width:0; margin:0; background:transparent; border:0; box-shadow:none; }
.home-hero-art img { display:block; width:100%; height:auto; mix-blend-mode:multiply; }
.home-intro { background:var(--surface-band); padding:74px 0; }
.home-intro-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:10%; align-items:start; }
.home-intro h2 { max-width:480px; }
.home-intro p { color:var(--text-soft); font-size:1.05rem; max-width:600px; }
.home-product { padding:106px 0 115px; }
.home-section-head { display:grid; grid-template-columns:1.1fr .7fr; align-items:end; gap:12%; margin-bottom:44px; }
.home-section-head h2 { max-width:690px; }
.home-section-head > p { color:var(--text-soft); max-width:360px; font-size:1rem; }
.home-product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:17px; }
.home-product-card { display:flex; flex-direction:column; min-height:352px; padding:30px 28px; background:#fff; border:1px solid var(--line-on-light); border-radius:8px; box-shadow:0 8px 26px rgba(15,21,18,.035); }
.home-card-symbol { width:52px; height:52px; margin-bottom:38px; }
.home-card-symbol svg { width:100%; height:100%; fill:none; stroke:#294538; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.home-product-card h3 { font-size:1.38rem; line-height:1.2; font-weight:600; margin-bottom:12px; }
.home-product-card p { color:var(--text-soft); font-size:.93rem; }
.home-product-card a { margin-top:auto; padding-top:26px; color:var(--accent-light-text); font-weight:600; font-size:.85rem; display:flex; justify-content:space-between; gap:10px; }
.home-product-card a:hover { text-decoration:underline; }
.home-method { padding:100px 0; background:var(--surface-dark); color:var(--text-on-dark); }
.home-method-grid { display:grid; grid-template-columns:1fr .92fr; gap:13%; }
.home-method .home-section-meta,.home-close-meta { color:var(--accent-dark-text); }
.home-method h2 { max-width:570px; }
.home-method-grid > div > p:not(.home-section-meta) { color:#b5c0b9; max-width:520px; margin:24px 0 !important; }
.home-method .home-link { color:var(--accent-dark-text); }
.home-method .home-link:hover { color:#ef9c69; }
.home-method-steps { list-style:none; padding:0; margin:0; }
.home-method-steps li { display:grid; grid-template-columns:42px 1fr; gap:22px; padding:21px 0; border-top:1px solid var(--line-on-dark); }
.home-method-steps li:last-child { border-bottom:1px solid var(--line-on-dark); }
.home-method-steps span { font-family:'PT Mono',monospace; color:var(--accent-dark-text); font-size:.83rem; }
.home-method-steps strong { font-size:1rem; font-weight:600; }
.home-method-steps p { color:#9EABA3; font-size:.88rem; margin-top:5px !important; }
.home-audiences { padding:108px 0 112px; background:var(--surface); }
.home-audience-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.home-audience-grid article { background:#fff; border:1px solid var(--line-on-light); border-radius:8px; padding:25px 22px 29px; min-height:315px; }
.home-audience-tag { color:var(--accent-light-text); font-family:'PT Mono',monospace; font-size:.7rem; }
.home-audience-grid h3 { font-size:1.31rem; line-height:1.2; min-height:3.3em; margin:32px 0 14px !important; font-weight:600; }
.home-audience-grid p { color:var(--text-soft); font-size:.88rem; }
.home-governance { background:var(--surface-band); padding:95px 0 100px; }
.home-governance-grid { display:grid; grid-template-columns:1fr .9fr; gap:14%; }
.home-governance-grid > div > p:not(.home-section-meta) { max-width:530px; color:var(--text-soft); margin-top:21px !important; }
.home-governance-list { border-top:1px solid var(--line-on-light); }
.home-governance-list > div { display:grid; grid-template-columns:30px 1fr; column-gap:18px; padding:16px 0; border-bottom:1px solid var(--line-on-light); }
.home-governance-list span { color:#3c6250; font-size:1.2rem; grid-row:span 2; }
.home-governance-list strong { font-size:.94rem; }
.home-governance-list p { color:var(--text-soft); font-size:.84rem; margin-top:3px !important; }
.home-close { background:var(--surface-dark); color:var(--text-on-dark); padding:105px 0 110px; }
.home-close-grid { display:flex; justify-content:space-between; gap:50px; align-items:end; }
.home-close h2 { max-width:720px; }
.home-close p:not(.home-close-meta) { color:#aebbb2; max-width:570px; margin-top:22px !important; }
.home-close .home-button { margin-bottom:4px; }
body.lp:has(.home-main) footer { background:var(--surface-dark); border-top:1px solid var(--line-on-dark); }
body.lp:has(.home-main) .footer-inner, body.lp:has(.home-main) .footer-links a { color:#aebbb2; }
body.lp:has(.home-main) footer a { color:#F1F2EF; }
body.lp:has(.home-main) footer a:hover { color:var(--accent-dark-text); }
@media(max-width:950px) { .home-hero-grid { gap:32px; }.home-hero h1 { font-size:clamp(2.7rem,6vw,4rem); }.home-audience-grid { grid-template-columns:repeat(2,1fr); }.home-audience-grid h3 { min-height:0; } }
@media(max-width:720px) { body.lp:has(.home-main) .container { width:min(100% - 34px, 600px); }.home-hero { padding:62px 0 70px; }.home-hero-grid,.home-intro-grid,.home-section-head,.home-method-grid,.home-governance-grid { grid-template-columns:1fr; gap:30px; }.home-hero h1 { font-size:clamp(2.6rem,9vw,4rem); }.home-graph { max-width:560px; margin:auto; }.home-intro,.home-method,.home-governance { padding:72px 0; }.home-product,.home-audiences { padding:78px 0; }.home-product-grid { grid-template-columns:1fr; }.home-product-card { min-height:270px; }.home-card-symbol { margin-bottom:25px; }.home-section-head { margin-bottom:31px; }.home-audience-grid { grid-template-columns:1fr; }.home-audience-grid article { min-height:0; }.home-audience-grid h3 { margin:23px 0 12px !important; }.home-close { padding:78px 0; }.home-close-grid { display:block; }.home-close .home-button { margin-top:30px; }.home-visual-bottom { font-size:.55rem; }.home-confirm { top:49%; left:29%; }.home-main h2 { font-size:clamp(2rem,8vw,3rem); } }
@media(max-width:420px) { .home-visual-top,.home-visual-bottom { padding:12px; }.home-visual-top { font-size:.57rem; }.home-confirm { transform:scale(.75); transform-origin:left top; }.home-actions { gap:20px; }.home-hero h1 { letter-spacing:-.06em; } }
@media(prefers-reduced-motion:reduce) { .home-button { transition:none; } }
.home-product-card { padding:0 0 27px; overflow:hidden; min-height:0; }
.home-card-image { width:100%; height:190px; object-fit:cover; object-position:center; border-bottom:1px solid var(--line-on-light); }
.home-product-card h3 { margin:25px 27px 12px !important; }
.home-product-card p { margin:0 27px !important; }
.home-product-card a { margin:0 27px; }
.home-handover { padding:98px 0; background:var(--surface); }
.home-handover-grid { display:grid; grid-template-columns:1fr .9fr; gap:9%; align-items:center; }
.home-handover-image { border:1px solid var(--line-on-light); border-radius:8px; overflow:hidden; background:#fff; }
.home-handover-image img { width:100%; height:auto; }
.home-handover-grid h2 { max-width:540px; }
.home-handover-grid p:not(.home-section-meta) { color:var(--text-soft); margin:22px 0 25px !important; max-width:520px; }
.home-audiences { background:var(--surface-band); }
.home-audience-grid article { border-color:rgba(15,21,18,.11); }
@media(max-width:720px) { .home-handover { padding:74px 0; }.home-handover-grid { grid-template-columns:1fr; gap:30px; }.home-product-card { min-height:0; }.home-card-image { height:210px; } }
.who-hero { padding:85px 0 92px; background:var(--surface); }
.who-hero-grid { display:grid; grid-template-columns:1fr .92fr; align-items:center; gap:8%; }
.who-hero h1 { font-size:clamp(2.8rem,5vw,5.1rem); line-height:1.04; font-weight:600; max-width:650px; }
.who-hero p:not(.home-section-meta) { color:var(--text-soft); max-width:560px; margin:25px 0 30px !important; font-size:1.07rem; }
.who-hero figure { margin:0; border:1px solid var(--line-on-light); border-radius:8px; overflow:hidden; background:#fff; }
.who-hero figure img { width:100%; height:auto; }
.who-main .home-audiences { padding-top:90px; }
@media(max-width:720px){.who-hero{padding:62px 0 70px}.who-hero-grid{grid-template-columns:1fr;gap:35px}.who-hero h1{font-size:clamp(2.6rem,9vw,4rem)}}
body.lp:has(.home-main) { --ink:#14211C; }
@media(max-width:720px){body.lp:has(.home-main) .nav-links{gap:0}body.lp:has(.home-main) .nav{min-height:0}body.lp:has(.home-main) .nav .logo img{width:112px}body.lp:has(.home-main) .nav-dd-menu{background:transparent;border:0;box-shadow:none}body.lp:has(.home-main) .nav-dd-menu a{color:#F1F2EF !important}body.lp:has(.home-main) .nav-dd-menu a:hover{background:#243c31;color:#fff !important}}
.home-governance { background:var(--surface); }
/* Illustrations sit directly on the page surface, without image frames. */
.home-card-image { border:0; }
.home-handover-image,.who-hero figure { border:0; border-radius:0; overflow:visible; box-shadow:none; }
/* Pencil artwork integrates with the paper surface instead of showing white tiles. */
.home-product-card { background:var(--surface); }
.home-card-image,.home-handover-image img,.who-hero figure img { mix-blend-mode:multiply; }
.home-handover-image,.who-hero figure { background:transparent; border-color:var(--line-on-light); }
.home-card-image { padding:14px; object-fit:contain; }
