
/* DRIP Studio v10.9.5 — refinements */
:root{--footer-bg:#101214;--footer-ink:#f3efe8;--lang-bg:rgba(255,255,255,.06)}
html,body,#app,.page{overflow-x:hidden}
.main-nav,.menu-links,.footer,.footer *,.origin-kicker,.origin-word,.footer-bottom{text-transform:none!important;letter-spacing:normal!important}

/* Dark footer, with proper contrast. */
.footer.origin-footer{background:var(--footer-bg)!important;color:var(--footer-ink)!important;border-top:1px solid rgba(255,255,255,.08)!important}
.footer.origin-footer a,.footer.origin-footer .origin-word em,.footer.origin-footer .origin-kicker,.footer.origin-footer .footer-bottom{color:var(--footer-ink)!important}
.footer.origin-footer .footer-inner{gap:42px!important}
.footer.origin-footer .origin-word span{font-size:18px!important;opacity:.72}
.footer.origin-footer .origin-word em{font-size:clamp(44px,5.8vw,90px)!important;line-height:.88!important}
.footer.origin-footer .footer-top{border-top:1px solid rgba(255,255,255,.08)!important;padding-top:34px!important}
.footer.origin-footer .footer-bottom{border-top:1px solid rgba(255,255,255,.08)!important;padding-top:21px!important}

/* No floating empty rectangles / circles. */
.ambient-lottie,.interactive-section:before,.statement:before,.page-cta:before,.news-card:before,.project-card:before{display:none!important;content:none!important}

/* More whitespace and cleaner ordering. */
.section{padding-top:clamp(132px,10vw,186px)!important;padding-bottom:clamp(132px,10vw,186px)!important}
.section-inner{width:min(100%,1520px)!important}
.media-grid,.newsroom-grid,.pricing.detailed,.foundation-editorial-lines,.list-lines{gap:clamp(21px,2vw,34px)!important}
.hero:not(.hero-solid) .hero-content{align-items:end!important}
.hero:not(.hero-solid) .hero-copy{max-width:560px!important}
.hero:not(.hero-solid) h1{max-width:8.8ch!important;text-wrap:balance!important}
.page-brand .hero .hero-content{grid-template-columns:minmax(0,5.6fr) minmax(0,6.4fr)!important}
.page-brand .hero h1{max-width:9.4ch!important;font-size:clamp(60px,6.7vw,118px)!important;overflow:visible!important}
.page-brand .hero .hero-media{width:min(55vw,930px)!important;right:var(--edge)!important}
.page-brand .hero .hero-copy p{max-width:16ch!important}

/* Photos always fill or contain correctly. */
.media,.hero-media,.menu-preview,figure{overflow:hidden!important}
.media img,.hero-media img,.menu-preview img,.photo-rail-card img,.news-card figure img,.news-feature figure img,.article-cover img,.photo-sequence-v1094 img{width:100%!important;height:100%!important;object-fit:var(--fit,cover)!important;object-position:var(--fx,50%) var(--fy,50%)!important}
.media[data-slot-wrap="trenitalia-app.png"],.media[data-slot-wrap="trenitalia-replay.png"],.photo-rail-card .media.device{background:transparent!important}
.media[data-slot-wrap="trenitalia-app.png"] img,.media[data-slot-wrap="trenitalia-replay.png"] img,.photo-rail-card .media.device img{padding:0!important;object-fit:contain!important}

/* Ordered horizontal editorial galleries. */
.editorial-rail-gallery .rail,.photo-rail{gap:24px!important;align-items:stretch!important}
.photo-rail-card{display:grid!important;grid-template-rows:minmax(320px,1fr) auto!important;min-height:620px!important;flex-basis:min(69vw,760px)!important;background:var(--paper)!important;border:1px solid rgba(13,13,13,.08)!important;border-radius:26px!important;overflow:hidden!important}
.photo-rail-card .media{min-height:420px!important;background:#dfd9cf!important}
.photo-rail-card .rail-copy{padding:24px 24px 28px!important}
.photo-rail-card h3{font-size:clamp(28px,2.4vw,42px)!important;line-height:.95!important;margin:8px 0 10px!important}
.scroll-linked-rail{top:16vh!important;height:69vh!important;min-height:520px!important;padding-bottom:6px!important}
.scroll-link-shell{margin-top:10px!important}

/* Foundation richer editorial rhythm. */
.foundation-editorial-hero-v1094{border-bottom:1px solid rgba(13,13,13,.12)!important;grid-template-columns:4.3fr 7.7fr!important;gap:72px!important;min-height:84svh!important}
.foundation-editorial-hero-v1094 h1{font-size:clamp(68px,8vw,132px)!important;max-width:8.2ch!important}
.foundation-editorial-intro .foundation-number{font-size:clamp(90px,11vw,180px)!important;line-height:.8!important}
.foundation-index-line{row-gap:13px!important}
.foundation-editorial-lines{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px!important}
.foundation-editorial-lines article,.article-side-card{padding:21px 0;border-top:1px solid rgba(13,13,13,.12)}
.process-line{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:21px!important}
.process-line>div{padding:24px 0;border-top:1px solid rgba(13,13,13,.16)!important}
.process-line b{display:block;margin-bottom:10px;color:var(--cobalt)}

/* Typography shift animation. */
.type-shift{display:inline-block;transition:font-family .35s ease,font-style .35s ease,color .35s ease,transform .35s var(--ease),letter-spacing .35s ease;animation:typeShiftPulse 4.2s ease-in-out infinite;animation-delay:var(--shift-delay,0s)}
@keyframes typeShiftPulse{0%,24%,100%{font-family:var(--ginto);font-style:normal;color:inherit;letter-spacing:inherit;transform:translateY(0)}38%,62%{font-family:var(--play);font-style:italic;color:var(--blue);letter-spacing:-.035em;transform:translateY(-1px)}}

/* Cursor genuinely follows the mouse. */
@media(pointer:fine){html,body.has-drip-cursor,body.has-drip-cursor *{cursor:none!important}}
.drip-cursor.v1095{position:fixed!important;left:0!important;top:0!important;z-index:50000!important;width:18px!important;height:18px!important;pointer-events:none!important;transform:translate3d(calc(var(--cx,0) * 1px),calc(var(--cy,0) * 1px),0) translate(-50%,-50%)!important;color:var(--paper)!important;mix-blend-mode:difference!important}
.drip-cursor.v1095 i{position:absolute;inset:0;border-radius:50%;background:#fff;transition:transform .24s var(--ease),border-radius .24s var(--ease),background .24s ease}
.drip-cursor.v1095 span{position:absolute;left:28px;top:50%;transform:translateY(-50%);font-size:11px;white-space:nowrap;opacity:0;transition:opacity .18s}
.drip-cursor.v1095.active i{transform:scale(2.7)}
.drip-cursor.v1095.active span{opacity:1}
.drip-cursor.v1095[data-kind="drag"] i,.drip-cursor.v1095[data-kind="sticker"] i{border-radius:6px;transform:scale(3.05) rotate(5deg)}
.drip-cursor.v1095[data-kind="read"] i{transform:scaleX(4.2) scaleY(2.05);border-radius:999px}
.drip-cursor.v1095[data-kind="media"] i{background:var(--blue)}
.drip-cursor.v1095.down i{transform:scale(1.8)!important}

/* Language switcher. */
.lang-switch{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.lang-switch.header{margin-right:18px}
.lang-switch.menu{margin-top:21px;padding-top:18px;border-top:1px solid color-mix(in srgb,currentColor 14%,transparent)}
.lang-switch button{appearance:none;border:1px solid color-mix(in srgb,currentColor 20%,transparent);background:var(--lang-bg);color:currentColor;border-radius:999px;padding:7px 10px;font:inherit;font-size:12px;line-height:1;transition:transform .2s var(--ease),background-color .25s ease,border-color .25s ease}
.lang-switch button.active,.lang-switch button:hover{background:color-mix(in srgb,var(--blue) 26%,transparent);border-color:color-mix(in srgb,var(--blue) 56%,transparent);transform:translateY(-1px)}

/* Newsroom more editorial. */
.newsroom-editorial-shell .section-inner,.article-editorial-wrap .section-inner{width:min(100%,1480px)!important}
.news-feature{display:grid!important;grid-template-columns:7fr 5fr!important;gap:34px!important;align-items:end!important;text-decoration:none!important;color:inherit!important;margin-bottom:55px!important}
.news-feature figure{height:clamp(360px,42vw,660px)!important;margin:0!important;background:#ddd6ce!important;border-radius:26px!important}
.news-feature h2{font-size:clamp(42px,4.3vw,86px)!important;line-height:.9!important;margin:13px 0!important}
.news-feature p{font-size:clamp(19px,1.3vw,24px)!important;line-height:1.45!important;max-width:26ch!important}
.news-read{display:inline-block;margin-top:18px;font-weight:700}
.newsroom-grid.editorial{display:grid!important;grid-template-columns:repeat(12,1fr)!important;gap:34px!important}
.newsroom-grid.editorial .news-card:nth-child(odd){grid-column:1/7!important;margin-top:0!important}
.newsroom-grid.editorial .news-card:nth-child(even){grid-column:7/13!important;margin-top:72px!important}
.newsroom-grid.editorial .news-card figure{border-radius:22px!important;overflow:hidden!important}
.article-editorial-grid{display:grid!important;grid-template-columns:minmax(0,8fr) minmax(280px,4fr)!important;gap:55px!important;align-items:start!important}
.article-body.editorial{max-width:none!important}
.article-body.editorial p{font-size:clamp(19px,1.25vw,23px)!important;line-height:1.72!important}
.article-body.editorial p.lead{font-size:clamp(26px,1.9vw,34px)!important;line-height:1.45!important;margin-top:0!important}
.article-side{position:sticky;top:calc(var(--header) + 34px)}
.article-side-card{margin-bottom:18px}
.article-side-card p{margin:.3em 0 0}

/* Kick Off football graphics. */
.kickoff-field-section{padding-top:64px!important;padding-bottom:64px!important}
.kickoff-field{position:relative;min-height:520px!important;border-radius:34px!important;overflow:hidden!important;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.12),transparent 28%),linear-gradient(180deg,#1f844f 0%,#186b40 100%)!important;box-shadow:inset 0 0 0 2px rgba(255,255,255,.16), inset 0 0 0 34px rgba(255,255,255,.02)!important}
.kickoff-field:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 110px,rgba(0,0,0,0) 110px 220px),repeating-linear-gradient(180deg,rgba(0,0,0,.02) 0 90px,rgba(255,255,255,.015) 90px 180px)}
.kickoff-field .field-circle,.kickoff-field .field-half{border-color:rgba(255,255,255,.9)!important}
.kickoff-field:after{content:'';position:absolute;inset:18px;border:2px solid rgba(255,255,255,.92);border-radius:24px;pointer-events:none}
.field-tag{backdrop-filter:blur(6px);background:rgba(13,13,13,.22)!important;color:#fff!important;border:1px solid rgba(255,255,255,.18)!important}

/* Manager/editor mode visual help. */
body.editor-mode img[data-slot]{outline:2px dashed rgba(49,80,255,.2);outline-offset:4px}
body.editor-mode img[data-slot]:hover{outline-color:rgba(49,80,255,.7)}

@media(max-width:1000px){
  .lang-switch.header{margin-right:0;margin-bottom:10px}
  .news-feature,.article-editorial-grid,.foundation-editorial-lines,.process-line{grid-template-columns:1fr!important}
  .news-feature figure{height:54vh!important}
  .newsroom-grid.editorial{display:block!important}
  .newsroom-grid.editorial .news-card:nth-child(n){margin:0 0 34px!important}
  .photo-rail-card{flex-basis:84vw!important;min-height:unset!important}
  .photo-rail-card .media{min-height:52vh!important}
  .foundation-editorial-hero-v1094{grid-template-columns:1fr!important}
  .scroll-linked-rail{position:relative!important;top:auto!important;height:auto!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important}
}
