*{box-sizing:border-box}body{margin:0;background:#f3f0e9;color:#151515;font-family:Arial,sans-serif}.shell{min-height:calc(100vh - 50px);display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:55px;padding:55px 6vw}.content{max-width:800px;align-self:center}.eyebrow{letter-spacing:.22em;font-size:12px;font-weight:700}h1{font-size:clamp(48px,7vw,100px);line-height:.9;margin:18px 0 30px;max-width:800px}p{font-size:19px;line-height:1.65;max-width:650px}a{color:inherit}.menu{align-self:center}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.tile{position:relative;display:block;overflow:hidden;border-radius:16px;aspect-ratio:1.35;text-decoration:none;background:#ddd;transition:.2s}.tile:hover{transform:translateY(-4px)}.tile img{width:100%;height:100%;object-fit:cover;display:block}.tile span{position:absolute;left:12px;right:12px;bottom:12px;background:#fff;padding:9px 11px;border-radius:9px;font-weight:700;font-size:14px}.hero{margin-top:25px;width:min(100%,700px);border-radius:20px}.hint{opacity:.55;font-size:15px}footer{height:50px;padding:15px 6vw;font-size:12px;opacity:.5}@media(max-width:850px){.shell{grid-template-columns:1fr;padding:30px 22px;gap:30px}.content{align-self:auto}.menu{order:2}h1{font-size:52px}}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;border-bottom:1px solid #d8d3ca}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:800;letter-spacing:.18em}.brand img{width:38px;height:38px}.logout{font-size:13px;text-decoration:none;opacity:.6}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(420px,100%);background:#fff;padding:42px;border-radius:24px;box-shadow:0 20px 60px #0001}.login-card>img{width:58px}.login-card h1{font-size:48px;margin:22px 0 10px}.login-card p{font-size:16px}.login-card input{width:100%;padding:15px 16px;border:1px solid #ccc;border-radius:10px;font-size:16px;margin:12px 0}.login-card button{width:100%;padding:15px;border:0;border-radius:10px;background:#111;color:#fff;font-weight:700;font-size:15px;cursor:pointer}.error{padding:10px 12px;background:#f7e1e1;border-radius:9px;font-size:14px}.menu-grid{grid-template-columns:1fr 1fr}.menu-grid .tile:last-child:nth-child(odd){grid-column:1/-1;aspect-ratio:2.75}.menu-grid .tile:last-child:nth-child(odd) img{object-position:center}@media(max-width:850px){.topbar{padding:0 22px}}

/* v7.1 — menú de 7 imatges en una sola fila, més altes */
.shell{
  grid-template-columns:1fr;
  gap:34px;
  padding:42px 4vw 50px;
}
.content{
  max-width:1000px;
  align-self:auto;
}
.menu{
  width:100%;
  align-self:auto;
}
.menu-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:12px;
  width:100%;
}
.tile,
.menu-grid .tile:last-child:nth-child(odd){
  grid-column:auto;
  aspect-ratio:0.72;
  min-height:280px;
  border-radius:16px;
}
.tile span{
  left:10px;
  right:10px;
  bottom:10px;
  padding:10px 9px;
  font-size:13px;
}
@media(max-width:1100px){
  .menu-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .tile,.menu-grid .tile:last-child:nth-child(odd){min-height:250px;aspect-ratio:.78}
}
@media(max-width:850px){
  .shell{padding:28px 22px 38px;gap:28px}
  .menu{order:initial}
  .menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .tile,.menu-grid .tile:last-child:nth-child(odd){min-height:260px;aspect-ratio:.78}
}
@media(max-width:480px){
  .menu-grid{grid-template-columns:1fr}
  .tile,.menu-grid .tile:last-child:nth-child(odd){min-height:300px;aspect-ratio:1.15}
}

/* Can Ruti branding */
.brand{gap:24px;letter-spacing:0;font-size:22px}.brand img{width:auto;height:54px;max-width:360px;object-fit:contain}.home-content{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(460px,1.15fr);gap:48px;align-items:center;max-width:none}.hospital-visual{margin:0;min-width:0}.hospital-visual img{width:100%;height:360px;display:block;object-fit:cover;border-radius:22px}.hospital-visual figcaption{font-size:11px;opacity:.48;margin-top:7px;text-align:right}.home-copy h1{font-size:clamp(58px,7vw,104px)}@media(max-width:900px){.brand img{height:44px;max-width:260px}.brand span{font-size:18px}.home-content{grid-template-columns:1fr;gap:24px}.hospital-visual img{height:300px}}@media(max-width:520px){.brand{gap:10px}.brand img{height:35px;max-width:205px}.brand span{display:none}.hospital-visual img{height:230px}}

