/* Source: live Wix styles inspected on 2026-10-21. Apply .pep to body.
   Colors and fonts retain the existing visual identity. Layout is rebuilt.
   Prefer a local copy of these exact source fonts when packaging assets. */
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:400;src:url("/assets/fonts/hanken-grotesk-regular.woff2") format("woff2");font-display:swap}
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:600 900;src:url("/assets/fonts/hanken-grotesk-semibold.woff2") format("woff2");font-display:swap}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:100 800;src:url("/assets/fonts/jetbrains-mono.woff2") format("woff2");font-display:swap}
.pep{--pep-paper:#f4efe6;--pep-panel:#e5e1d8;--pep-ink:#0e0e10;--pep-muted:#6b6b6f;--pep-brick:#a8281e;--pep-brick-hover:#852017;--pep-line:#c8c2b8;--pep-white:#fff;--pep-serif:"Hanken Grotesk",Arial,sans-serif;--pep-mono:"JetBrains Mono",monospace;margin:0;background:var(--pep-paper);color:var(--pep-ink);font:400 18px/1.55 var(--pep-serif);-webkit-font-smoothing:antialiased}
.pep *,.pep *::before,.pep *::after{box-sizing:border-box}
.pep :where(h1,h2,h3,p,figure,blockquote){margin:0}
.pep :where(h1,h2,h3){font-weight:600;line-height:1.08;letter-spacing:-.035em;text-wrap:balance}
.pep h1{font-size:clamp(2.25rem,4.3vw,4.3rem);max-width:19ch}
.pep h2{font-size:clamp(1.8rem,3vw,3rem);max-width:24ch}
.pep h3{font-size:clamp(1.3rem,1.8vw,1.65rem);letter-spacing:-.02em}
.pep p{max-width:68ch}
.pep img{display:block;max-width:100%;height:auto}
.pep a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}
.pep a:hover{color:var(--pep-brick)}
.pep :where(button,input,select,textarea){font:inherit;color:inherit}
.pep :where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--pep-brick);outline-offset:4px}
.pep :where(button,.pep-button){cursor:pointer}
.pep .pep-container{width:min(100% - 64px,1320px);margin-inline:auto}
.pep .pep-section{padding-block:clamp(3.5rem,7vw,7rem)}
.pep .pep-section--panel{background:var(--pep-panel)}
.pep .pep-eyebrow{font:400 .75rem/1.6 var(--pep-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--pep-brick);margin-block-end:1rem}
.pep .pep-muted{color:var(--pep-muted)}
.pep .pep-stack{display:grid;align-content:start;gap:1.3rem}
.pep .pep-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.pep .pep-rule{border:0;border-top:1px solid var(--pep-line);margin:0}
.pep .pep-skip{position:fixed;z-index:100;top:8px;left:8px;transform:translateY(-150%);padding:.8rem 1rem;background:var(--pep-white);color:var(--pep-ink)}
.pep .pep-skip:focus{transform:none}
.pep .pep-header{position:relative;z-index:20;border-bottom:1px solid var(--pep-line);background:var(--pep-paper)}
.pep .pep-header-inner{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.pep .pep-brand{display:block;text-decoration:none;font-size:clamp(.9rem,1.9vw,1.65rem);line-height:1.35;letter-spacing:-.035em;white-space:nowrap}
.pep .pep-brand span{color:var(--pep-brick)}
.pep .pep-brand small{display:block;font:inherit}
.pep .pep-nav{display:flex;align-items:center;gap:1.75rem;font-size:.95rem}
.pep .pep-nav a{text-decoration:none;padding-block:10px}
.pep .pep-nav a[aria-current=page]{color:var(--pep-brick);text-decoration:underline}
.pep .pep-language{font:400 .75rem var(--pep-mono);display:flex;gap:.4rem;align-items:center}
.pep .pep-language a{padding:.6rem .4rem}
.pep .pep-button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:.85rem 1.4rem;border:1px solid var(--pep-brick);background:var(--pep-brick);color:var(--pep-paper);text-align:center;text-decoration:none;font-size:1rem;font-weight:600;line-height:1.3;border-radius:0;transition:background-color .16s ease}
.pep .pep-button:hover{background:var(--pep-brick-hover);color:var(--pep-paper)}
.pep .pep-button--outline{background:transparent;color:var(--pep-brick)}
.pep .pep-link{color:var(--pep-brick);font-size:1rem;padding-block:.6rem}
.pep .pep-menu-button{display:none;min-height:44px;min-width:44px;border:1px solid var(--pep-line);background:transparent;font-size:.95rem;padding:.6rem}
.pep .pep-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:clamp(2rem,4vw,4rem);align-items:center;padding-block:3rem}
.pep .pep-hero-copy{display:grid;gap:1.6rem;align-content:center}
.pep .pep-hero-copy>p{font-size:clamp(1rem,1.35vw,1.2rem)}
.pep .pep-hero-photo{width:100%;aspect-ratio:1/1.04;object-fit:cover;object-position:50% 45%}
.pep .pep-hero--compact .pep-hero-photo{aspect-ratio:4/3}
.pep .pep-section-heading{display:flex;justify-content:space-between;gap:2rem;align-items:end;margin-block-end:2.5rem}
.pep .pep-section-heading>p{max-width:40ch}
.pep .pep-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}
.pep .pep-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}
.pep .pep-card{display:grid;gap:1rem;align-content:start;min-width:0}
.pep .pep-card-image{width:100%;aspect-ratio:4/3;object-fit:cover}
.pep .pep-card p{font-size:1rem;color:var(--pep-muted)}
.pep .pep-card-title a{text-decoration:none}
.pep .pep-gallery{columns:3;column-gap:1.1rem}
.pep .pep-gallery figure{break-inside:avoid;margin-block-end:1.1rem}
.pep .pep-gallery img{width:100%;height:auto}
.pep .pep-gallery figcaption{font-size:.85rem;line-height:1.4;padding-block:.55rem}
.pep .pep-proof-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem;padding-block:1.6rem;border-block:1px solid var(--pep-line)}
.pep .pep-proof-strip p{font-size:.9rem}
.pep .pep-logo-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:2rem;align-items:center}
.pep .pep-logo-grid img{width:100%;max-height:60px;object-fit:contain}
.pep .pep-quote{padding-block:1.5rem;border-top:1px solid var(--pep-line)}
.pep .pep-quote p{font-size:1.12rem}
.pep .pep-quote cite{display:block;margin-top:1rem;font-style:normal;font-size:.9rem}
.pep .pep-price{font-size:clamp(2rem,4vw,3.8rem);line-height:1.1;letter-spacing:-.04em}
.pep .pep-price small{font-size:1rem;letter-spacing:0;font-weight:400}
.pep .pep-price-card{padding:2rem;background:var(--pep-panel);display:grid;gap:1.25rem;align-content:start}
.pep .pep-list{padding-left:1.2rem;margin:0;display:grid;gap:.55rem}
.pep .pep-faq{max-width:900px;margin-inline:auto}
.pep .pep-faq details{border-top:1px solid var(--pep-line);padding-block:1.3rem}
.pep .pep-faq details:last-child{border-bottom:1px solid var(--pep-line)}
.pep .pep-faq summary{cursor:pointer;font-weight:600;font-size:1.1rem;padding-inline-end:1rem;min-height:30px}
.pep .pep-faq details>div{padding-top:1rem}
.pep .pep-contact{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,.75fr);gap:4rem;align-items:start}
.pep .pep-form{display:grid;gap:1.2rem;padding:clamp(1.25rem,3vw,2.5rem);background:var(--pep-paper);border:1px solid var(--pep-line)}
.pep .pep-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.pep .pep-field{display:grid;gap:.45rem;font-size:.95rem;min-width:0}
.pep .pep-field :where(input,select,textarea){width:100%;min-height:48px;border:1px solid #8b857b;background:transparent;padding:.7rem .8rem;border-radius:0;font-size:1rem}
.pep .pep-field textarea{min-height:144px;resize:vertical}
.pep .pep-field-hint{font-size:.85rem;color:var(--pep-muted)}
.pep .pep-error{color:var(--pep-brick);font-size:.9rem}
.pep .pep-field [aria-invalid=true]{border:2px solid var(--pep-brick)}
.pep .pep-checkbox{display:flex;gap:.7rem;align-items:start;font-size:.9rem}
.pep .pep-checkbox input{width:20px;height:20px;flex-shrink:0;margin-top:3px;accent-color:var(--pep-brick)}
.pep .pep-contact-aside{display:grid;gap:1.5rem}
.pep .pep-breadcrumb{display:flex;gap:.5rem;flex-wrap:wrap;font-size:.8rem;color:var(--pep-muted);padding-block:1.25rem}
.pep .pep-article{max-width:760px;margin-inline:auto}
.pep .pep-article :where(p,ul,ol,figure){margin-block:1.3rem}
.pep .pep-article :where(h2,h3){margin-top:2.3rem}
.pep .pep-footer{border-top:1px solid var(--pep-line);padding-block:3.5rem 1.5rem;background:var(--pep-panel);font-size:.95rem}
.pep .pep-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1.25fr;gap:3rem}
.pep .pep-footer nav{display:grid;gap:.5rem;align-content:start}
.pep .pep-footer-bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid var(--pep-line);padding-top:1.2rem;margin-top:2.5rem;font-size:.8rem}
.pep .pep-lightbox{border:0;padding:1rem;max-width:min(96vw,1400px);max-height:95vh;background:var(--pep-paper);color:var(--pep-ink)}
.pep .pep-lightbox::backdrop{background:rgba(14,14,16,.88)}
.pep .pep-lightbox img{max-height:80vh;width:auto;max-width:100%;margin:auto;object-fit:contain}
.pep .pep-lightbox button{min-width:44px;min-height:44px;background:transparent;border:1px solid var(--pep-line)}
@media(min-width:1800px){.pep .pep-container{width:min(100% - 96px,1480px)}}
@media(max-width:1100px){.pep .pep-nav{gap:1rem}.pep .pep-header-inner{gap:1rem}.pep .pep-brand{font-size:1.1rem}.pep .pep-header-inner>.pep-button{padding-inline:1rem}.pep .pep-grid{gap:1.5rem}.pep .pep-contact{gap:2rem}}
@media(max-width:900px){.pep .pep-container{width:calc(100% - 40px)}.pep .pep-header-inner{min-height:88px;flex-wrap:wrap;padding-block:1rem}.pep .pep-menu-button{display:block}.pep .pep-nav{display:none;order:5;width:100%;flex-direction:column;align-items:stretch;gap:0;padding-block:.5rem;border-top:1px solid var(--pep-line)}.pep .pep-nav[data-open=true]{display:flex}.pep .pep-nav a{padding:.8rem 0;min-height:44px}.pep .pep-header-inner>.pep-button{margin-left:auto;font-size:.9rem}.pep .pep-language{margin-left:auto}.pep .pep-hero{gap:2rem;grid-template-columns:1fr 1fr}.pep .pep-proof-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.pep .pep-gallery{columns:2}.pep .pep-logo-grid{grid-template-columns:repeat(4,1fr)}.pep .pep-footer-grid{grid-template-columns:1fr 1fr}.pep .pep-footer-grid>:first-child{grid-column:1/-1}}
@media(max-width:640px){.pep{font-size:17px}.pep .pep-container{width:calc(100% - 36px)}.pep h1{font-size:2.35rem;max-width:20ch}.pep h2{font-size:1.9rem}.pep .pep-brand{font-size:.85rem}.pep .pep-header-inner{gap:.65rem;min-height:88px}.pep .pep-header-inner>.pep-button{padding:.6rem .8rem;min-height:44px;font-size:.82rem}.pep .pep-language{gap:0}.pep .pep-language a{font-size:.7rem;padding:.6rem .3rem}.pep .pep-menu-button{font-size:.8rem;padding:.6rem}.pep .pep-hero{grid-template-columns:1fr;padding-block:2rem;gap:1.8rem}.pep .pep-hero-copy{gap:1.3rem}.pep .pep-hero-photo,.pep .pep-hero--compact .pep-hero-photo{aspect-ratio:4/3;object-position:center}.pep .pep-hero .pep-row{align-items:stretch}.pep .pep-hero .pep-button{width:100%}.pep .pep-section-heading{display:grid;gap:1.25rem;margin-bottom:2rem}.pep .pep-grid,.pep .pep-grid--two{grid-template-columns:1fr;gap:2rem}.pep .pep-gallery{columns:1}.pep .pep-logo-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem}.pep .pep-contact{grid-template-columns:1fr;gap:2.5rem}.pep .pep-form-row{grid-template-columns:1fr}.pep .pep-footer-grid{grid-template-columns:1fr;gap:2rem}.pep .pep-footer-grid>:first-child{grid-column:auto}.pep .pep-price-card{padding:1.5rem}.pep .pep-proof-strip{gap:1rem}.pep .pep-proof-strip p{font-size:.82rem}}
@media(prefers-reduced-motion:reduce){.pep *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.pep .hero-section{background:var(--pep-panel)}
.pep .hero-figure{position:relative;min-width:0}
.pep .hero-figure figcaption{font:400 .65rem var(--pep-mono);letter-spacing:.06em;text-transform:uppercase;margin-top:.7rem;color:#57534e}
.pep .hero-signature{font-size:.85rem!important;color:#57534e;padding-top:1.2rem;border-top:1px solid var(--pep-line)}
.pep .pep-hero-copy>.pep-eyebrow{font-size:.7rem;margin-bottom:0}
.pep .pep-header-inner{min-height:104px}
.pep .pep-header{position:sticky;top:0}
.pep .pep-nav{gap:1.5rem}
.pep .pep-nav summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:.5rem;list-style:none}
.pep .pep-nav summary::after{content:'⌄';font-size:.85rem}
.pep .nav-services[open] summary::after{content:'⌃'}
.pep .nav-services{position:relative}
.pep .service-menu{position:absolute;top:calc(100% + 12px);left:-1.2rem;min-width:300px;padding:1rem 1.2rem;background:var(--pep-paper);border:1px solid var(--pep-line);box-shadow:0 8px 20px #0e0e100c;display:grid;gap:0}
.pep .service-menu a{min-height:44px;display:flex;align-items:center;font-size:.92rem}
.pep .quote-short{display:none}
.pep .header-quote{white-space:nowrap;font-size:.9rem}
.pep .pep-proof-strip p{display:flex;gap:.7rem;align-items:baseline}
.pep .pep-proof-strip span{color:var(--pep-brick)}
.pep .project-grid{grid-template-columns:repeat(6,minmax(0,1fr));row-gap:2.8rem}
.pep .project-grid>article{grid-column:span 2}
.pep .project-grid>article:nth-child(-n+2){grid-column:span 3}
.pep .project-grid>article:nth-child(-n+2) .pep-card-image{aspect-ratio:1.5}
.pep .project-visual{position:relative;display:block;overflow:hidden;background:var(--pep-panel)}
.pep .project-visual img{transition:transform .4s}
.pep .project-card:hover .project-visual img{transform:scale(1.025)}
.pep .project-arrow{position:absolute;right:1rem;bottom:1rem;display:grid;place-items:center;width:42px;height:42px;background:var(--pep-paper);color:var(--pep-brick);font-size:1.5rem}
.pep .card-heading>.pep-eyebrow{font-size:.65rem;margin:.2rem 0 .6rem}
.pep .section-end-link{display:inline-block;margin-top:2.2rem}
.pep .service-section{display:grid;grid-template-columns:1fr 1.5fr;gap:5rem}
.pep .service-list{border-top:1px solid var(--pep-line)}
.pep .service-row{padding:1.6rem 0;display:grid;grid-template-columns:34px minmax(0,1fr) 25px;gap:1.2rem;align-items:start;border-bottom:1px solid var(--pep-line);text-decoration:none}
.pep .service-row h3{font-size:1.5rem;line-height:1.2}
.pep .service-row p{font-size:.95rem;margin-top:.5rem;color:#57534e}
.pep .service-number{font:400 .7rem/1.7 var(--pep-mono);color:var(--pep-brick);padding-top:.2rem}
.pep .service-arrow{font-size:1.5rem;line-height:1.2;color:var(--pep-brick)}
.pep .process-grid{margin-top:3rem}
.pep .process-card{border-top:1px solid var(--pep-line);padding-top:1.4rem}
.pep .process-number{font:400 .8rem/1.5 var(--pep-mono);color:var(--pep-brick);padding-bottom:.8rem}
.pep .reference-section{padding-top:1rem}
.pep .pep-logo-grid{margin-top:3rem}
.pep .pep-logo-grid img{height:65px;width:100%;object-fit:contain}
.pep .about-split{display:grid;grid-template-columns:1fr 1.25fr;gap:6rem;align-items:center}
.pep .portrait-wrap{max-width:430px}
.pep .portrait-photo{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:46% 38%}
.pep .cta-section{background:var(--pep-ink);color:var(--pep-paper)}
.pep .cta-section .pep-eyebrow{color:#df8b7b}
.pep .cta-inner{display:flex;justify-content:space-between;align-items:center;gap:3rem}
.pep .cta-inner p:not(.pep-eyebrow){margin-top:1.2rem;max-width:52ch;color:#d5d0c8}
.pep .cta-inner .pep-button{flex-shrink:0;background:#b3382d;border-color:#b3382d}
.pep .cta-inner .pep-button:hover{background:#c7483d}
.pep .pep-footer-bottom nav{display:flex;gap:1.2rem;flex-wrap:wrap}
.pep .pep-footer a{overflow-wrap:anywhere}
.pep .page-heading{padding-bottom:2.8rem;max-width:1000px}
.pep .page-heading h1{max-width:23ch;margin-bottom:1.5rem}
.pep .page-heading .lead{max-width:65ch}
.pep .lead{font-size:1.2rem;line-height:1.6;margin-top:1.2rem}
.pep .portfolio-intro{padding-top:2rem}
.pep .portfolio-intro .lead{margin-bottom:2.5rem}
.pep .portfolio-filters{display:flex;gap:.65rem;flex-wrap:wrap;margin-block:2.5rem}
.pep .portfolio-filters button{padding:.65rem 1rem;min-height:44px;border:1px solid var(--pep-line);background:transparent;font-size:.85rem;cursor:pointer;border-radius:0}
.pep .portfolio-filters button[aria-pressed=true]{border-color:var(--pep-brick);background:var(--pep-brick);color:var(--pep-paper)}
.pep .project-grid [hidden]{display:none!important}
.pep .gallery-page{padding-top:1rem}
.pep .gallery-intro{max-width:850px;margin-bottom:3rem}
.pep .gallery-intro h1{max-width:25ch}
.pep .gallery-intro .lead{margin-top:0}
.pep .gallery-back{margin-top:2rem}
.pep .pep-gallery a{display:block}
.pep .pep-gallery figcaption{font-size:.8rem;color:#57534e}
.pep .pep-gallery img{height:auto;aspect-ratio:auto}
.pep .viewer-toolbar{display:flex;justify-content:space-between;align-items:center;gap:2rem;margin-bottom:.8rem;font-size:.85rem}
.pep .viewer-controls{display:flex;justify-content:space-between;gap:1rem;margin-top:.8rem}
.pep .viewer-controls button,.pep .viewer-toolbar button{padding:.4rem .7rem;font-size:.85rem;cursor:pointer}
.pep .pep-lightbox figure{margin:0}
.pep .pep-lightbox figure img{max-height:70vh;height:auto;width:auto;max-width:100%}
.pep .pep-lightbox figcaption{font-size:.85rem;text-align:center;padding-top:.7rem}
.pep .pep-article{max-width:820px}
.pep .pep-article>p{line-height:1.75;max-width:100%}
.pep .pep-article h2{font-size:clamp(1.5rem,2.4vw,2.1rem);max-width:100%}
.pep .pep-article h3{font-size:1.3rem;line-height:1.3}
.pep .content-section{padding-top:3rem}
.pep .legal-content{padding-top:0}
.pep .pep-faq{margin-top:3rem}
.pep .pep-faq p+p{margin-top:1rem}
.pep .faq-section-title{max-width:26ch}
.pep .price-grid{margin-bottom:2rem}
.pep .price-option{display:flex;justify-content:space-between;gap:2rem;align-items:center;padding:2rem;border:1px solid var(--pep-line)}
.pep .price-option h2{font-size:1.6rem;margin-bottom:.8rem}
.pep .price-option p:not(.pep-price){max-width:65ch;font-size:1rem}
.pep .price-option .pep-price{white-space:nowrap}
.pep .tax-note{font-size:.9rem;color:#57534e;margin-top:1.3rem}
.pep .rate-details{margin-top:4rem}
.pep .contact-page{padding-top:2rem}
.pep .pep-contact-aside h2{font-size:1.7rem}
.pep .pep-contact-aside .pep-link{padding:0;overflow-wrap:anywhere}
.pep .pep-form h2{font-size:1.8rem;max-width:100%}
.pep .pep-field-hint{line-height:1.6;color:#57534e}
.pep .blog-grid{margin-top:4rem;row-gap:3rem}
.pep .blog-card-title{font-size:1.6rem;line-height:1.2;max-width:100%;letter-spacing:-.025em}
.pep .blog-card-title a{text-decoration:none}
.pep .blog-grid .pep-eyebrow{margin-bottom:0;font-size:.65rem}
.pep .article-heading{max-width:1050px}
.pep .article-heading h1{max-width:25ch;font-size:clamp(2.3rem,4vw,4rem)}
.pep .article-heading .lead{max-width:70ch}
.pep .article-meta{font-size:.85rem;color:#57534e;margin-top:1.5rem}
.pep .article-cover{margin-block:3rem;max-width:1200px}
.pep .article-cover img{width:100%;height:auto;max-height:600px;object-fit:cover}
.pep .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.pep [id]{scroll-margin-top:120px}
@media(max-width:1100px){.pep .pep-nav{gap:1rem}.pep .pep-brand{font-size:1.1rem}.pep .service-section{gap:3rem}.pep .about-split{gap:3rem}}
@media(max-width:900px){.pep .pep-header-inner{min-height:86px}.pep .pep-nav.is-open{display:flex}.pep .pep-nav summary{padding-block:.5rem}.pep .service-menu{position:static;box-shadow:none;border:0;border-left:1px solid var(--pep-line);margin-left:.5rem;padding:0 1rem;min-width:0}.pep .pep-language{margin:1rem 0 0}.pep .pep-nav a{padding-block:.65rem}.pep .service-section{grid-template-columns:1fr;gap:2rem}.pep .about-split{gap:2rem}.pep .pep-header-inner{column-gap:1rem}.pep .project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pep .project-grid>article,.pep .project-grid>article:nth-child(-n+2){grid-column:auto}.pep .project-grid .pep-card-image{aspect-ratio:4/3}.pep .project-grid>article:nth-child(-n+2) .pep-card-image{aspect-ratio:4/3}.pep .pep-hero{grid-template-columns:1fr 1fr;gap:1.5rem}.pep .pep-hero h1{font-size:clamp(2rem,4.8vw,3rem)}.pep .pep-hero-copy>p{font-size:1rem}.pep .pep-hero-photo{aspect-ratio:4/5}}
@media(max-width:640px){.pep .pep-header-inner{display:flex;gap:.7rem}.pep .pep-brand{font-size:.9rem}.pep .pep-menu-button{margin-left:auto}.pep .quote-long{display:none}.pep .quote-short{display:inline}.pep .pep-header-inner>.header-quote{margin-left:0;padding:.6rem .7rem}.pep .pep-nav{flex-basis:100%}.pep .pep-hero{grid-template-columns:1fr;padding-block:2.2rem}.pep .pep-hero h1{font-size:2.45rem}.pep .pep-hero-copy>p{font-size:1.05rem}.pep .pep-hero-photo{aspect-ratio:4/3;object-fit:cover}.pep .hero-signature{display:none}.pep .pep-hero .pep-row{gap:.65rem}.pep .pep-hero .pep-link{font-size:.95rem}.pep .project-grid{grid-template-columns:1fr;gap:2rem}.pep .service-row{grid-template-columns:24px minmax(0,1fr) 18px;gap:.8rem;padding-block:1.3rem}.pep .service-row h3{font-size:1.3rem}.pep .service-row p{font-size:.92rem}.pep .pep-logo-grid img{height:45px}.pep .about-split{grid-template-columns:1fr;gap:2.5rem}.pep .portrait-wrap{max-width:280px}.pep .cta-inner{display:grid;gap:2rem}.pep .cta-inner .pep-button{width:100%}.pep .price-option{padding:1.5rem;display:grid;gap:1.2rem}.pep .price-option .pep-price{font-size:2.3rem}.pep .page-heading{padding-bottom:2rem}.pep .page-heading h1{font-size:2.35rem}.pep .lead{font-size:1.05rem}.pep .pep-breadcrumb{font-size:.7rem;padding-block:1rem;overflow-wrap:anywhere}.pep .blog-grid{margin-top:2.5rem}.pep .article-heading h1{font-size:2.3rem}.pep .article-meta{line-height:1.8}.pep .pep-lightbox{width:96vw;max-width:96vw;padding:.65rem}.pep .viewer-controls button{font-size:.72rem}.pep .viewer-controls{gap:.5rem}.pep .pep-lightbox figure img{max-height:65vh}.pep .gallery-page .pep-gallery{columns:1}.pep .pep-proof-strip p{font-size:.8rem}}
.pep .project-card .pep-card-title{font-size:clamp(1.3rem,1.8vw,1.65rem);line-height:1.15;max-width:100%}.pep .services-section-title{margin-bottom:2rem}
/* Council review: keep the existing palette and make the practical journey shorter. */
.pep .pep-nav{gap:1.15rem}
.pep .case-preview-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:3.5rem;align-items:center}
.pep .case-preview img{width:100%;height:auto}
.pep .case-preview h2{font-size:clamp(1.7rem,2.7vw,2.8rem)}
.pep .testimonial-grid{margin-top:2rem}
.pep .testimonial-grid .pep-quote{margin:0;display:flex;flex-direction:column;gap:1.4rem}
.pep .pep-quote blockquote{margin:0}
.pep .pep-quote blockquote p{font-size:1.06rem;line-height:1.65}
.pep .pep-quote figcaption{margin-top:auto;display:grid;gap:.25rem;font-size:.9rem}
.pep .pep-quote cite{margin:0;font-weight:600}
.pep .pep-quote figcaption span{color:#57534e}
.pep .looking-triptych{margin:0}
.pep .looking-triptych img{width:100%;height:auto;object-fit:contain}
.pep .looking-triptych figcaption{margin-top:1rem;font-size:1rem;font-weight:600}
.pep .gallery-intro{max-width:850px;margin-bottom:2rem}
.pep .gallery-intro .lead{font-size:1.1rem;max-width:62ch}
.pep .gallery-context{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--pep-line);max-width:900px}
.pep .gallery-context h2{font-size:clamp(1.5rem,2.4vw,2rem)}
.pep .service-proof{padding-block:3rem;background:var(--pep-panel)}
.pep .service-proof .pep-gallery{columns:3}
.pep .proof-note{margin-top:1.5rem;max-width:70ch}
.pep .related-reading{padding-block:3rem}
.pep .reading-card{border-top:1px solid var(--pep-line);padding-top:1.5rem}
.pep .reading-card h3{font-size:1.4rem}
.pep .reading-card p{max-width:60ch}
.pep .article-next{margin-top:3rem;padding:2rem;background:var(--pep-panel)}
.pep .article-next h2{margin:0}
.pep .article-next p{margin:0}
.pep .duration-note{font-size:1rem;margin:0 0 2rem;max-width:none}
.pep .blog-grid>article{height:100%;grid-template-rows:auto auto auto 1fr auto}
.pep .blog-grid>article>p:not(.pep-eyebrow){line-height:1.6}
.pep #enquiry-root,.pep .pep-contact>*{min-width:0}
.pep .pep-form{position:relative}
.pep .pep-form button:disabled{opacity:.65;cursor:wait}
.pep .enquiry-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.pep .enquiry-status:not([hidden]){padding:1rem;border:1px solid var(--pep-line);background:var(--pep-panel);overflow-wrap:anywhere}
.pep .enquiry-status[hidden],.pep .pep-error[hidden]{display:none}
.pep .pep-field [aria-invalid=true]{border:2px solid var(--pep-brick)}
.pep .cta-section :focus-visible{outline-color:var(--pep-paper)}
@media(max-width:1100px){
 .pep .pep-header-inner{flex-wrap:wrap;padding-block:1rem;min-height:86px}
 .pep .pep-menu-button{display:block;margin-left:auto}
 .pep .pep-nav{display:none;order:5;width:100%;flex-direction:column;align-items:stretch;gap:0;padding-block:.5rem;border-top:1px solid var(--pep-line);max-height:calc(100svh - 106px);overflow-y:auto}
 .pep .pep-nav.is-open{display:flex}
 .pep .pep-nav summary{padding-block:.5rem}
 .pep .pep-nav a{padding-block:.65rem;min-height:44px}
 .pep .pep-header-inner>.header-quote{margin-left:0}
 .pep .service-menu{position:static;box-shadow:none;border:0;border-left:1px solid var(--pep-line);margin-left:.5rem;padding:0 1rem;min-width:0}
 .pep .pep-language{margin:1rem 0 0}
}
@media(max-width:900px){.pep .case-preview-grid{gap:2rem}.pep .testimonial-grid{grid-template-columns:1fr}.pep .service-proof .pep-gallery{columns:3}}
@media(max-width:640px){
 .pep .case-preview-grid{grid-template-columns:1fr;gap:1.5rem}
 .pep .case-preview{padding-block:3rem}
 .pep .service-proof .pep-gallery{columns:1}
 .pep .gallery-intro h1{font-size:2.15rem}
 .pep .gallery-intro .lead{font-size:1rem}
 .pep .gallery-context{margin-top:2rem}
 .pep .gallery-context .pep-row{display:grid;gap:.75rem}
 .pep .looking-section{padding-block:3rem}
 .pep .article-next{padding:1.4rem}
 .pep .pep-header-inner>.header-quote{margin-left:0}
 .pep .pep-nav{max-height:calc(100svh - 100px)}
}
@media(max-width:480px){
 .pep .pep-header-inner{column-gap:.5rem}
 .pep .pep-menu-button{width:44px;min-width:44px;padding:.5rem;font-size:0}
 .pep .pep-menu-button span{display:none}
 .pep .pep-menu-button::after{content:'☰';font-size:1.2rem;line-height:1}
 .pep .pep-menu-button[aria-expanded=true]::after{content:'×'}
}
@media(max-width:360px){
 .pep .pep-header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto auto}
 .pep .pep-brand span{display:block}
 .pep .pep-menu-button{margin-left:0}
 .pep .pep-nav{grid-column:1/-1}
}
.pep [hidden] { display: none !important; }

.looking-picture { position: relative; }
.looking-picture picture, .looking-picture img { display: block; }
.looking-labels-en { position: absolute; inset: auto 0 0; height: 11%; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: center; background: #0e0e10; color: #f4efe6; font-size: clamp(10px, 1.8vw, 28px); font-weight: 700; line-height: 1.1; }
.looking-labels-en span { padding-left: 6%; white-space: nowrap; }
.contact-planning { margin-top: 2.5rem; }
