.pf-section{padding:var(--section) 0;background:var(--ink);color:var(--bone)}.pf-section.tint,.tint{background:var(--bone);color:var(--txt)}.pf-section.stone,.stone{background:var(--stone);color:var(--txt)}.tint .lede,.stone .lede{color:var(--txt-2)}.tint .kicker,.stone .kicker{color:var(--muted-d)}.tint .label,.stone .label{color:var(--muted-d)}.tint .more,.stone .more{color:var(--magenta-d)}.tint .more:hover,.stone .more:hover{color:var(--txt)}.tint .statement,.stone .statement{color:var(--txt)}.head{display:flex;flex-direction:column;gap:14px;margin-bottom:40px}.head .bh{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}.head .bh>div{display:flex;flex-direction:column;gap:14px}.head.has-lede{display:grid;grid-template-columns:7fr 5fr;gap:32px;align-items:end}.head.has-lede>div{display:flex;flex-direction:column;gap:20px}.head.has-art{display:grid;grid-template-columns:1fr minmax(0,360px);gap:32px;align-items:center}@media (max-width:900px){.head.has-lede,.head.has-art{grid-template-columns:1fr}}.pf-strip{padding:28px 0;background:var(--bone);color:var(--txt);border-block:1px solid var(--stone-line)}.pf-strip ul{list-style:none;display:flex;flex-wrap:wrap;gap:14px 36px;justify-content:center;font-family:var(--font-display);font-weight:500;font-size:15px;letter-spacing:.06em;text-transform:uppercase}.pf-strip li{display:flex;align-items:center;gap:12px}.pf-strip li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--magenta)}.pf-strip.dark{background:var(--ink-2);color:var(--bone);border-color:var(--line)}.pf-split{padding:var(--section) 0;background:var(--bone);color:var(--txt)}.pf-split .wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;align-items:center}.pf-split .wrap>div:first-child{display:flex;flex-direction:column;gap:22px}.pf-split.flip .wrap>div:first-child{order:2}.pf-points{display:flex;flex-direction:column;gap:18px}.pf-point{display:flex;gap:14px;align-items:flex-start;font-size:15px;line-height:1.55;color:var(--txt-2)}.pf-point .tick{flex:none;width:24px;height:24px;border-radius:50%;background:var(--magenta);color:#fff;font-size:13px;display:inline-flex;align-items:center;justify-content:center}.pf-point p b{color:var(--txt);font-family:var(--font-display);font-weight:600}.pf-dark .pf-point,.pf-section:not(.tint):not(.stone) .pf-point{color:var(--muted)}.pf-dark .pf-point p b,.pf-section:not(.tint):not(.stone) .pf-point p b{color:var(--bone)}@media (max-width:900px){.pf-split .wrap{grid-template-columns:1fr}.pf-split.flip .wrap>div:first-child{order:0}}.pf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.pf-grid.is-2{grid-template-columns:repeat(2,minmax(0,1fr))}.pf-card{display:flex;flex-direction:column;gap:14px;padding:28px;border-radius:var(--r-lg);background:var(--paper);border:1px solid #E2DCD1;color:var(--txt);transition:transform .25s var(--ease),border-color .25s}.pf-card:hover{transform:translateY(-3px);border-color:var(--stone-line)}.pf-card .n{font-family:var(--font-display);font-weight:600;font-size:13px;letter-spacing:.14em;color:var(--magenta-d)}.pf-card h3{font-size:22px}.pf-card p{font-size:15px;line-height:1.55;color:var(--txt-2)}.pf-card ul{list-style:none;display:flex;flex-direction:column;gap:8px;font-size:15px;color:var(--txt-2)}.pf-card li{display:flex;gap:10px;align-items:baseline}.pf-card li::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--magenta);transform:translateY(-2px)}.pf-card--dark{background:var(--ink-2);border-color:var(--line-2);color:var(--bone)}.pf-card--dark .n{color:var(--magenta)}.pf-card--dark p,.pf-card--dark ul{color:var(--muted)}.pf-card--dark a{color:var(--magenta)}.pf-card--dark:hover{border-color:var(--line-3)}.pf-section:not(.tint):not(.stone) .pf-card{background:var(--ink-2);border-color:var(--line-2);color:var(--bone)}.pf-section:not(.tint):not(.stone) .pf-card p,.pf-section:not(.tint):not(.stone) .pf-card ul{color:var(--muted)}.pf-section:not(.tint):not(.stone) .pf-card .n{color:var(--magenta)}@media (max-width:900px){.pf-grid,.pf-grid.is-2{grid-template-columns:1fr}}.pf-dark{position:relative;padding:var(--section) 0;background:var(--ink-2);color:var(--bone);overflow:hidden}.pf-dark .wrap{position:relative;z-index:1}.pf-dark .glow{position:absolute;right:-10%;top:-30%;width:55%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(230,46,123,.16),transparent);pointer-events:none}.grain::before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='.05'/%3E%3C/svg%3E");pointer-events:none}.on-dark{color:var(--bone)}.pf-dark .lede{color:var(--muted-2)}.pf-dark .row{margin-top:8px}.pf-dark .btn-ghost{border-color:var(--line-3);color:var(--bone)}.pf-dark .btn-ghost:hover{border-color:var(--bone)}.pf-dark .head{margin-bottom:40px}/* media (image + text) */ .pf-media{padding:var(--section) 0;background:var(--ink);color:var(--bone)}.pf-media .wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,4vw,64px);align-items:center}.pf-media .wrap>div{display:flex;flex-direction:column;gap:24px}.pf-media .wrap>div .kicker{align-self:flex-start}.pf-media.flip .wrap>.pf-figure{order:2}.pf-media .row{margin-top:4px}.pf-media.stone{background:var(--stone);color:var(--txt)}.pf-media.tint{background:var(--bone);color:var(--txt)}.pf-media.stone .kicker,.pf-media.tint .kicker{color:var(--muted-d)}.pf-media.stone .lede,.pf-media.tint .lede{color:var(--txt-2)}.pf-media.pf-dark{background:var(--ink-2)}@media (max-width:900px){.pf-media .wrap{grid-template-columns:1fr}.pf-media.flip .wrap>.pf-figure{order:0}}/* figures,galleries,carousel */ .pf-figure{display:flex;flex-direction:column;gap:12px}.pf-figure img,.pf-figure .riv-slot{width:100%;border-radius:var(--r);overflow:hidden}.pf-figure img{object-fit:cover}.pf-figure figcaption{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:14px;color:var(--muted-d)}.pf-figure figcaption b{color:var(--txt);font-weight:600}.pf-dark .pf-figure figcaption,.pf-section:not(.tint):not(.stone) .pf-figure figcaption,.pf-media:not(.tint):not(.stone) .pf-figure figcaption{color:var(--muted)}.pf-dark .pf-figure figcaption b,.pf-section:not(.tint):not(.stone) .pf-figure figcaption b,.pf-media:not(.tint):not(.stone) .pf-figure figcaption b{color:var(--bone)}.pf-figure.tilt img{transform:rotate(-1.5deg)}.pf-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.pf-gallery.two{grid-template-columns:repeat(2,minmax(0,1fr))}.pf-gallery .pf-figure img{aspect-ratio:4 / 3}.pf-gallery .pf-figure.wide{grid-column:span 2}.pf-gallery .pf-figure.wide img{aspect-ratio:2 / 1}@media (max-width:760px){.pf-gallery,.pf-gallery.two{grid-template-columns:1fr}.pf-gallery .pf-figure.wide{grid-column:auto}}.pf-carousel{position:relative}.pf-carousel__track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px) / 3);gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px}.pf-carousel__track::-webkit-scrollbar{display:none}.pf-carousel__track>.pf-figure{scroll-snap-align:start}.pf-carousel.two .pf-carousel__track{grid-auto-columns:calc((100% - 24px) / 2)}.pf-carousel.one .pf-carousel__track{grid-auto-columns:100%}.pf-carousel__nav{display:flex;align-items:center;gap:12px;margin-top:20px}.pf-carousel__dots{display:flex;gap:6px;margin-right:auto}.pf-carousel__dots i{width:8px;height:8px;border-radius:50%;background:var(--line-3)}.pf-carousel__dots i.is-on{background:var(--magenta)}.pf-carousel__btn{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--line-3);background:transparent;color:inherit;cursor:pointer}.pf-carousel__btn:hover{border-color:var(--magenta);color:var(--magenta)}.pf-carousel__btn[disabled]{opacity:.35;cursor:default}.tint .pf-carousel__btn,.stone .pf-carousel__btn{border-color:var(--stone-line)}.tint .pf-carousel__dots i,.stone .pf-carousel__dots i{background:var(--stone-line)}@media (max-width:900px){.pf-carousel__track,.pf-carousel.two .pf-carousel__track{grid-auto-columns:78%}}/* faq */ .pf-faq{display:grid;grid-template-columns:4fr 8fr;gap:32px}.pf-faq .head{margin:0}.pf-faq__list{display:flex;flex-direction:column;border-top:1px solid var(--stone-line)}.pf-faq details{border-bottom:1px solid var(--stone-line)}.pf-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;padding:20px 0;font-family:var(--font-display);font-weight:600;font-size:18px;letter-spacing:-0.015em}.pf-faq summary::-webkit-details-marker{display:none}.pf-faq summary::after{content:"+";color:var(--magenta);font-size:22px;line-height:1}.pf-faq details[open] summary::after{content:"–"}.pf-faq details p{padding:0 0 20px;font-size:15px;line-height:1.6;color:var(--txt-2);max-width:60ch}.pf-dark .pf-faq details p,.pf-section:not(.tint):not(.stone) .pf-faq details p{color:var(--muted)}.pf-dark .pf-faq__list,.pf-dark .pf-faq details,.pf-section:not(.tint):not(.stone) .pf-faq__list,.pf-section:not(.tint):not(.stone) .pf-faq details{border-color:var(--line-2)}@media (max-width:900px){.pf-faq{grid-template-columns:1fr}}/* quotes */ .pf-quote{display:flex;flex-direction:column;gap:18px;padding:28px;border-radius:var(--r-lg);background:var(--paper);border:1px solid #E2DCD1;color:var(--txt)}.pf-quote blockquote{margin:0;font-family:var(--font-display);font-weight:500;font-size:20px;line-height:1.4;letter-spacing:-0.015em}.pf-quote figcaption{display:flex;flex-direction:column;gap:2px;font-size:14px;color:var(--muted-d)}.pf-quote figcaption b{color:var(--txt)}.pf-section:not(.tint):not(.stone) .pf-quote{background:var(--ink-2);border-color:var(--line-2);color:var(--bone)}.pf-section:not(.tint):not(.stone) .pf-quote figcaption b{color:var(--bone)}.pull{margin:0;padding-left:28px;border-left:3px solid var(--magenta);font-family:var(--font-display);font-weight:500;font-size:clamp(20px,1.9vw,26px);line-height:1.35;letter-spacing:-0.015em}/* art */ .pf-art{display:flex;align-items:center;justify-content:center}.pf-art svg{width:100%;height:auto;max-width:420px}.pf-art.glass svg{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-lg);padding:24px}.tint .pf-art.glass svg,.stone .pf-art.glass svg{background:rgba(26,29,36,.03);border-color:var(--stone-line)}.pf-art.float svg{filter:drop-shadow(0 20px 40px rgba(0,0,0,.25))}/* plans (kept for catalogue completeness;styled simply) */ .pf-plans{padding:var(--section) 0;background:var(--bone);color:var(--txt)}.pf-plangrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.pf-plan{position:relative;display:flex;flex-direction:column;gap:14px;padding:32px 28px;border-radius:var(--r-lg);background:var(--paper);border:1px solid #E2DCD1}.pf-plan .pop{position:absolute;top:-12px;left:24px;padding:5px 10px;border-radius:6px;background:var(--magenta);color:#fff;font-size:11px;font-weight:700;letter-spacing:.12em}.pf-plan .from,.pf-plan .for{font-size:13px;color:var(--muted-d)}.pf-plan .pr{font-family:var(--font-display);font-weight:700;font-size:36px;letter-spacing:-0.03em}.pf-plan .pr small{font-size:14px;font-weight:500;color:var(--muted-d)}.pf-plan ul{list-style:none;display:flex;flex-direction:column;gap:8px;font-size:15px;color:var(--txt-2)}.pf-plan li::before{content:"✓ ";color:var(--magenta-d)}.pf-plan.hot{background:var(--ink-2);color:var(--bone);border-color:var(--line-2)}.pf-plan.hot .from,.pf-plan.hot .for,.pf-plan.hot ul{color:var(--muted)}@media (max-width:900px){.pf-plangrid{grid-template-columns:1fr}}/* chips / dots (shared) */ .chips{display:flex;flex-wrap:wrap;gap:8px}.chips span{padding:7px 12px;border-radius:var(--pill);border:1px solid var(--line-2);font-size:13px;color:var(--muted-2)}.chips--light span,.tint .chips span,.stone .chips span{border:0;background:var(--bone);color:var(--txt);font-weight:500;font-size:14px;padding:9px 14px}.stone .chips span{background:var(--bone)}.tint .chips span{background:var(--stone)}.dots{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 32px;font-size:15px}.dots li{display:flex;gap:12px;align-items:baseline}.dots li::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--magenta);transform:translateY(-2px)}@media (max-width:560px){.dots{grid-template-columns:1fr}}/* ================= B. Swish sections ================= */ /* hero (home) */ .sw-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:680px}.sw-hero__copy{display:flex;flex-direction:column;justify-content:space-between;gap:48px;padding:var(--plate-clear) 48px 64px var(--gutter);border-right:1px solid var(--line)}/* Once the viewport is wider than the wrap,pin the copy column to wrap × 5/12 so the text keeps its width and the photo takes the rest. */ @media (min-width:1440px){.sw-hero{grid-template-columns:calc((100% - var(--wrap)) / 2 + var(--wrap) / 2) minmax(0,1fr)}}.sw-hero__copy>div:first-child{display:flex;flex-direction:column;gap:32px}.sw-hero__copy .display{font-size:clamp(38px,4.4vw,64px);max-width:12ch}.sw-hero__copy .row{padding-top:8px}.sw-hero__meta{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:15px;color:var(--muted-2)}.sw-hero__meta div{display:flex;flex-direction:column;gap:6px}.sw-hero__meta a{color:var(--muted-2)}.sw-hero__media{position:relative;overflow:hidden}.sw-hero__media .riv-slot{position:absolute;inset:0;border-radius:0}.sw-hero__media .riv-slot img{width:100%;height:100%;object-fit:cover}.sw-hero__caption{position:absolute;left:40px;bottom:40px;display:inline-flex;align-items:center;gap:12px;padding:12px 16px 12px 14px;border-radius:8px;background:rgba(14,17,23,.82);font-size:13px;font-weight:500}.sw-hero__caption i{width:8px;height:8px;border-radius:50%;background:var(--magenta)}@media (min-width:1440px){.sw-hero__copy{padding-left:calc((100vw - var(--wrap)) / 2)}}@media (max-width:900px){.sw-hero{grid-template-columns:1fr;min-height:0}.sw-hero__copy{border-right:0;padding:var(--plate-clear) var(--gutter) 36px;gap:24px}.sw-hero__copy .display{max-width:none}.sw-hero__copy .row .btn{flex:1 1 100%}.sw-hero__meta{display:none}.sw-hero__media{aspect-ratio:4 / 3}.sw-hero__caption{left:16px;bottom:16px;font-size:12px}}/* ticker */ .sw-ticker{height:64px;display:flex;align-items:center;overflow:hidden;background:#0B0E13;border-block:1px solid var(--line)}.sw-ticker__track{display:flex;white-space:nowrap;font-family:var(--font-display);font-weight:500;font-size:15px;letter-spacing:.12em;text-transform:uppercase;color:#8B92A0;animation:sw-ticker 40s linear infinite}.sw-ticker__track span{padding-right:2px}@keyframes sw-ticker{to{transform:translateX(-50%)}}@media (prefers-reduced-motion:reduce){.sw-ticker__track{animation:none}}/* since 1995 */ .sw-since__grid{display:grid;grid-template-columns:4fr 7fr;gap:32px 64px;align-items:start}.sw-since__year{display:flex;flex-direction:column;gap:10px}.sw-stat{font-family:var(--font-display);font-weight:700;font-size:clamp(72px,9vw,128px);line-height:.9;letter-spacing:-0.05em}.sw-since__grid>div:last-child{display:flex;flex-direction:column;gap:40px}.sw-since__points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding-top:32px;border-top:1px solid var(--line)}.sw-since__points .pf-point{display:block}.sw-since__points .pf-point p b{display:block;margin-bottom:8px;font-size:17px}@media (max-width:900px){.sw-since__grid{grid-template-columns:1fr}.sw-since__points{grid-template-columns:1fr;gap:20px}.sw-since__year{flex-direction:row;align-items:baseline;gap:14px}}/* tiles */ .sw-tiles-section{padding-top:0}.sw-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.sw-tile{display:flex;flex-direction:column;background:var(--ink-2);border-radius:var(--r-lg);overflow:hidden;color:var(--bone);transition:transform .3s var(--ease)}.sw-tile:hover{transform:translateY(-4px);color:var(--bone)}.sw-tile__media{position:relative;aspect-ratio:16 / 10;overflow:hidden}.sw-tile__media .riv-slot{position:absolute;inset:0;border-radius:0}.sw-tile__media .tag{position:absolute;top:20px;left:20px;padding:8px 12px;border-radius:6px;background:rgba(14,17,23,.85);font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600}.sw-tile__body{display:flex;flex-direction:column;gap:18px;padding:32px 32px 36px}.sw-tile__body h3{font-size:clamp(22px,2vw,28px)}.sw-tile__body p{font-size:16px;line-height:1.55;color:var(--muted)}@media (max-width:900px){.sw-tiles{grid-template-columns:1fr}.sw-tile__body{padding:24px 20px 28px}}/* selected work grid */ .sw-work{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}.sw-work .pf-figure .riv-slot{height:100%}.sw-work .pf-figure .riv-slot img{height:100%}.sw-work__tall{grid-column:span 5;grid-row:span 2}.sw-work__tall .riv-slot{aspect-ratio:5 / 5.6}.sw-work__wide{grid-column:span 7}.sw-work__wide .riv-slot{aspect-ratio:2.2 / 1}.sw-work__sm1{grid-column:6 / span 3}.sw-work__sm2{grid-column:9 / span 4}.sw-work__sm1 .riv-slot,.sw-work__sm2 .riv-slot{aspect-ratio:1.6 / 1}.sw-work__r1,.sw-work__r2{grid-column:span 4}.sw-work__r1 .riv-slot,.sw-work__r2 .riv-slot{aspect-ratio:1.33 / 1}.sw-work__cta{grid-column:span 4;display:flex;flex-direction:column;justify-content:space-between;gap:24px;padding:32px;border-radius:var(--r);background:var(--txt);color:var(--bone);transition:transform .25s var(--ease)}.sw-work__cta:hover{transform:translateY(-3px);color:var(--bone)}.sw-work__cta .h{font-family:var(--font-display);font-weight:600;font-size:22px;line-height:1.3;letter-spacing:-0.02em}.sw-work__cta .more{color:var(--magenta)}@media (max-width:900px){.sw-work{grid-template-columns:repeat(2,minmax(0,1fr))}.sw-work__tall,.sw-work__wide,.sw-work__cta{grid-column:1 / -1;grid-row:auto}.sw-work__sm1,.sw-work__sm2,.sw-work__r1,.sw-work__r2{grid-column:span 1}.sw-work__tall .riv-slot{aspect-ratio:4 / 3}.sw-work .pf-figure figcaption{flex-direction:column;gap:2px}}/* steps / process */ .sw-steps{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}.sw-steps::before{content:"";position:absolute;left:0;right:0;top:7px;height:2px;background:repeating-linear-gradient(90deg,var(--magenta) 0 14px,transparent 14px 24px);opacity:.8}.sw-steps--three{grid-template-columns:repeat(3,minmax(0,1fr))}.sw-steps--tight{gap:24px}.sw-step{display:flex;flex-direction:column;gap:16px;padding-top:32px}.sw-step .n{font-family:var(--font-display);font-weight:600;font-size:13px;letter-spacing:.14em;color:var(--magenta)}.tint .sw-step .n,.stone .sw-step .n{color:var(--magenta-d)}.sw-step h3{font-size:22px}.sw-step p{font-size:15px;line-height:1.55;color:var(--muted)}.tint .sw-step p,.stone .sw-step p{color:var(--txt-2)}.sw-steps--vertical{grid-template-columns:1fr;gap:0;padding-left:28px}.sw-steps--vertical::before{left:7px;right:auto;top:8px;bottom:8px;width:2px;height:auto;background:repeating-linear-gradient(180deg,var(--magenta) 0 12px,transparent 12px 20px)}.sw-steps--vertical .sw-step{position:relative;padding:0 0 28px;gap:6px}.sw-steps--vertical .sw-step::before{content:"";position:absolute;left:-28px;top:4px;width:16px;height:16px;border-radius:50%;background:var(--ink);border:2px solid var(--magenta)}@media (max-width:900px){.sw-steps,.sw-steps--three{grid-template-columns:1fr;gap:0;padding-left:28px}.sw-steps::before{left:7px;right:auto;top:8px;bottom:8px;width:2px;height:auto;background:repeating-linear-gradient(180deg,var(--magenta) 0 12px,transparent 12px 20px)}.sw-step{position:relative;padding:0 0 28px;gap:6px}.sw-step::before{content:"";position:absolute;left:-28px;top:4px;width:16px;height:16px;border-radius:50%;background:var(--ink);border:2px solid var(--magenta)}.tint .sw-step::before{background:var(--bone)}.stone .sw-step::before{background:var(--stone)}}/* personalisation band (home) */ .sw-personalise .dots{padding-top:8px;max-width:520px}/* contact band */ .sw-cta{padding:var(--section) 0;background:var(--ink);color:var(--bone);border-top:1px solid var(--line)}.sw-cta__grid{display:grid;grid-template-columns:7fr 4fr;gap:32px 64px;align-items:start}.sw-cta__grid>div:first-child{display:flex;flex-direction:column;gap:24px}.sw-cta .display{font-size:clamp(34px,4.2vw,60px);letter-spacing:-0.035em}.sw-cta__details{display:flex;flex-direction:column;gap:28px;padding-top:10px}.sw-cta__details>div{display:flex;flex-direction:column;gap:6px;font-size:17px}.sw-cta__details a:hover{color:var(--magenta)}@media (max-width:900px){.sw-cta__grid{grid-template-columns:1fr}.sw-cta .row .btn{flex:1 1 100%}}/* service cover hero */ .sw-cover{position:relative;min-height:680px;display:flex;align-items:flex-end;padding-bottom:72px;overflow:hidden;color:var(--bone)}.sw-cover__media{position:absolute!important;inset:0;border-radius:0!important}.sw-cover__media img{width:100%;height:100%;object-fit:cover}.sw-cover__scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,17,23,.92) 0%,rgba(14,17,23,.55) 55%,rgba(14,17,23,.1) 100%)}.sw-cover__copy{position:relative;display:flex;flex-direction:column;gap:28px;max-width:720px;margin-left:max(var(--gutter),(100% - var(--wrap)) / 2)}.sw-cover__copy .lede{max-width:560px;color:#D5D9E0}@media (max-width:900px){.sw-cover{min-height:0;padding-top:var(--plate-clear);padding-bottom:40px}.sw-cover__scrim{background:linear-gradient(180deg,rgba(14,17,23,.35) 0%,rgba(14,17,23,.7) 40%,rgba(14,17,23,.95) 100%)}.sw-cover__copy .row .btn{flex:1 1 100%}}/* split (text + list / steps) */ .sw-split{display:grid;grid-template-columns:4fr 7fr;gap:32px 64px;align-items:start}.sw-split--narrow{grid-template-columns:4fr 8fr}.sw-split>div:first-child{display:flex;flex-direction:column;gap:22px}.sw-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 32px}.sw-list__item{display:flex;flex-direction:column;gap:14px;padding-top:28px;border-top:1px solid var(--stone-line)}.sw-list__item .n{font-family:var(--font-display);font-weight:600;font-size:13px;letter-spacing:.14em;color:var(--magenta-d)}.sw-list__item h3{font-size:22px}.sw-list__item p{font-size:15px;line-height:1.55;color:var(--txt-2)}@media (max-width:900px){.sw-split,.sw-split--narrow{grid-template-columns:1fr}.sw-list{grid-template-columns:1fr;gap:0}.sw-list__item{padding:18px 0}}/* recent work strip (service pages) */ .sw-strip{display:grid;grid-template-columns:2fr 1fr 1fr;gap:24px}.sw-strip{align-items:start}.sw-strip .riv-slot{aspect-ratio:1.3 / 1}.sw-strip__wide .riv-slot{aspect-ratio:2.68 / 1}@media (max-width:900px){.sw-strip{grid-template-columns:1fr 1fr}.sw-strip__wide{grid-column:1 / -1}.sw-strip__wide .riv-slot{aspect-ratio:1.6 / 1}.sw-strip .pf-figure figcaption{flex-direction:column;gap:2px}}/* cross-sell */ .sw-cross .wrap{grid-template-columns:7fr 5fr}.sw-cross .riv-slot{aspect-ratio:1.15 / 1}@media (max-width:900px){.sw-cross .wrap{grid-template-columns:1fr}}/* about */ .sw-about-hero__grid{display:grid;grid-template-columns:6fr 5fr;gap:32px 64px;align-items:center}.sw-about-hero__grid>div:first-child{display:flex;flex-direction:column;gap:28px}.sw-about-hero__grid .display{font-size:clamp(38px,4.7vw,68px)}.sw-cluster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:16px;height:512px}.sw-cluster .riv-slot{height:100%}.sw-cluster__tall{grid-row:span 2}.sw-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.sw-person{display:flex;flex-direction:column;gap:10px}.sw-person__photo{aspect-ratio:4 / 4.2;height:auto;margin-bottom:12px}.sw-person h3{font-size:30px;font-weight:700;letter-spacing:-0.025em}.sw-person .role{font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--magenta-d)}.sw-person p{font-size:16px;line-height:1.6;color:var(--txt-2);margin-top:8px}.sw-feature__grid{display:grid;grid-template-columns:7fr 5fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:24px}.sw-feature__grid .riv-slot{height:100%;box-shadow:var(--shadow)}.sw-feature__main{grid-row:span 2;aspect-ratio:1.4 / 1}.sw-feature__foot{display:grid;grid-template-columns:7fr 4fr;gap:32px;margin-top:48px;align-items:start}.sw-feature__foot .dots{grid-template-columns:1fr;gap:10px;font-size:14px;color:var(--muted)}.sw-visit__grid{display:grid;grid-template-columns:7fr 4fr;gap:32px;align-items:center}.sw-visit__grid>div:first-child{display:flex;flex-direction:column;gap:18px}@media (max-width:900px){.sw-about-hero__grid,.sw-people,.sw-feature__foot,.sw-visit__grid{grid-template-columns:1fr}.sw-cluster{height:320px}.sw-feature__grid{grid-template-columns:1fr;grid-template-rows:auto}.sw-feature__main{grid-row:auto}.sw-feature__grid .riv-slot{aspect-ratio:1.4 / 1}}/* contact page */ .sw-contact__grid{display:grid;grid-template-columns:5fr 6fr;gap:32px 64px;align-items:start}.sw-contact__grid>div:first-child{display:flex;flex-direction:column;gap:28px}.sw-contact__grid .display{font-size:clamp(36px,4.4vw,64px)}.sw-contact__details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding-top:24px;border-top:1px solid var(--stone-line)}.sw-contact__details>div{display:flex;flex-direction:column;gap:6px;font-size:16px}.sw-map{aspect-ratio:1.9 / 1;border-radius:var(--r);overflow:hidden;background:var(--stone)}.sw-map iframe{width:100%;height:100%;border:0;display:block}@media (max-width:900px){.sw-contact__grid{grid-template-columns:1fr}}/* thank you */ .sw-thanks__grid{display:grid;grid-template-columns:7fr 4fr;gap:32px 64px;align-items:start}.sw-thanks__grid>div:first-child{display:flex;flex-direction:column;gap:24px}.sw-thanks .lede a{color:var(--bone);text-decoration:underline;text-underline-offset:3px}@media (max-width:900px){.sw-thanks__grid{grid-template-columns:1fr}}