/* Public pages: cooperation clarity, restrained motion, responsive layout. */
body.site-public{--n35-green:#203f34;--n35-gold:#b48d54;--n35-cream:#f6f5ee}
.site-public #main{overflow-wrap:break-word}
.site-public #main [id]{scroll-margin-top:110px}
.site-public #main h1,.site-public #main h2,.site-public #main h3{text-wrap:balance}
.site-public #main :is(input,select,textarea){max-width:100%;font-size:16px}
.site-public #main :is(img,video,svg){max-width:100%}
.site-public :is(a,button,summary,input,textarea,select):focus-visible{outline:3px solid #b48d54;outline-offset:4px}
.site-public #navigation a[aria-current=page]{text-decoration:underline;text-underline-offset:7px}
.site-public #main .content-section{padding-block:52px}
.site-public #main .premium-hero h1{font-size:clamp(36px,3.8vw,58px);max-width:760px;line-height:1.16;white-space:pre-line}
.site-public #main .premium-hero-content{padding-block:72px 90px}
.site-public #main .exp-role-grid{gap:20px;align-items:stretch}
.site-public #main .exp-role-grid .n35-role-card{display:flex;flex-direction:column;min-width:0;padding:0 26px 26px;border:1px solid #d7dfd2;border-radius:18px;overflow:hidden;background:#fffef9;box-shadow:0 8px 28px #203f3406;transition:transform .25s,border-color .25s,box-shadow .25s}
.site-public #main .n35-role-card::before{display:none}
.site-public #main .n35-role-card .exp-number{font-size:11px;width:auto;height:auto;background:none;border:0;margin:22px 0 6px;color:#796340}
.site-public #main .n35-role-card h3{font-size:23px;line-height:1.35;margin:0 0 12px}
.site-public #main .n35-role-card .n35-self{color:#203f34;font-weight:650;font-size:16px;line-height:1.6;margin:0 0 10px}
.site-public #main .n35-role-card p:not(.n35-self){font-size:14px;line-height:1.8;margin:0 0 24px}
.site-public #main .n35-role-card>.button{margin-top:auto;align-self:stretch;justify-content:center}
.n35-art{position:relative;overflow:hidden;background:linear-gradient(145deg,#f0f2e8,#faf8f0);color:#284b3c;border:1px solid #d6ddcd;border-radius:16px;isolation:isolate}
.n35-role-card>.n35-art{margin:0 -26px;border:0;border-bottom:1px solid #e0e4d8;border-radius:0;padding:14px 12px 12px}
.n35-art svg{display:block;width:100%;height:auto;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.n35-art svg text{fill:#4a604f;stroke:none;font:9px system-ui,sans-serif;letter-spacing:.8px}
.n35-art-note{display:block;text-align:center;font-size:11px;letter-spacing:.03em;color:#60715e;padding-bottom:5px}
.n35-grid{stroke:#b6c5b2;opacity:.18;stroke-width:.7}
.n35-route{stroke:#b48d54;stroke-dasharray:4 5;stroke-width:1.6}
.n35-return{stroke:#b48d54;opacity:.5;stroke-dasharray:3 6}
.n35-dot,.n35-seal{fill:#b48d54;stroke:#b48d54}
.n35-product{fill:#e5d2af;fill-opacity:.35}
.n35-drawing,.n35-dossier{fill:#fffef6;fill-opacity:.9}
.n35-tick{stroke:#a27c42;stroke-width:2.5}
.n35-seal+.n35-tick{stroke:#fff}
.n35-panel{fill:#d8bd90;fill-opacity:.55}
.site-public #main .n35-role-hero .j34-page-hero-inner{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,1fr);gap:42px;align-items:center;padding:50px 40px}
.site-public #main .n35-role-hero h1{font-size:clamp(30px,3.1vw,46px);margin-bottom:18px}
.site-public #main .n35-role-hero .n35-art{box-shadow:0 14px 35px #061d1522}
.site-public #main .n35-role-hero .actions{margin-top:25px;gap:12px}
.site-public #main .n35-role-hero .actions .button{font-size:13px;min-height:44px;padding:12px 16px}
.site-public #main .n35-compare{padding-top:34px;padding-bottom:24px}
.site-public #main .n35-compare h2{font-size:32px;margin-bottom:25px}
.n35-compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.n35-compare-grid article{padding:28px;border:1px solid #d6dfce;border-radius:14px;background:#fffef9}
.n35-compare-grid article:last-child{background:#eaf0e3}
.n35-compare-grid article>span{font-size:10px;letter-spacing:.1em;color:#6f633f}
.n35-compare-grid h3{font-size:23px!important;line-height:1.4;margin:12px 0}
.n35-compare-grid p{font-size:15px;line-height:1.85;margin:0}
.n35-detail-grid{max-width:1280px;margin:10px auto 24px;padding:0 48px;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.site-public #main .n35-detail-grid>.n35-detail-card{width:auto;max-width:none;margin:0;padding:28px;border:1px solid #dce2d3;border-radius:14px;background:#fffef9}
.site-public #main .n35-detail-card h2{font-size:23px;line-height:1.35;margin:0 0 13px}
.site-public #main .n35-detail-card p{font-size:15px;margin:0;line-height:1.85}
.site-public #main .exp-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;max-width:none;gap:20px;counter-reset:n35step}
.site-public #main .exp-steps li{min-width:0;font-size:14px;line-height:1.65;position:relative;counter-increment:n35step}
.site-public #main .exp-steps li::before{content:'0' counter(n35step);font-size:28px;display:block;margin-bottom:18px;color:#d4bc95}
.site-public #main .exp-steps li::after{content:'';position:absolute;left:0;top:-1px;height:2px;width:100%;background:#c2a16e;transform-origin:left;transform:scaleX(.12)}
.site-public #main .news-card img{transition:transform .35s}
.site-public #main .news-card>div{min-width:0}
.site-public #main .news-card h3{font-size:21px;line-height:1.45}
.site-public #main .news-card time{font-variant-numeric:tabular-nums}
.site-public #main .project-filters{flex-wrap:wrap}
.site-public #main .project-filters label{min-width:160px}
.site-public #main .n35-inquiry{max-width:1050px;background:#fffef9;border:1px solid #d5ddce;border-radius:18px;padding:34px;margin:24px auto 64px}
.site-public #main .n35-inquiry>h2{font-size:32px}
.site-public #main .n35-inquiry form{max-width:none}
.site-public #main .n35-inquiry[hidden]{display:none}
.site-public #main .exp-questions details{border-bottom:1px solid #d9dfd0;padding:18px 0}
.site-public #main .exp-questions summary{cursor:pointer;min-height:44px;display:flex;align-items:center}
.site-public #main .exp-questions details[open] p{animation:n35Reveal .25s ease-out}
.site-public .premium-footer a{overflow-wrap:anywhere}
.n35-motion-control{display:block;max-width:1184px;margin:0 auto 30px;padding:9px 15px;border:1px solid #bac8b1;background:transparent;color:#36533e;border-radius:24px;font:12px system-ui,sans-serif;cursor:pointer;min-height:40px}
@media(hover:hover){.site-public #main .n35-role-card:hover{transform:translateY(-4px);border-color:#af925e;box-shadow:0 15px 32px #203f3410}.site-public #main .news-card:hover img{transform:scale(1.025)}}
@media(prefers-reduced-motion:no-preference){
 .n35-motion-ready .n35-active .n35-route{animation:n35Dash 5s linear infinite}
 .n35-motion-ready .n35-active .n35-dot{animation:n35Pulse 4s ease-in-out infinite}
 .n35-motion-ready .n35-active .n35-panel{animation:n35Assemble 7s ease-in-out infinite}
 .n35-motion-ready .n35-active .n35-dossier{animation:n35Float 7s ease-in-out infinite}
 .n35-motion-ready .n35-active .n35-tick{animation:n35Confirm 7s ease-in-out infinite}
 .n35-motion-ready .n35-active.exp-steps li::after{animation:n35Progress 1s ease-out forwards}
 .n35-motion-ready .n35-active.exp-steps li:nth-child(2)::after{animation-delay:.3s}.n35-motion-ready .n35-active.exp-steps li:nth-child(3)::after{animation-delay:.6s}.n35-motion-ready .n35-active.exp-steps li:nth-child(4)::after{animation-delay:.9s}.n35-motion-ready .n35-active.exp-steps li:nth-child(5)::after{animation-delay:1.2s}
 .n35-enter{animation:n35Reveal .55s ease-out both}
}
.n35-motion-paused [data-n35-motion] *{animation-play-state:paused!important}
@keyframes n35Dash{to{stroke-dashoffset:-90}}
@keyframes n35Pulse{0%,100%{opacity:.4;transform:translateX(-17px)}50%{opacity:1;transform:translateX(17px)}}
@keyframes n35Assemble{0%,12%{transform:translate(-13px,8px);opacity:.25}40%,85%{transform:translate(0,0);opacity:1}100%{transform:translate(-13px,8px);opacity:.25}}
@keyframes n35Float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes n35Confirm{0%,30%{opacity:.2}45%,90%{opacity:1}100%{opacity:.2}}
@keyframes n35Progress{to{transform:scaleX(1)}}
@keyframes n35Reveal{from{opacity:.35;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:1000px){.site-public #main .exp-role-grid{grid-template-columns:1fr}.site-public #main .n35-role-card{display:grid;grid-template-columns:220px 1fr;column-gap:25px}.site-public #main .n35-role-card>.n35-art{grid-row:1/7;grid-column:1;margin:0 -0px -26px -26px;display:flex;flex-direction:column;justify-content:center;border:0}.site-public #main .n35-role-card>:not(.n35-art){grid-column:2}.site-public #main .n35-role-hero .j34-page-hero-inner{gap:24px;grid-template-columns:minmax(0,1.4fr) minmax(220px,1fr)}}
@media(max-width:760px){
 .site-public #main .content-section{padding-block:36px}
 .site-public #main .premium-hero{height:auto;min-height:610px;max-height:none}
 .site-public #main .premium-hero-content{padding:55px 24px 100px}
 .site-public #main .premium-hero h1{font-size:36px;white-space:normal}
 .site-public #main .premium-hero .actions{align-items:stretch;flex-direction:column;max-width:330px}
 .site-public #main .n35-role-hero .j34-page-hero-inner{grid-template-columns:1fr;padding:32px 24px;gap:28px}
 .site-public #main .n35-role-hero .n35-art{max-width:410px;width:100%;margin:auto}
 .site-public #main .n35-role-hero h1{font-size:32px}
 .n35-compare-grid,.n35-detail-grid{grid-template-columns:1fr}
 .n35-detail-grid{padding:0 24px;gap:14px}
 .n35-compare-grid article{padding:23px}
 .site-public #main .n35-detail-grid>.n35-detail-card{padding:23px}
 .site-public #main .exp-steps{grid-template-columns:1fr;gap:23px}
 .site-public #main .exp-steps li{padding:14px 0 0 50px;min-height:65px}
 .site-public #main .exp-steps li::before{position:absolute;left:0;top:8px;font-size:24px}
 .site-public #main .n35-inquiry{width:calc(100% - 32px);padding:24px 18px}
 .site-public #main .project-filters{display:grid;grid-template-columns:1fr;padding:18px}
 .site-public #main .project-filters label{min-width:0}
 .site-public #main .j34-page-hero{margin-inline:12px}
 .n35-motion-control{margin-left:24px}
}
@media(max-width:540px){.site-public #main .n35-role-card{display:flex}.site-public #main .n35-role-card>.n35-art{margin:0 -26px;border-bottom:1px solid #e0e4d8;display:block}.site-public #main .n35-role-card h3{font-size:23px}.site-public #main .n35-role-card .n35-self{font-size:16px}.site-public #main .n35-role-card p:not(.n35-self){font-size:15px}}
@media(prefers-reduced-motion:reduce){.site-public #main *, .site-public #main *::before,.site-public #main *::after{animation:none!important;scroll-behavior:auto!important}.site-public #main .n35-role-card,.site-public #main .news-card img{transition:none}.n35-motion-control{display:none}}

.site-public #main .n35-role-card>.n35-art{width:calc(100% + 52px);max-width:none}
@media(min-width:541px) and (max-width:1000px){.site-public #main .n35-role-card>.n35-art{width:calc(100% + 26px)}}

.site-public #main .n35-faq{padding-top:20px}.n35-faq-nav{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:35px}.n35-faq-nav a{padding:10px 16px;border:1px solid #cbd6c1;border-radius:25px;text-decoration:none;font-size:13px}.n35-faq>section{margin-bottom:38px}.site-public #main .n35-faq h2{font-size:26px;margin-bottom:16px}.n35-faq details{padding:17px 0;border-bottom:1px solid #d6dfcf}.n35-faq summary{cursor:pointer;min-height:40px}.n35-faq details p{line-height:1.85;color:#4d6251}

@media(max-width:760px){.site-public #main .premium-hero .actions .button{flex:0 0 auto;width:100%;height:auto;min-height:50px}.site-public #main .n35-role-hero .actions .button{flex:0 0 auto;min-height:46px}}
