:root{
  --ys-bg:#f4f8f8;
  --ys-surface:#fff;
  --ys-text:#142033;
  --ys-muted:#617086;
  --ys-line:#dbe3ef;
  --ys-navy:#062b61;
  --ys-navy-2:#0b3b76;
  --ys-teal:#009fa8;
  --ys-green:#58b82a;
  --ys-orange:#f59e0b;
  --ys-red:#c83232;
  --ys-dark:#0f172a;
  --ys-radius:18px;
  --ys-shadow:0 14px 38px rgba(23,59,108,.09);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:var(--ys-bg);color:var(--ys-text);line-height:1.5}
body.nav-open{overflow:hidden}
img{max-width:100%;height:auto}
a{color:inherit}
button,input,select,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid rgba(0,159,168,.35);outline-offset:3px}
.skip-link{position:fixed;left:12px;top:-100px;z-index:2000;background:var(--ys-navy);color:#fff;padding:10px 14px;border-radius:8px;text-decoration:none;transition:top .15s ease}
.skip-link:focus{top:12px}

.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.97);border-bottom:1px solid var(--ys-line);box-shadow:0 6px 22px rgba(31,50,90,.06);backdrop-filter:blur(13px)}
.site-nav{max-width:1380px;min-height:88px;margin:auto;padding:11px 20px;display:flex;align-items:center;gap:18px;transition:min-height .2s ease,padding .2s ease,box-shadow .2s ease}
.site-header.is-compact .site-nav{min-height:64px;padding-top:6px;padding-bottom:6px}
.brand-link{display:flex;align-items:center;flex:0 0 auto;width:206px;height:60px;overflow:hidden;transition:width .2s ease,height .2s ease}
.brand-logo{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:contain;object-position:left center;transform-origin:left center;transition:transform .2s ease,width .2s ease,height .2s ease,opacity .2s ease;will-change:transform}
.site-header.is-compact .brand-link{height:46px;width:166px}
.site-header.is-compact .brand-logo{transform:scale(.97)}
.nav-main{display:flex;align-items:center;justify-content:flex-end;gap:2px;margin-left:auto;min-width:0}
.nav-group{position:relative}
.nav-link,.nav-trigger{border:0;background:transparent;color:#26384f;text-decoration:none;display:flex;align-items:center;gap:6px;padding:11px 10px;border-radius:10px;font-weight:780;font-size:13px;line-height:1.2;white-space:nowrap;cursor:pointer}
.nav-link:hover,.nav-trigger:hover,.nav-link[aria-current="page"],.nav-trigger.is-active{background:#eaf7f7;color:var(--ys-navy)}
.nav-trigger svg{width:12px;height:12px;transition:transform .18s ease}
.nav-group.is-open .nav-trigger svg{transform:rotate(180deg)}
.nav-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:max-content;min-width:250px;max-width:340px;padding:8px;background:#fff;border:1px solid var(--ys-line);border-radius:14px;box-shadow:0 20px 44px rgba(15,23,42,.16);opacity:0;visibility:hidden;transform:translateY(-5px);transition:opacity .16s ease,transform .16s ease,visibility .16s;z-index:1050}
.nav-group.is-open .nav-dropdown,.nav-group:focus-within .nav-dropdown{opacity:1;visibility:visible;transform:translateY(0)}
@media(hover:hover) and (pointer:fine){.nav-group:hover .nav-dropdown{opacity:1;visibility:visible;transform:translateY(0)}}
.nav-dropdown a{display:flex;align-items:center;justify-content:space-between;gap:12px;text-decoration:none;padding:10px 11px;border-radius:9px;color:#334155;font-size:13px;font-weight:700;white-space:normal}
.nav-dropdown a:hover,.nav-dropdown a[aria-current="page"]{background:#eefafa;color:var(--ys-navy)}
.soon-mini{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:#9a5a09;background:#fff4d6;border:1px solid #f5d995;border-radius:999px;padding:2px 6px}
.nav-actions{display:flex;align-items:center;gap:8px;margin-left:6px;flex:0 0 auto}
.lang-picker{position:relative}
.lang-trigger{display:flex;align-items:center;gap:6px;min-width:72px;border:1px solid var(--ys-line);background:#fff;color:#334155;padding:7px 9px;border-radius:10px;font-size:12px;font-weight:850;cursor:pointer}
.lang-trigger .flag{font-size:14px;line-height:1}
.lang-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:174px;background:#fff;border:1px solid var(--ys-line);border-radius:12px;padding:6px;box-shadow:0 16px 35px rgba(15,23,42,.15);opacity:0;visibility:hidden;transform:translateY(-4px);transition:.16s ease;z-index:1070}
.lang-picker.is-open .lang-menu{opacity:1;visibility:visible;transform:none}
.lang-menu a{display:flex;gap:9px;align-items:center;padding:9px 10px;border-radius:8px;text-decoration:none;color:#334155;font-size:13px;font-weight:700}
.lang-menu a:hover,.lang-menu a[aria-current="true"]{background:#eefafa;color:var(--ys-navy)}
.hamburger{display:none;width:42px;height:40px;border:1px solid var(--ys-line);border-radius:10px;background:#fff;align-items:center;justify-content:center;cursor:pointer}
.hamburger span,.hamburger span::before,.hamburger span::after{display:block;width:20px;height:2px;background:var(--ys-navy);border-radius:2px;position:relative;transition:.18s ease}
.hamburger span::before,.hamburger span::after{content:"";position:absolute;left:0}
.hamburger span::before{top:-6px}.hamburger span::after{top:6px}
.hamburger[aria-expanded="true"] span{background:transparent}
.hamburger[aria-expanded="true"] span::before{top:0;transform:rotate(45deg)}
.hamburger[aria-expanded="true"] span::after{top:0;transform:rotate(-45deg)}

main{min-height:56vh}
.eyebrow,.badge,.status{display:inline-flex;align-items:center;border-radius:999px;font-weight:850}
.eyebrow,.badge{background:#eaf5df;color:#39731c;border:1px solid #cfe8bd;padding:7px 11px;font-size:12px;margin-bottom:17px}
h1{font-size:clamp(2.35rem,5vw,3.5rem);line-height:1.04;letter-spacing:-.035em;margin:0 0 18px;color:var(--ys-navy)}
.lead{font-size:clamp(1.05rem,1.7vw,1.22rem);line-height:1.62;color:var(--ys-muted);margin:0 0 26px;max-width:760px}
.surface-card,.card{background:var(--ys-surface);border:1px solid var(--ys-line);border-radius:22px;box-shadow:var(--ys-shadow)}

/* Photos are structural layers, not standalone photo cards. */
.visual-intro{max-width:1320px;min-height:470px;margin:28px auto 22px;position:relative;display:flex;align-items:center;overflow:hidden;border:1px solid rgba(203,215,229,.72);border-radius:28px;background:linear-gradient(135deg,#fff 0%,#f3f9f9 100%);box-shadow:0 22px 60px rgba(23,59,108,.09);isolation:isolate}
.visual-intro::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 74% 18%,rgba(0,159,168,.09),transparent 28%),radial-gradient(circle at 14% 86%,rgba(88,184,42,.08),transparent 25%);pointer-events:none}
.visual-intro-media{position:absolute;inset-block:0;width:55%;overflow:hidden;z-index:-1}
.visual-intro-media::after{content:"";position:absolute;inset:0;pointer-events:none}
.visual-intro-media img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}
.visual-left .visual-intro-media{left:0;clip-path:polygon(0 0,87% 0,100% 50%,86% 100%,0 100%)}
.visual-left .visual-intro-media::after{background:linear-gradient(90deg,transparent 0%,rgba(244,248,248,.04) 58%,#f4f8f8 98%)}
.visual-right .visual-intro-media{right:0;clip-path:polygon(13% 0,100% 0,100% 100%,14% 100%,0 50%)}
.visual-right .visual-intro-media::after{background:linear-gradient(270deg,transparent 0%,rgba(244,248,248,.05) 58%,#f4f8f8 98%)}
.visual-intro-content{position:relative;width:min(690px,58%);margin:54px;padding:36px 38px;background:rgba(255,255,255,.9);border:1px solid rgba(203,215,229,.88);border-radius:22px;box-shadow:0 18px 42px rgba(15,23,42,.08);backdrop-filter:blur(8px)}
.visual-left .visual-intro-content{margin-left:auto}
.visual-right .visual-intro-content{margin-right:auto}
.visual-intro-content .lead{margin-bottom:0}
.home-visual{min-height:560px;margin-top:30px}
.home-visual .visual-intro-media{width:62%}
.home-visual .visual-intro-media img{object-position:center 48%}
.home-visual .visual-intro-content{width:min(730px,60%)}
.category-visual .visual-intro-media,.equipment-visual .visual-intro-media,.education-visual .visual-intro-media,.audit-visual .visual-intro-media{width:52%}
.category-visual.visual-right .visual-intro-media img{object-position:center 52%}
.category-visual.visual-left .visual-intro-media img{object-position:center 40%}
.equipment-visual .visual-intro-media img{object-position:center 45%}
.education-visual .visual-intro-media img{object-position:center 44%}
.audit-visual .visual-intro-media img{object-position:center 48%}
.decorated-section{position:relative;isolation:isolate}
.decorated-section .grid{position:relative;z-index:1}
.visual-accent{position:absolute;left:-150px;bottom:-60px;width:340px;height:430px;overflow:hidden;opacity:.15;z-index:0;clip-path:ellipse(46% 48% at 50% 50%);pointer-events:none}
.visual-accent img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}
.actions{display:flex;gap:11px;flex-wrap:wrap;align-items:center}
.btn{appearance:none;border:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 17px;border-radius:11px;font-weight:850;text-decoration:none;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,background .14s ease}
.btn:hover{transform:translateY(-1px)}
.btn.primary{background:var(--ys-navy);color:#fff;box-shadow:0 8px 18px rgba(6,43,97,.2)}
.btn.primary:hover{background:var(--ys-navy-2)}
.btn.secondary{background:#e6f4f5;color:var(--ys-navy)}
.btn.outline{border:1px solid var(--ys-line);background:#fff;color:var(--ys-navy)}
.btn.danger{background:#fff0f0;color:#9f2020}
.btn[disabled],.btn.is-disabled{background:#eef1f5!important;color:#8491a3!important;border:1px solid #d7dee8!important;box-shadow:none!important;cursor:not-allowed;transform:none!important}

.breadcrumbs{max-width:1220px;margin:20px auto 0;padding:0 20px;color:var(--ys-muted);font-size:13px}
.breadcrumbs a{text-decoration:none}.breadcrumbs a:hover{text-decoration:underline}
.section{max-width:1220px;margin:auto;padding:44px 20px}
.section.compact{padding-top:24px;padding-bottom:24px}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:23px}
.section h2,.content h2{font-size:clamp(1.8rem,3vw,2.25rem);line-height:1.15;margin:0 0 10px;color:var(--ys-navy);letter-spacing:-.02em}
.intro{color:var(--ys-muted);font-size:16px;line-height:1.65;margin:0;max-width:820px}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.card{padding:22px;display:flex;flex-direction:column;min-height:220px;box-shadow:0 11px 30px rgba(31,50,90,.065)}
.card h3{color:var(--ys-navy);margin:12px 0 8px;font-size:20px;line-height:1.25}
.card p{color:#64748b;line-height:1.58;margin:0 0 16px}
.card .card-action{margin-top:auto;padding-top:4px}
.card .link{display:inline-flex;align-items:center;gap:7px;background:var(--ys-navy);color:#fff;padding:10px 13px;border-radius:9px;text-decoration:none;font-weight:850;font-size:14px}
.card .link:hover{background:var(--ys-navy-2)}
.status{padding:5px 9px;font-size:11px;line-height:1.25;align-self:flex-start;background:#eefafa;border:1px solid #9edfe3;color:#05777d;text-transform:uppercase;letter-spacing:.035em}
.status.ready{background:#eef9e9;border-color:#bae1a6;color:#39731c}
.status.soon{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.status.setup{background:#fff8dc;border-color:#efd886;color:#82560b}
.card-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:-2px}
.tag{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eef2f7;color:#526276;font-size:11px;font-weight:750}
.notice{background:#fff7ed;border:1px solid #fed7aa;color:#7c2d12;border-radius:15px;padding:17px 18px;line-height:1.6}
.notice.info{background:#eefafa;border-color:#a9e1e4;color:#155d62}
.notice.success{background:#eef9e9;border-color:#bae1a6;color:#285d15}
.notice.danger{background:#fff0f0;border-color:#f0b8b8;color:#8d2020}
.content{max-width:930px;margin:auto;padding:42px 20px}
.content h1{font-size:clamp(2.2rem,4vw,3.05rem)}
.content h2{margin-top:34px}.content h3{color:var(--ys-navy);margin-top:26px}
.content p,.content li{line-height:1.75;color:#475569}
.content a{color:#006f78;font-weight:700}
.prose-card{background:#fff;border:1px solid var(--ys-line);border-radius:18px;padding:24px;margin:22px 0}
.feature-list{display:grid;gap:10px;padding:0;list-style:none}
.feature-list li{position:relative;padding-left:27px}.feature-list li::before{content:"✓";position:absolute;left:0;color:var(--ys-green);font-weight:900}

.auth-layout{max-width:1060px;margin:auto;padding:48px 20px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(340px,1.1fr);gap:28px;align-items:start}
.auth-card,.member-card,.admin-card{background:#fff;border:1px solid var(--ys-line);border-radius:20px;padding:25px;box-shadow:var(--ys-shadow)}
.auth-card h1{font-size:34px}.auth-tabs{display:flex;gap:7px;background:#eef3f7;border-radius:11px;padding:4px;margin-bottom:19px}
.auth-tab{flex:1;border:0;background:transparent;border-radius:8px;padding:10px;color:#526276;font-weight:800;cursor:pointer}.auth-tab[aria-selected="true"]{background:#fff;color:var(--ys-navy);box-shadow:0 3px 9px rgba(15,23,42,.08)}
.form-grid{display:grid;gap:14px}.form-field{display:grid;gap:6px}.form-field label{font-size:13px;font-weight:800;color:#334155}.form-field input,.form-field select{width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:11px 12px;background:#fff;color:#1e293b}.form-help{font-size:12px;color:var(--ys-muted)}
.auth-divider{display:flex;align-items:center;gap:12px;color:#8491a3;font-size:12px;margin:18px 0}.auth-divider::before,.auth-divider::after{content:"";height:1px;background:var(--ys-line);flex:1}
.google-button{width:100%;border:1px solid var(--ys-line);background:#fff;color:#26384f;padding:11px 14px;border-radius:10px;font-weight:800;cursor:pointer}.google-button:hover{background:#f8fafc}
.auth-message{display:none;margin:14px 0 0;border-radius:10px;padding:11px 12px;font-size:13px;line-height:1.45}.auth-message.is-visible{display:block}.auth-message.error{background:#fff0f0;color:#8d2020}.auth-message.success{background:#eef9e9;color:#285d15}.auth-message.info{background:#eefafa;color:#155d62}
.text-button{border:0;background:transparent;color:#00777f;font-weight:750;padding:0;cursor:pointer;text-decoration:underline}
.member-hero{max-width:1220px;margin:auto;padding:45px 20px 12px}.member-hero h1{font-size:42px}.member-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fff;border:1px solid var(--ys-line);border-radius:17px;padding:18px 20px}
.member-categories{max-width:1220px;margin:auto;padding:22px 20px 48px;display:grid;gap:28px}
.user-line{color:#526276;font-size:14px}.user-line strong{color:var(--ys-navy)}
.admin-wrap{max-width:1380px;margin:auto;padding:42px 20px}.admin-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.admin-stats{display:flex;gap:10px;flex-wrap:wrap}.stat-pill{background:#fff;border:1px solid var(--ys-line);border-radius:11px;padding:9px 12px;color:#526276;font-size:13px}.stat-pill strong{color:var(--ys-navy);font-size:17px}
.table-scroll{overflow:auto;border:1px solid var(--ys-line);border-radius:15px;background:#fff}.admin-table{width:100%;border-collapse:collapse;min-width:1050px;font-size:13px}.admin-table th,.admin-table td{border-bottom:1px solid #e5ebf2;padding:11px 12px;text-align:left;vertical-align:middle}.admin-table th{background:#eef6f6;color:var(--ys-navy);font-size:12px;text-transform:uppercase;letter-spacing:.025em}.admin-table tr:last-child td{border-bottom:0}.admin-table select{border:1px solid #cbd5e1;border-radius:8px;padding:7px 8px}.admin-table button{border:0;border-radius:8px;padding:7px 9px;font-weight:750;cursor:pointer}.admin-table .save-user{background:#e6f4f5;color:var(--ys-navy)}.admin-table .delete-user{background:#fff0f0;color:#9f2020}.admin-table button:disabled{opacity:.5;cursor:not-allowed}
.empty-state{text-align:center;padding:38px;color:var(--ys-muted)}
.footer{margin-top:38px;background:var(--ys-dark);color:#cbd5e1;padding:35px 20px;text-align:center;font-size:14px}
.footer img{display:block;width:188px;height:auto!important;aspect-ratio:auto!important;object-fit:contain;max-width:70vw;background:#fff;border-radius:8px;padding:4px;margin:0 auto 11px}.footer-links{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:10px}.footer a{color:#e2e8f0}

@media(max-width:1280px){
  .brand-link{width:172px}
  .nav-link,.nav-trigger{font-size:12px;padding-left:7px;padding-right:7px}
}
@media(max-width:1100px){
  .site-nav{min-height:74px}.site-header.is-compact .site-nav{min-height:60px}
  .brand-link{width:172px;height:52px}.site-header.is-compact .brand-link{width:148px;height:42px}
  .hamburger{display:flex}
  .nav-main{position:fixed;inset:74px 0 auto 0;max-height:calc(100dvh - 74px);overflow:auto;display:block;background:#fff;border-bottom:1px solid var(--ys-line);box-shadow:0 20px 35px rgba(15,23,42,.14);padding:12px 16px 22px;opacity:0;visibility:hidden;transform:translateY(-10px);transition:.18s ease}
  .site-header.is-compact .nav-main{top:60px}
  .site-header.menu-open .nav-main{opacity:1;visibility:visible;transform:none}
  .nav-group{border-bottom:1px solid #edf1f5}
  .nav-link,.nav-trigger{width:100%;justify-content:space-between;padding:14px 9px;font-size:14px}
  .nav-dropdown{position:static;width:100%;max-width:none;min-width:0;border:0;border-radius:0;box-shadow:none;padding:0 0 8px 12px;display:none;opacity:1;visibility:visible;transform:none}
  .nav-group.is-open .nav-dropdown{display:block}
  .nav-dropdown a{padding:10px 9px}
  .visual-intro{margin-left:16px;margin-right:16px}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:740px){
  .site-nav{padding-left:12px;padding-right:12px;gap:8px}.brand-link{width:142px;height:46px;min-width:0}.brand-logo{width:100%!important;height:100%!important;max-height:46px;object-fit:contain!important;object-position:left center}.site-header.is-compact .brand-link{width:132px;height:40px}.site-header.is-compact .brand-logo{max-height:40px}
  .nav-actions{margin-left:auto;gap:7px}.hamburger{width:40px;height:40px}.lang-trigger{height:40px}
  .lang-trigger{min-width:50px;padding:7px}.lang-trigger .lang-code{display:none}.lang-menu{right:0}
  .nav-main{top:72px}.site-header.is-compact .nav-main{top:58px}
  .visual-intro,.home-visual{min-height:0;margin:16px 10px 26px;display:block;border-radius:21px;overflow:hidden}
  .visual-intro-media,.home-visual .visual-intro-media,.category-visual .visual-intro-media,.equipment-visual .visual-intro-media,.education-visual .visual-intro-media,.audit-visual .visual-intro-media{position:relative;display:block;inset:auto;width:100%;height:clamp(190px,58vw,285px);clip-path:none}
  .visual-intro-media::after,.visual-left .visual-intro-media::after,.visual-right .visual-intro-media::after{background:linear-gradient(180deg,transparent 35%,rgba(244,248,248,.48) 72%,#f4f8f8 100%)}
  .visual-intro-media img,.home-visual .visual-intro-media img{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important}
  .home-visual .visual-intro-media img{object-position:center 46%}
  .visual-intro-content,.home-visual .visual-intro-content,.visual-left .visual-intro-content,.visual-right .visual-intro-content{width:auto;margin:-22px 12px 14px;padding:25px 21px;background:rgba(255,255,255,.94);border-radius:18px;backdrop-filter:blur(7px)}
  .visual-intro-content h1{font-size:clamp(2.12rem,11vw,3rem);overflow-wrap:normal;word-break:normal}
  .visual-accent{display:none}
  .grid,.grid.two,.auth-layout{grid-template-columns:1fr}.section{padding-top:34px;padding-bottom:34px}.section-heading{display:block}
  .auth-layout{padding-top:32px}.member-summary,.admin-toolbar{align-items:flex-start;flex-direction:column}
  .card{min-height:0}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
