@charset "UTF-8";
:root { color-scheme: light; --paper:#fafbf7; --ink:#263d34; --muted:#65736c; --green:#356849; --line:#dce5db; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif; font-synthesis:none; -webkit-font-smoothing:antialiased; }
* { box-sizing:border-box; }
html,body { margin:0; background:var(--paper); color:var(--ink); }
body { font-family:inherit; }
a { color:inherit; text-decoration:none; }
button { font:inherit; cursor:pointer; }
img,svg { display:block; max-width:100%; }
[hidden] { display:none !important; }
:focus-visible { outline:3px solid #775895; outline-offset:5px; }
::selection { background:#f4d3e0; color:#263d34; }
h1,h2,h3,p { overflow-wrap:break-word; }
h1,h2,h3 { font-weight:650; }
.wrap { width:min(1160px,calc(100% - 80px)); margin-inline:auto; }
.skip-link { position:absolute; z-index:10; left:20px; top:-80px; background:var(--ink); color:white; padding:12px 20px; border-radius:8px; }
.skip-link:focus { top:12px; }
.site-header { height:96px; display:flex; align-items:center; gap:26px; border-bottom:1px solid var(--line); }
.brand { display:inline-flex; align-items:center; flex-shrink:0; gap:7px; }
.brand-icon { width:44px; height:44px; }.brand-wordmark { width:137px; height:36px; }
.site-nav { display:flex; align-items:center; gap:28px; margin-left:auto; font-size:13px; }
.site-nav a { min-height:44px; display:inline-flex; align-items:center; }
.site-nav a:hover,.footer-main > a:hover,.footer-bottom a:hover { color:#a4436c; }
.site-nav a[aria-current="page"] { color:var(--green); font-weight:650; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:20px; min-height:44px; padding:11px 20px; border-radius:8px; border:1px solid transparent; font-size:13px; font-weight:600; line-height:1.5; }
.button-primary { background:var(--green); color:#fff; box-shadow:0 3px 0 #284d37; }.button-primary:hover { background:#294f38; }
.button-outline { border-color:#bacdbb; background:transparent; }.button-outline:hover { background:#eaf0e7; }
.button-small { min-height:40px; padding:8px 15px; }
.text-link { display:inline-flex; align-items:center; gap:14px; font-size:14px; font-weight:600; line-height:1.8; }.text-link:hover { color:#a4436c; }
.eyebrow { margin:0 0 17px; font-size:11px; font-weight:600; letter-spacing:.13em; color:#586d5b; }
.site-footer { border-top:1px solid var(--line); margin-top:auto; }
.footer-main { display:flex; align-items:center; gap:20px; padding-block:25px 20px; font-size:12px; }
.footer-main > a:last-child { margin-left:auto; color:var(--muted); }
.footer-caption { font-size:12px; color:#52694f; }
.footer-operator { color:var(--muted); font-size:11px; line-height:1.9; padding-bottom:17px; margin-top:0; margin-bottom:0; }
.information-operator { padding-top:23px; }
.footer-bottom { display:flex; gap:23px; padding-block:17px 21px; border-top:1px solid var(--line); font-size:10px; color:#586957; line-height:1.8; }
.footer-bottom > a:last-child { margin-left:auto; }
.information-page { max-width:800px; padding-block:65px 80px; min-height:calc(100vh - 190px); }
.information-page h1 { font-size:36px; letter-spacing:-.035em; line-height:1.5; margin:0; }
.information-lead { margin:16px 0 35px; color:var(--muted); line-height:1.9; font-size:15px; }
.information-page section { border-top:1px solid var(--line); padding-block:25px 14px; }
.information-page h2 { font-size:21px; line-height:1.6; margin:0; }.information-page section p { color:var(--muted); font-size:14px; line-height:2; }
.information-page section a { color:var(--green); text-decoration:underline; text-underline-offset:4px; }
.site-details { margin:18px 0 12px; font-size:14px; color:var(--muted); line-height:1.9; }.site-details > div { display:grid; grid-template-columns:84px minmax(0,1fr); gap:12px; margin-block:11px; }.site-details dt { color:var(--ink); }.site-details dd { margin:0; overflow-wrap:anywhere; }
.information-page > .text-link { margin-top:22px; }
.not-found { padding-block:14vh; }.not-found > img { margin-bottom:30px; }.not-found h1 { font-size:clamp(25px,5vw,40px); }.not-found p { color:var(--muted); }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:25px; margin-top:30px; }
.about-body { display:flex; flex-direction:column; min-height:100vh; min-height:100svh; }
.about-main { flex:1; display:grid; grid-template-columns:1.05fr 1fr; gap:60px; align-items:center; padding-block:70px 80px; outline:none; }
.about-copy { padding-bottom:12px; }.about-copy .eyebrow { margin-bottom:25px; font-size:10px; letter-spacing:.15em; }
.about-copy h1 { margin:0; font-size:clamp(42px,4.7vw,66px); line-height:1.42; letter-spacing:-.045em; font-weight:600; }
.about-copy h1 > span { position:relative; display:inline-block; z-index:0; }
.about-copy h1 > span::after { content:""; position:absolute; z-index:-1; height:12px; bottom:10px; left:2px; right:5px; background:#f0d4df; transform:rotate(-1deg); }
.about-intro { color:var(--muted); font-size:14px; line-height:2.1; margin:27px 0 30px; }
.about-discover { display:inline-flex; min-height:44px; align-items:center; gap:35px; padding-block:10px; border-bottom:1px solid #a8bca0; font-size:13px; font-weight:600; color:var(--green); }
.about-discover:hover { color:#a4436c; border-color:#c492ab; }.about-discover > span { font-size:19px; font-weight:400; }
.about-art { width:100%; max-width:460px; justify-self:end; }.about-art svg { width:100%; height:auto; overflow:visible; }
.about-footer-top { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:20px; padding-block:17px 14px; }
.about-footer-top .footer-operator { padding:11px 0 0; }
.about-notice { color:var(--muted); font-size:10px; line-height:1.9; }
.about-notice summary { display:flex; align-items:center; justify-content:flex-end; gap:8px; min-height:44px; cursor:pointer; list-style:none; }
.about-notice summary::-webkit-details-marker { display:none; }.about-notice summary::after { content:"+"; font-size:15px; }.about-notice[open] summary::after { content:"−"; }
.about-notice summary:hover { color:var(--green); }.about-notice p { max-width:330px; margin:3px 0 10px; }
@media (min-width:1400px) { .about-main { padding-block:90px 100px; }.about-art { max-width:480px; } }
@media (max-width:900px) { .about-main { gap:30px; }.about-copy h1 { font-size:43px; }.about-art { max-width:380px; } }
@media (max-width:760px) { .about-main { grid-template-columns:1fr; gap:16px; padding-block:50px 28px; }.about-copy { padding-bottom:0; }.about-copy .eyebrow { margin-bottom:21px; }.about-copy h1 { font-size:44px; }.about-intro { margin-block:20px 20px; font-size:13px; }.about-art { width:min(100%,340px); justify-self:center; }.about-footer-top { grid-template-columns:1fr; gap:0; padding-block:14px 10px; }.about-notice { justify-self:start; }.about-notice summary { min-height:36px; justify-content:flex-start; }.about-notice p { max-width:330px; margin-bottom:7px; }.about-footer-top .footer-operator { padding-top:0; } }
@media (max-width:480px) { .about-main { padding-block:42px 23px; gap:9px; }.about-copy h1 { font-size:39px; }.about-copy h1 > span::after { height:9px; bottom:7px; }.about-art { width:min(100%,285px); }.about-intro { font-size:12px; }.about-discover { font-size:12px; gap:30px; } }
@media (max-width:760px) { .wrap { width:calc(100% - 44px); }.site-header { height:82px; gap:20px; }.brand-icon { width:37px; height:37px; }.brand-wordmark { width:119px; height:31px; }.site-nav { gap:20px; font-size:12px; } }
@media (max-width:480px) { .wrap { width:calc(100% - 36px); }.site-header { height:76px; gap:12px; }.brand { gap:4px; }.brand-icon { width:33px; height:33px; }.brand-wordmark { width:104px; height:28px; }.site-nav { gap:17px; font-size:11px; }.footer-main { padding-block:23px 17px; font-size:11px; }.footer-caption { font-size:11px; }.footer-operator { font-size:10px; padding-bottom:15px; }.footer-bottom { flex-wrap:wrap; gap:10px 16px; font-size:9px; padding-block:16px 20px; }.footer-bottom > a:last-child { margin-left:0; }.information-page { padding-block:40px 55px; }.information-page h1 { font-size:29px; }.information-lead { font-size:13px; margin-bottom:28px; }.information-page h2 { font-size:19px; }.information-page section p,.site-details { font-size:12px; }.site-details > div { grid-template-columns:64px minmax(0,1fr); gap:10px; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { transition:none !important; animation:none !important; scroll-behavior:auto !important; } }
