:root{--primary:#ff603d;--blue:#ff603d;--policy-ink:#292522;--policy-muted:#746b67;--policy-line:#f0ddd6;--policy-soft:#fff8f5}
.site-architecture .shell{max-width:1240px}
html,body,#root{min-height:0;overflow-x:hidden;scroll-behavior:auto;background:#fff}

.site-architecture .policy-reference-section{min-height:calc(var(--host-viewport-height,900px) - 110px);background:#fff!important}
.site-architecture .policy-reference-section .shell.section{width:min(1240px,calc(100% - 72px));padding:70px 0 72px;background:#fff}
.site-architecture .policy-reference-heading{margin:0 auto 118px;text-align:center}
.site-architecture .policy-reference-heading h2{margin:0;color:var(--policy-ink);font-size:clamp(38px,2.65vw,48px);font-weight:450;line-height:1.3;letter-spacing:-.035em;text-wrap:balance}
.site-architecture .policy-reference-heading h2 .muted{color:inherit}
.site-architecture .policy-reference-heading p{display:none}

.site-architecture .policy-reference-panel{display:grid;grid-template-columns:minmax(0,.84fr) minmax(0,1fr);grid-template-rows:minmax(314px,1fr) auto;gap:0 clamp(84px,6vw,112px);align-items:stretch;min-height:470px;padding:0;border:0;border-radius:0;background:#fff;box-shadow:none;overflow:visible}
.site-architecture .policy-reference-visual{position:relative;grid-column:1;grid-row:1;min-width:0;min-height:314px;padding:0 0 18px;border:0;border-radius:0;background:#fff;box-shadow:none;overflow:hidden}
.site-architecture .policy-reference-visual:before{content:none}
.site-architecture .policy-cityscape-image{display:none}

.site-architecture .policy-chip-cloud{position:relative;width:100%;margin:0;padding:0 0 24px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%)}
.site-architecture .policy-chip-cloud:after{content:none}
.site-architecture .policy-chip-row{margin:0 0 18px;overflow:visible}
.site-architecture .policy-chip-row.row-2{margin-left:-46px}
.site-architecture .policy-chip-row.row-3{margin-left:-14px}
.site-architecture .policy-chip-track,.site-architecture .policy-chip-group{gap:16px}
.site-architecture .policy-chip-group span{position:relative;display:inline-flex;align-items:center;min-height:68px;padding:0 25px 0 54px;border:1px solid #efdfd9;border-radius:13px;background:#fff;box-shadow:0 10px 26px rgba(78,42,30,.045);color:#4c4542;font-size:17px;font-weight:450;line-height:1.3;white-space:nowrap;transition:border-color .24s ease,background-color .24s ease,box-shadow .24s ease,transform .24s cubic-bezier(.22,1,.36,1)}
.site-architecture .policy-chip-group span:before{content:"";position:absolute;left:24px;top:50%;width:14px;height:14px;border:2px solid #ff6848;border-radius:50%;box-shadow:inset 0 0 0 3px #fff;background:#ff6848;transform:translateY(-50%)}
.site-architecture .policy-chip-group span:after{content:none}
.site-architecture .policy-chip-group span:nth-child(3n+2){background:#fffdfc}
.site-architecture .policy-chip-group span:nth-child(3n){transform:none}
@media(hover:hover) and (pointer:fine){.site-architecture .policy-chip-group span:hover{z-index:2;border-color:#ffc8b9;background:#fff8f5;box-shadow:0 10px 24px rgba(112,50,31,.08);transform:translateY(-2px)}}

.site-architecture .policy-reference-path{display:contents}
.site-architecture .policy-reference-steps{position:relative;display:grid;grid-column:2;grid-row:1/3;grid-template-rows:repeat(3,minmax(0,1fr));gap:0;min-width:0;min-height:470px}
.site-architecture .policy-reference-steps:before{content:"";position:absolute;left:34px;top:65px;bottom:65px;width:1px;background:linear-gradient(180deg,#ffd4c9,#efbbaa 48%,#ffd9cf)}
.site-architecture .policy-reference-step{position:relative;display:grid;grid-template-columns:68px minmax(0,1fr);gap:28px;align-items:center;min-height:122px;padding:16px 0;border:0;background:transparent}
.site-architecture .policy-reference-icon{position:relative;z-index:1;display:grid;width:68px;height:68px;place-items:center;border:1px solid #fff0eb;border-radius:50%;background:#fff;color:#ff603d;box-shadow:0 12px 32px rgba(98,47,31,.07)}
.site-architecture .policy-reference-icon svg{width:24px;height:24px;stroke-width:1.6}
.site-architecture .policy-reference-step>span:last-child{align-self:center}
.site-architecture .policy-reference-step strong{display:block;margin:0 0 10px;color:#302b28;font-size:22px;font-weight:520;line-height:1.35}
.site-architecture .policy-reference-step small{display:block;max-width:650px;color:var(--policy-muted);font-size:15px;line-height:1.8}

.site-architecture .policy-reference-result{display:block;grid-column:1;grid-row:2;min-height:0;margin:0;padding:30px 0 0;border:0;border-top:1px solid #ead8d1;border-radius:0;background:#fff;box-shadow:none;color:#302b28}
.site-architecture .policy-reference-result b{display:block;color:#e84b27;font-size:15px;font-weight:500;line-height:1.4}
.site-architecture .policy-reference-result b:after{content:none}
.site-architecture .policy-reference-result span{display:block;margin-top:14px;color:#403936;font-size:16px;font-weight:400;line-height:1.7}

@media(min-width:1081px){.site-architecture .policy-reference-panel{transform:translateX(clamp(64px,6.5vw,132px))}}

@media(max-width:1080px){
  .site-architecture .policy-reference-section .shell.section{width:calc(100% - 56px);padding-block:64px}
  .site-architecture .policy-reference-heading{margin-bottom:48px}
  .site-architecture .policy-reference-panel{grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:0}
  .site-architecture .policy-reference-visual{grid-column:1;grid-row:1;min-height:300px;padding-top:28px}
  .site-architecture .policy-reference-steps{grid-column:1;grid-row:3;min-height:470px;margin-top:36px}
  .site-architecture .policy-reference-result{grid-column:1;grid-row:2}
}
@media(max-width:640px){
  .site-architecture .policy-reference-section .shell.section{width:calc(100% - 36px);padding-block:48px}
  .site-architecture .policy-reference-heading{margin-bottom:34px;text-align:left}
  .site-architecture .policy-reference-heading h2{font-size:32px}
  .site-architecture .policy-reference-heading p{margin-top:14px;font-size:14px}
  .site-architecture .policy-reference-visual{min-height:270px}
  .site-architecture .policy-chip-group span{min-height:52px;padding:0 18px 0 46px;border-radius:12px;font-size:14px}
  .site-architecture .policy-chip-group span:before{left:18px}
  .site-architecture .policy-reference-step{grid-template-columns:58px minmax(0,1fr);gap:18px;min-height:132px}
  .site-architecture .policy-reference-steps:before{left:28px;top:66px;bottom:66px}
  .site-architecture .policy-reference-icon{width:58px;height:58px}
  .site-architecture .policy-reference-step strong{font-size:19px}
  .site-architecture .policy-reference-step small{font-size:14px}
  .site-architecture .policy-reference-result{padding-top:24px}
  .site-architecture .policy-reference-result span{margin-top:10px;font-size:14px}
}
@media(prefers-reduced-motion:reduce){.site-architecture .policy-chip-track{animation-play-state:paused!important}.site-architecture .policy-chip-group span{transition:none}}
