.service-photo,.service-ai{background:transparent}
.hero-playground{background-image:linear-gradient(145deg,rgba(21,37,49,.48),rgba(21,37,49,.84)),url("assets/hero-editorial.png");background-size:cover;background-position:center}
.hero-playground:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(21,37,49,.06),rgba(21,37,49,.3));pointer-events:none}
.hero-playground>*{z-index:2}
.photography{position:relative;background:#101c24;color:var(--paper);overflow:hidden}
.photography:before{content:"";position:absolute;width:42vw;height:42vw;right:-18vw;top:-18vw;border:1px solid rgba(255,255,255,.12);border-radius:50%;pointer-events:none}
.photography-intro{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:end}
.photography h2{color:var(--paper);font-size:clamp(52px,7.2vw,108px);margin-bottom:0}
.photography h2 em{color:#d09579}
.photography-copy{padding-bottom:10px}
.photography-copy p{font-size:clamp(16px,1.3vw,19px);line-height:1.75;color:#bdc6ca;margin:0 0 20px}
.photography-copy small{display:block;margin-top:36px;color:#d09579;font-size:9px;line-height:1.5;letter-spacing:.14em;text-transform:uppercase}
.photo-gallery{display:grid;grid-template-columns:1.08fr .92fr .92fr;grid-template-rows:330px 330px;gap:16px;margin-top:75px}
.photo-frame{position:relative;margin:0;overflow:hidden;background:#263640}
.photo-frame figure{margin:0;width:100%;height:100%}
.photo-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(8,15,20,.78));pointer-events:none}
.photo-frame img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.78) contrast(1.03);transition:transform .8s cubic-bezier(.2,.75,.2,1),filter .5s}
.photo-frame:hover img{transform:scale(1.045);filter:saturate(1) contrast(1.04)}
.photo-frame figcaption{position:absolute;z-index:2;left:24px;right:24px;bottom:20px;display:flex;align-items:end;justify-content:space-between;gap:18px}
.photo-frame figcaption span{font-size:8px;letter-spacing:.17em;text-transform:uppercase;color:#d7a28a}
.photo-frame figcaption b{font-family:var(--font-head);font-size:clamp(16px,1.5vw,22px);font-weight:500;text-align:right}
.photo-portrait{grid-row:1/3}
.photo-product{grid-column:2}
.photo-interior{grid-column:3}
.photo-event{grid-column:2/4}
.photo-services{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px}
.photo-services span{border:1px solid #52616a;border-radius:99px;padding:8px 13px;font-size:9px;letter-spacing:.11em;text-transform:uppercase;color:#c5ced2;transition:.25s}
.photo-services span:hover{background:var(--paper);border-color:var(--paper);color:var(--navy);transform:translateY(-2px)}
@media(max-width:900px){.photography-intro{grid-template-columns:1fr}.photography-copy{max-width:720px}.photo-gallery{grid-template-columns:1fr 1fr;grid-template-rows:420px 260px 320px}.photo-portrait{grid-row:1;grid-column:1}.photo-product{grid-column:2}.photo-interior{grid-column:1}.photo-event{grid-column:1/3}}
@media(max-width:600px){.photo-gallery{grid-template-columns:1fr;grid-template-rows:430px repeat(3,260px);gap:12px;margin-top:52px}.photo-portrait,.photo-product,.photo-interior,.photo-event{grid-column:1;grid-row:auto}.photo-frame figcaption{left:17px;right:17px;bottom:15px}}
@media(prefers-reduced-motion:reduce){.photo-frame img{transition:none}.photo-frame:hover img{transform:none}}
.transformation{background:#d7d1c6;border-block:1px solid var(--line)}
.transformation-head{display:grid;grid-template-columns:.35fr 1.65fr;gap:7vw;align-items:start}
.transformation-head h2{font-size:clamp(50px,7.4vw,112px);margin:0 0 80px}
.transformation-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.transformation-grid article{position:relative;min-height:330px;padding:clamp(28px,4vw,52px);border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .35s,color .35s}
.transformation-grid article:hover{background:var(--paper)}
.transformation-grid article>span{font-size:8px;letter-spacing:.16em;color:var(--copper)}
.transformation-grid h3{font-family:var(--font-head);font-size:clamp(27px,3vw,43px);font-weight:500;line-height:1;letter-spacing:-.05em;margin:65px 0 20px;max-width:500px}
.transformation-grid p{max-width:540px;color:#606b71;line-height:1.7}
.transformation-grid .transformation-ai{background:var(--navy);color:var(--paper)}
.transformation-grid .transformation-ai:hover{background:#203540}
.transformation-grid .transformation-ai p{color:#bdc6ca}
@media(max-width:850px){.transformation-head{grid-template-columns:1fr}.transformation-head h2{margin-top:35px}.transformation-grid{grid-template-columns:1fr}}
