/* SWISO public policy presentation — aligned with the approved Hub gateway. */
html{scroll-behavior:smooth;overflow-x:hidden}
body{min-width:0;background:radial-gradient(ellipse at 86% 8%,#dff5fc 0,transparent 34rem),#f5f9fc;color:#082f55}
.policy-head{position:sticky;top:0;z-index:40;display:grid;grid-template-columns:auto auto minmax(280px,1fr) auto;align-items:center;gap:22px;min-height:72px;padding:8px clamp(18px,3vw,54px);border-bottom:1px solid #cfe2eb;background:rgba(255,255,255,.96);box-shadow:0 8px 26px rgba(8,47,85,.07);backdrop-filter:blur(14px)}
.policy-head .company-mark{position:static;width:178px;height:52px;object-fit:contain}
.policy-head .hub-brand{display:grid;gap:2px;padding-left:22px;border-left:1px solid #dbe7ed;text-align:left}
.policy-head .hub-brand strong{font-size:1.05rem;letter-spacing:0}.policy-head .hub-brand b{color:#148db7;font-size:.66rem}.policy-head .hub-brand small{color:#748898;font-size:.6rem}
.policy-global-nav{display:flex;align-self:stretch;align-items:center;justify-content:center;gap:4px}
.policy-global-nav a{position:relative;display:flex;align-items:center;min-height:44px;padding:7px 14px;border-radius:9px;color:#173f63;font-size:.78rem;font-weight:750;text-decoration:none}
.policy-global-nav a:hover{background:#edf8fc}.policy-global-nav a.active{color:#087baa}.policy-global-nav a.active::after{content:"";position:absolute;inset:auto 10px -14px;height:2px;background:#18bce1}
.policy-public-badge{position:static;justify-self:end;background:#e9f7f3;color:#116a56}
.policy-main{width:min(1280px,calc(100% - 40px));max-width:none;margin:0 auto;padding:28px 0 46px}
.policy-intro{position:relative;overflow:hidden;margin-bottom:18px;padding:30px 32px;border:0;border-radius:20px;background:linear-gradient(112deg,#062f54,#076c91);color:#fff;box-shadow:0 20px 48px rgba(8,47,85,.16)}
.policy-intro::after{content:"";position:absolute;right:-110px;top:-190px;width:380px;height:380px;border:1px solid #55d5ee;border-radius:50%;box-shadow:0 0 0 44px #22b8dd20,0 0 0 96px #22b8dd12}
.policy-intro>header,.policy-intro>p,.policy-index{position:relative;z-index:2}
.policy-intro .eyebrow{color:#73def1}.policy-intro h1{font-size:clamp(1.9rem,3vw,2.7rem);letter-spacing:-.03em}.policy-intro>p{color:#d9ebf2;font-size:.92rem}
.policy-hub-link{border-color:#ffffff70;background:#ffffff12;color:#fff}.policy-hub-link:hover{background:#ffffff20}
.policy-index{border-color:#ffffff38}.policy-index a{border-color:#ffffff35;background:#ffffff10;color:#eef9fc}.policy-index a:hover,.policy-index a:focus,.policy-index a.active{border-color:#64d7ec;background:#ffffff20;color:#fff}
.policy-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.policy-card{position:relative;min-width:0;padding:24px 26px;border:0;border-radius:16px;box-shadow:0 10px 30px rgba(15,53,87,.075)}
.policy-card::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;border-radius:16px 0 0 16px;background:linear-gradient(#18bce1,#148c82)}
.policy-card:target{outline:3px solid #78d8eb;outline-offset:2px;border:0}.policy-card header b{color:#0b8dbb;font-size:.66rem;letter-spacing:.12em}.policy-card h2{font-size:1.3rem}.policy-card p{font-size:.86rem}
.policy-note{margin-top:18px;border-left-color:#18bce1;border-radius:0 12px 12px 0;background:#eaf7fb;color:#294f68}
body>footer{background:linear-gradient(90deg,#052f54,#075784)}
@media(max-width:980px){.policy-head{grid-template-columns:auto 1fr auto}.policy-head .hub-brand{display:none}.policy-global-nav{justify-content:flex-start}.policy-list{grid-template-columns:1fr}}
@media(max-width:680px){.policy-head{grid-template-columns:1fr auto;padding:7px 14px}.policy-head .company-mark{width:145px}.policy-global-nav{grid-column:1/-1;order:3;overflow-x:auto;justify-content:flex-start;border-top:1px solid #dbe7ed}.policy-global-nav a.active::after{bottom:-1px}.policy-public-badge{font-size:.62rem}.policy-main{width:calc(100% - 24px);padding-top:16px}.policy-intro{padding:24px 20px}.policy-intro>header{display:grid}.policy-list{gap:12px}.policy-card{padding:21px}.policy-index{flex-wrap:nowrap;overflow-x:auto}.policy-index a{flex:0 0 auto}}
