:root{--burgundy:#3f1116;--ivory:#fff1e9;--stone:#efefdc;--plum:#64343c;--taupe:#9d7960;--ink:#161616;--line:rgba(63,17,22,.24)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--ivory);color:var(--burgundy);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--taupe);outline-offset:6px}p{margin:0 0 20px}h1,h2,h3{margin:0;font-weight:400}h2{font-size:clamp(40px,5.2vw,76px);line-height:1.06;letter-spacing:-.045em}em,.italic{font-family:Georgia,'Times New Roman',serif;font-weight:400}img{display:block;max-width:100%;height:auto}.skip{position:absolute;top:-100px;left:20px;padding:12px;background:var(--ivory);z-index:20}.skip:focus{top:10px}.header{display:flex;align-items:center;justify-content:space-between;padding:24px 5%;background:var(--burgundy);color:var(--ivory);gap:24px}.nav-logo{width:80px;height:48px;object-fit:contain}.header nav{display:flex;gap:32px;font-size:14px}.header nav a:hover,.text-link:hover,footer a:hover{text-decoration:underline;text-underline-offset:5px}.pill{display:inline-flex;justify-content:center;align-items:center;border-radius:50px;padding:11px 24px;border:1px solid;white-space:nowrap;font-size:14px;background:transparent;cursor:pointer;transition:background .2s,color .2s}.light:hover{background:var(--ivory);color:var(--burgundy)}.dark:hover{background:var(--burgundy);color:var(--ivory)}.hero{background:var(--burgundy);color:var(--ivory);padding:40px 5% 58px;overflow:hidden}.hero-top{display:flex;justify-content:space-between;gap:20px}.eyebrow,.hero-index,.section-label{font-size:12px;letter-spacing:.08em}.hero h1{font-size:clamp(70px,10.9vw,170px);line-height:.96;letter-spacing:-.065em;padding:46px 0 44px}.hero .italic{padding-left:15%;letter-spacing:-.055em}.last-line{display:flex;align-items:center;justify-content:space-between;padding-left:5%}.star{font-size:.82em;line-height:1;display:inline-block;margin-right:10%;color:var(--taupe);animation:turn 40s linear infinite}.hero-bottom{display:grid;grid-template-columns:1fr 1.05fr .45fr;gap:30px;align-items:end}.hero-bottom>p{font-size:22px;line-height:1.2}.hero-bottom>div{max-width:350px}.hero-bottom p{margin-bottom:16px}.text-link{display:inline-block;border-bottom:1px solid;padding-bottom:4px;font-size:14px}.vertical-note{justify-self:end;font-size:11px;writing-mode:vertical-rl;letter-spacing:.1em}.ticker{background:var(--stone);border-bottom:1px solid var(--line);padding:18px 0;overflow:hidden;font-size:21px}.ticker>div{display:flex;align-items:center;gap:38px;white-space:nowrap;width:max-content;transform:translateX(-18px)}.ticker span{font-size:28px}.section-pad{padding:72px 5% 86px}.section-label{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding-top:16px;margin-bottom:62px}.intro-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:10%;align-items:start}.intro-grid>div{max-width:430px}.intro .lead{font-size:25px;line-height:1.3;letter-spacing:-.02em}.intro p:not(.lead){color:var(--plum)}.services{background:var(--stone)}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:54px}.section-heading>p{font-size:16px;max-width:300px}.service-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;display:grid;grid-template-columns:8% 1fr 30px;align-items:center;padding:25px 0;cursor:pointer;font-size:clamp(26px,3.8vw,54px);line-height:1.2;letter-spacing:-.035em}summary::-webkit-details-marker{display:none}.number{font-size:14px;letter-spacing:0}.toggle:before{content:'+';font-size:30px}details[open] .toggle:before{content:'−'}.service-body{display:grid;grid-template-columns:1fr 1fr;gap:8%;margin:4px 6% 32px 8%}.service-body p{max-width:430px}.service-body ul{margin:0;padding:0;list-style:none;line-height:1.9}.work{padding-bottom:72px}.project{display:block;width:100%;border:0;padding:0;background:transparent;text-align:left;cursor:pointer}.project-art{position:relative;min-height:490px;display:flex;align-items:center;justify-content:center;background:var(--stone);overflow:hidden}.project-art img{width:49%;transition:transform .5s}.project:hover .project-art img{transform:rotate(-4deg) scale(1.04)}.project-corner{position:absolute;top:28px;left:30px;font-size:12px;letter-spacing:.09em}.project-tag{position:absolute;bottom:28px;left:30px;font-size:12px;letter-spacing:.06em}.project-stamp{position:absolute;right:5%;bottom:12%;width:120px;height:120px;display:flex;align-items:center;justify-content:center;background:var(--plum);color:var(--ivory);border-radius:50%;transform:rotate(12deg);font-size:18px;text-align:center;line-height:1.1}.project-caption{display:flex;justify-content:space-between;align-items:center;padding:23px 0;gap:20px}.project-caption strong{font-weight:400;display:block;font-size:25px;letter-spacing:-.025em}.project-caption>span>span{display:block;font-size:14px;margin-top:4px}.process{background:var(--plum);color:var(--ivory)}.process .section-label,.contact .section-label{border-color:rgba(255,241,233,.3)}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6%;margin-top:64px}.process-grid article>span{font-size:12px;letter-spacing:.07em}.process-grid h3{font-size:24px;line-height:1.25;letter-spacing:-.035em;margin:24px 0 16px}.process-grid p{color:var(--ivory);opacity:.85;max-width:340px}.contact{background:var(--burgundy);color:var(--ivory);padding-bottom:28px}.contact h2{font-size:clamp(46px,7.9vw,120px)}.contact-bottom{display:flex;justify-content:space-between;gap:32px;align-items:center;margin:40px 0 60px}.contact-bottom .pill{font-size:18px;padding:18px 34px}.contact-pending{font-size:14px;max-width:250px;opacity:.8}.footer-logo{width:100%;height:clamp(160px,31vw,470px);object-fit:contain;object-position:left center;margin:40px 0 60px}footer{border-top:1px solid rgba(255,241,233,.3);padding-top:24px;display:flex;justify-content:space-between;gap:20px;font-size:12px}dialog{border:0;background:var(--ivory);color:var(--burgundy);padding:32px;width:min(740px,90vw);max-height:90vh;overflow:auto}dialog::backdrop{background:rgba(25,4,8,.75);backdrop-filter:blur(5px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:12px}.dialog-head button{padding:8px 16px}dialog>img{width:230px;margin:32px auto}dialog h2{font-size:44px;margin:28px 0}dialog p{max-width:620px}.swatches{display:flex;height:64px;margin-top:32px}.swatches i{flex:1;background:var(--burgundy)}.swatches i:nth-child(2){background:var(--stone)}.swatches i:nth-child(3){background:var(--taupe)}.swatches i:nth-child(4){background:var(--plum)}.swatches i:nth-child(5){background:var(--ivory);border:1px solid var(--line)}@keyframes turn{to{transform:rotate(360deg)}}@media(min-width:1600px){.header,.hero,.section-pad{padding-left:max(5%,calc((100vw - 1450px)/2));padding-right:max(5%,calc((100vw - 1450px)/2))}}@media(max-width:700px){.header{padding:18px 6%;gap:16px;flex-wrap:wrap}.nav-logo{width:70px;height:42px}.header nav{order:3;width:100%;gap:0;justify-content:space-between;font-size:13px;padding-top:8px}.header .pill{margin-left:auto;padding:9px 20px}.hero{padding:28px 6% 36px}.hero-index{display:none}.eyebrow{font-size:10px}.hero h1{font-size:clamp(58px,13vw,90px);padding:38px 0 40px;line-height:1.03}.hero .italic{padding-left:0}.last-line{padding-left:0}.star{font-size:.65em;margin-right:0}.hero-bottom{grid-template-columns:1fr;gap:16px}.hero-bottom>p{font-size:20px}.hero-bottom>div{max-width:340px}.vertical-note{display:none}.ticker{font-size:16px;padding:12px 0}.ticker>div{gap:22px}.section-pad{padding:46px 6% 54px}.section-label{font-size:10px;margin-bottom:36px;gap:20px}.section-label>span:last-child{max-width:45%;text-align:right}.intro-grid{grid-template-columns:1fr;gap:30px}.intro .lead{font-size:23px}.section-heading{display:block;margin-bottom:32px}.section-heading>p{margin-top:24px}.service-body{grid-template-columns:1fr;gap:6px;margin-left:0;margin-right:0;font-size:15px}summary{grid-template-columns:35px 1fr 22px;gap:6px;padding:24px 0;font-size:26px}.project-art{min-height:320px}.project-art img{width:72%;margin-bottom:16px}.project-corner,.project-tag{left:18px;font-size:10px}.project-corner{top:18px}.project-tag{bottom:20px}.project-stamp{width:75px;height:75px;font-size:12px;bottom:16%;right:5%}.project-caption{align-items:start}.project-caption strong{font-size:21px}.project-caption>span>span{font-size:12px}.project-caption .pill{font-size:12px;padding:9px 12px}.process-grid{grid-template-columns:1fr;gap:28px;margin-top:42px}.process-grid article{border-top:1px solid rgba(255,241,233,.25);padding-top:20px}.process-grid h3{margin:14px 0}.process-grid p{max-width:none}.contact-bottom{display:block;margin:28px 0 30px}.contact-bottom>p{margin-bottom:28px}.footer-logo{margin:40px 0;height:auto}footer{flex-wrap:wrap;font-size:11px;gap:16px}footer>span:nth-child(2){display:none}footer a{margin-left:auto}dialog{padding:22px}dialog h2{font-size:36px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.enquiry-form{max-width:850px;margin:40px 0 70px;border-top:1px solid rgba(255,241,233,.3);padding-top:36px}.enquiry-form label{display:block;font-size:14px;margin-bottom:26px}.enquiry-form label>span{opacity:.65}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.enquiry-form input,.enquiry-form textarea{width:100%;display:block;background:transparent;border:0;border-bottom:1px solid rgba(255,241,233,.4);border-radius:0;color:var(--ivory);font:inherit;font-size:16px;padding:13px 0;resize:vertical;outline-offset:5px}.enquiry-form input::placeholder,.enquiry-form textarea::placeholder{color:var(--ivory);opacity:.55}.form-bottom{display:flex;justify-content:space-between;gap:24px;align-items:center}.form-bottom p,#form-status{font-size:13px;max-width:390px}.form-bottom p{margin:0}#form-status{margin-top:20px}.enquiry-form button:disabled{opacity:.45;cursor:not-allowed;background:transparent;color:var(--ivory)}@media(max-width:700px){.form-grid{grid-template-columns:1fr;gap:0}.form-bottom{align-items:start;flex-direction:column}.enquiry-form{margin-bottom:45px}}

/* Shared navigation and separate editorial pages */
.header nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:7px}.inner-page main{min-height:70vh}.inner-page h1{font-size:clamp(40px,5.2vw,76px);line-height:1.06;letter-spacing:-.045em}.inner-page .contact h1{font-size:clamp(46px,7.9vw,120px)}.inner-page .section-label{margin-bottom:48px}.site-footer{margin:0;background:var(--burgundy);color:var(--ivory);padding:28px 5%;align-items:center;border-top:1px solid rgba(255,241,233,.25)}.site-footer img{width:74px}.site-footer>span{font-size:12px}.page-cta{padding:38px 5%;display:flex;justify-content:space-between;align-items:center;gap:24px;background:var(--stone)}.page-cta p{margin:0;font-size:24px;letter-spacing:-.02em}.home-explore{background:var(--stone)}.explore-links{margin-top:48px}.explore-links>a{display:grid;grid-template-columns:55px 1fr 1fr;align-items:center;gap:20px;border-top:1px solid var(--line);padding:25px 0;transition:padding .2s}.explore-links>a:last-child{border-bottom:1px solid var(--line)}.explore-links>a:hover{padding-left:12px}.explore-links strong{font-size:clamp(25px,3vw,40px);font-weight:400;letter-spacing:-.03em}.explore-links small{font-size:14px;text-align:right}.explore-links>a>span{font-size:13px}.inner-page .enquiry-form{margin-bottom:0}.inner-page .work{padding-bottom:40px}@media(max-width:700px){.header nav{flex-wrap:wrap;gap:12px 20px;justify-content:flex-start}.explore-links>a{grid-template-columns:26px 1fr;gap:6px 16px}.explore-links small{grid-column:2;text-align:left}.site-footer{padding:24px 6%}.site-footer>span{display:block!important;width:100%;order:3}.site-footer>a:last-child{font-size:12px}.page-cta{padding:32px 6%;align-items:start;flex-direction:column}.page-cta p{font-size:23px}}
/* Motion system: restrained, responsive and reduced-motion aware. */
.header{position:relative;z-index:10}.header nav a{position:relative}.header nav a:after{content:'';position:absolute;height:1px;left:0;right:0;bottom:-6px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s}.header nav a:hover:after{transform:scaleX(1)}.pill{transition:background .25s,color .25s,transform .25s}.pill:hover{transform:translateY(-3px)}.pill:active{transform:translateY(0)}.hero{position:relative;background-image:radial-gradient(ellipse at var(--pointer-x,75%) var(--pointer-y,35%),rgba(157,121,96,.16),transparent 55%)}.hero h1{position:relative}.hero h1>.italic{display:inline-block}.hero h1>.italic{animation:hero-in 1.1s .12s both}.hero h1>.last-line{animation:hero-in 1.2s .25s both}.hero-top,.hero-bottom{animation:fade-in .9s .35s both}.scroll-progress{position:fixed;left:0;top:0;height:3px;width:100%;background:var(--taupe);transform:scaleX(0);transform-origin:left;z-index:50;pointer-events:none}.motion-ready .reveal{opacity:0;transform:translateY(28px);transition:opacity .85s var(--reveal-delay,0ms),transform .85s cubic-bezier(.22,.61,.36,1) var(--reveal-delay,0ms)}.motion-ready .reveal.is-visible{opacity:1;transform:translateY(0)}.service-body{animation:reveal-detail .4s ease-out}.toggle{transition:transform .3s}summary:hover .toggle{transform:rotate(90deg)}.project-art{transform:perspective(1300px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .35s ease-out;will-change:transform}.project-art img{transition:transform .6s cubic-bezier(.22,.61,.36,1)}.project:hover .project-art img{transform:rotate(-4deg) scale(1.045)}.project-stamp{animation:stamp-float 5s ease-in-out infinite}.explore-links>a{position:relative;overflow:hidden;isolation:isolate}.explore-links>a:before{content:'';position:absolute;inset:0;z-index:-1;background:rgba(157,121,96,.12);transform:translateX(-101%);transition:transform .45s ease}.explore-links>a:hover:before{transform:translateX(0)}.moving-strip{background:var(--stone);color:var(--burgundy);overflow:hidden;border-bottom:1px solid var(--line);padding:17px 0}.moving-strip-track{display:flex;width:max-content;animation:marquee 35s linear infinite}.moving-strip-track>span{display:flex;align-items:center;gap:30px;padding-right:30px;white-space:nowrap;font-size:18px;letter-spacing:.015em}.moving-strip-track b{font-size:24px;font-weight:400}.moving-strip:hover .moving-strip-track{animation-play-state:paused}dialog[open]{animation:dialog-in .3s ease-out}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes hero-in{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes reveal-detail{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes stamp-float{0%,100%{transform:translateY(0) rotate(12deg)}50%{transform:translateY(-10px) rotate(6deg)}}@keyframes dialog-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@view-transition{navigation:auto}::view-transition-old(root){animation:fade-away .18s ease both}::view-transition-new(root){animation:page-in .4s ease both}@keyframes fade-away{to{opacity:0}}@keyframes page-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.motion-ready .reveal{opacity:1!important;transform:none!important}.project-art{transform:none!important}::view-transition-old(root),::view-transition-new(root){animation:none!important}.scroll-progress{display:none}}
/* Rounded navigation echoes the expressive P&M wordmark. */
@font-face{font-family:'Fredoka';src:url('/assets/fredoka.ttf') format('truetype');font-weight:300 700;font-style:normal;font-display:swap}.header nav,.header>.pill{font-family:'Fredoka',Arial,sans-serif;font-weight:450;font-size:18px;letter-spacing:.01em;line-height:1.3}.header nav{gap:28px}.header>.pill{padding:10px 25px}@media(max-width:700px){.header nav{font-size:17px;gap:12px 20px}.header>.pill{font-size:17px;padding:9px 22px}}
/* Shared rounded type for body copy, small labels and interface text. */
body{font-family:'Fredoka',Arial,sans-serif;font-weight:400}h1,h2,h3,.hero h1,.explore-links strong,.project-caption strong,summary{font-family:Arial,Helvetica,sans-serif}h1 em,h2 em,h3 em,.italic{font-family:Georgia,'Times New Roman',serif}.eyebrow,.hero-index,.section-label,.number,.project-corner,.project-tag,.project-stamp,.process-grid article>span,.vertical-note,.dialog-head,.ticker,.moving-strip{font-family:'Fredoka',Arial,sans-serif}.section-label,.eyebrow,.hero-index{letter-spacing:.055em}.enquiry-form input,.enquiry-form textarea{font-family:'Fredoka',Arial,sans-serif}
/* Brand descriptor: make the rounded letterforms visible at small sizes. */
.hero .eyebrow{font-family:'Fredoka',Arial,sans-serif;font-weight:450;font-size:14px;letter-spacing:.015em;line-height:1.4}@media(max-width:700px){.hero .eyebrow{font-size:13px;max-width:100%}}
