/* Distinct photo-led page openings. Uses the existing theme and type system. */
.page-body .ed-hero{padding-top:26px;padding-bottom:42px}
.page-body .ed-hero .breadcrumb{margin-bottom:27px}
.page-body .ed-hero h1{margin:0;font-family:Inter,Arial,sans-serif;font-size:clamp(40px,4.3vw,62px);font-style:normal;font-weight:650;line-height:1.07;letter-spacing:-.052em;text-wrap:balance}
.page-body .ed-hero .eyebrow{margin:0 0 15px;font-size:11px;font-weight:650;letter-spacing:.1em}
.page-body .ed-hero .ed-lead{font-size:16px;line-height:1.7;color:var(--s-muted);margin:21px 0 0;max-width:510px}
.page-body .ed-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:25px}
.page-body .ed-actions .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:47px;flex-shrink:0}
.page-body .ed-actions .text-link{min-height:44px;display:inline-flex;align-items:center;font-size:12px;line-height:1.5}
.page-body .ed-small{font-size:11px;line-height:1.6;color:var(--s-muted);margin:16px 0 0;max-width:380px}
.page-body .ed-hero figure{margin:0;min-width:0}
.page-body .ed-photo-frame{position:relative;overflow:hidden;border-radius:20px;border:1px solid rgba(255,255,255,.48);box-shadow:0 14px 40px rgba(15,24,39,.085);background:#172536;isolation:isolate}
.page-body .ed-photo-frame:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.3),inset 1px 0 0 rgba(255,255,255,.13)}
.page-body .ed-photo-frame img{display:block;width:100%;height:100%;object-fit:cover}
.page-body .ed-hero figcaption{font-size:10px;line-height:1.55;color:var(--s-muted);margin-top:9px;text-align:right}
html[data-theme="dark"] .page-body .ed-photo-frame{border-color:rgba(229,239,255,.17);box-shadow:0 16px 38px rgba(0,0,0,.18)}
/* Content: editorial split, screen-led photograph, a short marginal note. */
.page-body .ed-content-layout{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.2fr);gap:46px;align-items:center}
.page-body .ed-content-copy{padding:6px 0 23px}
.page-body .ed-content-copy h1{font-size:clamp(39px,4.1vw,58px)}
.page-body .ed-content-copy .ed-lead{max-width:410px}
.page-body .ed-photo-content{aspect-ratio:1.19}
.page-body .ed-photo-content img{object-position:51% center}
.page-body .ed-content-note{position:absolute;left:22px;bottom:22px;display:flex;align-items:flex-start;gap:12px;padding:15px 18px;border:1px solid rgba(255,255,255,.5);border-radius:13px;background:rgba(247,248,253,.93);color:#172435;box-shadow:inset 0 1px 0 #fff,0 6px 20px #15223518;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.page-body .ed-note-mark{font-size:25px;line-height:1.1;color:#76519d}
.page-body .ed-note-label{font-size:9px;letter-spacing:.09em;text-transform:uppercase;color:#625779;display:block;margin-bottom:5px}
.page-body .ed-content-note p{font-size:14px;font-weight:600;line-height:1.4;margin:0;letter-spacing:-.015em}
.page-body .ed-content-foot{display:flex;align-items:center;gap:28px;margin-top:24px;padding-top:18px;border-top:1px solid var(--s-line);font-size:12px;color:var(--s-muted)}
.page-body .ed-content-foot span+span:before{content:"/";color:var(--s-accent);margin-right:28px;opacity:.7}
html[data-theme="dark"] .page-body .ed-content-note{background:rgba(24,36,53,.93);border-color:rgba(219,207,243,.29);color:#f1f4fa;box-shadow:inset 0 1px 0 #ffffff1a,0 8px 22px #030c1c33}
html[data-theme="dark"] .page-body .ed-note-label{color:#cbb8e4}
html[data-theme="dark"] .page-body .ed-note-mark{color:#c5a4ec}
/* Agencies: headline and introduction above a broad workshop photograph. */
.page-body .ed-agency-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:65px;align-items:end;margin-bottom:28px}
.page-body .ed-agency-heading h1{font-size:clamp(39px,4.2vw,60px);max-width:590px}
.page-body .ed-agency-intro{padding-bottom:2px}
.page-body .ed-agency-intro .ed-lead{margin-top:0;font-size:15px;max-width:445px}
.page-body .ed-agency-intro .ed-actions{margin-top:18px;gap:15px}
.page-body .ed-photo-agency{height:360px;border-radius:18px}
.page-body .ed-photo-agency img{object-position:50% 8%}
.page-body .ed-agency-footer{display:flex;align-items:center;gap:22px;margin-top:13px;font-size:11px;color:var(--s-muted);flex-wrap:wrap}
.page-body .ed-agency-footer p{margin:0 auto 0 0;font-size:13px;font-weight:550;color:var(--s-ink)}
.page-body .ed-agency-footer>span{padding-left:12px;border-left:1px solid var(--s-line);white-space:nowrap}
/* Services: compact linked choices lead; a quieter portrait sits alongside. */
.page-body .ed-services-layout{display:grid;grid-template-columns:minmax(0,1.27fr) minmax(0,.9fr);gap:74px;align-items:center}
.page-body .ed-service-copy h1{font-size:clamp(42px,4.4vw,62px)}
.page-body .ed-service-copy .ed-lead{max-width:440px;margin-top:18px}
.page-body .ed-service-choices{margin-top:24px;border-top:1px solid var(--s-line)}
.page-body .ed-service-choices>a{display:grid;grid-template-columns:26px minmax(0,1fr) 20px;align-items:center;gap:12px;text-decoration:none;padding:16px 2px;border-bottom:1px solid var(--s-line);min-height:72px;color:var(--s-ink);transition:background-color .18s,color .18s}
.page-body .ed-service-choices>a:hover{background:var(--s-soft)}
.page-body .ed-service-choices>a:focus-visible{outline:3px solid var(--s-green);outline-offset:4px;border-radius:3px}
.page-body .ed-choice-number{color:var(--s-accent);font-size:10px;font-variant-numeric:tabular-nums}
.page-body .ed-service-choices strong{display:block;font-size:15px;font-weight:600;letter-spacing:-.015em;line-height:1.4}
.page-body .ed-service-choices small{display:block;font-size:11px;line-height:1.5;color:var(--s-muted);margin-top:3px}
.page-body .ed-choice-arrow{color:var(--s-green);font-size:19px;text-align:right}
.page-body .ed-photo-services{height:360px;max-height:45vw;border-radius:18px}
.page-body .ed-photo-services img{object-position:48% center}
.page-body .ed-service-caption{margin-top:25px;padding-left:20px;position:relative;display:flex;gap:24px;align-items:center}
.page-body .ed-caption-rule{position:absolute;left:0;top:2px;bottom:2px;width:2px;background:linear-gradient(var(--s-green),var(--s-accent));border-radius:2px}
.page-body .ed-service-caption p{margin:0;font-size:18px;line-height:1.32;font-weight:550;letter-spacing:-.035em;color:var(--s-ink);min-width:145px}
.page-body .ed-service-caption>span:last-child{font-size:11px;line-height:1.6;color:var(--s-muted)}
@media(max-width:1000px) and (min-width:761px){.page-body .ed-content-layout{gap:28px;grid-template-columns:.94fr 1fr}.page-body .ed-agency-heading{gap:30px;grid-template-columns:1.1fr 1fr}.page-body .ed-services-layout{gap:35px;grid-template-columns:1.15fr .9fr}.page-body .ed-service-caption{display:block}.page-body .ed-service-caption>span:last-child{display:block;margin-top:10px}.page-body .ed-photo-services{height:360px;max-height:none}.page-body .ed-agency-heading h1{font-size:43px}.page-body .ed-hero .ed-actions{gap:8px}}
@media(max-width:760px){
 .page-body .ed-hero{padding-top:18px;padding-bottom:28px}
 .page-body .ed-hero .breadcrumb{margin-bottom:22px;font-size:10px}
 .page-body .ed-hero .eyebrow{font-size:10px;margin-bottom:11px}
 .page-body .ed-hero h1,.page-body .ed-content-copy h1,.page-body .ed-service-copy h1,.page-body .ed-agency-heading h1{font-size:clamp(32px,8.4vw,49px);line-height:1.08;letter-spacing:-.045em}
 .page-body .ed-hero .ed-lead{font-size:14px;line-height:1.6;margin-top:16px;max-width:560px}
 .page-body .ed-actions{gap:13px;margin-top:18px}
 .page-body .ed-actions .btn{min-height:46px;padding:11px 15px;font-size:12px;gap:8px}
 .page-body .ed-actions .text-link{font-size:11px}
 .page-body .ed-small{font-size:10px;margin-top:9px;max-width:none}
 .page-body .ed-hero figcaption{font-size:9px;margin-top:7px;line-height:1.4;text-align:left}
 .page-body .ed-content-layout{grid-template-columns:1fr;gap:20px}
 .page-body .ed-content-copy{padding:0}
 .page-body .ed-photo-content{aspect-ratio:1.58;border-radius:15px}
 .page-body .ed-photo-content img{object-position:50% 43%}
 .page-body .ed-content-note{left:12px;bottom:12px;gap:8px;padding:10px 12px;border-radius:10px}
 .page-body .ed-note-label{font-size:8px;margin-bottom:3px}
 .page-body .ed-note-mark{font-size:19px}
 .page-body .ed-content-note p{font-size:11px;line-height:1.35}
 .page-body .ed-content-foot{gap:10px;font-size:10px;line-height:1.5;margin-top:18px;padding-top:13px;justify-content:space-between}
 .page-body .ed-content-foot span{max-width:32%}
 .page-body .ed-content-foot span+span:before{content:none}
 .page-body .ed-agency-heading{display:block;margin-bottom:20px}
 .page-body .ed-agency-heading h1{max-width:520px}
 .page-body .ed-agency-intro .ed-lead{max-width:560px}
 .page-body .ed-agency-intro .ed-actions{margin-top:16px}
 .page-body .ed-photo-agency{height:auto;aspect-ratio:1.65;border-radius:15px}
 .page-body .ed-photo-agency img{object-position:center}
 .page-body .ed-agency-footer{gap:10px 14px;margin-top:14px;font-size:10px}
 .page-body .ed-agency-footer p{width:100%;font-size:12px;margin-bottom:1px}
 .page-body .ed-agency-footer>span{padding-left:0;border-left:0}
 .page-body .ed-services-layout{display:grid;grid-template-columns:1fr;gap:22px}
 .page-body .ed-service-copy{display:contents}
 .page-body .ed-service-copy>.eyebrow{grid-row:1;margin-bottom:-13px}
 .page-body .ed-service-copy>h1{grid-row:2}
 .page-body .ed-service-copy>.ed-lead{grid-row:3;margin-top:-9px}
 .page-body .ed-services-figure{grid-row:4;display:grid;grid-template-columns:1.08fr 1fr;column-gap:18px;align-items:center}
 .page-body .ed-photo-services{height:146px;max-height:none;grid-column:1;grid-row:1;border-radius:13px}
 .page-body .ed-photo-services img{object-position:center}
 .page-body .ed-services-figure>figcaption{grid-column:1/-1;grid-row:2;margin-top:7px}
 .page-body .ed-service-caption{grid-column:2;grid-row:1;display:block;margin:0;padding-left:14px}
 .page-body .ed-service-caption p{font-size:17px;min-width:0}
 .page-body .ed-service-caption>span:last-child{display:block;font-size:10px;line-height:1.6;margin-top:9px}
 .page-body .ed-service-choices{grid-row:5;margin-top:-2px}
 .page-body .ed-service-choices>a{padding:13px 0;min-height:68px;gap:9px;grid-template-columns:22px minmax(0,1fr) 17px}
 .page-body .ed-service-choices strong{font-size:13px}
 .page-body .ed-service-choices small{font-size:10px}
 .page-body .ed-service-copy>.ed-actions{grid-row:6;margin-top:-4px}
}
@media(max-width:360px){.page-body .ed-hero .ed-actions{gap:4px 13px}.page-body .ed-hero h1,.page-body .ed-agency-heading h1{font-size:32px}.page-body .ed-content-note{left:9px;bottom:9px;padding:8px 9px}.page-body .ed-content-note p{font-size:10px}.page-body .ed-note-label{font-size:7px}.page-body .ed-content-note .ed-note-mark{font-size:17px}.page-body .ed-photo-services{height:135px}.page-body .ed-service-caption p{font-size:16px}.page-body .ed-service-caption>span:last-child{font-size:9px}.page-body .ed-service-choices small{font-size:10px}}
@media(prefers-reduced-motion:reduce){.page-body .ed-service-choices>a{transition:none}}
/* Agencies: a photographic opening. Small screens separate the text and photo. */
.page-body .ed-hero.ed-agency-hero{padding:26px 0 0}
.page-body .ed-agency-hero>.breadcrumb.wrap{margin-bottom:24px}
.page-body .ed-agency-scene{position:relative;isolation:isolate;min-height:520px;background:#0f1827;overflow:hidden}
.page-body .ed-agency-scene .ed-agency-background{position:absolute;inset:0;width:100%;height:100%;margin:0;z-index:-2}
.page-body .ed-agency-background img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 9%}
.page-body .ed-agency-scene:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(15,24,39,.98) 0%,rgba(15,24,39,.92) 22%,rgba(15,24,39,.77) 41%,rgba(15,24,39,.35) 64%,rgba(15,24,39,.08) 100%)}
.page-body .ed-agency-panel.wrap{position:relative;padding-top:55px;padding-bottom:57px}
.page-body .ed-agency-identity{max-width:550px}
.page-body .ed-agency-hero .ed-agency-identity .eyebrow{color:#8ae2cf;font-size:11px;margin-bottom:17px}
.page-body .ed-agency-hero .ed-agency-identity h1{font-size:clamp(44px,4.5vw,64px);line-height:1.05;letter-spacing:-.049em;color:#f8faff;max-width:560px;margin:0;text-shadow:0 2px 18px #050b1540}
.page-body .ed-agency-details{max-width:475px}
.page-body .ed-agency-hero .ed-agency-details .ed-lead{font-size:15px;line-height:1.75;color:#e0e8f1;max-width:440px;margin-top:21px}
.page-body .ed-agency-details .ed-actions{margin-top:23px;gap:20px}
.page-body .ed-agency-details .btn-primary{background:#78d9c5;border-color:#a6eddc;color:#092c29;box-shadow:inset 0 1px 0 #ffffff80,0 4px 16px #00000014}
.page-body .ed-agency-details .text-link{color:#e4f9f2;text-decoration:underline;text-decoration-color:#b4d4c966;text-underline-offset:5px;font-size:12px}
.page-body .ed-agency-details .btn:focus-visible,.page-body .ed-agency-details .text-link:focus-visible{outline:3px solid #c6b2f0;outline-offset:5px}
.page-body .ed-agency-background figcaption{position:absolute;right:max(32px,calc((100vw - 1120px)/2));bottom:15px;color:#f0f4f9;background:rgba(15,24,39,.72);border:1px solid #ffffff24;border-radius:6px;padding:6px 9px;font-size:9px;line-height:1.45;max-width:300px;margin:0;text-align:left;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.page-body .ed-agency-process{position:relative;display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;padding:0;list-style:none;margin:33px 0 0;max-width:410px;overflow:hidden}
.page-body .ed-agency-process:before{content:"";position:absolute;left:3px;right:3px;top:3px;height:1px;background:rgba(211,231,231,.26)}
.page-body .ed-agency-process:after{content:"";position:absolute;width:75px;height:1px;left:0;top:3px;background:linear-gradient(90deg,transparent,#8ae2cf,transparent);transform:translateX(-85px);animation:ed-agency-flow 5s ease-in-out infinite;pointer-events:none}
.page-body .ed-agency-process li{position:relative;font-size:11px;line-height:1.5;color:#d7e5ed}
.page-body .ed-agency-process li:last-child{text-align:right}
.page-body .ed-agency-process li:nth-child(2){text-align:center}
.page-body .ed-process-dot{display:block;position:relative;z-index:1;width:7px;height:7px;border-radius:50%;background:#a4ddd2;box-shadow:0 0 0 4px #13312f;margin-bottom:11px}
.page-body .ed-agency-process li:nth-child(2) .ed-process-dot{margin-left:auto;margin-right:auto;background:#c9b5e4;box-shadow:0 0 0 4px #302e3a}
.page-body .ed-agency-process li:last-child .ed-process-dot{margin-left:auto;background:#b3c5d7;box-shadow:0 0 0 4px #404549}
@keyframes ed-agency-flow{0%,10%{transform:translateX(-85px);opacity:0}17%{opacity:1}83%{opacity:1}95%,100%{transform:translateX(430px);opacity:0}}
@media(min-width:761px) and (max-width:1100px){.page-body .ed-agency-scene:before{background:linear-gradient(90deg,#0f1827f5 0%,#0f1827db 34%,#0f18278f 60%,#0f182733 100%)}.page-body .ed-agency-identity{max-width:500px}.page-body .ed-agency-hero .ed-agency-identity h1{font-size:52px}.page-body .ed-agency-background img{object-position:62% center}.page-body .ed-agency-panel.wrap{padding-top:45px;padding-bottom:54px}}
@media(max-width:760px){
 .page-body .ed-hero.ed-agency-hero{padding:18px 0 27px}
 .page-body .ed-agency-hero>.breadcrumb.wrap{margin-bottom:24px}
 .page-body .ed-agency-scene{display:grid;grid-template-columns:1fr;background:none;min-height:0;overflow:visible}
 .page-body .ed-agency-scene:before{content:none}
 .page-body .ed-agency-panel.wrap{display:contents}
 .page-body .ed-agency-identity{grid-row:1;width:calc(100% - 36px);margin:0 auto 21px;max-width:none}
 .page-body .ed-agency-hero .ed-agency-identity .eyebrow{color:var(--s-green);font-size:10px;margin-bottom:11px}
 .page-body .ed-agency-hero .ed-agency-identity h1{font-size:clamp(34px,9vw,49px);line-height:1.07;letter-spacing:-.045em;color:var(--s-ink);text-shadow:none;max-width:540px}
 .page-body .ed-agency-scene .ed-agency-background{position:relative;inset:auto;grid-row:2;z-index:auto;height:auto;width:100%;margin:0}
 .page-body .ed-agency-background img{width:100%;height:auto;aspect-ratio:1.78;object-fit:cover;object-position:center;display:block}
 .page-body .ed-agency-background figcaption{position:static;max-width:none;padding:7px 18px 0;border:0;background:none;color:var(--s-muted);font-size:8px;line-height:1.4;backdrop-filter:none;-webkit-backdrop-filter:none;border-radius:0;text-align:left;margin:0}
 .page-body .ed-agency-details{grid-row:3;width:calc(100% - 36px);margin:19px auto 0;max-width:none}
 .page-body .ed-agency-hero .ed-agency-details .ed-lead{font-size:14px;line-height:1.6;color:var(--s-muted);margin:0;max-width:580px}
 .page-body .ed-agency-details .ed-actions{margin-top:17px;gap:16px}
 .page-body .ed-agency-details .btn-primary{background:var(--s-green);color:var(--s-bg);border-color:var(--s-green);box-shadow:inset 0 1px 0 #ffffff30}
 .page-body .ed-agency-details .text-link{color:var(--s-green);font-size:11px;text-decoration:none}
 .page-body .ed-agency-process{margin-top:24px;max-width:450px;gap:10px}
 .page-body .ed-agency-process:before{background:var(--s-line)}
 .page-body .ed-agency-process:after{background:linear-gradient(90deg,transparent,var(--s-green),transparent)}
 .page-body .ed-agency-process li{color:var(--s-muted);font-size:10px}
 .page-body .ed-process-dot,.page-body .ed-agency-process li:last-child .ed-process-dot{background:var(--s-green);box-shadow:0 0 0 4px var(--s-bg)}
 .page-body .ed-agency-process li:nth-child(2) .ed-process-dot{background:var(--s-accent);box-shadow:0 0 0 4px var(--s-bg)}
}
@media(prefers-reduced-motion:reduce){.page-body .ed-agency-process:after{animation:none;display:none}}
/* The photograph needs a luminous action in either theme; shared home buttons stay unchanged. */
@media(min-width:761px){.page-body .ed-agency-details .btn-primary{background:#78d9c5!important;color:#092c29!important;border:1px solid #a6eddc!important;box-shadow:inset 0 1px 0 #ffffff80,0 4px 16px #00000014!important}.page-body .ed-agency-details .btn-primary:hover{background:#9ce9d9!important}}

/* Focus photography on the work: a broad studio scene and a readable product screen. */
.company-photo--panorama{width:100%;max-width:none;margin:0}.company-photo--panorama img{display:block;width:100%;height:auto;max-height:590px;aspect-ratio:2.3;object-fit:cover;object-position:center 20%;border-radius:0}.company-photo--panorama figcaption{margin-top:10px}.page-body .ed-photo-services img{object-position:62% center}.business-photo img[src*="marketing-studio"]{object-position:69% center}@media(max-width:700px){.company-photo--panorama img{height:270px;aspect-ratio:auto;object-position:53% center}.company-photo--panorama figcaption{font-size:9px;line-height:1.6}.page-body .ed-photo-services img{object-position:65% center}}

/* About's mascot welcomes readers without replacing the story or company information. */
.company-origin--mascot .about-mascot{width:190px;max-width:100%;height:125px}.company-origin--mascot .site-dog{width:190px;height:125px;margin:0}.company-origin--mascot p{margin-top:12px}.company-origin--mascot{padding-left:25px}@media(max-width:700px){.company-origin.company-origin--mascot{display:flex;align-items:center;gap:16px;border:0;padding:0;margin:-7px 0 0}.company-origin--mascot .about-mascot,.company-origin--mascot .site-dog{width:104px;height:73px;flex-shrink:0}.company-origin--mascot p{font-size:11px;line-height:1.7;margin:0;max-width:200px}}