/* Maternitat Can Ruti — refinament visual */
:root{--ink:#25222a;--muted:#716b76;--lav:#a98bd8;--lav2:#e9ddfa;--paper:#fbf9f6;--line:#e6e0e7}
body{background:var(--paper);color:var(--ink)}
.topbar{height:88px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 2px 18px #382d4610}
.brand img{height:48px}.brand span{font-size:21px;font-weight:700;color:#302a35;border-left:1px solid #ddd;padding-left:24px}
.logout{padding:9px 15px;border:1px solid var(--line);border-radius:999px;transition:.2s}.logout:hover{background:#f2edf8;opacity:1}
.shell{padding-top:48px;gap:42px}.home-content{grid-template-columns:minmax(360px,.9fr) minmax(500px,1.1fr);gap:58px}
.eyebrow{color:#8064aa;letter-spacing:.2em}.home-copy h1,.section-intro h1,.sub-content h1{letter-spacing:-.055em}.home-copy h1{font-size:clamp(58px,6.6vw,100px);line-height:.92;margin:15px 0 27px}.home-copy h1 em{font-style:normal;color:#9473c6}.lead{font-size:20px;line-height:1.62;color:#49434e}.notice{font-size:13px;line-height:1.55;color:var(--muted);border-left:3px solid #bda6df;padding-left:14px;margin-top:24px}
.hospital-visual img{height:390px;border-radius:28px;box-shadow:0 22px 60px #32263e1b}.hospital-visual figcaption{padding-right:8px}
.menu-grid{gap:14px}.tile,.menu-grid .tile:last-child:nth-child(odd){min-height:390px;aspect-ratio:.66;border-radius:24px;background:linear-gradient(180deg,#f2ebfb,#e5d7f7);border:1px solid #ddd1ee;box-shadow:0 12px 28px #59496b13;display:flex;flex-direction:column;padding:0;isolation:isolate}.tile:hover{transform:translateY(-7px);box-shadow:0 20px 40px #59496b24;border-color:#c4addf}.tile img{height:245px;object-fit:contain;padding:15px 10px 0;filter:drop-shadow(0 10px 10px #49335c20);transition:.25s}.tile:hover img{transform:scale(1.035)}
.tile-number{position:absolute;top:15px;left:16px;z-index:2;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#8264ac;font-weight:800;font-size:12px;box-shadow:0 4px 14px #4d3a6317}.tile-copy{position:relative;inset:auto;flex:1;background:#fff;padding:18px 17px 16px;display:flex;flex-direction:column;gap:7px}.tile-copy strong{font-size:16px;line-height:1.15}.tile-copy small{font-size:11px;line-height:1.35;color:#77707b;font-weight:400}.tile-copy b{font-size:22px;margin-top:auto;color:#8b6ab7;font-weight:400}
.section-intro{max-width:920px}.section-intro h1,.sub-content h1{font-size:clamp(48px,6vw,84px);line-height:.95;margin:18px 0 24px}.crumb{font-size:13px;margin-bottom:28px}.crumb a{text-decoration:none;color:#776d7d}.crumb a:hover{color:#8b68ba}.step-note{display:inline-block;margin-top:18px;padding:10px 15px;border-radius:999px;background:#eee6f8;color:#6d548e;font-size:13px;font-weight:700}
.sub-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:48px;align-items:center}.sub-content{max-width:1150px}.sub-layout .hero{margin:0;width:100%;height:320px;object-fit:contain;background:linear-gradient(145deg,#f1e9fb,#e4d5f6);padding:24px;border-radius:28px}
footer{height:auto;padding:20px 4vw 28px;border-top:1px solid var(--line);text-align:center}
.login-page{background:radial-gradient(circle at 50% 20%,#f1e7ff,#f8f5f0 58%)}.login-card{text-align:center;border:1px solid #e8dfef;box-shadow:0 28px 80px #48365a1c}.login-card>img{width:min(290px,90%);height:auto}.login-card h1{font-size:42px;color:#76569f}.login-card button{background:#8060aa}.login-card button:hover{background:#68488f}
@media(max-width:1100px){.menu-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.tile,.menu-grid .tile:last-child:nth-child(odd){min-height:360px}.home-content{grid-template-columns:1fr 1fr}.hospital-visual img{height:330px}}
@media(max-width:850px){.home-content{grid-template-columns:1fr}.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tile,.menu-grid .tile:last-child:nth-child(odd){min-height:380px}.sub-layout{grid-template-columns:1fr}.sub-layout .hero{height:280px}.brand span{display:none}}
@media(max-width:480px){.menu-grid{grid-template-columns:1fr}.tile,.menu-grid .tile:last-child:nth-child(odd){min-height:390px;aspect-ratio:auto}.tile img{height:260px}.home-copy h1{font-size:54px}.hospital-visual img{height:230px}}

/* Ajustos v7.3 */
.login-card>img{display:none}
.login-card h1{margin-top:0}
.hospital-visual img{object-fit:cover;object-position:center}

/* Multilingüe */
.top-actions{display:flex;align-items:center;gap:16px}.languages{display:flex;align-items:center;gap:4px;padding:4px;background:#f4f0f7;border:1px solid #e6deec;border-radius:999px}.languages a{min-width:34px;padding:7px 8px;text-align:center;border-radius:999px;text-decoration:none;font-size:11px;font-weight:800;color:#756b7b;transition:.18s}.languages a:hover,.languages a.active{background:#fff;color:#76569f;box-shadow:0 2px 8px #49365b18}.login-langs{justify-content:center;width:max-content;margin:0 auto 24px}.lang-ar{font-family:Arial,"Noto Sans Arabic",sans-serif}.lang-ar .eyebrow{letter-spacing:0}.lang-ar .notice{border-left:0;border-right:3px solid #bda6df;padding-left:0;padding-right:14px}.lang-ar .tile-copy b{transform:scaleX(-1)}.lang-ar .hospital-visual figcaption{text-align:left}.lang-ar .brand span{border-left:0;border-right:1px solid #ddd;padding-left:0;padding-right:24px}
@media(max-width:760px){.topbar{height:auto;min-height:88px;gap:10px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}.top-actions{gap:8px}.languages a{min-width:30px;padding:6px;font-size:10px}.logout{padding:7px 10px}.brand img{max-width:210px}}
@media(max-width:540px){.top-actions{width:100%;justify-content:space-between}.languages{order:1}.logout{order:2}}
