:root { --blue:#3330f3; --violet:#692adf; --ink:#171a2c; --muted:#697084; --rule:#e8eaf2; }
* { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body { margin:0; color:var(--ink); background:#f5f6fb; font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; }
[hidden] { display:none !important; }
a:focus-visible { outline:3px solid #b61d35; outline-offset:4px; }
.site-header { background:var(--blue); color:#fff; }
.header-inner { max-width:980px; margin:auto; padding:16px 28px; min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.service-label { display:flex; align-items:center; gap:10px; font-size:18px; font-weight:700; }
.service-label img { width:40px; height:40px; padding:2px; background:#fff; border-radius:10px; object-fit:contain; }
.header-tag { font-size:11px; color:#ededff; border:1px solid #ffffff50; padding:8px 10px; border-radius:20px; }
main { max-width:850px; padding:34px 24px 24px; margin:auto; }
.storage-card { background:#fff; border:1px solid #e9ebf5; border-radius:22px; padding:30px 46px 26px; box-shadow:0 14px 50px #262b5908; }
.intro { text-align:center; }
.cloud-logo { display:block; width:100px; height:100px; object-fit:contain; margin:-6px auto 6px; }
.status-badge { display:inline-flex; align-items:center; gap:7px; padding:7px 10px; background:#fff1e8; color:#9a4516; font-size:10px; font-weight:700; letter-spacing:.5px; text-transform:uppercase; border-radius:20px; }
.status-badge>span { width:6px; height:6px; background:#b7541e; border-radius:50%; }
.personalized-name { margin:14px 0 0; font-size:clamp(20px,3vw,24px); line-height:1.4; font-weight:700; color:#45469b; overflow-wrap:anywhere; }
h1 { font-size:clamp(27px,4.1vw,36px); line-height:1.2; letter-spacing:-1px; margin:15px 0 12px; }
.intro-copy { max-width:540px; margin:0 auto; font-size:14px; line-height:1.7; color:var(--muted); }
.usage-section { margin-top:28px; }
.usage-heading { display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.usage-heading h2 { margin:0; font-size:14px; font-weight:700; }
.usage-heading strong { font-size:29px; letter-spacing:-1px; }
.usage-heading strong>span { font-size:18px; margin-left:2px; }
.usage-meter { height:13px; background:#eeeef8; border-radius:20px; margin:12px 0 9px; overflow:hidden; }
.usage-meter>span { display:block; width:100%; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--blue),var(--violet)); }
.capacity-label { display:flex; justify-content:space-between; gap:12px; font-size:10px; color:var(--muted); }
.capacity-label>span:last-child { color:#a13c26; font-weight:700; }
.service-statuses { list-style:none; padding:0; margin:18px 0 0; }
.service-statuses li { display:flex; justify-content:space-between; align-items:center; gap:16px; min-height:55px; border-bottom:1px solid var(--rule); }
.service-statuses li:last-child { border-bottom:0; }
.service-name { display:flex; align-items:center; gap:11px; font-size:13px; font-weight:700; min-width:0; overflow-wrap:anywhere; }
.service-icon { display:grid; place-items:center; width:32px; height:32px; flex:0 0 32px; border-radius:9px; background:#eeefff; color:var(--blue); }
.service-icon svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.drive-icon { background:#f0eaff; color:#6428d3; }
.mail-icon { background:#f6eaff; color:#8b2cc2; }
.service-state { display:inline-flex; align-items:center; gap:6px; font-size:11px; color:#8d4434; text-align:right; line-height:1.4; }
.service-state:before { content:''; width:5px; height:5px; flex:0 0 5px; border-radius:50%; background:#cd806e; }
.warning-panel { display:flex; align-items:flex-start; gap:12px; border:1px solid #f0dcc9; border-radius:12px; background:#fff8f0; padding:18px; margin:22px 0; }
.warning-icon { flex:0 0 22px; height:22px; color:#a94f1c; }
.warning-icon svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.warning-panel h2 { font-size:13px; line-height:1.45; margin:0 0 5px; color:#8b3816; }
.warning-panel p { font-size:12px; line-height:1.65; margin:0; color:#765345; }
.action-area { display:grid; grid-template-columns:1.35fr 1fr; gap:12px; }
.button { display:flex; align-items:center; justify-content:center; gap:16px; min-height:51px; padding:14px 18px; border:1px solid transparent; border-radius:10px; text-decoration:none; font-size:13px; line-height:1.4; font-weight:700; text-align:center; }
.primary-button { color:#fff; background:var(--blue); box-shadow:0 4px 12px #3330f323; }
.primary-button:hover { background:#2420d8; }
.secondary-button { background:#fff; color:#4143a4; border-color:#d5d8ed; }
.secondary-button:hover { background:#f4f3ff; border-color:#8c8adb; }
.action-note { font-size:10px; color:var(--muted); text-align:center; line-height:1.5; margin:14px 0 0; }
.page-footer { font-size:10px; color:#878d9f; text-align:center; margin:18px 0 0; }
@media(max-width:600px) { .header-inner { min-height:64px; padding:12px 16px; } .service-label { font-size:16px; gap:8px; } .service-label img { width:32px; height:32px; border-radius:8px; } .header-tag { font-size:9px; padding:6px 8px; } main { padding:18px 12px 20px; } .storage-card { padding:22px 20px; border-radius:18px; } .cloud-logo { width:88px; height:88px; } h1 { font-size:28px; letter-spacing:-.8px; } .intro-copy { font-size:13px; } .usage-section { margin-top:24px; } .warning-panel { padding:15px; gap:10px; } .action-area { grid-template-columns:1fr; gap:10px; } .button { min-height:52px; font-size:13px; } }
@media(max-width:360px) { .header-tag { max-width:88px; text-align:center; line-height:1.4; } .storage-card { padding:20px 16px; } h1 { font-size:25px; } .capacity-label { font-size:9px; } .service-name { font-size:12px; gap:8px; } .service-state { font-size:10px; } }

/* The Swiss offer has one full-width action. */
.action-area { grid-template-columns:1fr; }
.primary-button { min-height:56px; }
.primary-button>span:first-child { min-width:0; overflow-wrap:anywhere; }
