/* Reiks MEDIA: editorial agency page. */
.media-page { background:#080e17; color:#f4f6fb; }
.media-page .container { max-width:1240px; }
.media-page .section { padding:6.5rem 0; }
.media-page .section--alt { background:#101a2a; }
.media-page .section__title { font-size:clamp(2.1rem,4.2vw,3.6rem); letter-spacing:-.035em; line-height:1.1; text-transform:none; max-width:950px; }
.media-page .accent { background:none; -webkit-text-fill-color:initial; color:#83ade5; }
.media-page .section__kicker { font-size:.68rem; letter-spacing:.18em; color:#83ade5; }
.media-page .btn { border-radius:3px; font-size:.75rem; padding:1rem 1.5rem; box-shadow:none; text-transform:none; }
.media-page .btn--primary { background:#22589b; border-color:#22589b; }
.media-page .btn--primary:hover { background:#2e6abb; border-color:#2e6abb; }
.media-logo { font-size:.65em; font-weight:600; letter-spacing:.1em; color:#86b0eb; }
.media-hero { padding:9rem 0 4.5rem; }
.media-hero__grid { display:grid; grid-template-columns:1.25fr 1fr; gap:4rem; align-items:center; }
.media-hero h1 { font-family:var(--font-display); font-size:clamp(2.8rem,4.8vw,4.7rem); font-weight:800; letter-spacing:-.055em; line-height:1.05; margin:1.8rem 0; }
.media-hero h1 span { color:#83ade5; }
.media-hero__intro { font-size:1rem; font-weight:600; margin-bottom:1rem; }
.media-lead { color:#aeb9ca; font-size:1rem; line-height:1.8; max-width:38rem; margin-bottom:2rem; }
.media-actions { display:flex; flex-wrap:wrap; align-items:center; gap:1.5rem; }
.media-actions .arrow-link { margin-top:0; font-size:.75rem; text-transform:none; letter-spacing:0; }
.media-hero__visual { position:relative; height:530px; overflow:hidden; border-radius:3px; background:#13223a; }
.media-hero__visual img { width:100%; height:100%; object-fit:cover; object-position:50% 45%; display:block; filter:grayscale(1); }
.media-hero__visual::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 35%,rgba(5,12,23,.9)); }
.media-hero__caption { position:absolute; inset:auto 2rem 2rem; z-index:1; display:grid; gap:.8rem; }
.media-hero__caption span { font-size:.65rem; letter-spacing:.14em; color:#b1c7e7; }
.media-hero__caption strong { font-family:var(--font-display); font-size:1.7rem; line-height:1.15; letter-spacing:-.025em; }
.media-strip { border-block:1px solid #273449; padding:1.5rem 0; font-size:.65rem; font-weight:600; letter-spacing:.14em; color:#aab9cf; }
.media-strip .container { display:flex; justify-content:space-between; gap:1rem; }
.media-section-intro { max-width:40rem; color:#aeb9ca; line-height:1.8; margin:1.4rem 0 3rem; }
.media-services { border-top:1px solid #2b3b53; }
.media-service { display:grid; grid-template-columns:160px 1fr 1.1fr; column-gap:2.5rem; padding:2.4rem 0; border-bottom:1px solid #2b3b53; align-items:start; }
.media-number { font-size:.67rem; font-weight:600; letter-spacing:.1em; color:#83ade5; padding-top:.4rem; }
.media-service .media-number { grid-column:1; grid-row:1 / 3; }
.media-service h3 { grid-column:2; font-size:1.35rem; line-height:1.3; letter-spacing:-.025em; margin:0 0 .8rem; }
.media-service p { grid-column:2; grid-row:2; color:#aeb9ca; font-size:.88rem; line-height:1.8; }
.media-service ul { grid-column:3; grid-row:1 / 3; list-style:none; margin:0; }
.media-service li { padding:.3rem 0 .55rem 1rem; position:relative; font-size:.85rem; color:#ccd5e2; }
.media-service li::before { content:""; position:absolute; left:0; top:.85rem; width:4px; height:4px; background:#679ddd; }
.media-monthly { display:grid; grid-template-columns:1.15fr 1fr; gap:5rem; align-items:center; }
.media-monthly .section__title { margin:1.3rem 0 1.5rem; }
.media-monthly__panel { padding:2.5rem; border:1px solid #34537d; background:#15243b; border-radius:3px; }
.media-monthly h3 { font-size:1.45rem; margin:1.5rem 0; }
.media-monthly ul { list-style:none; margin:0; }
.media-monthly li { padding:.9rem 0; border-bottom:1px solid #2b405d; font-size:.86rem; }
.media-monthly li::before { content:'✓'; color:#83ade5; margin-right:.65rem; }
.media-monthly__panel p { color:#aeb9ca; line-height:1.7; margin-top:1.5rem; font-size:.78rem; }
.media-process { list-style:none; display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; margin:3rem 0 0; }
.media-process li { border-top:1px solid #355376; padding-top:1.4rem; }
.media-process span { color:#83ade5; font-size:.75rem; }
.media-process h3 { margin:1.4rem 0 .7rem; font-size:1.1rem; line-height:1.35; }
.media-process p { color:#aeb9ca; font-size:.86rem; line-height:1.8; }
.media-contact { text-align:center; }
.media-contact .section__title { margin-inline:auto; }
.media-contact .media-lead { margin:1.5rem auto 2rem; }
.media-contact__handle { font-size:.75rem; color:#aeb9ca; margin-top:1rem; }
.media-page .site-footer__wordmark { font-size:clamp(2rem,10vw,8rem); letter-spacing:-.04em; }
.media-page a:focus-visible { outline:2px solid #a0c5f7; outline-offset:5px; }
@media(max-width:1000px) { .media-hero__grid { gap:2rem; } .media-service { grid-template-columns:120px 1fr 1fr; gap:1.5rem; } .media-monthly { gap:2rem; } }
@media(max-width:760px) { .media-hero__grid,.media-monthly { grid-template-columns:1fr; } .media-hero { padding-top:8rem; } .media-hero__visual { height:420px; } .media-service { grid-template-columns:90px 1fr; gap:1rem; } .media-service .media-number { grid-row:1 / 4; } .media-service ul { grid-column:2; grid-row:3; margin-top:.6rem; } .media-process { grid-template-columns:repeat(2,1fr); } .media-page .section { padding:4.5rem 0; } }
@media(max-width:480px) { .media-hero h1 { font-size:2.8rem; } .media-hero__visual { height:370px; } .media-strip .container { display:grid; grid-template-columns:1fr 1fr; gap:1rem; font-size:.58rem; } .media-service { grid-template-columns:1fr; padding:2rem 0; } .media-service .media-number,.media-service h3,.media-service p,.media-service ul { grid-column:1; grid-row:auto; } .media-service h3 { margin:0; } .media-service ul { margin:0; } .media-monthly__panel { padding:1.6rem; } .media-process { grid-template-columns:1fr; } .media-logo { font-size:.55em; } }

/* Visual agency direction: purposeful contrast and service demonstrations. */
.media-hero { position:relative; overflow:hidden; background:radial-gradient(ellipse at 65% 30%,rgba(37,89,166,.2),transparent 62%); }
.media-hero::before { content:"MEDIA"; position:absolute; right:-.04em; bottom:0; font-family:var(--font-display); font-size:clamp(8rem,23vw,22rem); font-weight:900; letter-spacing:-.06em; line-height:.8; color:rgba(117,163,228,.035); pointer-events:none; }
.media-hero__grid { position:relative; }
.media-hero h1 span { background:linear-gradient(105deg,#b9d6fc,#6ca1ed 60%,#4671b4); -webkit-background-clip:text; background-clip:text; color:transparent; }
.media-hero__visual { border:1px solid #345780; border-radius:7px; box-shadow:0 24px 80px rgba(0,0,0,.25); transform:rotate(1.5deg); }
.media-hero__visual img { filter:grayscale(.65) contrast(1.06); }
.media-frame-label { position:absolute; z-index:2; top:1.2rem; left:1.2rem; font-size:.55rem; letter-spacing:.12em; background:#0c192be8; padding:.65rem .85rem; border:1px solid #47688a; border-radius:3px; }
.media-services { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border:0; gap:2rem; }
.media-service { display:flex; flex-direction:column; border:1px solid #2a3e5a; padding:2rem; gap:0; border-radius:7px; background:linear-gradient(145deg,#101e31,#0b1420); overflow:hidden; }
.media-service h3 { margin:1.2rem 0 .7rem; font-size:1.65rem; }
.media-service p { margin-bottom:1rem; }
.media-service ul { margin-bottom:1.7rem; }
.media-art { position:relative; order:-1; height:275px; flex-shrink:0; border-radius:4px; overflow:hidden; margin:-2rem -2rem 1.8rem; background:#132642; border-bottom:1px solid #34577d; }
.art-label { position:absolute; z-index:3; top:1rem; left:1rem; font-size:.52rem; font-weight:600; letter-spacing:.12em; color:#d6e6ff; padding:.45rem .65rem; background:#0a172bd9; border:1px solid #38577d; border-radius:3px; }
.media-art--video img { width:100%; height:100%; object-fit:cover; filter:brightness(.55) saturate(.45); }
.art-play { position:absolute; top:42%; left:45%; display:grid; place-items:center; width:54px; height:54px; border-radius:50%; border:1px solid #b8d7ff; color:white; background:#1d4c849c; }
.art-timeline { position:absolute; bottom:1.3rem; left:8%; right:8%; height:32px; display:flex; gap:5px; }
.art-timeline i { flex:1; background:repeating-linear-gradient(90deg,#789ed4 0 2px,#20436c 2px 6px); border-radius:3px; opacity:.85; }
.media-art--web { background:radial-gradient(ellipse at 70% 70%,#244e81,#0d1c30); }
.art-browser { position:absolute; top:55px; left:8%; width:75%; background:#e8eff9; border-radius:6px; box-shadow:0 14px 28px #050c1880; padding:0 1.3rem 1rem; color:#15243a; transform:rotate(-3deg); }
.art-browser__bar { border-bottom:1px solid #bdcde4; margin:0 -1.3rem .7rem; padding:.3rem .7rem; color:#7c94b4; font-size:.5rem; }
.art-browser>span { font-size:.45rem; letter-spacing:.15em; font-weight:700; }
.art-browser>strong { display:block; font-size:1.25rem; line-height:1.05; margin:.65rem 0; }
.art-fake-button { background:#235ca3; color:white; font-size:.45rem; width:max-content; padding:.4rem .6rem; border-radius:2px; }
.art-blocks { display:flex; gap:.4rem; margin-top:.8rem; }
.art-blocks i { height:23px; flex:1; background:#c2d1e6; border-radius:2px; }
.art-phone { position:absolute; right:7%; bottom:22px; width:80px; height:145px; border:4px solid #101b2b; border-radius:14px; background:#b1cdf3; color:#142d50; padding:1.3rem .4rem .4rem; transform:rotate(6deg); box-shadow:0 12px 20px #050c1860; }
.art-phone i { position:absolute; top:5px; left:25%; width:50%; height:5px; border-radius:10px; background:#101b2b; }
.art-phone strong { font-size:.9rem; line-height:1; }
.art-phone span { display:block; margin-top:1rem; font-size:1.1rem; }
.media-art--marketing { background:linear-gradient(130deg,#16345b,#0c192b); }
.art-message { position:absolute; top:67px; left:8%; z-index:1; }
.art-message>span { font-size:.55rem; color:#8cb7ed; letter-spacing:.12em; }
.art-message strong { display:block; font-family:var(--font-display); font-size:1.6rem; line-height:1.15; margin-top:.8rem; }
.art-tags { position:absolute; bottom:32px; left:8%; display:flex; gap:.5rem; z-index:1; }
.art-tags span { font-size:.5rem; border:1px solid #436994; background:#14335c; border-radius:20px; padding:.5rem .65rem; }
.art-rings { position:absolute; right:-65px; top:30px; width:260px; height:260px; }
.art-rings i { position:absolute; border:1px solid #5481b454; border-radius:50%; inset:0; }
.art-rings i:nth-child(2) { inset:35px; }.art-rings i:nth-child(3) { inset:70px; background:#427ec025; }
.media-art--flow { background:radial-gradient(ellipse at center,#203f68,#0b192c); }
.art-flow { position:absolute; top:52px; left:17%; right:17%; display:flex; flex-direction:column; align-items:center; gap:2px; }
.art-flow>span { width:100%; display:flex; gap:1rem; align-items:center; font-size:.7rem; padding:.45rem 1rem; border:1px solid #5079ad; background:#142b49; border-radius:4px; }
.art-flow b { color:#8bb8ee; font-size:.55rem; }.art-flow i { font-style:normal; color:#83ade5; font-size:.7rem; }
.media-monthly__panel { position:relative; border-top:3px solid #83ade5; box-shadow:0 20px 60px #02091344; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) { .media-service { transition:transform .25s,border-color .25s; }.media-service:hover { transform:translateY(-4px); border-color:#527bab; }.media-hero__visual { animation:media-arrive .8s ease both; } }
@keyframes media-arrive { from { opacity:0; transform:translateY(20px) rotate(0); } to { opacity:1; transform:translateY(0) rotate(1.5deg); } }
@media(max-width:760px) { .media-services { grid-template-columns:1fr; }.media-hero__visual { transform:none; }.media-art { height:275px; } }
@media(max-width:480px) { .media-service { padding:1.5rem; }.media-art { margin:-1.5rem -1.5rem 1.5rem; height:245px; }.art-message strong { font-size:1.4rem; }.art-tags { gap:.3rem; }.art-tags span { font-size:.45rem; }.media-hero__visual { animation:none; }.media-service h3 { font-size:1.4rem; } }

.media-service { align-items:stretch; }

/* Full-width cinematic introduction. */
.media-hero--cinema { min-height:760px; min-height:max(760px,92svh); padding:0; display:flex; align-items:center; position:relative; isolation:isolate; }
.media-hero--cinema::before { content:none; }
.media-cinema { position:absolute; inset:0; z-index:-2; background:#101c2d; overflow:hidden; }
.media-cinema__slide { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:60% 50%; opacity:0; transition:opacity 1.2s ease; filter:saturate(.6) brightness(.8); }
.media-cinema__slide:nth-child(2) { object-position:50% 40%; }
.media-cinema__slide:nth-child(3) { object-position:50% 75%; }
.media-cinema__slide.is-active { opacity:1; }
.media-hero--cinema::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(4,11,22,.9) 0%,rgba(5,13,26,.7) 42%,rgba(6,13,24,.16) 100%),linear-gradient(0deg,#080e17 0%,transparent 35%,rgba(8,14,23,.32) 100%); }
.media-cinema__content { width:100%; padding-top:8rem; padding-bottom:11rem; }
.media-hero--cinema h1 { font-size:clamp(3.7rem,7.5vw,7rem); line-height:1; letter-spacing:-.045em; margin:1.7rem 0; max-width:900px; }
.media-hero--cinema h1 span { color:#b5d6ff; background:none; -webkit-text-fill-color:initial; }
.media-cinema__lead { font-size:1.05rem; line-height:1.8; color:#d0dbea; margin-bottom:2rem; max-width:40rem; }
.media-hero--cinema .section__kicker { color:#c0d6f4; }
.media-hero--cinema .arrow-link { color:#e1ebfa; }
.media-hero--cinema .btn { font-size:.82rem; padding:1.1rem 1.6rem; }
.media-cinema__bottom { position:absolute; bottom:2.2rem; left:0; right:0; width:100%; display:flex; justify-content:space-between; align-items:flex-end; gap:2rem; }
.media-cinema__eyebrow { font-size:.55rem; letter-spacing:.14em; color:#acbcd2; }
.media-cinema__bottom p { font-size:.85rem; margin:.6rem 0 0; color:#e3edfa; }
.media-cinema__controls { display:flex; gap:.65rem; }
.media-cinema__controls button { min-width:44px; min-height:44px; border:1px solid #7894b575; color:#c6d7ec; background:#0d1d326e; font-family:inherit; font-size:.7rem; cursor:pointer; border-radius:3px; }
.media-cinema__controls button.is-active { background:#cadcf2; border-color:#cadcf2; color:#101e30; }
.media-cinema__controls button:hover { border-color:#dceaff; }
.media-calendar { border-bottom:1px solid #2b405d; margin:-.5rem 0 2rem; padding-bottom:1.5rem; }
.media-calendar>span { font-size:.6rem; letter-spacing:.1em; color:#abc6ed; }
.media-calendar>div { display:grid; grid-template-columns:repeat(4,1fr); gap:.4rem; margin-top:1rem; }
.media-calendar b { background:#203958; padding:.8rem .5rem; color:#b8d5fc; font-size:1.1rem; border-top:2px solid #5d8ccb; }
.media-calendar small { display:block; font-size:.55rem; font-weight:500; margin-top:.4rem; color:#d1deef; }
@media(prefers-reduced-motion:no-preference) { .media-cinema__slide.is-active { animation:media-drift 7s ease-out both; } }
@keyframes media-drift { from { transform:scale(1); } to { transform:scale(1.045); } }
@media(prefers-reduced-motion:reduce) { .media-cinema__slide { transition:none; } }
@media(max-width:760px) { .media-hero--cinema { min-height:800px; min-height:max(760px,92svh); }.media-hero--cinema h1 { font-size:clamp(3.3rem,9vw,5rem); }.media-cinema__slide { object-position:60% 50%; }.media-hero--cinema::after { background:linear-gradient(90deg,#050d1bd9,#050d1b66),linear-gradient(0deg,#080e17,transparent 55%); } }
@media(max-width:480px) { .media-hero--cinema { min-height:780px; }.media-cinema__content { padding-top:7rem; padding-bottom:13rem; }.media-hero--cinema h1 { font-size:3.5rem; }.media-cinema__lead { font-size:.92rem; }.media-cinema__lead br { display:none; }.media-cinema__bottom { flex-direction:column; align-items:flex-start; gap:1.2rem; bottom:1.8rem; }.media-cinema__eyebrow { font-size:.48rem; }.media-actions { gap:1.2rem; }.media-calendar b { padding:.6rem .3rem; }.media-calendar small { font-size:.48rem; } }

.media-cinema__content, .media-cinema__bottom { width:min(calc(100% - 2.5rem),var(--container-max)); }

/* A clear offer supported by Reiks's existing creative projects. */
.media-section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:3rem; margin-bottom:2.8rem; }
.media-section-heading>p { max-width:23rem; color:#aeb9ca; line-height:1.8; font-size:.95rem; }
.media-projects { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }
.media-project { min-width:0; border-bottom:1px solid #345071; }
.media-project__visual { height:290px; background:#142238; overflow:hidden; border-radius:4px; }
.media-project__visual img { display:block; width:100%; height:100%; object-fit:cover; }
.media-project__visual--poster { background:radial-gradient(ellipse,#34415b,#121e30); }
.media-project__visual--poster img { object-fit:contain; }
.media-project__visual--video { display:flex; align-items:center; }
.media-project__visual iframe { width:100%; aspect-ratio:16/9; border:0; }
.media-project__copy { padding:1.5rem 0 1.8rem; }
.media-project h3 { font-size:1.6rem; margin:.8rem 0; letter-spacing:-.025em; }
.media-project p { color:#aeb9ca; line-height:1.7; font-size:.88rem; min-height:3rem; }
.media-project .arrow-link { font-size:.75rem; text-transform:none; letter-spacing:0; margin-top:1rem; }
.media-services { grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }
.media-service { padding:1.6rem; }
.media-service h3 { font-size:1.35rem; }
.media-service .media-art { margin:-1.6rem -1.6rem 1.5rem; height:245px; }
.media-agreement { margin:0; }
.media-agreement>div { border-bottom:1px solid #2b405d; padding:1rem 0; }
.media-agreement dt { font-weight:600; font-size:.9rem; margin-bottom:.4rem; }
.media-agreement dd { margin:0; color:#aeb9ca; line-height:1.7; font-size:.82rem; }
.media-process { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media(max-width:1000px) { .media-services { grid-template-columns:1fr; }.media-service { display:grid; grid-template-columns:1fr 1fr; column-gap:2rem; }.media-service .media-art { grid-column:2; grid-row:1/5; margin:-1.6rem; margin-left:0; height:calc(100% + 3.2rem); min-height:275px; }.media-service h3,.media-service p,.media-service ul,.media-service .media-number { grid-column:1; grid-row:auto; }.media-project__visual { height:230px; } }
@media(max-width:760px) { .media-section-heading { display:block; }.media-section-heading>p { margin-top:1.5rem; }.media-projects { grid-template-columns:1fr; }.media-project__visual { height:340px; }.media-project p { min-height:0; }.media-service { display:flex; }.media-service .media-art { height:260px; min-height:0; margin:-1.6rem -1.6rem 1.5rem; }.media-process { grid-template-columns:1fr; } }
@media(max-width:480px) { .media-project__visual { height:270px; }.media-section-heading { margin-bottom:2rem; } }

.media-page section[id] { scroll-margin-top:76px; }

/* Service concept videos: the demonstration and offer form one section. */
.media-showcase { display:grid; grid-template-columns:1.25fr 1fr; gap:3.5rem; align-items:center; padding:3.5rem 0; border-top:1px solid #2b405d; }
.media-showcase:nth-of-type(2) .media-demo { order:2; }
.media-showcase:nth-of-type(2) { grid-template-columns:1fr 1.25fr; }
.media-demo { min-width:0; }
.media-demo video { display:block; width:100%; aspect-ratio:16/9; background:#091321; border:1px solid #35577b; border-radius:6px; }
.media-demo>p { font-size:.7rem; color:#a8bad0; margin-top:.8rem; line-height:1.6; }
.media-showcase__copy h3 { font-family:var(--font-display); font-size:clamp(1.5rem,2.5vw,2.2rem); letter-spacing:-.035em; line-height:1.15; margin:1rem 0; }
.media-showcase__copy>p { color:#aeb9ca; line-height:1.8; font-size:.92rem; }
.media-showcase__copy dl { margin:1.2rem 0; }
.media-showcase__copy dl>div { padding:.9rem 0; border-bottom:1px solid #26394f; }
.media-showcase__copy dt { font-size:.72rem; color:#91bbef; font-weight:700; margin-bottom:.45rem; }
.media-showcase__copy dd { margin:0; color:#ced8e6; font-size:.84rem; line-height:1.7; }
.media-showcase__copy .arrow-link { font-size:.76rem; text-transform:none; letter-spacing:0; margin-top:.4rem; }
.media-demo-note { max-width:46rem; color:#93a4bc; font-size:.8rem; line-height:1.7; padding-top:1rem; }
@media(max-width:1000px) { .media-showcase,.media-showcase:nth-of-type(2) { gap:2rem; grid-template-columns:1fr 1fr; } }
@media(max-width:760px) { .media-showcase,.media-showcase:nth-of-type(2) { grid-template-columns:1fr; gap:1.5rem; padding:2.5rem 0; }.media-showcase:nth-of-type(2) .media-demo { order:0; }.media-showcase__copy h3 { font-size:1.9rem; } }

@media(min-width:761px) and (max-width:1000px) { .media-showcase,.media-showcase:nth-of-type(2) { grid-template-columns:1fr; }.media-showcase:nth-of-type(2) .media-demo { order:0; }.media-showcase__copy dl { display:grid; grid-template-columns:1fr 1fr; gap:2rem; } }

/* Monthly partnership: an editorial offer with clear scope. */
.media-retainer { background:radial-gradient(ellipse at 5% 10%,#1a355530,transparent 65%),#101b2b; border-block:1px solid #29415f; }
.media-retainer__top { display:grid; grid-template-columns:1.2fr 1fr; gap:4rem; align-items:center; }
.media-retainer__intro .section__title { margin:1.5rem 0; font-size:clamp(2.25rem,4.2vw,3.6rem); }
.media-retainer__intro .media-lead { margin-bottom:1.8rem; }
.media-retainer__benefits { display:flex; flex-wrap:wrap; gap:.7rem; }
.media-retainer__benefits span { border:1px solid #385271; padding:.65rem .85rem; border-radius:30px; font-size:.7rem; color:#d1deef; }
.media-retainer__offer { background:#c4daf4; color:#0d223b; padding:2.3rem; border-radius:8px; box-shadow:0 24px 65px #050e1d55; position:relative; }
.media-retainer__offer-top { display:flex; justify-content:space-between; gap:1rem; font-size:.6rem; letter-spacing:.12em; font-weight:700; border-bottom:1px solid #96b2d4; padding-bottom:1.2rem; }
.media-retainer__offer-title { font-family:var(--font-display); font-size:clamp(1.8rem,2.5vw,2.4rem); line-height:1.12; letter-spacing:-.04em; font-weight:800; margin:1.8rem 0 1.4rem; }
.media-retainer__offer-title span { color:#2d5b93; }
.media-retainer__offer-description { font-size:.87rem; line-height:1.75; color:#334f70; margin-bottom:1.5rem; }
.media-retainer__offer .btn { width:100%; background:#102a48; color:#f4f7fc; border:1px solid #102a48; font-weight:600; padding:1rem .8rem; }
.media-retainer__offer .btn:hover { background:#244b78; border-color:#244b78; }
.media-retainer__offer-note { font-size:.68rem; line-height:1.6; color:#3c5778; margin-top:.8rem; text-align:center; }
.media-retainer__scope { margin-top:4rem; }
.media-retainer__label { display:block; font-size:.62rem; letter-spacing:.13em; color:#94b9e9; font-weight:600; }
.media-retainer__cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; margin-top:1.3rem; }
.media-retainer__card { padding:1.8rem; background:#14243a; border:1px solid #2b4362; border-radius:6px; }
.media-retainer__card-head { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-bottom:1.8rem; }
.media-retainer__card-head span { font-size:.62rem; color:#9dbde8; letter-spacing:.12em; }
.media-retainer__card-head svg { width:32px; height:32px; stroke:#90bdf5; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.media-retainer h3 { font-family:var(--font-display); font-size:1.17rem; line-height:1.35; letter-spacing:-.02em; margin-bottom:.9rem; }
.media-retainer__card p,.media-retainer__agreement p { font-size:.85rem; line-height:1.8; color:#afbed2; }
.media-retainer__agreement { display:grid; grid-template-columns:1.2fr 1fr; gap:4rem; margin-top:2.5rem; border-top:1px solid #314964; padding-top:2rem; }
.media-retainer__agreement h3 { margin:.8rem 0; font-size:1.1rem; }
@media(max-width:1000px) { .media-retainer__top,.media-retainer__agreement { gap:2rem; }.media-retainer__offer { padding:1.8rem; }.media-retainer__card { padding:1.3rem; } }
@media(max-width:760px) { .media-retainer__top,.media-retainer__agreement,.media-retainer__cards { grid-template-columns:1fr; }.media-retainer__intro .section__title { max-width:34rem; }.media-retainer__offer { max-width:36rem; }.media-retainer__scope { margin-top:3rem; }.media-retainer__card-head { margin-bottom:1.2rem; } }
@media(max-width:480px) { .media-retainer__offer { padding:1.5rem; }.media-retainer__offer-title { font-size:2rem; }.media-retainer__benefits span { font-size:.65rem; }.media-retainer__agreement { gap:1.8rem; } }

/* A shorter agency page with details available on request. */
.media-page--simple .section { padding:4.5rem 0; }
.media-page--simple .media-hero--cinema { min-height:640px; }
.media-page--simple .media-cinema__content { padding-top:8rem; padding-bottom:5rem; }
.media-page--simple .media-cinema__slide.is-active { animation:none; }
.media-page--simple .media-hero--cinema h1 { font-size:clamp(3.4rem,6.8vw,6rem); }
.media-compact-services { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; margin-top:2.5rem; }
.media-compact-services article { border:1px solid #2d4564; border-radius:6px; padding:1.8rem; background:#101e30; }
.media-compact-services h3 { font-family:var(--font-display); font-size:1.35rem; margin:1.4rem 0 .8rem; letter-spacing:-.02em; }
.media-compact-services p { color:#afbed2; font-size:.9rem; line-height:1.75; }
.media-retainer__included { padding:0; margin:0 0 1.5rem; list-style:none; }
.media-retainer__included li { padding:.65rem 0; border-bottom:1px solid #a0b9d8; font-size:.86rem; color:#243f61; }
.media-retainer__included li::before { content:'✓'; margin-right:.8rem; color:#2d5b93; }
.media-retainer__details { border-top:1px solid #344e6e; margin-top:2rem; padding-top:1.3rem; color:#cfddf0; }
.media-retainer__details summary { cursor:pointer; font-size:.85rem; font-weight:600; width:fit-content; }
.media-retainer__details summary:focus-visible { outline:2px solid #a0c5f7; outline-offset:6px; }
.media-retainer__details p { max-width:45rem; color:#aebed3; font-size:.85rem; line-height:1.8; margin-top:1rem; }
@media(max-width:760px) { .media-compact-services { grid-template-columns:1fr; gap:1rem; }.media-compact-services article { padding:1.4rem; }.media-compact-services h3 { margin:1rem 0 .6rem; }.media-page--simple .section { padding:3.5rem 0; }.media-page--simple .media-hero--cinema { min-height:620px; } }

/* Keep the opening slideshow within the simplified layout. */
.media-page--simple .media-hero--cinema { min-height:720px; }
.media-page--simple .media-cinema__content { padding-top:8rem; padding-bottom:10rem; }
@media(max-width:760px) { .media-page--simple .media-hero--cinema { min-height:760px; } }
@media(max-width:480px) { .media-page--simple .media-cinema__content { padding-top:7rem; padding-bottom:13rem; } }

/* Guided appointment request. */
.media-page--simple .media-booking { padding:6rem 0; background:#0c1727; }
.media-booking__layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:6rem; align-items:center; }
.media-booking__intro h2 { font-family:Archivo, sans-serif; font-size:clamp(2.5rem,4.2vw,3.6rem); letter-spacing:-.055em; line-height:1.08; font-weight:700; margin:1.7rem 0; }
.media-booking__intro h2 span { color:#93b9e9; }
.media-booking__intro .media-lead { font-size:.98rem; line-height:1.8; max-width:24rem; color:#a6b6ca; }
.media-booking__meeting { display:flex; align-items:center; gap:1rem; border-top:1px solid #2b3c53; margin-top:2.4rem; padding-top:1.5rem; max-width:24rem; }
.media-booking__meeting-icon { display:grid; place-items:center; width:40px; height:40px; border:1px solid #39516d; border-radius:50%; color:#93b9e9; font-size:1.4rem; }
.media-booking__meeting strong,.media-booking__meeting div>span { display:block; }
.media-booking__meeting strong { font-size:.85rem; font-weight:500; }
.media-booking__meeting div>span { color:#9eaec1; font-size:.75rem; margin-top:.3rem; }
.media-booking__alternative { font-size:.76rem; color:#9eaec1; margin-top:2.5rem; }
.media-booking__alternative a { color:#d7e6fa; margin-left:.4rem; text-decoration:underline; text-underline-offset:4px; }
.media-booking__form { background:#f2f5fa; color:#17263c; padding:2rem 2.25rem; border-radius:4px; box-shadow:0 24px 70px #03091240; }
.media-booking__form [hidden] { display:none !important; }
.media-booking__form-top { display:flex; justify-content:space-between; font-size:.57rem; letter-spacing:.12em; font-weight:600; padding-bottom:1rem; border-bottom:1px solid #d5dfe9; color:#52657d; }
.media-booking__steps { display:flex; gap:1.6rem; margin:1.4rem 0 1.8rem; font-size:.7rem; color:#8693a3; }
.media-booking__steps b { font-size:.62rem; font-weight:500; margin-right:.4rem; }
.media-booking__steps [aria-current] { color:#224f88; }
.media-booking__form h3 { font-family:Archivo,sans-serif; font-size:1.6rem; font-weight:600; letter-spacing:-.04em; line-height:1.2; margin-bottom:.4rem; }
.media-booking__hint { color:#697a8f; font-size:.74rem; line-height:1.6; }
.media-booking__days { display:grid; grid-template-columns:repeat(5,1fr); gap:.5rem; margin:1.2rem 0 .8rem; }
.media-booking__day { display:flex; flex-direction:column; gap:.3rem; align-items:center; border:1px solid #d1dce8; background:transparent; border-radius:4px; padding:.7rem .2rem; color:#66768a; cursor:pointer; font:inherit; }
.media-booking__day span { font-size:.66rem; }.media-booking__day strong { font-size:1.35rem; font-weight:500; color:#203851; }.media-booking__day small { font-size:.58rem; }
.media-booking__day[aria-pressed=true] { background:#244f84; border-color:#244f84; color:#d3e4fa; }.media-booking__day[aria-pressed=true] strong { color:white; }
.media-booking__form label { display:block; font-size:.74rem; font-weight:500; }.media-booking__form label>span { font-weight:400; color:#6c7d91; }
.media-booking__date-label { display:flex !important; align-items:center; justify-content:space-between; padding:.4rem 0 1rem; color:#4e6380; border-bottom:1px solid #d5dfe9; }
.media-booking__form input:not([type=radio]),.media-booking__form textarea { display:block; width:100%; box-sizing:border-box; margin-top:.5rem; padding:.8rem 0; border:0; border-bottom:1px solid #b7c6d7; border-radius:0; background:transparent; color:#1c344f; font:inherit; font-size:.87rem; color-scheme:light; min-width:0; }
.media-booking__form .media-booking__date-label input { width:auto; max-width:165px; font-size:.75rem; padding:.3rem 0; margin:0; border:0; }
.media-booking__form textarea { resize:vertical; }
.media-booking__form input::placeholder,.media-booking__form textarea::placeholder { color:#8190a2; }
.media-booking__times { display:grid; grid-template-columns:repeat(4,1fr); gap:.45rem; padding:0; border:0; margin:1.1rem 0 .8rem; }
.media-booking__times legend { display:flex; justify-content:space-between; width:100%; padding:0 0 .8rem; font-size:.75rem; font-weight:500; }.media-booking__times legend span { font-size:.65rem; color:#79899d; font-weight:400; }
.media-booking__times label { position:relative; }.media-booking__times input { position:absolute; opacity:0; width:1px; height:1px; }
.media-booking__times label>span { display:block; text-align:center; border:1px solid #ccd9e7; border-radius:3px; padding:.6rem .2rem; font-size:.74rem; color:#304b6c; cursor:pointer; }
.media-booking__times input:checked+span { background:#dce9f9; border-color:#416fa6; color:#1c4679; }
.media-booking__times input:focus-visible+span,.media-booking__day:focus-visible,.media-booking__form input:focus-visible,.media-booking__form textarea:focus-visible,.media-booking__button:focus-visible { outline:2px solid #3d73b9; outline-offset:3px; }
.media-booking__confirmation { font-size:.68rem; margin:.85rem 0 0; }
.media-booking__button { display:flex; justify-content:space-between; align-items:center; width:100%; padding:1rem 1.25rem; border:0; background:#193c68; color:white; font:inherit; font-size:.8rem; font-weight:500; cursor:pointer; margin-top:1.25rem; border-radius:3px; transition:background .2s; }
.media-booking__button:hover { background:#28558d; }.media-booking__button span { font-size:1.25rem; }.media-booking__button:disabled { opacity:.6; cursor:wait; }
.media-booking__fields { display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; margin-top:1.5rem; }
.media-booking__message { margin-top:1.3rem; }
.media-booking__selection { display:flex; justify-content:space-between; align-items:center; gap:1rem; background:#e3ebf5; margin-top:1.2rem; padding:.85rem; font-size:.75rem; }.media-booking__selection button { background:none; border:0; color:#295b96; text-decoration:underline; text-underline-offset:3px; cursor:pointer; font:inherit; }
.media-booking__status { color:#284f7e; font-size:.78rem; line-height:1.6; margin-top:1rem; }.media-booking__status:empty { display:none; }
.media-booking__trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
@media(max-width:1000px) { .media-booking__layout { gap:3rem; }.media-booking__form { padding:1.8rem; } }
@media(max-width:760px) { .media-page--simple .media-booking { padding:3.5rem 0; }.media-booking__layout { grid-template-columns:1fr; gap:2rem; }.media-booking__intro h2 { font-size:2.5rem; }.media-booking__meeting { margin-top:1.5rem; }.media-booking__alternative { margin-top:1rem; }.media-booking__form { padding:1.5rem; }.media-booking__steps { gap:1rem; font-size:.65rem; } }
@media(max-width:380px) { .media-booking__form { padding:1.15rem; }.media-booking__fields { grid-template-columns:1fr; }.media-booking__days { gap:.3rem; } }

.media-booking__form { scroll-margin-top:100px; }
