:root{--paper:#f3eee4;--white:#fffdf8;--ink:#26332d;--sage:#677b68;--sage-light:#c7d0bd;--wine:#7c2f3b;--clay:#c66c4e;--line:rgba(38,51,45,.22);--pad:clamp(20px,4.5vw,72px);--sans:"Avenir Next","PingFang SC","Noto Sans SC",sans-serif;--serif:"Songti SC","STSong",serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}
body.menu-open{overflow:hidden}
button,input,select{font:inherit}
button{cursor:pointer}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.skip-link{position:fixed;left:14px;top:-80px;z-index:100;background:var(--ink);color:#fff;padding:12px 18px}
.skip-link:focus{top:14px}
.demo-notice{min-height:40px;background:var(--wine);color:#fff;padding:8px var(--pad);display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.06em}
.demo-notice span{text-align:right;letter-spacing:0}
.site-header{height:90px;padding:0 var(--pad);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line);position:relative;z-index:30;background:rgba(243,238,228,.95);backdrop-filter:blur(12px)}
.site-header.is-sticky{position:fixed;top:0;left:0;right:0;box-shadow:0 4px 25px rgba(38,51,45,.08)}
.brand{display:flex;align-items:center;gap:11px;width:max-content}
.brand-mark{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;font-family:var(--serif);font-size:22px}
.brand>span:last-child{display:flex;flex-direction:column}
.brand b{font-family:var(--serif);font-size:21px;line-height:1.2}
.brand small{font-size:8px;letter-spacing:.13em}
.desktop-nav{display:flex;gap:28px;font-size:12px}
.desktop-nav a{border-bottom:1px solid transparent}
.desktop-nav a:hover,.desktop-nav a:focus-visible{border-color:currentColor}
.header-actions{justify-self:end;display:flex;align-items:center;gap:9px}
.outline-action,.menu-toggle{border:1px solid var(--ink);background:transparent;padding:10px 13px;font-size:11px}
.menu-toggle{display:none}
.mobile-menu{position:fixed;z-index:25;inset:130px 0 0;background:var(--ink);color:#fff;padding:50px var(--pad)}
.mobile-menu nav{display:grid}
.mobile-menu a{display:flex;justify-content:space-between;align-items:baseline;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.28);font-family:var(--serif);font-size:clamp(27px,9vw,44px)}
.mobile-menu a b{font-family:var(--sans);font-size:11px}
.mobile-menu p{position:absolute;bottom:25px;font-size:11px;max-width:500px}
.kicker{margin:0 0 18px;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.hero{min-height:calc(100vh - 130px);display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}
.hero-copy{padding:clamp(65px,8vw,130px) var(--pad);display:flex;flex-direction:column;justify-content:center}
.hero h1,.section-heading h2,.scope h2,.journey h2,.license-check h2,.space h2,.planner h2,.faq h2{font-family:var(--serif);font-size:clamp(46px,6vw,92px);font-weight:500;line-height:1.05;letter-spacing:-.055em;margin:0}
.hero-lead{max-width:620px;margin:35px 0 0;font-size:clamp(15px,1.25vw,19px)}
.hero-actions{display:flex;gap:12px;align-items:center;margin-top:36px}
.button{border:1px solid var(--ink);min-height:49px;padding:13px 19px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}
.button-solid{background:var(--ink);color:#fff}
.button-plain{background:transparent}
.button-plain span{margin-left:12px}
.hero-boundary{display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:start;border-top:1px solid var(--line);margin-top:60px;padding-top:20px}
.hero-boundary>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--wine);color:#fff;font-weight:700}
.hero-boundary p{margin:0;font-size:11px}
.hero-boundary b{display:block;color:var(--wine)}
.hero-image{margin:0;position:relative;min-height:620px;overflow:hidden;background:#d3c2ae}
.hero-image img{width:100%;height:100%;object-fit:cover}
.hero-image figcaption,.journey-image>span{position:absolute;left:14px;right:14px;bottom:14px;display:flex;justify-content:space-between;background:rgba(255,253,248,.92);padding:8px 10px;font-size:9px}
.image-note{position:absolute;right:24px;top:24px;width:104px;height:104px;border-radius:50%;display:grid;place-items:center;text-align:center;background:var(--sage-light);font-size:10px;font-weight:700;line-height:1.3}
.start-here{padding:clamp(85px,10vw,150px) var(--pad)}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:55px}
.section-heading .kicker{align-self:flex-start;min-width:190px}
.section-heading h2{font-size:clamp(40px,5vw,74px);max-width:920px}
.section-heading>p:last-child{max-width:430px;margin:0}
.purpose-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink);border-left:1px solid var(--ink)}
.purpose-card{text-align:left;min-height:330px;padding:24px;border:0;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);background:transparent;display:flex;flex-direction:column;align-items:flex-start;transition:background .25s,color .25s}
.purpose-card>span{font-size:10px}
.purpose-card strong{font-family:var(--serif);font-size:clamp(25px,2.6vw,39px);line-height:1.18;font-weight:500;margin:auto 0 25px}
.purpose-card small{font-size:11px;max-width:280px}
.purpose-card i{font-style:normal;margin-top:20px}
.purpose-card:hover,.purpose-card:focus-visible,.purpose-card[aria-pressed="true"]{background:var(--sage);color:#fff}
.purpose-feedback{text-align:center;margin:20px 0 0;font-size:11px}
.scope{padding:clamp(85px,10vw,150px) var(--pad);background:var(--sage);color:#fff;display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(50px,8vw,140px)}
.scope h2{font-size:clamp(42px,5vw,76px)}
.scope-intro>p:last-child{max-width:430px;margin-top:34px}
.scope-list{border-top:1px solid rgba(255,255,255,.45)}
.scope-item{display:grid;grid-template-columns:50px 1fr 160px;gap:22px;align-items:start;padding:27px 0;border-bottom:1px solid rgba(255,255,255,.45)}
.scope-item>span{font-size:10px}
.scope-item h3{font-family:var(--serif);font-size:24px;margin:0 0 6px;font-weight:500}
.scope-item p{margin:0;font-size:12px}
.scope-item>b{font-size:10px;font-weight:500;text-align:right;color:#e9e4d8}
.journey{display:grid;grid-template-columns:1.05fr .95fr;min-height:800px}
.journey-image{position:relative}
.journey-image img{width:100%;height:100%;object-fit:cover}
.journey-content{padding:clamp(70px,8vw,130px) var(--pad);display:flex;flex-direction:column;justify-content:center}
.journey h2{font-size:clamp(40px,4.6vw,70px)}
.journey-tabs{display:flex;border-bottom:1px solid var(--line);margin-top:45px}
.journey-tabs button{flex:1;border:0;border-bottom:3px solid transparent;background:transparent;padding:14px 8px;font-size:12px}
.journey-tabs button[aria-selected="true"]{border-color:var(--wine);color:var(--wine);font-weight:700}
.journey-panel{padding-top:30px}
.journey-panel>span{font-size:10px;color:var(--wine);font-weight:700;letter-spacing:.08em}
.journey-panel h3{font-family:var(--serif);font-size:30px;font-weight:500;margin:9px 0}
.journey-panel p{font-size:13px}
.journey-panel ul{padding:0;margin:24px 0 0;list-style:none;border-top:1px solid var(--line)}
.journey-panel li{padding:10px 0;border-bottom:1px solid var(--line);font-size:12px}
.journey-panel li:before{content:"✓";color:var(--wine);margin-right:10px}
.roles{padding:clamp(85px,10vw,150px) var(--pad);background:var(--white)}
.roles .section-heading{display:grid;grid-template-columns:.5fr 1.5fr .7fr;align-items:start}
.role-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink);border-left:1px solid var(--ink)}
.role-card{min-height:350px;padding:24px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);display:flex;flex-direction:column}
.role-card>span{font-size:10px}
.role-card h3{font-family:var(--serif);font-size:31px;font-weight:500;margin:85px 0 15px}
.role-card p{font-size:12px;margin:0}
.role-card b{font-size:10px;color:var(--wine);margin-top:auto;padding-top:25px}
.license-check{padding:clamp(85px,10vw,150px) var(--pad);background:var(--wine);color:#fff;display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(50px,8vw,140px)}
.license-check h2{font-size:clamp(42px,5vw,76px)}
.license-copy>p:last-child{max-width:460px;margin-top:32px}
.license-board{background:var(--paper);color:var(--ink);padding:clamp(25px,4vw,50px)}
.license-state{display:flex;justify-content:space-between;gap:30px;padding-bottom:30px;border-bottom:2px solid var(--ink)}
.license-state span{font-size:10px;color:var(--wine);font-weight:700}
.license-state strong{text-align:right}
.license-board ul{list-style:none;padding:0;margin:0}
.license-board li{display:flex;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid var(--line);font-size:12px}
.license-board li b{color:var(--wine)}
.license-board>p{margin:24px 0 0;font-size:10px}
.space{padding:clamp(85px,10vw,150px) var(--pad)}
.space-heading{display:grid;grid-template-columns:.5fr 1.4fr .7fr;align-items:start;gap:40px;margin-bottom:55px}
.space-heading .kicker{grid-column:1}
.space-heading h2{grid-column:2;font-size:clamp(42px,5vw,76px)}
.space-heading>p:last-child{grid-column:3;margin:0}
.space-gallery{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}
.space-gallery figure{margin:0;position:relative;background:#ddd}
.space-gallery figure img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.space-large{grid-row:span 2}
.space-large img{aspect-ratio:auto!important}
.space-gallery figcaption{position:absolute;left:12px;right:12px;bottom:12px;background:rgba(255,253,248,.92);display:flex;justify-content:space-between;padding:8px;font-size:9px}
.access-list{background:var(--ink);color:#fff;padding:30px}
.access-list>p{font-family:var(--serif);font-size:25px;margin:0 0 18px}
.access-list ul{list-style:none;padding:0;margin:0;border-top:1px solid rgba(255,255,255,.3)}
.access-list li{padding:9px 0;border-bottom:1px solid rgba(255,255,255,.3);font-size:11px}
.access-list li:before{content:"○";margin-right:10px}
.access-list>span{display:block;margin-top:22px;font-size:9px;color:var(--sage-light)}
.planner{padding:clamp(85px,10vw,150px) var(--pad);background:var(--sage-light);display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(45px,8vw,130px)}
.planner h2{font-size:clamp(42px,5vw,75px)}
.planner-intro>p:not(.kicker){max-width:520px;margin-top:30px}
.privacy-badge{display:grid;grid-template-columns:42px 1fr;gap:14px;margin-top:40px;padding-top:20px;border-top:1px solid var(--line)}
.privacy-badge>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff}
.privacy-badge p{margin:0!important;font-size:11px}
.privacy-badge b{display:block}
.planner-form{background:var(--white);padding:clamp(24px,4vw,48px)}
.planner-form fieldset{border:0;padding:0;margin:0 0 29px}
.planner-form legend{font-size:11px;font-weight:700;margin-bottom:12px}
.option-list{display:grid;gap:7px}
.option-list input{position:absolute;opacity:0}
.option-list span{display:flex;align-items:center;border:1px solid var(--line);min-height:46px;padding:10px 13px;font-size:12px}
.option-list span:before{content:"";width:14px;height:14px;border-radius:50%;border:1px solid var(--ink);margin-right:10px}
.option-list input:checked+span{background:var(--paper)}
.option-list input:checked+span:before{box-shadow:inset 0 0 0 4px var(--paper);background:var(--wine)}
.option-list input:focus-visible+span{outline:3px solid var(--wine);outline-offset:2px}
.planner-form select{width:100%;border:1px solid var(--line);background:#fff;padding:13px}
.planner-form .button{width:100%}
.form-note{text-align:center;font-size:9px;margin:10px 0 0}
.planner-result{grid-column:2;background:var(--wine);color:#fff;padding:30px}
.planner-result h3{font-family:var(--serif);font-size:30px;font-weight:500;margin:0 0 12px}
.planner-result p{font-size:12px}
.planner-result ol{margin:20px 0 0;padding-left:20px}
.planner-result li{padding:5px 0;font-size:12px}
.faq{padding:clamp(85px,10vw,150px) var(--pad)}
.faq-list{border-top:1px solid var(--ink)}
.faq details{border-bottom:1px solid var(--ink)}
.faq summary{list-style:none;display:grid;grid-template-columns:60px 1fr auto;align-items:center;padding:24px 0;font-family:var(--serif);font-size:clamp(19px,2vw,28px);cursor:pointer}
.faq summary::-webkit-details-marker{display:none}
.faq summary span{font-family:var(--sans);font-size:10px}
.faq summary i{font-style:normal;font-family:var(--sans);font-size:26px;transition:transform .2s}
.faq details[open] summary i{transform:rotate(45deg)}
.faq details p{max-width:760px;margin:0 70px 28px 60px;font-size:13px}
.research-note{padding:55px var(--pad);background:var(--white);border-top:1px solid var(--line);display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:clamp(30px,5vw,80px);align-items:start}
.research-note h2{font-family:var(--serif);font-size:clamp(27px,3.2vw,48px);font-weight:500;line-height:1.15;margin:0}
.research-note>p{font-size:11px;margin:0}
.research-links{display:flex;flex-direction:column;align-items:flex-start}
.research-links a{font-size:10px;border-bottom:1px solid var(--line);padding:7px 0}
.emergency{padding:50px var(--pad);background:var(--wine);color:#fff;display:grid;grid-template-columns:70px 1fr;gap:25px}
.emergency>span{width:60px;height:60px;border-radius:50%;border:1px solid #fff;display:grid;place-items:center;font-size:28px}
.emergency p{margin:0;font-size:10px;letter-spacing:.08em}
.emergency h2{font-family:var(--serif);font-size:clamp(28px,4vw,54px);font-weight:500;line-height:1.15;margin:8px 0}
.site-footer{background:var(--ink);color:#fff;padding:clamp(70px,9vw,130px) var(--pad) 28px}
.footer-main{display:grid;grid-template-columns:1.4fr .6fr;gap:70px;padding-bottom:80px}
.footer-brand{font-family:var(--serif);font-size:24px;margin:0}
.footer-brand span{font-family:var(--sans);font-size:10px;letter-spacing:.13em}
.footer-main h2{font-family:var(--serif);font-size:clamp(45px,6vw,90px);font-weight:500;line-height:1;margin:60px 0 0}
.footer-links{display:flex;flex-direction:column;align-items:flex-start}
.footer-links p{font-size:10px;letter-spacing:.1em}
.footer-links span,.footer-links a{font-size:11px;margin-bottom:8px}
.footer-links a{margin-top:30px;border-bottom:1px solid}
.footer-legal{border-top:1px solid rgba(255,255,255,.25);padding-top:20px;margin:0;font-size:9px;max-width:1200px}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.reveal.is-visible{opacity:1;transform:none}
:focus-visible{outline:3px solid var(--clay);outline-offset:3px}

@media(max-width:980px){
  .site-header{grid-template-columns:1fr auto}.desktop-nav{display:none}.menu-toggle{display:inline-flex;align-items:center;gap:9px}.menu-toggle i{width:13px;height:13px;border-top:1px solid;border-bottom:1px solid}
  .hero{grid-template-columns:1fr}.hero-copy{min-height:650px}.hero-image{min-height:70vw}
  .section-heading,.roles .section-heading{display:grid;grid-template-columns:1fr}.section-heading .kicker{min-width:0}
  .purpose-grid{grid-template-columns:1fr}.purpose-card{min-height:230px}
  .scope,.license-check,.planner{grid-template-columns:1fr}.journey{grid-template-columns:1fr}.journey-image{min-height:70vw}.journey-content{min-height:720px}
  .role-grid{grid-template-columns:repeat(2,1fr)}
  .space-heading{grid-template-columns:1fr}.space-heading .kicker,.space-heading h2,.space-heading>p:last-child{grid-column:1}
  .planner-result{grid-column:1}
}
@media(max-width:620px){
  :root{--pad:18px}
  .demo-notice{min-height:58px;display:block;padding-top:8px;padding-bottom:8px}.demo-notice strong,.demo-notice span{display:block}.demo-notice span{text-align:left;margin-top:2px;font-size:9px}
  .site-header{height:72px}.brand small,.outline-action{display:none}.brand-mark{width:36px;height:36px}.mobile-menu{inset:130px 0 0}.site-header.is-sticky+.mobile-menu{inset:72px 0 0}
  .hero{min-height:auto}.hero-copy{min-height:680px;padding-top:70px;padding-bottom:55px}.hero h1{font-size:49px}.hero-lead{margin-top:26px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-boundary{margin-top:45px}.hero-image{min-height:530px}.image-note{width:82px;height:82px;font-size:8px;right:15px;top:15px}.hero-image figcaption{display:block}.hero-image figcaption span{display:block}
  .start-here{padding-top:85px;padding-bottom:90px}.section-heading{gap:18px;margin-bottom:40px}.section-heading h2,.scope h2,.journey h2,.license-check h2,.space h2,.planner h2,.faq h2{font-size:39px}.purpose-card{min-height:220px}.purpose-card strong{font-size:28px}
  .scope{padding-top:85px;padding-bottom:90px;gap:50px}.scope-item{grid-template-columns:35px 1fr}.scope-item>b{grid-column:2;text-align:left}.scope-item h3{font-size:22px}
  .journey-image{min-height:530px}.journey-content{min-height:690px;padding-top:80px;padding-bottom:80px}.journey-tabs button{font-size:11px}
  .roles{padding-top:85px;padding-bottom:90px}.role-grid{grid-template-columns:1fr}.role-card{min-height:290px}.role-card h3{margin-top:50px}
  .license-check{padding-top:85px;padding-bottom:90px}.license-state{display:block}.license-state strong{display:block;text-align:left;margin-top:10px}.license-board li{display:block}.license-board li b{display:block;margin-top:5px}
  .space{padding-top:85px;padding-bottom:90px}.space-heading{gap:18px}.space-gallery{grid-template-columns:1fr}.space-large{grid-row:auto}.space-large img{aspect-ratio:4/3!important}.space-gallery figcaption{display:block}.space-gallery figcaption span{display:block}
  .planner{padding-top:85px;padding-bottom:90px}.planner-form{padding:22px}.planner-result{padding:22px}
  .faq{padding-top:85px;padding-bottom:90px}.faq summary{grid-template-columns:38px 1fr auto;font-size:18px}.faq details p{margin:0 0 25px 38px;font-size:12px}
  .research-note{grid-template-columns:1fr;padding-top:50px;padding-bottom:50px}.research-note h2{font-size:32px}
  .emergency{grid-template-columns:1fr}.emergency>span{width:48px;height:48px}
  .footer-main{grid-template-columns:1fr}.footer-main h2{font-size:50px;margin-top:50px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
}
