.media-page {
  --media-ink:#283436;
  --media-ink-soft:#586663;
  --media-green:#17683f;
  --media-intro-surface:#e4d5c4;
  --media-paper:#f3f1ed;
  --media-sand:#e7e2da;
  --media-sage:#e1e3df;
  --media-graphite:#394548;
  --media-graphite-soft:#4a5558;
  --media-copper:#b77650;
  color:var(--media-ink);
  background:var(--media-paper);
}
.media-page main { padding-top:var(--business-header-height,76px); }
.media-page .media-intro { background:var(--media-intro-surface); }
.media-intro-inner { display:grid; width:min(1480px,calc(100% - 64px)); min-height:178px; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:clamp(64px,7vw,112px); margin:0 auto; padding:24px 0 26px; }
.media-brand-lockup { --media-brand-size:clamp(39px,3.05vw,54px); display:inline-flex; width:fit-content; flex-direction:column; align-items:center; justify-self:center; color:var(--media-ink); }
.media-brand-main { position:relative; font-size:var(--media-brand-size); font-weight:300; letter-spacing:.25em; line-height:.95; white-space:nowrap; }
.media-brand-mark { position:absolute; top:-.12em; right:-.74em; font-size:.2em; letter-spacing:0; }
.media-brand-sub { display:flex; width:auto; justify-content:center; gap:.3em; margin-top:9px; color:var(--media-ink-soft); font-size:calc(var(--media-brand-size) * .72); font-weight:400; letter-spacing:0; line-height:1.1; white-space:nowrap; }
.media-intro-copy { min-width:0; }
.media-kicker { margin:0 0 11px; color:#a66c49; font-size:9px; font-weight:700; letter-spacing:.18em; line-height:1.5; text-transform:uppercase; }
.media-intro-kicker { display:flex; align-items:center; gap:9px; }
.media-intro-kicker::before { width:20px; height:1px; flex:0 0 auto; background:var(--media-copper); content:""; }
.media-intro-copy h1,.media-section-heading h2,.media-contact h2 { margin:0; color:var(--media-ink); font-size:clamp(30px,3.6vw,48px); font-weight:300; letter-spacing:-.04em; line-height:1.08; }
.media-intro-lead { max-width:690px; margin:10px 0 0; color:var(--media-ink-soft); font-size:14px; line-height:1.6; }
.media-intro-copy > .media-button { margin-top:15px; }
.media-button { display:inline-flex; min-height:48px; align-items:center; justify-content:space-between; gap:24px; padding:0 18px; border:1px solid transparent; border-radius:4px; font-size:11px; font-weight:700; letter-spacing:.045em; line-height:1.35; text-decoration:none; transition:transform .18s ease,background .18s ease,box-shadow .18s ease; }
.media-button:hover { transform:translateY(-2px); }
.media-button:focus-visible { outline:2px solid var(--media-green); outline-offset:4px; }
.media-button > span:last-child { font-size:18px; font-weight:400; }
.media-button-primary { color:#fff; background:var(--media-green); box-shadow:0 8px 20px rgba(23,104,63,.16); }
.media-button-primary:hover { background:#105634; }
.media-hero { position:relative; height:clamp(360px,35vw,520px); overflow:hidden; margin:0; background:#7b786b; }
.media-hero > img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 54%; }
.media-showcase { padding:26px 0 34px; background:var(--media-paper); }
.media-showcase-heading,.media-showcase-grid { width:min(1240px,calc(100% - 48px)); margin:0 auto; }
.media-showcase-heading { position:relative; max-width:1240px; margin-bottom:26px; padding:34px clamp(26px,4.2vw,52px) 36px; overflow:hidden; isolation:isolate; border-left:5px solid #a7654f; background:linear-gradient(112deg,#ded3c2 0%,#e9e1d5 62%,#eee7dd 100%); box-shadow:0 14px 32px rgba(66,53,40,.1); }
.media-showcase-heading::after { position:absolute; z-index:0; top:50%; right:clamp(28px,7vw,104px); width:clamp(190px,25vw,310px); aspect-ratio:1; border:1px solid rgba(135,76,64,.14); border-radius:50%; box-shadow:0 0 0 22px rgba(135,76,64,.035),0 0 0 46px rgba(135,76,64,.025); content:""; pointer-events:none; transform:translateY(-50%); }
.media-showcase-heading > * { position:relative; z-index:1; }
.media-showcase-heading h2 { max-width:1000px; margin:0; color:#874b40; font-size:clamp(38px,5.2vw,62px); font-weight:500; letter-spacing:-.05em; line-height:1.02; text-wrap:balance; }
.media-showcase-heading .media-showcase-kicker { display:inline-flex; width:fit-content; align-items:center; margin:0 0 16px; padding:6px 11px; border:1px solid rgba(135,75,64,.28); border-radius:999px; color:#fff8ef; background:#874b40; box-shadow:0 3px 10px rgba(100,55,42,.12); font-size:10px; letter-spacing:.14em; }
.media-showcase-heading > p:last-child { max-width:710px; margin:12px 0 0; color:rgba(40,52,54,.82); font-size:14px; line-height:1.65; }
.media-showcase-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; gap:22px; }
.media-showcase-card { min-width:0; overflow:hidden; border:1px solid rgba(40,52,54,.12); background:#fbf9f4; box-shadow:0 14px 34px rgba(53,47,38,.07); }
.media-video-frame,.media-gallery-viewer { position:relative; width:100%; aspect-ratio:16/9; overflow:hidden; margin:0; background:#39464d; }
.media-video-frame > img { position:absolute; z-index:0; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.media-gallery-viewer > img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:center; transition:opacity .18s ease; }
.media-video-frame::after { position:absolute; z-index:1; inset:35% 0 0; background:linear-gradient(180deg,transparent,rgba(15,20,21,.45)); content:""; pointer-events:none; }
.media-youtube-slot { position:absolute; z-index:2; inset:0; background:#111; }
.media-youtube-slot[hidden] { display:none !important; }
.media-youtube-slot iframe { display:block; width:100%; height:100%; border:0; }
.media-video-play-button { position:absolute; z-index:3; bottom:18px; left:18px; display:inline-flex; min-width:205px; min-height:58px; align-items:center; gap:16px; padding:0 19px 0 70px; overflow:hidden; border:1px solid rgba(255,255,255,.72); border-radius:11px; color:#fff; background:linear-gradient(145deg,rgba(24,30,31,.82),rgba(15,20,21,.68)); box-shadow:0 12px 30px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.3); -webkit-backdrop-filter:blur(18px) saturate(150%); backdrop-filter:blur(18px) saturate(150%); font:inherit; font-size:10px; font-weight:700; letter-spacing:.14em; text-shadow:0 1px 4px rgba(0,0,0,.5); cursor:pointer; transition:transform .2s ease,filter .2s ease,box-shadow .2s ease; }
.media-video-play-button::before { position:absolute; top:50%; left:12px; width:44px; height:32px; border:1px solid rgba(255,255,255,.45); border-radius:7px; background:linear-gradient(145deg,rgba(255,42,58,.88),rgba(194,0,24,.78)); box-shadow:inset 0 1px 0 rgba(255,255,255,.48),0 5px 14px rgba(0,0,0,.3),0 0 15px rgba(255,0,28,.2); content:""; transform:translateY(-50%); }
.media-video-play-button:hover,.media-video-play-button:focus-visible { transform:translateY(-2px); filter:brightness(1.08); box-shadow:0 15px 34px rgba(0,0,0,.38),0 0 18px rgba(255,0,28,.19),inset 0 1px 0 rgba(255,255,255,.3); }
.media-video-play-button:focus-visible { outline:2px solid #fff; outline-offset:3px; }
.media-video-play-icon,.media-video-close-icon { position:absolute; top:50%; left:28px; z-index:1; width:14px; height:14px; fill:#fff; stroke:#fff; stroke-width:2; stroke-linecap:round; transform:translateY(-50%); }
.media-video-close-icon { display:none; fill:none; }
.media-video-play-button[aria-pressed="true"] .media-video-play-icon { display:none; }
.media-video-play-button[aria-pressed="true"] .media-video-close-icon { display:block; }
.media-gallery-controls { position:absolute; z-index:2; right:14px; bottom:14px; display:flex; min-height:46px; align-items:center; gap:5px; padding:4px; border:1px solid rgba(255,255,255,.72); border-radius:10px; color:#fff; background:rgba(25,32,33,.76); box-shadow:0 8px 22px rgba(0,0,0,.27),inset 0 1px 0 rgba(255,255,255,.18); -webkit-backdrop-filter:blur(14px) saturate(130%); backdrop-filter:blur(14px) saturate(130%); }
.media-gallery-control-button { display:grid; width:36px; height:36px; place-items:center; padding:0; border:1px solid rgba(255,255,255,.25); border-radius:7px; color:#fff; background:rgba(255,255,255,.08); cursor:pointer; transition:background .16s ease,transform .16s ease; }
.media-gallery-control-button:hover { transform:translateY(-1px); background:rgba(255,255,255,.2); }
.media-gallery-control-button:focus-visible { outline:2px solid #fff; outline-offset:2px; }
.media-gallery-control-button svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.media-gallery-fullscreen-button .media-gallery-exit-fullscreen-icon { display:none; }
.media-gallery-fullscreen-button[aria-pressed="true"] .media-gallery-enter-fullscreen-icon { display:none; }
.media-gallery-fullscreen-button[aria-pressed="true"] .media-gallery-exit-fullscreen-icon { display:block; }
.media-gallery-viewer.is-gallery-fullscreen { position:fixed; z-index:10000; inset:0; display:flex; width:100vw; height:100vh; height:100dvh; max-width:none; align-items:center; justify-content:center; aspect-ratio:auto; margin:0; background:#101413; }
.media-gallery-viewer.is-gallery-fullscreen > img,.media-gallery-viewer:fullscreen > img,.media-gallery-viewer:-webkit-full-screen > img { object-fit:contain; }
.media-gallery-viewer.is-gallery-fullscreen > img { object-fit:contain; }
.media-gallery-viewer:fullscreen,.media-gallery-viewer:-webkit-full-screen { width:100vw; height:100vh; height:100dvh; aspect-ratio:auto; background:#101413; }
.media-gallery-viewer.is-gallery-fullscreen .media-gallery-controls,.media-gallery-viewer:fullscreen .media-gallery-controls,.media-gallery-viewer:-webkit-full-screen .media-gallery-controls { right:max(18px,env(safe-area-inset-right)); bottom:max(18px,env(safe-area-inset-bottom)); }
html.media-gallery-fullscreen-open { overflow:hidden; }
.media-gallery-count { min-width:55px; color:#fff; font-size:10px; font-weight:700; letter-spacing:.08em; text-align:center; font-variant-numeric:tabular-nums; }
.media-showcase-caption { min-height:134px; padding:20px 22px 22px; }
.media-showcase-label { margin:0 0 7px; color:#a66c49; font-size:9px; font-weight:700; letter-spacing:.16em; line-height:1.45; }
.media-showcase-caption h3 { margin:0; color:var(--media-ink); font-size:clamp(18px,1.8vw,22px); font-weight:500; letter-spacing:-.02em; line-height:1.3; }
.media-showcase-caption > p:last-child { margin:8px 0 0; color:rgba(40,52,54,.72); font-size:12px; line-height:1.6; }
.media-offer { padding:38px 0 54px; background:var(--media-paper); }
.media-section-heading,.media-service-grid,.media-process-inner,.media-contact-inner { width:min(1240px,calc(100% - 48px)); margin:0 auto; }
.media-section-heading { max-width:780px; margin-bottom:30px; }
.media-section-heading h2 { font-size:clamp(30px,3.3vw,43px); }
.media-section-heading > p:last-child { max-width:680px; margin:14px 0 0; color:rgba(40,52,54,.72); font-size:14px; line-height:1.7; }
.media-offer .media-section-heading { --media-offer-copy-space:205px; position:relative; display:grid; max-width:none; grid-template-columns:fit-content(calc(100% - var(--media-offer-copy-space))) minmax(var(--media-offer-copy-space),1fr); align-items:center; margin:0 auto 20px; padding:26px clamp(24px,3.4vw,42px) 27px; overflow:hidden; border-left:0; background:linear-gradient(112deg,#713e39 0%,#884d43 62%,#9d6758 100%); box-shadow:0 16px 34px rgba(66,43,34,.14); }
.media-offer .media-section-heading .media-kicker { display:inline-flex; grid-column:1 / -1; grid-row:1; justify-self:start; margin:0 0 12px; padding:6px 10px; border:1px solid rgba(245,242,235,.55); border-radius:999px; color:#713e39; background:#f5f2eb; }
.media-offer .media-section-heading h2 { grid-column:1; grid-row:2; max-width:100%; color:#f5f2eb; font-size:clamp(34px,3.8vw,48px); font-weight:500; letter-spacing:-.045em; line-height:1.08; text-wrap:balance; }
.media-offer .media-section-heading > p:last-of-type { grid-column:1; grid-row:3; max-width:100%; margin-top:12px; color:rgba(245,242,235,.82); font-size:14px; line-height:1.65; }
.media-offer-now { position:static; z-index:1; grid-column:2; grid-row:2 / 4; justify-self:center; align-self:center; transform:rotate(-17deg); color:#ff3443; font-family:inherit; font-size:clamp(58px,6.3vw,78px); font-style:italic; font-weight:750; line-height:.95; letter-spacing:-.065em; white-space:nowrap; text-shadow:0 1px 0 rgba(255,183,187,.82),0 2px 0 #dc2334,0 4px 0 #b71a29,0 7px 10px rgba(42,19,16,.22); pointer-events:none; }
.media-service-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.media-service-card { position:relative; display:flex; min-height:258px; flex-direction:column; align-items:flex-start; padding:26px 27px 28px; border:1px solid rgba(57,69,72,.16); border-top:2px solid rgba(183,118,80,.5); box-shadow:0 9px 24px rgba(53,47,38,.06); }
.media-service-card--sand,.media-service-card--sage,.media-service-card--paper,.media-service-card--stone { background:#e4dacd; }
.media-service-icon { position:absolute; top:16px; right:20px; display:block; width:96px; height:96px; pointer-events:none; filter:drop-shadow(0 8px 9px rgba(49,42,34,.16)); }
.media-service-icon img { display:block; width:100%; height:100%; object-fit:contain; }
.media-card-index { position:absolute; top:30px; left:27px; right:auto; margin:0; color:#7a867f; font-size:9px; font-weight:700; letter-spacing:.16em; }
.media-service-card h3 { max-width:calc(100% - 108px); min-height:58px; margin:35px 0 0; color:var(--media-ink); font-size:clamp(19px,1.7vw,23px); font-weight:500; letter-spacing:-.02em; line-height:1.25; }
.media-service-card > p:last-of-type { margin:12px 0 18px; color:rgba(40,52,54,.75); font-size:13px; line-height:1.7; }
.media-service-action { display:inline-flex; width:fit-content; min-width:min(198px,100%); min-height:44px; align-items:center; justify-content:space-between; gap:14px; margin-top:auto; padding:0 12px; border:1px solid rgba(255,255,255,.42); border-radius:4px; color:#fff; background:var(--media-green); box-shadow:0 7px 17px rgba(23,104,63,.15); font-size:11px; font-weight:700; letter-spacing:.025em; line-height:1.3; text-decoration:none; transition:background .18s ease,transform .18s ease,box-shadow .18s ease; }
.media-service-action:hover { transform:translateY(-1px); background:#105634; box-shadow:0 7px 17px rgba(16,86,52,.22); }
.media-service-action:focus-visible { outline:2px solid var(--media-green); outline-offset:3px; }
.media-service-action > span:last-child { font-size:17px; font-weight:400; }
.media-process { padding:0 0 72px; background:var(--media-paper); }
.media-process-inner { display:block; padding:clamp(30px,4.8vw,58px); border:1px solid rgba(57,69,72,.18); background:linear-gradient(128deg,#e8e7e2 0%,#dedfdb 100%); }
.media-process-heading { width:auto; max-width:1080px; margin:0 auto 40px; text-align:center; }
.media-process-heading h2 { font-size:clamp(31px,3.5vw,46px); }
@media (min-width:1100px) { .media-process-heading h2 { white-space:normal; text-wrap:balance; } }
.media-process-heading > p:last-child { max-width:680px; margin-right:auto; margin-left:auto; font-size:14px; }
.media-process-list { position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:0; padding:0; list-style:none; }
.media-process-list::before { content:none; }
.media-process-list li:not(:last-child)::after { position:absolute; z-index:1; top:56px; left:calc(50% + 39px); width:calc(100% - 60px); height:18px; border-block:1px solid rgba(166,132,91,.58); border-radius:2px; background:linear-gradient(rgba(166,132,91,.09),rgba(166,132,91,.09)) center/100% 100% no-repeat,repeating-linear-gradient(90deg,rgba(255,255,255,.95) 0 8px,transparent 8px 15px) center/100% 1px no-repeat; content:""; }
.media-process-list li { position:relative; z-index:0; min-width:0; padding:27px 22px 25px; border:1px solid rgba(40,52,54,.1); background:rgba(255,255,255,.5); text-align:center; }
.media-step-visual { position:relative; z-index:2; display:grid; width:76px; height:76px; place-items:center; margin:0 auto 18px; border:1px solid rgba(66,79,91,.24); border-radius:50%; color:#3f4f5f; background:#f3f1ed; box-shadow:0 0 0 7px rgba(232,231,226,.92); }
.media-step-icon { width:39px; height:39px; fill:none; stroke-width:1.55; stroke-linecap:round; stroke-linejoin:round; }
.media-icon-primary { stroke:#3f4f4c; }
.media-icon-accent { stroke:#4f8799; }
.media-icon-warm { stroke:#c27b3e; }
.media-icon-warm-fill { fill:#c27b3e; stroke:#c27b3e; stroke-linejoin:round; }
.media-process-list li:nth-child(1) .media-step-visual { border-color:rgba(178,125,73,.52); background:#f6eee3; }
.media-process-list li:nth-child(2) .media-step-visual { border-color:rgba(79,135,153,.5); background:#edf2f2; }
.media-process-list li:nth-child(3) .media-step-visual { border-color:rgba(169,106,88,.52); background:#f4ece7; }
.media-process-list li:nth-child(1) .media-step-number { background:#ae7847; }
.media-process-list li:nth-child(2) .media-step-number { background:#527f8b; }
.media-process-list li:nth-child(3) .media-step-number { background:#a56552; }
.media-step-number { position:absolute; top:-5px; right:-7px; display:grid; width:25px; height:25px; place-items:center; border:1px solid #f7f4ed; border-radius:50%; color:#fff; background:var(--media-green); font-size:8px; font-weight:700; }
.media-process-list h3 { position:relative; z-index:2; margin:0; color:var(--media-ink); font-size:clamp(16px,1.45vw,19px); font-weight:600; line-height:1.35; }
.media-process-list p { position:relative; z-index:2; max-width:350px; margin:10px auto 0; color:rgba(40,52,54,.76); font-size:13px; line-height:1.65; }
.media-contact { padding:0 0 66px; background:var(--media-paper); }
.media-contact-inner { display:flex; align-items:center; justify-content:space-between; gap:36px; padding:clamp(36px,5vw,62px); border-left:0; color:#f3f1ed; background:linear-gradient(115deg,var(--media-graphite),var(--media-graphite-soft)); }
.media-contact .media-kicker { color:#dfb391; }
.media-contact h2 { max-width:760px; color:#f3f1ed; font-size:clamp(29px,3.2vw,42px); }
.media-contact-inner > div > p:last-child { max-width:650px; margin:12px 0 0; color:rgba(243,241,237,.78); font-size:13px; line-height:1.7; }
.media-button-light { flex:0 0 auto; border-color:rgba(247,243,235,.72); color:#fff; background:var(--media-green); box-shadow:0 8px 20px rgba(9,20,16,.22); }
.media-button-light:hover { border-color:#fff; background:#105634; }
.media-button-light:focus-visible { outline-color:#f7f3eb; }
.media-page .site-footer { background:#d8c5ad; }
@media(max-width:950px) {
  .media-intro-inner { width:calc(100% - 48px); gap:30px; }
  .media-offer .media-section-heading { --media-offer-copy-space:170px; }
  .media-offer-now { font-size:clamp(56px,6.8vw,68px); }
}
@media(max-width:760px) {
  .media-page main { padding-top:var(--business-header-height,66px); }
  .media-page .media-intro,.media-intro-inner { background:var(--media-intro-surface); }
  .media-intro-inner { --media-intro-gutter:clamp(17px,5.4vw,21px); width:100%; min-height:0; display:flex; flex-direction:column; align-items:stretch; gap:0; padding:22px var(--media-intro-gutter) 18px; text-align:left; }
  .media-brand-lockup { --media-brand-size:clamp(34px,8.7vw,40px); align-self:stretch; justify-self:auto; width:calc(100% + var(--media-intro-gutter) + var(--media-intro-gutter)); margin:-22px calc(0px - var(--media-intro-gutter)) 19px; padding:22px var(--media-intro-gutter); background:#e4d5c4; }
  .media-brand-sub { margin-top:7px; }
  .media-intro-copy { display:flex; width:100%; flex-direction:column; padding:0; border:0; background:transparent; }
  .media-intro-kicker { margin-bottom:8px; font-size:8px; }
  .media-intro-kicker::before { width:14px; }
  .media-intro-copy h1 { color:#874b40; font-size:clamp(29px,7.7vw,36px); font-weight:500; line-height:1.08; }
  .media-intro-lead { max-width:450px; margin:8px 0 0; font-size:13px; line-height:1.5; }
  .media-intro-copy > .media-button { align-self:flex-end; min-height:44px; margin-top:12px; padding:0 15px; font-size:10px; }
  .media-hero { height:clamp(255px,69vw,390px); }
  .media-hero > img { object-position:35% center; }
  .media-showcase { padding:0; }
  .media-showcase-heading,.media-showcase-grid { width:100%; }
  .media-showcase-heading { margin-bottom:0; padding:24px clamp(16px,5vw,22px) 23px; border-left-width:4px; }
  .media-showcase-heading::after { top:auto; right:-56px; bottom:-112px; width:190px; transform:none; }
  .media-showcase-heading h2 { max-width:310px; font-size:clamp(31px,8.4vw,38px); line-height:1.02; }
  .media-showcase-heading .media-showcase-kicker { margin-bottom:12px; padding:5px 8px; font-size:8px; }
  .media-showcase-heading > p:last-child { max-width:310px; margin-top:10px; font-size:12px; line-height:1.55; }
  .media-showcase-grid { grid-template-columns:1fr; gap:0; }
  .media-showcase-card { display:flex; flex-direction:column; border:0; box-shadow:none; }
  .media-showcase-card > .media-showcase-caption { order:0; padding-bottom:0; }
  .media-showcase-card > .media-video-frame,.media-showcase-card > .media-gallery-viewer { order:1; }
  .media-video-play-button { bottom:12px; left:12px; min-width:185px; min-height:52px; padding-left:65px; font-size:9px; }
  .media-video-play-button::before { left:10px; width:40px; height:29px; }
  .media-video-play-icon,.media-video-close-icon { left:24px; }
  .media-gallery-controls { right:10px; bottom:10px; min-height:42px; }
  .media-gallery-control-button { width:32px; height:32px; }
  .media-gallery-count { min-width:50px; font-size:9px; }
  .media-showcase-caption { min-height:0; padding:17px clamp(16px,5vw,20px) 19px; }
  .media-showcase-caption h3 { font-size:19px; }
  .media-showcase-caption > p:last-child { font-size:12px; }
  .media-offer { padding:0; }
  .media-section-heading,.media-service-grid,.media-process-inner,.media-contact-inner { width:100%; max-width:none; }
  .media-section-heading { margin-bottom:0; }
  .media-section-heading h2,.media-contact h2 { font-size:clamp(27px,7vw,34px); }
  .media-section-heading > p:last-child { margin-top:10px; font-size:13px; line-height:1.65; }
  .media-offer .media-section-heading { --media-offer-copy-space:0px; grid-template-columns:minmax(0,1fr); margin-bottom:0; padding:20px clamp(16px,5vw,20px) 21px; border-left:0; }
  .media-offer .media-section-heading .media-kicker { grid-column:1; grid-row:1; margin-bottom:9px; padding:5px 8px; font-size:8px; }
  .media-offer .media-section-heading h2 { grid-column:1; grid-row:2; max-width:100%; font-size:clamp(28px,7.2vw,36px); line-height:1.05; }
  .media-offer .media-section-heading > p:last-of-type { grid-column:1; grid-row:3; max-width:100%; margin-top:9px; font-size:12px; line-height:1.55; }
  .media-offer-now { grid-column:1; grid-row:1; justify-self:end; align-self:center; transform:rotate(-16deg); color:#ff3443; font-size:clamp(31px,9vw,36px); text-shadow:0 1px 0 rgba(255,183,187,.82),0 2px 0 #dc2334,0 4px 7px rgba(42,19,16,.2); }
  .media-service-grid { width:100%; max-width:none; grid-template-columns:1fr; gap:0; }
  .media-service-card { min-height:0; padding:19px clamp(16px,5vw,20px) 21px; }
  .media-service-icon { top:11px; right:13px; width:74px; height:74px; }
  .media-card-index { top:23px; left:20px; }
  .media-service-card h3 { max-width:calc(100% - 82px); min-height:52px; margin-top:28px; font-size:19px; }
  .media-service-card > p:last-of-type { margin-top:9px; margin-bottom:16px; font-size:12px; line-height:1.65; }
  .media-service-action { min-width:min(198px,100%); min-height:44px; font-size:11px; }
  .media-process { padding:0; }
  .media-process-inner { padding:27px clamp(16px,5vw,20px) 30px; }
  .media-process-heading { margin-bottom:25px; text-align:left; }
  .media-process-heading h2 { font-size:clamp(27px,7vw,34px); }
  .media-process-heading > p:last-child { margin-left:0; font-size:13px; }
  .media-process-list { grid-template-columns:1fr; gap:0; }
  .media-process-list li:not(:last-child)::after { top:70px; bottom:-31px; left:35px; width:12px; height:auto; border-block:0; border-inline:1px solid rgba(166,132,91,.58); border-radius:2px; background:linear-gradient(rgba(166,132,91,.09),rgba(166,132,91,.09)) center/100% 100% no-repeat,repeating-linear-gradient(180deg,rgba(255,255,255,.95) 0 8px,transparent 8px 15px) center/1px 100% no-repeat; }
  .media-process-list li { display:grid; grid-template-columns:56px minmax(0,1fr); align-items:start; column-gap:14px; padding:14px 13px; text-align:left; }
  .media-step-visual { grid-row:span 2; width:56px; height:56px; margin:0; box-shadow:0 0 0 5px rgba(232,231,226,.92); }
  .media-step-icon { width:30px; height:30px; }
  .media-step-number { top:-4px; right:-6px; width:21px; height:21px; font-size:7px; }
  .media-process-list h3 { margin:2px 0 0; font-size:15px; }
  .media-process-list p { margin:6px 0 0; font-size:12px; }
  .media-contact { padding:0; }
  .media-contact-inner { align-items:flex-start; flex-direction:column; gap:20px; padding:28px clamp(17px,5vw,22px); }
  .media-contact h2 { font-size:clamp(27px,7vw,34px); }
  .media-contact-inner > div > p:last-child { font-size:12px; }
  .media-contact-inner > .media-button { width:100%; min-height:48px; }
  .media-page .footer-main { align-items:center; flex-direction:row; gap:10px; padding-bottom:16px; }
  .media-page .footer-wordmark { flex:none; font-size:clamp(12px,3.3vw,14px); letter-spacing:.12em; }
  .media-page .footer-nav { width:auto; min-width:0; flex:1; justify-content:flex-end; flex-wrap:nowrap; gap:clamp(7px,2vw,12px); text-align:right; }
  .media-page .footer-nav a,.media-page .footer-nav button { padding:5px 0; font-size:clamp(6px,1.55vw,7px); letter-spacing:.035em; white-space:nowrap; }
}
@media(max-width:370px) {
  .media-page .development-topbar { grid-template-columns:max-content minmax(0,1fr) max-content; gap:4px; padding-right:10px; padding-left:10px; }
  .media-page .development-topbar > .business-wordmark { font-size:12px; letter-spacing:.08em; }
  .media-page .development-topbar .business-global { gap:4px; }
  .media-page .development-topbar .business-global a { font-size:6px; letter-spacing:.025em; }
  .media-page .development-topbar .development-home-link { width:16px; }
  .media-page .development-topbar .business-areas-menu > summary { padding-right:1px; padding-left:1px; font-size:6px; letter-spacing:.025em; }
  .media-page .development-topbar .business-languages .mobile-language-toggle { min-width:34px; gap:3px; padding-inline:1px; font-size:7px; }
  .media-page .footer-wordmark { font-size:11px; }
  .media-page .footer-nav { gap:6px; }
  .media-page .footer-nav a { font-size:6px; letter-spacing:.015em; }
}
@media(prefers-reduced-motion:reduce) {
  .media-page *, .media-page *::before, .media-page *::after { transition-duration:.01ms !important; scroll-behavior:auto !important; }
}

/* The showcase is one calm, shared panel from its opener through both media cards. */
.media-page {
  background:var(--media-intro-surface);
}
.media-page .media-showcase,
.media-page .media-offer,
.media-page .media-process,
.media-page .media-contact {
  background:var(--media-intro-surface);
}
.media-page .media-showcase {
  padding:clamp(34px,4vw,58px) 0 52px;
}
.media-page .media-showcase-box {
  width:min(1240px,calc(100% - 48px));
  margin-inline:auto;
  padding:clamp(30px,4vw,54px);
  border:1px solid rgba(169,139,106,.28);
  background:linear-gradient(145deg,#eee2d1 0%,#e4d2bc 100%);
  box-shadow:0 18px 38px rgba(84,60,39,.1),inset 0 1px rgba(255,255,255,.76);
}
.media-page .media-showcase-box .media-showcase-heading,
.media-page .media-showcase-box .media-showcase-grid {
  width:100%;
  margin-inline:0;
}
.media-page .media-showcase-box .media-showcase-heading {
  max-width:none;
  margin-bottom:30px;
  padding:0 0 27px;
  border:0;
  border-bottom:1px solid rgba(38,50,56,.18);
  background:transparent;
  box-shadow:none;
}
.media-page .media-showcase-box .media-showcase-heading::after {
  opacity:.42;
}
.media-page .media-showcase-box .media-showcase-grid {
  gap:22px;
}
@media(max-width:760px) {
  .media-page .media-showcase {
    padding:28px 0 34px;
  }
  .media-page .media-showcase-box {
    width:calc(100% - 40px);
    padding:24px 18px 22px;
  }
  .media-page .media-showcase-box .media-showcase-heading {
    margin-bottom:20px;
    padding:0 0 20px;
    border-left:0;
    border-bottom:1px solid rgba(38,50,56,.18);
  }
  .media-page .media-showcase-box .media-showcase-grid {
    width:100%;
    gap:0;
  }
}

/* The offer opener and its four unchanged service cards form one second panel. */
.media-page .media-offer {
  padding:clamp(34px,4vw,58px) 0 52px;
}
.media-page .media-offer-box {
  width:min(1240px,calc(100% - 48px));
  margin-inline:auto;
  padding:clamp(26px,3.5vw,46px);
  border:1px solid rgba(169,139,106,.28);
  background:linear-gradient(145deg,#eee2d1 0%,#e4d2bc 100%);
  box-shadow:0 18px 38px rgba(84,60,39,.1),inset 0 1px rgba(255,255,255,.76);
}
.media-page .media-offer-box .media-section-heading,
.media-page .media-offer-box .media-service-grid {
  width:100%;
  margin-inline:0;
}
.media-page .media-offer-box .media-section-heading {
  margin-bottom:22px;
}
@media(max-width:760px) {
  .media-page .media-offer {
    padding:28px 0 34px;
  }
  .media-page .media-offer-box {
    width:calc(100% - 40px);
    padding:22px 18px 22px;
  }
  .media-page .media-offer-box .media-section-heading {
    margin-bottom:0;
  }
  .media-page .media-offer-box .media-service-grid {
    width:100%;
  }
}

/* One optical gap between every major block, measured from Hero to Showcase. */
.media-page {
  --media-block-gap:34px;
}
.media-page .media-showcase {
  padding-top:var(--media-block-gap);
  padding-bottom:calc(var(--media-block-gap) / 2);
}
.media-page .media-offer {
  padding-top:calc(var(--media-block-gap) / 2);
  padding-bottom:calc(var(--media-block-gap) / 2);
}
.media-page .media-process {
  padding-top:calc(var(--media-block-gap) / 2);
  padding-bottom:calc(var(--media-block-gap) / 2);
}
.media-page .media-contact {
  padding-top:calc(var(--media-block-gap) / 2);
  padding-bottom:var(--media-block-gap);
}
@media(max-width:760px) {
  .media-page {
    --media-block-gap:28px;
  }
}

/* One continuous page surface runs behind every block from Header to Footer. */
.media-page,
.media-page main,
.media-page .media-intro,
.media-page .media-showcase,
.media-page .media-offer,
.media-page .media-process,
.media-page .media-contact {
  background:var(--media-intro-surface);
}

/* Align the desktop intro claim and its contact action to the right of the logo. */
@media(min-width:761px) {
  .media-page .media-intro-copy {
    padding-left:clamp(28px,3vw,52px);
    border-left:1px solid rgba(81,91,86,.34);
    text-align:right;
  }
  .media-page .media-intro-lead {
    margin-right:0;
    margin-left:auto;
  }
}
@media(max-width:760px) {
  .media-page .media-intro-copy {
    padding-left:0;
    border-left:0;
    text-align:left;
  }
}

/* Contact actions: right edge, no wider than half of the containing box. */
.media-page .media-intro-copy > .media-button {
  display:flex;
  width:fit-content;
  max-width:50%;
  min-width:0;
  margin-left:auto;
  gap:9px;
  padding-inline:11px;
  white-space:normal;
  text-align:left;
}
.media-page .media-service-action {
  width:fit-content;
  min-width:0;
  max-width:50%;
  margin-right:0;
  margin-left:auto;
  gap:8px;
  padding-inline:10px;
  white-space:normal;
  text-align:left;
}
.media-page .media-contact-inner > .media-button {
  width:fit-content;
  max-width:50%;
  min-width:0;
  align-self:flex-end;
  gap:9px;
  padding-inline:11px;
  white-space:normal;
  text-align:left;
}

/* Process progression: from a light green starting point to a strong green finish. */
.media-page .media-process-list li:nth-child(1) {
  border-color:rgba(87,132,96,.24);
  background:linear-gradient(145deg,#f3faf4 0%,#dfefe2 100%);
}
.media-page .media-process-list li:nth-child(2) {
  border-color:rgba(66,126,79,.34);
  background:linear-gradient(145deg,#d5ead8 0%,#afd2b6 100%);
}
.media-page .media-process-list li:nth-child(3) {
  border-color:rgba(0,91,43,.5);
  background:linear-gradient(145deg,#82bb8d 0%,#007a33 100%);
}
.media-page .media-process-list li:nth-child(1) .media-step-number { background:#6e9d78; }
.media-page .media-process-list li:nth-child(2) .media-step-number { background:#3f8050; }
.media-page .media-process-list li:nth-child(3) .media-step-number { background:#075b2d; }
.media-page .media-process-list li:nth-child(3) h3 { color:#fff; }
.media-page .media-process-list li:nth-child(3) p { color:rgba(255,255,255,.86); }
.media-page .media-process-list li:not(:last-child)::after {
  border-color:rgba(57,69,72,.68);
  background:linear-gradient(rgba(57,69,72,.16),rgba(57,69,72,.16)) center/100% 100% no-repeat,repeating-linear-gradient(90deg,rgba(255,255,255,.95) 0 8px,transparent 8px 15px) center/100% 1px no-repeat;
}
@media(max-width:760px) {
  .media-page .media-process-list li:not(:last-child)::after {
    background:linear-gradient(rgba(57,69,72,.16),rgba(57,69,72,.16)) center/100% 100% no-repeat,repeating-linear-gradient(180deg,rgba(255,255,255,.95) 0 8px,transparent 8px 15px) center/1px 100% no-repeat;
  }
}

/* The cards now carry the progression themselves; remove the former road-like connectors. */
.media-page .media-process-list li:not(:last-child)::after {
  content:none;
}

/* A pronounced glass treatment gives the three process cards depth without changing their content. */
.media-page .media-process-list li {
  isolation:isolate;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.7);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
  backdrop-filter:blur(18px) saturate(140%);
  box-shadow:0 18px 34px rgba(46,65,53,.16),inset 0 1px 0 rgba(255,255,255,.78),inset 0 -1px 0 rgba(34,75,48,.12);
}
.media-page .media-process-list li::before {
  position:absolute;
  z-index:1;
  inset:0;
  background:linear-gradient(125deg,rgba(255,255,255,.72) 0%,rgba(255,255,255,.24) 23%,transparent 49%,rgba(255,255,255,.12) 100%);
  content:"";
  pointer-events:none;
}
.media-page .media-process-list li:nth-child(1) {
  border-color:rgba(255,255,255,.78);
  background:linear-gradient(145deg,rgba(246,252,247,.7) 0%,rgba(211,235,216,.48) 100%);
}
.media-page .media-process-list li:nth-child(2) {
  border-color:rgba(255,255,255,.68);
  background:linear-gradient(145deg,rgba(214,237,218,.68) 0%,rgba(137,190,149,.5) 100%);
}
.media-page .media-process-list li:nth-child(3) {
  border-color:rgba(226,255,233,.62);
  background:linear-gradient(145deg,rgba(49,137,69,.92) 0%,rgba(0,73,32,.94) 100%);
}
.media-page .media-process-list .media-step-visual {
  border-color:rgba(178,125,73,.52);
  background:#f6eee3;
}
.media-page .media-process-list li:nth-child(1) .media-step-visual,
.media-page .media-process-list li:nth-child(2) .media-step-visual,
.media-page .media-process-list li:nth-child(3) .media-step-visual {
  border-color:rgba(178,125,73,.52);
  background:#f6eee3;
}

/* Keep the video and gallery descriptions in the same warm system as the offer cards. */
.media-page .media-showcase-card {
  border-color:rgba(57,69,72,.16);
  background:#e4dacd;
  box-shadow:0 14px 34px rgba(53,47,38,.07);
}
.media-page .media-showcase-caption { background:#e4dacd; }
.media-page .media-showcase-label { color:#874b40; }

/* The two adjoining content boxes share the page background; no shadow seam. */
.media-page .media-showcase-box,
.media-page .media-offer-box { box-shadow:none; }

/* Translation-safe media cards and process steps. Keep the icon reserve and
   let longer labels expand or wrap at complete words. */
.media-page .media-service-card,
.media-page .media-service-card h3,
.media-page .media-service-card > p:last-of-type,
.media-page .media-service-action,
.media-page .media-process-list li,
.media-page .media-process-list h3,
.media-page .media-process-list p {
  min-width:0;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
  text-wrap:pretty;
}
.media-page .media-service-card h3 { text-wrap:balance; }
.media-page .media-service-action {
  max-width:100%;
  white-space:normal;
  text-align:left;
}
.media-page .media-service-action > span:first-child {
  min-width:0;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
  text-wrap:pretty;
}
