@font-face{font-family:Studio;src:url('assets/brand.woff2') format('woff2');font-display:swap}@font-face{font-family:Futura;src:url('assets/body.woff2') format('woff2');font-display:swap}:root{--cream:#faf7ef;--pink:#eed0c9;--rose:#deb9b1;--brown:#61423c;--muted:#735c56;--line:#cfbbb1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--cream);color:var(--brown);font-family:Futura,'Trebuchet MS',sans-serif;font-size:17px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--brown);outline-offset:6px}.skip{position:fixed;top:-80px;left:20px;background:white;padding:12px;z-index:10}.skip:focus{top:10px}header{display:flex;align-items:center;justify-content:space-between;padding:18px 5%;gap:24px;background:#faf7eff2;border-bottom:1px solid #61423c15;position:sticky;top:0;z-index:5;backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:10px;line-height:1.1;flex-shrink:0}.brand img{width:65px;height:47px;object-fit:contain}.brand span{font-family:Georgia,serif;font-size:21px;letter-spacing:1px}.brand small{display:block;font-family:Futura,sans-serif;font-size:10px;letter-spacing:2px;margin-top:7px}nav{display:flex;align-items:center;gap:32px;font-size:14px}nav a:not(.nav-contact):hover{color:#a46759}.nav-contact{border:1px solid var(--brown);border-radius:50px;padding:10px 20px;display:flex;gap:20px;transition:background .25s}.nav-contact:hover{background:var(--pink)}.menu-toggle{display:none}.hero{max-width:1600px;margin:auto;padding:75px 6% 65px;display:grid;grid-template-columns:1.12fr 1fr;gap:5%;align-items:center}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:600;margin:0 0 25px}.hero h1{font-family:Studio,Georgia,serif;font-size:clamp(48px,5.25vw,83px);font-weight:400;letter-spacing:-3px;line-height:1.09;margin:0 0 28px}em{font-weight:400;color:#a36d62}.intro{max-width:510px;font-size:17px;line-height:1.8;color:var(--muted)}.hero-actions{display:flex;align-items:center;gap:24px;margin:32px 0 50px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;gap:30px;background:var(--brown);color:var(--cream);border-radius:60px;padding:15px 25px;font-size:14px;transition:transform .3s,background .3s}.button:hover{transform:translateY(-4px);background:#7d554a}.text-link{font-size:14px;border-bottom:1px solid #a7877e;padding-bottom:5px;display:inline-flex;gap:15px}.hero-meta{border-top:1px solid var(--line);display:flex;justify-content:space-between;padding-top:18px;font-size:12px;letter-spacing:.7px}.hero-visual{position:relative;padding:0 12px 0 25px}.image-frame{border-radius:46% 46% 3px 3px;overflow:hidden;aspect-ratio: .91;border:9px solid #f0e0d5;box-shadow:0 0 0 1px var(--line);transform:rotate(2deg);animation:arrive 1.2s ease-out both}.image-frame img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s}.image-frame:hover img{transform:scale(1.04)}.note{position:absolute;right:-10px;bottom:62px;background:#f5e8b9;padding:22px 25px;box-shadow:0 8px 24px #61423c14;font-family:Georgia,serif;font-style:italic;font-size:21px;line-height:1.25;transform:rotate(-7deg)}.visual-caption{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.7px;margin-top:25px;gap:12px}.ribbon{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--pink);padding:19px 0}.ribbon>div{display:flex;align-items:center;gap:36px;white-space:nowrap;width:max-content;animation:marquee 50s linear infinite;font-size:15px;letter-spacing:2px}.ribbon span{display:inline-block}.ribbon:hover>div{animation-play-state:paused}.section{padding:95px 6%;max-width:1600px;margin:auto}.section-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:10%;align-items:end;margin-bottom:45px}h2{font-family:Studio,Georgia,serif;font-size:clamp(39px,4.2vw,64px);font-weight:400;line-height:1.12;letter-spacing:-2px;margin:0}h3{font-family:Georgia,serif;font-size:29px;font-weight:400;line-height:1.25;margin:28px 0 20px}.section-heading p:not(.eyebrow){color:var(--muted);max-width:410px;font-size:16px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.service{padding:35px 30px;display:flex;flex-direction:column;transition:background .4s}.service+.service{border-left:1px solid var(--line)}.service:nth-child(2){background:#f0ded7}.service:hover{background:#e9ccc3}.service-number{font-size:12px;letter-spacing:1.7px}.service p{font-size:16px;color:var(--muted);margin:0}.service ul{list-style:none;padding:20px 0 24px;font-size:14px;line-height:1.7;flex:1}.service li{padding:7px 0;border-bottom:1px solid #61423c19}.service>a{border-top:1px solid var(--line);padding-top:20px;font-size:14px;display:flex;justify-content:space-between}.portfolio{background:#f0e6dc;max-width:none}.portfolio>div{max-width:1408px;margin-left:auto;margin-right:auto}.access-note{display:block;max-width:390px;font-size:12px;color:var(--muted);margin-top:13px}.work-grid{display:grid;grid-template-columns:1.13fr 1fr;gap:40px;align-items:start}.work{margin:0}.work:nth-child(2){padding-top:75px}.work-image{overflow:hidden;aspect-ratio:1.15}.work:nth-child(2) .work-image{aspect-ratio:1.1}.work img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.work:hover img{transform:scale(1.035)}figcaption{padding:20px 0;display:flex;flex-direction:column;gap:4px}figcaption>span{font-family:Georgia,serif;font-size:25px}figcaption small{font-size:10px;letter-spacing:1.8px}.about{display:grid;grid-template-columns:1fr 1.1fr;gap:12%;align-items:start;padding-top:110px;padding-bottom:85px}.about-logo{width:220px;margin:38px 0 8px}.signature{font-family:Georgia,serif;font-size:22px;font-style:italic;line-height:1.4;color:#a36d62}.about-copy{padding-top:43px}.about-copy p{font-size:16px;color:var(--muted)}.about-copy .large{font-size:25px;color:var(--brown);font-family:Georgia,serif;line-height:1.5;margin-top:0}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px 0;margin:30px 0}.facts strong{font-family:Georgia,serif;font-size:26px;font-weight:400}.facts span{font-size:12px;display:block}.experience{padding-top:30px;padding-bottom:70px;text-align:center}.experience .eyebrow{margin-bottom:10px}.experience-intro{font-size:16px;color:var(--muted)}.clients{display:flex;justify-content:space-around;gap:24px;flex-wrap:wrap;font-family:Georgia,serif;font-size:27px;margin-top:35px}.contact{max-width:none;text-align:center;background:var(--pink);position:relative;padding-top:90px;padding-bottom:85px}.contact h2{font-size:clamp(42px,5vw,75px)}.contact p:not(.eyebrow){margin:25px auto;color:var(--muted)}.contact .email{display:block;font-size:14px;margin-top:20px}.contact .button{padding-left:35px;padding-right:35px}footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:30px 6%;font-size:12px}footer .footer-brand{font-family:Georgia,serif;font-size:21px}footer>div{display:flex;gap:28px}.motion .reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}.motion .reveal.visible{opacity:1;transform:none}@keyframes arrive{from{opacity:0;transform:translateY(20px) rotate(0)}to{opacity:1;transform:translateY(0) rotate(2deg)}}@keyframes marquee{to{transform:translateX(-50%)}}@media(min-width:1600px){.portfolio,.contact{padding-left:max(6%,calc((100vw - 1408px)/2));padding-right:max(6%,calc((100vw - 1408px)/2))}}@media(max-width:1000px){nav{gap:18px}.brand span{font-size:18px}.hero{gap:3%;padding-top:50px}.hero h1{letter-spacing:-2px}.hero-actions{gap:18px}.service{padding:26px 20px}h3{font-size:25px}.about{gap:7%}.note{right:0;font-size:18px}.section-heading{gap:6%}}@media(max-width:760px){header{padding:13px 5%}.brand img{width:52px;height:40px}.brand small{font-size:9px}.menu-toggle{display:flex;background:none;border:1px solid var(--line);border-radius:30px;gap:12px;padding:8px 14px;font-size:14px}nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--cream);padding:20px 6%;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:18px}nav.open{display:flex}.nav-contact{justify-content:space-between}.hero{grid-template-columns:1fr;padding:45px 6% 40px;gap:35px}.hero h1{font-size:clamp(44px,9.5vw,68px);letter-spacing:-1.8px}.eyebrow{font-size:11px;letter-spacing:1.4px}.intro{font-size:16px}.hero-actions{margin:25px 0 30px}.hero-visual{width:88%;margin:auto;padding:0 10px}.image-frame{aspect-ratio:1.08}.note{right:-23px;bottom:50px;font-size:18px;padding:18px}.hero-meta{font-size:11px}.visual-caption{font-size:9px;letter-spacing:1px}.section{padding:65px 6%}.section-heading{grid-template-columns:1fr;gap:18px;margin-bottom:30px}h2{letter-spacing:-1px}.service-grid{grid-template-columns:1fr}.service+.service{border-left:none;border-top:1px solid var(--line)}.service{padding:28px}.service h3{margin:17px 0;font-size:29px}.service ul{padding:12px 0}.work-grid{gap:30px;grid-template-columns:1fr}.work:nth-child(2){padding-top:0}.work-image,.work:nth-child(2) .work-image{aspect-ratio:1.15}.about{grid-template-columns:1fr;gap:10px}.about-logo{width:160px;margin:25px 0 5px}.about-copy{padding-top:10px}.signature{font-size:20px}.facts{gap:10px}.facts strong{font-size:23px}.clients{gap:20px 35px;font-size:24px}.experience{padding-top:10px}.contact h2{font-size:43px}footer{flex-direction:column;text-align:center;gap:14px}.ribbon>div{font-size:12px}.contact p:not(.eyebrow){font-size:16px}.about-heading{position:relative}.about-logo{position:absolute;width:110px;right:0;bottom:5px}.signature{padding-right:105px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.motion .reveal{opacity:1;transform:none}}

em{font-family:Georgia,serif}h1,h2{letter-spacing:-1px}.hero h1{line-height:1.16}.brand small{font-size:12px;letter-spacing:1px}
/* Requested refinements */
.brand>span{white-space:nowrap;font-size:19px}.brand small{font-size:12px;letter-spacing:2px;margin-top:8px}.portrait .image-frame{animation:portrait-float 8s ease-in-out infinite;aspect-ratio:.91}.portrait .image-frame img{object-position:center 30%}.ribbon>.marquee-track,.clients>.marquee-track{display:flex;gap:0;width:max-content;animation:marquee 42s linear infinite}.marquee-group{display:flex;flex:none;align-items:center;gap:36px;padding-right:36px}.ribbon .marquee-group>span{white-space:nowrap}.clients{display:block;overflow:hidden;max-width:100%;margin-top:35px;mask-image:linear-gradient(to right,transparent,black 5%,black 95%,transparent)}.clients .marquee-group{gap:72px;padding-right:72px;min-width:100vw;justify-content:space-around}.clients .marquee-group>span{white-space:nowrap;display:flex;align-items:center;justify-content:center;min-width:140px}.clients img{width:140px;height:50px;object-fit:contain}.clients:hover .marquee-track{animation-play-state:paused}@keyframes portrait-float{0%,100%{transform:translateY(0) rotate(1deg)}50%{transform:translateY(-12px) rotate(-1deg)}}@media(max-width:1000px){header nav{gap:15px}.brand>span{font-size:17px}}@media(max-width:760px){.brand>span{font-size:15px;letter-spacing:.4px}.brand small{font-size:10px;letter-spacing:1.7px}.brand img{width:40px}.brand{gap:7px}.portrait .image-frame{aspect-ratio:.95}.clients .marquee-group{gap:35px;padding-right:35px}.marquee-group{gap:25px;padding-right:25px}}@media(prefers-reduced-motion:reduce){.ribbon>.marquee-track,.clients>.marquee-track,.portrait .image-frame{animation:none!important}.ribbon,.clients{overflow-x:auto;mask-image:none}}
.selected-projects{grid-template-columns:1fr 1fr;gap:40px;align-items:start;max-width:1060px!important}.selected-projects .selected-work:first-child{grid-column:1/-1}.selected-projects .selected-work:nth-child(2){padding-top:0}.selected-projects .selected-work:last-child{width:75%;justify-self:end}.project-crop{position:relative;overflow:hidden;width:100%;background:var(--cream)}.selected-work .project-crop img{position:absolute;max-width:none;width:var(--crop-width);height:auto;left:var(--crop-left);top:var(--crop-top);object-fit:initial;transform:none;transition:none}.selected-work:hover img{transform:none}.selected-projects figcaption small{font-size:12px;letter-spacing:1px}@media(max-width:760px){.selected-projects{grid-template-columns:1fr;gap:28px}.selected-projects .selected-work:last-child{width:85%;justify-self:center}.selected-projects figcaption small{font-size:11px}}
.portfolio-collection{max-width:1120px!important}.fiction-note{font-size:13px;color:var(--muted);margin:0 0 36px}.portfolio-group{margin-bottom:65px}.portfolio-group:last-child{margin-bottom:0}.portfolio-group h3{font-size:32px;margin:0 0 24px}.portfolio-group h3 small{display:block;font:12px Futura,sans-serif;letter-spacing:1.5px;margin-top:10px;line-height:1.6}.portfolio-pair{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:start}.portfolio-piece{margin:0;min-width:0}.portfolio-piece>img{width:100%;height:auto;display:block}.portfolio-piece figcaption{padding:12px 0}.portfolio-piece figcaption>span{font-size:19px}.magazine-group{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:50px}.magazine-group>div>p{max-width:360px;font-size:17px;color:var(--muted)}.magazine-group .portfolio-piece{width:80%;justify-self:center}.clients .client-logo{min-width:180px;height:75px;padding:13px 20px}.clients .client-logo img{max-width:180px;width:auto;max-height:49px;height:auto;object-fit:contain}.clients .dark-logo{background:var(--brown);border-radius:8px}.clients .dark-logo:last-child{min-width:270px}.clients .dark-logo:last-child img{width:230px;max-width:230px}.clients .marquee-group{padding-top:8px;padding-bottom:8px}@media(max-width:760px){.portfolio-pair{gap:14px}.portfolio-group{margin-bottom:42px}.portfolio-piece figcaption>span{font-size:16px}.magazine-group{grid-template-columns:1fr;gap:20px}.magazine-group .portfolio-piece{width:80%}.merci-pair{grid-template-columns:1fr;gap:25px}.portfolio-group h3{font-size:28px}.portfolio-group h3 small{font-size:11px}.fiction-note{font-size:12px}}
/* Portfolio: staged entrances and pointer-driven depth */
.portfolio{overflow:hidden;overflow:clip}.portfolio-pair{perspective:1400px}.portfolio-piece{perspective:1200px}.portfolio-piece>img{transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateZ(0);transition:transform .55s cubic-bezier(.2,.75,.2,1),box-shadow .55s ease;transform-origin:center;backface-visibility:hidden}.motion .portfolio-piece.reveal{opacity:0;transform:translateY(85px) rotate(3deg) scale(.94);transition:opacity .95s ease,transform 1.25s cubic-bezier(.16,1,.3,1);transition-delay:var(--entry-delay,0ms)}.motion .portfolio-pair .portfolio-piece:nth-child(even){--entry-delay:140ms;transform:translateY(110px) rotate(-3deg) scale(.94)}.motion .portfolio-piece.reveal.visible{opacity:1;transform:translateY(0) rotate(0) scale(1)}.motion .portfolio-piece.reveal>img{clip-path:inset(0 0 18% 0);transition:clip-path 1.4s cubic-bezier(.16,1,.3,1),transform .55s cubic-bezier(.2,.75,.2,1),box-shadow .55s ease}.motion .portfolio-piece.reveal.visible>img{clip-path:inset(0)}.motion .portfolio-piece figcaption{opacity:0;transform:translateY(16px);transition:opacity .7s .35s,transform .7s .35s}.motion .portfolio-piece.visible figcaption{opacity:1;transform:none}.sectors>.marquee-track{animation-duration:65s}@media(hover:hover) and (pointer:fine){.portfolio-piece.is-tilting>img{box-shadow:0 25px 35px -18px #61423c66;transition:transform .15s ease-out,box-shadow .5s}.portfolio-piece.is-tilting figcaption>span{color:#a36d62}}@media(max-width:760px){.motion .portfolio-piece.reveal{transform:translateY(45px) rotate(1.5deg) scale(.96)}.motion .portfolio-pair .portfolio-piece:nth-child(even){transform:translateY(55px) rotate(-1.5deg) scale(.96);--entry-delay:80ms}.motion .portfolio-piece.reveal.visible{transform:none}}@media(prefers-reduced-motion:reduce){.motion .portfolio-piece.reveal,.motion .portfolio-pair .portfolio-piece:nth-child(even),.motion .portfolio-piece figcaption{opacity:1;transform:none;transition:none}.portfolio-piece>img,.motion .portfolio-piece.reveal>img{transform:none!important;clip-path:none!important;transition:none!important;box-shadow:none!important}}
/* Additional studio motion */
@media(prefers-reduced-motion:no-preference){
.hero-copy>.eyebrow{animation:studio-enter .8s .05s both}.hero-copy h1{animation:studio-enter 1.1s .18s both}.hero-copy .intro{animation:studio-enter 1s .32s both}.hero-actions{animation:studio-enter 1s .45s both}.hero-meta{animation:studio-enter 1s .55s both}.note{animation:note-drift 7s ease-in-out infinite}.service{position:relative;transition:background .4s,box-shadow .4s}.service-number{display:inline-block;transition:transform .4s}.service h3{transition:transform .4s}.button>span,.nav-contact>span{display:inline-block;transition:transform .35s}.contact h2 em{display:inline-block;background:linear-gradient(100deg,#a36d62 20%,#61423c 45%,#a36d62 70%);background-size:220% auto;background-clip:text;-webkit-background-clip:text;color:transparent}.contact.visible h2 em{animation:ink-flow 6s ease-in-out 2}.about-logo{transition:transform .7s cubic-bezier(.2,.8,.2,1)}
@media(hover:hover) and (pointer:fine){.service:hover{box-shadow:0 15px 35px -25px #61423c80;z-index:1}.service:hover .service-number{transform:translateX(8px)}.service:hover h3{transform:translateY(-5px)}.button:hover>span,.nav-contact:hover>span{transform:translate(3px,-3px) rotate(8deg)}.about-logo:hover{transform:rotate(-9deg) scale(1.08)}.brand img{transition:transform .5s}.brand:hover img{transform:rotate(8deg)}.magnetic{position:relative;left:var(--mag-x,0px);top:var(--mag-y,0px);transition:left .25s ease-out,top .25s ease-out,transform .3s,background .3s}}
}
@keyframes studio-enter{from{opacity:0;transform:translateY(28px);filter:blur(5px)}to{opacity:1;transform:none;filter:blur(0)}}@keyframes note-drift{0%,100%{transform:translateY(0) rotate(-7deg)}50%{transform:translateY(-8px) rotate(-4deg)}}@keyframes ink-flow{0%,100%{background-position:0% center}50%{background-position:100% center}}@media(prefers-reduced-motion:reduce){.magnetic{left:0!important;top:0!important}.contact h2 em{color:#a36d62;background:none}}

/* Readable introduction and a more prominent studio signature. */
.intro{font-size:1.125rem;max-width:570px}.section-heading p:not(.eyebrow){font-size:1.1875rem;line-height:1.75;max-width:460px}.about-logo{width:340px;max-width:100%;height:auto}.facts span{font-size:.875rem}
.journey{border-top:1px solid var(--line)}.journey-list{list-style:none;margin:0;padding:0;position:relative}.journey-list:before{content:"";position:absolute;left:23px;top:24px;bottom:50px;width:1px;background:var(--rose)}.journey-item{display:grid;grid-template-columns:180px minmax(0,1fr);gap:30px;margin-bottom:20px;position:relative}.journey-marker{display:flex;align-items:flex-start;gap:16px;padding-top:24px}.journey-marker>span{display:grid;place-items:center;flex-shrink:0;width:48px;height:48px;border:1px solid var(--rose);border-radius:50%;background:var(--cream);font-size:.875rem}.journey-marker p{font-size:.875rem;margin:12px 0;line-height:1.6}.journey-item article{padding:26px 32px;border:1px solid var(--line);border-radius:4px 28px 4px 4px;background:#fffdf8}.journey-item:nth-child(3n+2) article{background:#f2e1db}.journey-item:nth-child(3n) article{background:var(--pink)}.journey-item h3{font-size:1.5rem;margin:0 0 10px}.journey-item article p{font-size:1rem;line-height:1.8;color:var(--muted);margin:0;max-width:850px}.journey-today{margin:35px 0 0 210px;border-top:1px solid var(--line);padding-top:28px}.journey-today .eyebrow{font-size:.875rem;margin-bottom:12px}.journey-today>p:last-child{font-family:Georgia,serif;font-size:1.375rem;line-height:1.6;max-width:750px}
.experience-intro{font-size:1.125rem}.sectors{padding:16px 0 24px}.clients.sectors .marquee-group{gap:18px;padding-right:18px;min-width:0}.clients.sectors .marquee-group>span{min-width:0;padding:18px 28px;border:1px solid var(--line);border-radius:60px;background:#fffdf8;font-size:1.25rem;box-shadow:0 6px 0 #61423c08}.clients.sectors .marquee-group>span:nth-child(3n+2){background:var(--pink);border-color:var(--rose)}.clients.sectors .marquee-group>span:nth-child(3n){background:var(--brown);color:var(--cream);border-color:var(--brown)}.sector-pause{border:0;border-bottom:1px solid var(--line);padding:6px 0;background:transparent;color:var(--muted);font-size:.875rem;cursor:pointer}.sectors.is-paused>.marquee-track{animation-play-state:paused}.experience .clients{margin-top:12px}
@media(max-width:760px){.intro{font-size:1.0625rem}.section-heading p:not(.eyebrow){font-size:1.125rem}.about-logo{position:static;width:260px;max-width:85%;margin:28px 0 16px}.signature{padding-right:0}.journey-item{grid-template-columns:1fr;gap:10px;padding-left:64px;margin-bottom:24px}.journey-marker{padding-top:0;min-height:48px;align-items:center}.journey-marker>span{position:absolute;left:0;top:0}.journey-marker p{margin:0}.journey-item article{padding:20px}.journey-item h3{font-size:1.25rem}.journey-today{margin-left:0}.clients.sectors .marquee-group>span{font-size:1.0625rem;padding:14px 22px}}
@media(prefers-reduced-motion:reduce){.sector-pause{display:none}.sectors .marquee-group[aria-hidden="true"]{display:none}.clients.sectors{overflow:visible;mask-image:none}.clients.sectors>.marquee-track{width:100%}.clients.sectors .marquee-group{flex-wrap:wrap;width:100%;justify-content:center;padding-right:0}}
/* Experience cards: both faces contribute to height, including enlarged text. */
.career-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.career-card{perspective:1400px;min-width:0}.career-inner{display:grid;transform-style:preserve-3d;transition:transform .65s cubic-bezier(.2,.7,.2,1)}.career-card.flipped .career-inner{transform:rotateY(180deg)}.career-face{grid-area:1/1;min-width:0;backface-visibility:hidden;padding:30px;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:6px 38px 6px 6px;background:#fffdf8}.career-front{background:var(--pink)}.career-card:nth-child(3n+2) .career-front{background:#f0e6dc}.career-card:nth-child(3n) .career-front{background:var(--brown);color:var(--cream)}.career-index{font-family:Georgia,serif;font-size:3.5rem;line-height:1;color:inherit;opacity:.6;margin-bottom:24px}.career-face h3{font-size:1.7rem;margin:0 0 16px;line-height:1.3}.career-face p{font-size:1.125rem;line-height:1.7;margin:0 0 26px}.career-face button{margin-top:auto;text-align:left;display:flex;justify-content:space-between;gap:12px;background:none;border:0;border-top:1px solid currentColor;padding:18px 0 0;color:inherit;font-size:1rem;cursor:pointer}.career-back{transform:rotateY(180deg)}.journey-today{margin-left:0;text-align:center}.journey-today>p:last-child{margin-left:auto;margin-right:auto}.language-switch{display:flex;gap:3px;border:1px solid var(--line);border-radius:30px;padding:4px;flex-shrink:0}.language-switch a{padding:6px 10px;border-radius:22px;font-size:.9375rem;line-height:1.3}.language-switch a[aria-current]{background:var(--brown);color:var(--cream)}header{gap:18px}header nav{margin-left:auto;gap:20px}
body{font-size:18px}.eyebrow,.service-number,.portfolio-group h3 small,.fiction-note,.hero-meta,.visual-caption,.facts span,.brand small{font-size:.875rem;line-height:1.6}.intro,.service p,.about-copy p,.magazine-group>div>p,.experience-intro{font-size:1.125rem;line-height:1.8}.service ul,.service>a,.text-link,.button,nav,.nav-contact,.contact .email,footer,.sector-pause{font-size:1rem}.hero-meta{gap:16px}.portfolio-piece figcaption>span{font-size:1.125rem}.contact p:not(.eyebrow){font-size:1.125rem}.brand>span{white-space:normal}.brand small{letter-spacing:1px}.visual-caption{letter-spacing:.7px}footer{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:16px;padding:40px 6%}footer>div{justify-content:center;flex-wrap:wrap;gap:20px 32px}footer .footer-brand{font-size:1.5rem}
@media(max-width:1150px){header{flex-wrap:wrap}.brand{margin-right:auto}header nav{order:3;width:100%;justify-content:center;margin:0}.career-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){header{gap:10px}.brand{flex:1;min-width:0}.brand>span{font-size:.875rem}.brand small{font-size:.75rem}.brand img{width:36px}.menu-toggle{order:2;padding:7px 10px}.language-switch{order:1}.language-switch a{padding:6px 8px}header nav{width:auto;align-items:stretch}.career-grid{grid-template-columns:1fr}.career-face{padding:26px}.career-face h3{font-size:1.5rem}.hero-meta{flex-wrap:wrap}.visual-caption{flex-wrap:wrap;justify-content:center;text-align:center}.hero h1{font-size:clamp(40px,9vw,68px)}.facts{grid-template-columns:1fr;gap:20px}.facts>div{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.facts span{text-align:right}.service ul{font-size:1rem}.eyebrow{letter-spacing:1px}}
@media(prefers-reduced-motion:reduce){.career-inner{transition:none}}
/* Equal cards grow together without clipping either face. */
.career-grid{grid-auto-rows:1fr;align-items:stretch}.career-card{display:grid}.career-inner{height:100%;min-height:100%}.career-face{height:100%}.career-face h3{overflow-wrap:anywhere}
/* Smaller artwork, retaining the existing reveal and pointer animations. */
.portfolio-collection{max-width:880px!important}.portfolio-pair{max-width:820px;margin-inline:auto;gap:28px}.brandboard-pair{max-width:660px}.magazine-group{gap:30px}.magazine-group .portfolio-piece{width:70%;max-width:280px}.portfolio-group{margin-bottom:44px}
.about-signature .signature{font-size:clamp(2rem,3.6vw,3.5rem);line-height:1.25;color:#b65d7b;margin-top:24px;letter-spacing:-.5px;padding-right:0}.section.journey{padding-bottom:20px}.journey-today>p:last-child{margin-bottom:0}.section.experience{padding-top:24px}
@media(max-width:760px){.portfolio-pair{width:88%;gap:16px}.brandboard-pair{width:85%}.merci-pair{width:86%}.magazine-group .portfolio-piece{width:65%;max-width:240px}.about-signature .signature{font-size:2.25rem}.section.journey{padding-bottom:16px}.section.experience{padding-top:20px}}
@font-face{font-family:StudioHand;src:url('assets/handwriting.otf') format('opentype');font-display:swap}
.about-signature .signature{font-family:'Bradley Hand','Noteworthy','Segoe Print',StudioHand,cursive;font-style:normal;font-weight:400;font-size:clamp(2.35rem,3.5vw,3.35rem);line-height:1.08;letter-spacing:.01em;color:#b65d7b;transform:rotate(-3.5deg);margin:34px 0 28px;-webkit-text-stroke:.25px currentColor;text-shadow:.35px .2px 0 currentColor}.signature>span{display:block;position:relative;width:fit-content;max-width:100%;padding:4px 12px 7px 0}.signature>span:nth-child(2){margin-left:1.4em;transform:rotate(2deg)}.signature>span:nth-child(2):after{content:"";position:absolute;left:4%;right:-8%;bottom:1px;height:2px;background:currentColor;border-radius:50%;transform:rotate(-1deg) scaleX(.94);transform-origin:left;opacity:.72}
.portfolio{background:#eed7ce;border-block:1px solid var(--rose)}.portfolio-collection{max-width:980px!important}.portfolio-group{position:relative;background:#faf7ef;border:1px solid #c7a294;padding:34px 36px 32px;margin-bottom:36px;box-shadow:7px 8px 0 #61423c12;border-radius:3px}.portfolio-group:before{content:attr(data-project);position:absolute;right:22px;top:18px;font-family:Georgia,serif;font-size:2.5rem;line-height:1;color:#c79086}.portfolio-group h3{padding-right:45px}.portfolio-group h3 small{max-width:90%;letter-spacing:1px}.portfolio-group:nth-of-type(even){background:#f5e7e0}.portfolio-pair{align-items:center;max-width:780px;gap:34px}.brandboard-pair{max-width:610px}.artwork-mount{min-width:0;transform:rotate(-1.5deg);transition:transform .65s cubic-bezier(.2,.8,.2,1)}.artwork-mount:nth-child(even){transform:rotate(1.5deg)}.portfolio-piece{background:#fffdf9;padding:10px 10px 0;box-shadow:0 10px 24px #61423c20;border:1px solid #61423c15}.portfolio-piece figcaption{padding:14px 5px 16px}.magazine-group{grid-template-columns:1.15fr 1fr}.magazine-group>.artwork-mount{width:78%;max-width:270px;justify-self:center}.magazine-group .portfolio-piece{width:100%;max-width:none}.portfolio-group>h3{border-bottom:1px solid var(--line);padding-bottom:20px}.portfolio-group>h3 small{margin-top:8px}
@media(hover:hover) and (pointer:fine){.artwork-mount:hover{transform:translateY(-9px) rotate(0)}.portfolio-piece:hover{box-shadow:0 22px 32px #61423c2b}}
@media(prefers-reduced-motion:no-preference){.motion .about-signature:not(.visible) .signature>span{clip-path:inset(0 100% 0 0)}.motion .about-signature.visible .signature>span{animation:handwritten-reveal 1.6s .5s linear both}.motion .about-signature.visible .signature>span:nth-child(2){animation-delay:2.1s}.motion .portfolio-group>h3{animation:none}.motion .portfolio-group>h3:after{content:"";display:block;width:42px;height:3px;background:#b65d7b;margin-top:14px;transform-origin:left;animation:accent-draw 1s ease both}}
@keyframes handwritten-reveal{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 -5% 0 0)}}@keyframes accent-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:760px){.portfolio-group{padding:26px 18px 22px;box-shadow:4px 5px 0 #61423c12}.portfolio-group:before{font-size:1.8rem;right:15px;top:16px}.portfolio-pair{width:100%;gap:18px}.brandboard-pair{width:90%}.merci-pair{width:90%}.magazine-group{grid-template-columns:1fr}.magazine-group>.artwork-mount{width:64%;max-width:235px}.portfolio-piece{padding:6px 6px 0}.portfolio-piece figcaption{padding:12px 3px}.about-signature .signature{font-size:clamp(2.05rem,10vw,2.7rem);margin-top:30px}.signature>span:nth-child(2){margin-left:.75em}.portfolio-group h3 small{max-width:100%}}
@media(prefers-reduced-motion:reduce){.artwork-mount,.artwork-mount:nth-child(even),.artwork-mount:hover{transform:none}.signature>span{clip-path:none!important}}
@media(prefers-reduced-motion:no-preference){.portfolio-pair>.artwork-mount:nth-child(even) .portfolio-piece{--entry-delay:180ms}}
/* A more visible, gently animated direct contact link in both languages. */
.contact .email{display:table;position:relative;margin:26px auto 0;padding:5px 0 8px;font-size:clamp(1.2rem,2vw,1.4rem);line-height:1.5;max-width:100%;overflow-wrap:anywhere;color:var(--brown)}
.contact .email:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:currentColor;transform:scaleX(.3);transform-origin:center;opacity:.55}
.contact .email:hover:after,.contact .email:focus-visible:after{transform:scaleX(1);opacity:1}
@media(prefers-reduced-motion:no-preference){.contact .email{transition:transform .3s ease}.contact .email:after{transition:transform .45s ease,opacity .45s ease}.motion .contact.visible .email{animation:contact-email-arrive .8s .3s both}.contact .email:hover{transform:translateY(-3px)}}
@keyframes contact-email-arrive{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
/* Balanced copy sizes and a distinct, repeatable word reveal. */
.section-heading .feature-intro,.experience .feature-intro{font-size:clamp(1.125rem,1.35vw,1.25rem);line-height:1.75;color:var(--brown);max-width:520px;text-wrap:pretty;position:relative;padding-bottom:0}
html[lang="en"] .experience .feature-intro{max-width:620px;margin:12px auto 24px}
.feature-intro .copy-word{display:inline-block}
.feature-intro:after{content:"";display:block;width:72px;height:3px;background:#b65d7b;margin-top:18px;transform-origin:left}
.experience .feature-intro:after{margin-inline:auto}
.journey-today{max-width:900px;margin:48px auto 0;padding:8px 0 12px;text-align:center;background:transparent;border:0;border-radius:0;box-shadow:none}
.journey-today .eyebrow,.experience>.eyebrow{font-family:inherit;font-size:.875rem;line-height:1.5;letter-spacing:.1em;color:var(--muted);margin:0 0 12px}
.journey-today>p:last-child{font-family:inherit;font-size:clamp(1.125rem,1.35vw,1.25rem);line-height:1.75;max-width:700px;margin:0 auto;color:var(--brown)}
.section.experience{padding-top:36px;text-align:center}
.experience-intro{font-size:clamp(1.125rem,1.35vw,1.25rem);line-height:1.75;max-width:620px;margin:12px auto 24px}
.clients.sectors .marquee-group>span{font-family:Georgia,serif;font-style:italic;font-size:clamp(1.45rem,1.8vw,1.75rem);font-weight:400;line-height:1.45;padding:12px 26px;letter-spacing:.01em}
@media(prefers-reduced-motion:no-preference){
 .motion .feature-intro.copy-pending .copy-word{opacity:0;transform:translateY(16px) rotate(2deg)}
 .motion .feature-intro.copy-visible .copy-word{animation:word-arrive .65s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(.3s + var(--word-index)*.035s)}
 .motion .feature-intro.copy-pending:after{transform:scaleX(0)}
 .motion .feature-intro.copy-visible:after{animation:accent-draw 1.1s .65s both}
}
@keyframes word-arrive{from{opacity:0;transform:translateY(16px) rotate(2deg)}to{opacity:1;transform:translateY(0) rotate(0)}}
@media(max-width:760px){.journey-today{padding:4px 0 8px;margin-top:32px}.section.experience{padding-top:28px}.clients.sectors .marquee-group>span{padding:10px 20px}}

/* Compact sector labels and an editorial accent for section introductions. */
.clients.sectors .marquee-group>span{font-size:clamp(1.125rem,1.4vw,1.35rem);padding:9px 20px;line-height:1.45}
.clients.sectors .marquee-group{gap:14px;padding-right:14px}
.section-heading .feature-intro{padding-left:20px;border-left:2px solid var(--rose);font-size:clamp(1.0625rem,1.3vw,1.1875rem);line-height:1.8;max-width:480px;margin-top:0;margin-bottom:0}
.section-heading .feature-intro:after{width:48px;height:2px;margin-top:16px}
.section-heading .feature-intro .copy-word:nth-child(-n+5){color:#a36d62}
@media(max-width:760px){.section-heading .feature-intro{padding-left:16px}.clients.sectors .marquee-group>span{font-size:1.125rem;padding:8px 16px}}

/* Personal portrait framed consistently with the studio palette. */
.about-portrait{width:min(100%,260px);aspect-ratio:4/5;margin:32px 0 26px;overflow:hidden;border-radius:100px 100px 5px 5px;border:1px solid var(--rose);background:var(--pink);box-shadow:7px 8px 0 #eed0c960}
.about-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 88%;display:block}
@media(prefers-reduced-motion:no-preference){.about-portrait img{transition:transform .9s cubic-bezier(.2,.75,.2,1)}.about-portrait:hover img{transform:scale(1.035)}}
@media(max-width:760px){.about-portrait{width:min(75%,230px);margin:24px auto;border-radius:85px 85px 5px 5px}}

/* Neutral separators cannot render as platform-specific emoji. */
.ribbon .ribbon-divider{width:1px;height:18px;background:var(--brown);opacity:.4;flex:none}
@media(max-width:760px){
 .hero-visual .note{position:relative;display:table;right:auto;bottom:auto;margin:22px auto 0;max-width:100%;font-size:1rem;line-height:1.4;padding:14px 18px;transform:rotate(-3deg);animation:none}
 .hero-visual .visual-caption{position:relative;margin-top:24px;gap:8px 18px;line-height:1.6}
}

/* Small floral accents remain in normal flow, clear of text and controls. */
.studio-flower{width:88px;height:88px;object-fit:contain;pointer-events:none;user-select:none;margin:0 0 8px -18px}
.portfolio .studio-flower{transform:rotate(24deg)}
.contact>.studio-flower{width:108px;height:108px;margin:0 auto 12px}
@media(prefers-reduced-motion:no-preference){.reveal.visible .studio-flower{animation:flower-sway 8s ease-in-out 2}}
@keyframes flower-sway{0%,100%{rotate:-7deg}50%{rotate:9deg}}
@media(max-width:760px){.studio-flower{width:68px;height:68px;margin-left:-13px}.contact>.studio-flower{width:84px;height:84px}}

/* Asymmetric accents in section margins, away from headings and reading flow. */
.services,.portfolio{position:relative}
.scattered-flower{position:absolute;margin:0;width:76px;height:76px;pointer-events:none}
.services>.scattered-flower{right:1%;top:44%;transform:rotate(32deg)}
.portfolio>.scattered-flower{left:1%;top:62%;transform:rotate(-23deg)}
@media(max-width:760px){.scattered-flower{width:44px;height:44px}.services>.scattered-flower{right:0;top:12px}.portfolio>.scattered-flower{left:0;top:auto;bottom:12px}}

/* Make ornaments visible against section backgrounds with room around them. */
.services>.scattered-flower{width:140px;height:140px;right:1%;top:8px;z-index:1}
.portfolio>.scattered-flower{width:140px;height:140px;left:1%;top:auto;bottom:8px;z-index:1}
.section.portfolio{padding-bottom:135px}
.about-signature .signature{color:var(--rose)}
/* Identical full-viewport groups keep the first ribbon filled at its seam. */
.ribbon>.marquee-track{gap:0;animation-duration:36s;animation-play-state:running}
.ribbon .marquee-group{min-width:100vw;justify-content:space-around;flex-shrink:0}
.ribbon:hover>.marquee-track{animation-play-state:running}
@media(max-width:760px){.services>.scattered-flower{width:100px;height:100px;top:0;right:0}.portfolio>.scattered-flower{width:100px;height:100px;left:0;bottom:4px}.section.services{padding-top:100px}.section.portfolio{padding-bottom:105px}}
/* Mobile layout: consistent gutters, fluid headings and usable touch controls. */
@media(max-width:760px){
 html{scroll-padding-top:130px}
 header{padding:10px 16px;gap:8px;align-items:center}
 .brand{min-width:0}.brand>span{font-size:.8125rem;letter-spacing:.2px}.brand small{font-size:.75rem;letter-spacing:.5px}.brand img{width:32px;height:36px;flex:none}
 .language-switch a{min-height:36px;display:grid;place-items:center;padding:6px 8px}.menu-toggle{min-height:44px;font-size:.875rem;gap:6px}
 header nav{max-height:calc(100dvh - 110px);overflow-y:auto;padding:16px 20px}header nav a{padding-block:12px}
 .section,.hero{padding-left:20px;padding-right:20px;min-width:0}
 .section{padding-top:48px;padding-bottom:48px}.hero{padding-top:30px;padding-bottom:32px;gap:26px}
 .hero-copy,.about-heading,.about-copy,.section-heading>div,.service,.portfolio-group{min-width:0}
 .hero h1{font-size:clamp(2rem,8.6vw,3.5rem);line-height:1.16;letter-spacing:-.7px;overflow-wrap:break-word}
 h2,.contact h2{font-size:clamp(1.9rem,8vw,3rem);line-height:1.2;letter-spacing:-.6px;overflow-wrap:break-word}
 .eyebrow{margin-bottom:18px;letter-spacing:.8px}.intro,.about-copy p,.service p{font-size:1rem;line-height:1.75}
 .hero-actions{gap:20px;margin:24px 0}.button{min-height:48px;justify-content:center;padding:13px 22px;max-width:100%;text-align:center}
 .hero-visual{width:100%;max-width:350px;padding:0 8px}.hero-meta{font-size:.875rem;line-height:1.6;gap:8px}
 .hero-visual .visual-caption{font-size:.8125rem;gap:6px 12px}.hero-visual .note{margin-top:18px}
 .section-heading{gap:22px;margin-bottom:28px}.section-heading .feature-intro{font-size:1rem;line-height:1.75;max-width:100%}
 .service{padding:24px 20px}.service h3{font-size:1.6rem}.service ul{margin-block:8px}
 .portfolio-pair,.brandboard-pair,.merci-pair{width:100%;grid-template-columns:minmax(0,1fr);gap:24px}
 .portfolio-group{padding:24px 16px;margin-bottom:28px}.portfolio-group h3{font-size:1.5rem}.portfolio-group h3 small{font-size:.8125rem;line-height:1.6;letter-spacing:.5px}
 .portfolio-pair>.artwork-mount{width:100%;max-width:360px;margin-inline:auto}.brandboard-pair>.artwork-mount{max-width:260px}.magazine-group>.artwork-mount{width:80%;max-width:240px}
 .about{gap:16px}.about-portrait{width:min(70%,210px)}.about-copy{padding-top:0}.about-copy .large{font-size:1.25rem;line-height:1.6}
 .about-signature .signature{font-size:clamp(1.8rem,7.4vw,2.4rem);line-height:1.2}.signature>span:nth-child(2){margin-left:.3em}.signature>span:nth-child(2):after{right:0}
 .facts>div{flex-wrap:wrap;gap:4px 12px}.facts span{text-align:left}.career-grid{grid-auto-rows:1fr;gap:18px}.career-face{padding:22px}.career-face p{font-size:1rem;line-height:1.7}.career-face h3{font-size:1.4rem}.career-index{font-size:2.5rem;margin-bottom:18px}.career-face button{min-height:48px}
 .journey-today>p:last-child,.experience-intro,.experience .feature-intro{font-size:1rem;line-height:1.75}
 .section.services{padding-top:88px}.section.portfolio{padding-bottom:100px}.contact .email{font-size:1.125rem}
 footer{padding:28px 20px;gap:12px}footer>div{gap:8px 24px}footer a{padding-block:8px}
}
@media(max-width:380px){header .brand{flex-basis:100%;justify-content:center}header .language-switch{margin-left:auto}header .menu-toggle{margin-right:auto}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .text-link{align-self:center}.section,.hero{padding-left:16px;padding-right:16px}}

/* Compact mobile portraits with equal, content-safe experience cards. */
@media(max-width:760px){
 .hero-visual{max-width:350px}
 .hero-visual .image-frame{width:min(100%,220px);margin-inline:auto}
 .about-portrait{width:min(60%,150px);margin:20px auto}
 .career-grid{grid-auto-rows:1fr;align-items:stretch}
 .career-card,.career-inner{min-width:0;height:100%}
}

/* Playful cut-out portrait for the Ana Stories introduction. */
.about-portrait.about-portrait-cutout{
 width:min(100%,310px);aspect-ratio:4/5;margin:42px 0 34px 14px;
 overflow:visible;isolation:isolate;border:0;
 border-radius:0;
 background:none;
 box-shadow:none;transform:rotate(-1.5deg)
}
.about-portrait.about-portrait-cutout::before{
 content:"";position:absolute;inset:-12px 10px 12px -13px;z-index:-1;
 border:2px dashed #a36d62;border-radius:52% 48% 58% 42% / 43% 55% 45% 57%;transform:rotate(5deg)
}
.about-portrait.about-portrait-cutout::after{
 content:"✦";position:absolute;right:-25px;top:22px;display:grid;place-items:center;
 width:56px;height:56px;border-radius:50%;background:#f5e8b9;color:#a36d62;
 font-size:28px;box-shadow:4px 5px 0 #61423c18;transform:rotate(10deg)
}
.about-portrait.about-portrait-cutout img{
 position:relative;z-index:1;width:108%;height:108%;margin-left:-4%;margin-top:-8%;
 object-fit:contain;object-position:center bottom;filter:none;transform:rotate(1.5deg)
}
@media(prefers-reduced-motion:no-preference){.about-portrait.about-portrait-cutout:hover img{transform:rotate(1.5deg) translateY(-6px) scale(1.025)}}
@media(max-width:760px){
 .about-portrait.about-portrait-cutout{width:min(68%,220px);margin:30px auto 32px}
 .about-portrait.about-portrait-cutout::after{right:-19px;top:15px;width:46px;height:46px;font-size:23px}
}

/* Small flowers echo the existing studio illustration around the portrait. */
.about-portrait.about-portrait-cutout{position:relative}
.about-portrait.about-portrait-cutout::before,
.about-portrait.about-portrait-cutout::after{content:none}
.portrait-flower{position:absolute;z-index:2;width:50px;height:50px;pointer-events:none;background:url('assets/studio-flower.png') center / 190% no-repeat;filter:drop-shadow(1px 3px 2px #61423c18)}
.portrait-flower-1{left:-4%;top:12%;width:48px;height:48px;transform:rotate(-22deg)}
.portrait-flower-2{right:6%;top:1%;width:34px;height:34px;transform:rotate(18deg)}
.portrait-flower-3{right:-4%;top:35%;width:43px;height:43px;transform:rotate(48deg)}
.portrait-flower-4{right:0;bottom:13%;width:54px;height:54px;transform:rotate(-15deg)}
.portrait-flower-5{left:14%;bottom:-1%;width:34px;height:34px;transform:rotate(35deg)}
.portrait-flower-6{left:-6%;bottom:27%;width:40px;height:40px;transform:rotate(65deg)}
@media(max-width:760px){
 .portrait-flower{scale:.82}
 .portrait-flower-1{left:-5%;top:13%}.portrait-flower-2{right:4%}.portrait-flower-3{right:-6%;top:36%}.portrait-flower-4{right:-1%;bottom:12%}.portrait-flower-5{left:12%}.portrait-flower-6{left:-7%;bottom:26%}
}

/* Client voices: an editorial carousel within Experience Across Industries. */
.testimonial-showcase{max-width:980px;margin:70px auto 0;padding-top:58px;border-top:1px solid var(--line);text-align:left;position:relative}
.testimonial-showcase::before{content:"“";position:absolute;right:4%;top:20px;font:7rem/1 Georgia,serif;color:var(--pink);pointer-events:none}
.testimonial-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:28px}
.testimonial-heading .eyebrow{margin-bottom:8px}
.testimonial-heading h3{margin:0;font-family:Studio,Georgia,serif;font-size:clamp(2rem,3.4vw,3.35rem);line-height:1.1;color:var(--brown)}
.testimonial-arrows{display:flex;gap:10px;flex:none}
.testimonial-arrow{width:50px;height:50px;border:1px solid var(--line);border-radius:50%;background:var(--cream);color:var(--brown);cursor:pointer;font-size:1.35rem;transition:transform .25s,background .25s,color .25s}
.testimonial-arrow:hover,.testimonial-arrow:focus-visible{background:var(--brown);color:var(--cream);transform:translateY(-2px)}
.testimonial-stage{display:grid;min-height:310px}
.testimonial-card{grid-area:1/1;padding:38px 42px 34px;background:var(--pink);border:1px solid var(--rose);border-radius:34px 34px 6px 34px;box-shadow:10px 12px 0 #61423c0b;position:relative;overflow:hidden}
.testimonial-card::after{content:"";position:absolute;right:-55px;bottom:-70px;width:180px;height:180px;border:1px solid #fff9;border-radius:50%}
.testimonial-card[hidden]{display:none}
.testimonial-count{position:absolute;right:34px;top:30px;font-size:.8rem;letter-spacing:.12em;color:var(--muted)}
.testimonial-stars{color:#a36d62;letter-spacing:.18em;font-size:.9rem;margin-bottom:24px}
.testimonial-card blockquote{margin:0;max-width:780px;font-family:Georgia,serif;font-size:clamp(1.35rem,2.25vw,2rem);line-height:1.5;text-wrap:balance;color:var(--brown)}
.testimonial-translation{margin:12px 0 0;max-width:720px;color:var(--muted);font-size:.95rem;font-style:italic;line-height:1.55}
.testimonial-card footer{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:2px;padding:27px 0 0;margin-top:28px;border-top:1px solid #61423c25;position:relative;z-index:1}
.testimonial-card footer strong{font-size:.9rem;letter-spacing:.08em;text-transform:uppercase}
.testimonial-card footer span{font-size:.84rem;color:var(--muted)}
.testimonial-dots{display:flex;justify-content:center;gap:9px;margin-top:22px}
.testimonial-dots button{width:9px;height:9px;padding:0;border:1px solid var(--brown);border-radius:50%;background:transparent;cursor:pointer;transition:width .25s,background .25s,border-radius .25s}
.testimonial-dots button.is-active{width:30px;border-radius:9px;background:var(--brown)}
@media(prefers-reduced-motion:no-preference){.testimonial-card.is-entering{animation:testimonial-in .5s cubic-bezier(.16,1,.3,1) both}@keyframes testimonial-in{from{opacity:0;transform:translateX(24px) rotate(.4deg)}to{opacity:1;transform:none}}}
@media(max-width:760px){.testimonial-showcase{margin-top:48px;padding-top:42px}.testimonial-showcase::before{font-size:5rem;top:14px}.testimonial-heading{align-items:flex-start}.testimonial-heading h3{font-size:2rem}.testimonial-arrows{margin-top:28px}.testimonial-arrow{width:44px;height:44px}.testimonial-stage{min-height:360px}.testimonial-card{padding:30px 24px 26px;border-radius:26px 26px 5px 26px}.testimonial-count{right:22px;top:25px}.testimonial-card blockquote{font-size:1.25rem;line-height:1.55}.testimonial-card footer{padding-top:20px;margin-top:22px}.testimonial-card footer span{font-size:.8rem}}
@media(max-width:420px){.testimonial-heading{display:block}.testimonial-arrows{margin-top:18px}.testimonial-stage{min-height:405px}}

/* Keep the full video composition visible at each portrait size. */
.about-portrait.about-portrait-video{position:relative;isolation:isolate;width:100%;aspect-ratio:512/554;margin:32px 0 28px;overflow:visible;border:0;border-radius:0;background:none;box-shadow:none}
.about-portrait-video .about-video{position:relative;z-index:1;display:block;width:100%;height:auto;aspect-ratio:512/554;object-fit:contain;border-radius:20px}
.about-video-toggle{position:absolute;right:10px;bottom:10px;z-index:3;min-width:58px;min-height:38px;padding:8px 12px;border:1px solid #61423c55;border-radius:20px;background:#fff8eef2;color:var(--brown);font:inherit;font-size:14px;line-height:1.2;cursor:pointer}
.about-video-toggle[hidden]{display:none}
.about-video-toggle:focus-visible{outline:2px solid var(--brown);outline-offset:3px}
@media(max-width:760px){.about-portrait.about-portrait-video{width:min(70%,220px);margin:24px auto 28px}.about-portrait-video .about-video{border-radius:16px}}

/* A centered signature bridges both introduction columns. */
.about{row-gap:20px;padding-bottom:56px}
.about-signature{grid-column:1 / -1;min-width:0;text-align:center}
.about-signature .signature{width:fit-content;max-width:100%;margin:12px auto 18px;padding:0}
.about-signature .signature>span{margin-left:auto;margin-right:auto;padding-left:12px;padding-right:12px}
.about-signature .signature>span:nth-child(2){margin-left:auto;margin-right:auto}
.about-signature .signature>span:nth-child(2)::after{left:4%;right:4%}
@media(max-width:760px){.about{row-gap:20px;padding-bottom:40px}.about-signature .signature{margin:8px auto 12px}}

/* Editorial refinement: preserve the studio palette, fonts and media. */
.hero,.section{max-width:1480px}
.hero{padding-top:84px;padding-bottom:76px;column-gap:6%}
.hero-copy,.hero-visual,.about-heading,.about-copy,.section-heading>div{min-width:0}
.hero h1{margin-bottom:32px}
.intro{max-width:560px}
.hero-actions{gap:24px 28px;margin-bottom:42px}
.hero-meta{padding-top:20px}
.image-frame{border-width:6px}
.note{box-shadow:0 8px 24px #61423c08}
.section{padding-top:112px;padding-bottom:112px}
.section-heading{gap:8%;margin-bottom:52px}
h2{line-height:1.16;letter-spacing:-.025em}
.section-heading .eyebrow,.about-heading>.eyebrow{margin-bottom:22px}
.section-heading .feature-intro{padding-left:22px;border-left-width:1px;max-width:460px;line-height:1.8}
.section-heading .feature-intro::after,
.motion .portfolio-group>h3::after{content:none}
.section-heading .feature-intro .copy-word:nth-child(-n+5){color:inherit}
.button,.nav-contact{min-height:48px}

/* Clear card boundaries and breathing room around each expertise. */
.service-grid{gap:20px;border:0;grid-template-columns:repeat(3,minmax(0,1fr))}
.service,.service+.service{border:1px solid var(--line);padding:38px 28px}
.service h3{font-size:clamp(1.5rem,2.05vw,1.875rem);line-height:1.35;margin:24px 0 22px}
.service p{line-height:1.8}
.service ul{margin:12px 0 20px;padding:8px 0 12px}
.service li{border-bottom:0;padding:7px 0}
.service>a{min-height:48px;padding-top:22px;line-height:1.6}
.service:hover{box-shadow:none}
.service:hover .service-number,.service:hover h3{transform:none}

/* Retain the paper-like portfolio, with quieter frames and alignment. */
.section.portfolio{max-width:none;padding-bottom:144px}
.portfolio>.section-heading{max-width:1302px}
.portfolio-collection{max-width:1040px!important}
.fiction-note{margin-bottom:40px;line-height:1.7}
.portfolio-group{padding:40px;margin-bottom:44px;border-color:var(--line);box-shadow:none}
.portfolio-group::before{top:26px;right:26px;font-size:2rem}
.portfolio-group h3{font-size:2rem;line-height:1.3}
.portfolio-group>h3{padding-bottom:24px;margin-bottom:32px}
.portfolio-group h3 small{line-height:1.7;max-width:100%}
.portfolio-pair{gap:36px}
.artwork-mount{transform:rotate(-.6deg)}
.artwork-mount:nth-child(even){transform:rotate(.6deg)}
.portfolio-piece{padding:8px 8px 0;box-shadow:0 8px 24px #61423c12}
.portfolio-piece figcaption{padding:16px 8px 18px;line-height:1.6}
.portfolio-piece figcaption>span{line-height:1.5}
.services>.scattered-flower{width:88px;height:88px;top:20px;right:2%}
.portfolio>.scattered-flower{width:88px;height:88px;bottom:22px;left:2%}

/* Keep the full-width introduction video and centered handwritten signature. */
.section.about{padding-top:120px;padding-bottom:68px;column-gap:10%;row-gap:28px}
.about-copy{padding-top:40px}
.about-copy .large{margin-bottom:28px;line-height:1.55}
.about-copy p:not(.large){margin:0 0 22px;line-height:1.85}
.facts{gap:20px;padding:26px 0;margin:32px 0}
.facts strong{line-height:1.4}
.facts span{margin-top:4px;line-height:1.6}
.about-signature .signature{margin:16px auto 20px}
.section.journey{padding-bottom:32px}
.career-face{padding:32px;border-radius:6px 24px 6px 6px}
.career-face h3{line-height:1.35}
.career-face button{line-height:1.6;min-height:48px}
.journey-today{margin-top:56px}
.section.experience{padding-top:44px;padding-bottom:108px}
.clients.sectors .marquee-group>span{box-shadow:none}

/* Let the client words carry the testimonial area. */
.testimonial-showcase{margin-top:80px;padding-top:64px}
.testimonial-showcase::before,.testimonial-card::after{content:none}
.testimonial-heading{gap:24px;margin-bottom:32px}
.testimonial-heading h3{line-height:1.18}
.testimonial-card{padding:42px 44px 38px;border-radius:24px 24px 6px 24px;box-shadow:none}
.testimonial-card footer{gap:6px}
.testimonial-translation{line-height:1.7}
.testimonial-card footer span{font-size:.875rem;line-height:1.6}
.section.contact{max-width:none;padding-top:104px;padding-bottom:100px}
.contact>.studio-flower{width:88px;height:88px;margin-bottom:20px}
.contact p:not(.eyebrow){line-height:1.8}
body>footer{padding-top:44px;padding-bottom:44px}

@media(hover:hover) and (pointer:fine){
 .artwork-mount:hover{transform:translateY(-4px) rotate(0)}
 .portfolio-piece:hover{box-shadow:0 10px 24px #61423c20}
 .portfolio-piece.is-tilting>img{box-shadow:0 10px 24px #61423c12}
 .button:hover{transform:translateY(-2px)}
}

@media(min-width:761px) and (max-width:1100px){
 .hero{column-gap:4%;padding-top:64px;padding-bottom:64px}
 .section{padding-top:96px;padding-bottom:96px}
 .section-heading{gap:6%;margin-bottom:44px}
 .service-grid{gap:14px}
 .service,.service+.service{padding:30px 20px}
 .service h3{font-size:1.5rem}
 .service p,.service ul,.service>a{font-size:1rem}
 .section.about{column-gap:7%;padding-top:104px}
 .facts{grid-template-columns:1fr;gap:16px}
 .facts>div{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 16px}
 .facts span{margin-top:0}
 .portfolio-group{padding:34px 30px}
 .career-face{padding:28px}
}

@media(max-width:760px){
 .hero{padding-top:40px;padding-bottom:44px;gap:32px}
 .hero h1{margin-bottom:24px}
 .hero-actions{gap:20px;margin:28px 0 30px}
 .hero-meta{padding-top:18px}
 .hero-visual .image-frame{border-width:5px}
 .section{padding-top:60px;padding-bottom:60px}
 .section-heading{gap:24px;margin-bottom:36px}
 .section-heading .eyebrow,.about-heading>.eyebrow{margin-bottom:18px}
 h2,.contact h2{line-height:1.22;letter-spacing:-.02em}
 .section-heading .feature-intro{padding-left:16px;max-width:100%;font-size:1rem;line-height:1.75}
 .service-grid{grid-template-columns:minmax(0,1fr);gap:20px}
 .service,.service+.service{padding:28px 24px}
 .service h3{font-size:1.6rem;margin:20px 0}
 .service p{line-height:1.75}
 .service ul{margin:10px 0 16px}
 .service>a{padding-top:18px}
 .section.services{padding-top:96px}
 .services>.scattered-flower{width:68px;height:68px;top:14px;right:8px}
 .section.portfolio{padding-bottom:108px}
 .portfolio>.scattered-flower{width:68px;height:68px;bottom:20px;left:8px}
 .fiction-note{margin-bottom:28px}
 .portfolio-group{padding:28px 20px;margin-bottom:32px}
 .portfolio-group::before{font-size:1.5rem;top:24px;right:18px}
 .portfolio-group h3{font-size:1.5rem;padding-right:32px}
 .portfolio-group>h3{padding-bottom:20px;margin-bottom:28px}
 .portfolio-pair,.brandboard-pair,.merci-pair{width:100%;grid-template-columns:minmax(0,1fr);gap:28px}
 .artwork-mount,.artwork-mount:nth-child(even){transform:none}
 .portfolio-piece{padding:6px 6px 0}
 .portfolio-piece figcaption{padding:14px 6px 16px}
 .section.about{padding-top:68px;padding-bottom:52px;row-gap:24px}
 .about-copy{padding-top:0}
 .about-copy .large{line-height:1.6;margin-bottom:24px}
 .about-copy p:not(.large){margin-bottom:20px;line-height:1.8}
 .facts{gap:18px;margin:28px 0;padding:24px 0}
 .facts span{margin-top:0}
 .about-signature .signature{margin:12px auto 16px}
 .section.journey{padding-bottom:24px}
 .career-grid{gap:20px}
 .career-face{padding:26px 24px;border-radius:6px 22px 6px 6px}
 .career-face h3{font-size:1.4rem}
 .journey-today{margin-top:40px}
 .section.experience{padding-top:32px;padding-bottom:64px}
 .testimonial-showcase{margin-top:56px;padding-top:44px}
 .testimonial-heading{margin-bottom:28px}
 .testimonial-heading h3{font-size:2rem}
 .testimonial-card{padding:32px 24px 28px;border-radius:20px 20px 6px 20px}
 .testimonial-count{top:28px;right:22px}
 .testimonial-card blockquote{line-height:1.6;overflow-wrap:anywhere}
 .testimonial-card footer{padding-top:22px;margin-top:24px}
 .section.contact{padding-top:64px;padding-bottom:64px}
 .contact>.studio-flower{width:72px;height:72px;margin-bottom:18px}
 body>footer{padding-top:32px;padding-bottom:32px}
}
@media(max-width:380px){
 .service,.service+.service,.career-face{padding-left:20px;padding-right:20px}
 .portfolio-group{padding-left:16px;padding-right:16px}
 .testimonial-card{padding-left:20px;padding-right:20px}
}
@media(prefers-reduced-motion:reduce){
 .artwork-mount,.artwork-mount:nth-child(even),.artwork-mount:hover{transform:none}
}

/* Hero only: more room for the headline, portrait and reading rhythm. */
.hero{
 max-width:1560px;
 grid-template-columns:minmax(0,1.18fr) minmax(0,1fr);
 column-gap:4.5%;
 padding-top:96px;
 padding-bottom:88px;
}
.hero .hero-copy>.eyebrow{margin-bottom:28px}
.hero h1{
 font-size:clamp(3rem,5.5vw,5.5rem);
 line-height:1.16;
 margin:0 0 40px;
}
.hero .intro{max-width:34rem;margin:0;line-height:1.8}
.hero .hero-actions{gap:24px 28px;margin:36px 0 44px}
.hero .hero-visual{padding:0 4px}

@media(min-width:761px) and (max-width:1100px){
 .hero{column-gap:4%;padding-top:76px;padding-bottom:72px}
 .hero h1{margin-bottom:34px}
 .hero .hero-actions{margin:32px 0 36px}
}
@media(max-width:760px){
 .hero{grid-template-columns:minmax(0,1fr);gap:40px;padding-top:48px;padding-bottom:56px}
 .hero .hero-copy>.eyebrow{margin-bottom:22px}
 .hero h1{font-size:clamp(2rem,9.3vw,3.75rem);margin-bottom:28px}
 .hero .intro{max-width:100%}
 .hero .hero-actions{gap:20px 24px;margin:32px 0 36px}
 .hero .hero-visual{padding:0 8px}
 .hero .hero-visual .image-frame{width:min(100%,244px)}
}

/* Expertise section: editorial columns in the career section's palette. */
#services .section-heading{margin-bottom:64px}
#services .service-grid{
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:28px;
 align-items:stretch;
}
#services .service{
 padding:46px 32px 40px;
 border:0;
 border-top:1px solid var(--line);
 border-radius:0;
 background:#f0e6dc;
 box-shadow:none;
}
#services .service:hover{background:#f0e6dc;box-shadow:none}
#services .service:nth-child(2),
#services .service:nth-child(2):hover{background:var(--pink)}
#services .service:nth-child(2) .service-number,
#services .service:nth-child(2) p{color:var(--brown)}
#services .service:nth-child(3),
#services .service:nth-child(3):hover{background:var(--brown);color:var(--cream);border-top-color:var(--brown)}
#services .service:nth-child(3) .service-number,
#services .service:nth-child(3) p{color:var(--cream)}
#services .service:nth-child(3)>a{border-top-color:var(--rose)}
#services .service:nth-child(3)>a:focus-visible{outline-color:var(--cream)}
#services .service-number{
 font-size:.875rem;
 line-height:1.6;
 letter-spacing:.12em;
 color:var(--muted);
}
#services .service h3{
 font-size:clamp(1.875rem,2.35vw,2.1875rem);
 line-height:1.28;
 letter-spacing:-.02em;
 margin:24px 0 28px;
 overflow-wrap:break-word;
 hyphens:auto;
}
#services .service p{font-size:1.0625rem;line-height:1.85;margin:0;text-wrap:pretty}
#services .service ul{
 display:grid;
 align-content:start;
 gap:14px;
 padding:0;
 margin:28px 0 32px;
 font-size:1rem;
 line-height:1.75;
}
#services .service li{padding:0;border:0;overflow-wrap:break-word}
#services .service>a{
 align-self:stretch;
 margin-top:auto;
 padding-top:24px;
 min-height:48px;
 line-height:1.6;
}
#services .service>a:hover,
#services .service>a:focus-visible{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}

/* Shared rows align descriptions and links without fixed content heights. */
@media(min-width:761px){
 @supports(grid-template-rows:subgrid){
  #services .service-grid{grid-template-rows:repeat(5,auto);row-gap:0}
  #services .service{display:grid;grid-row:span 5;grid-template-rows:subgrid;row-gap:0}
  #services .service-number,#services .service h3,#services .service p{align-self:start}
 }
}
@media(min-width:761px) and (max-width:1100px){
 #services .section-heading{margin-bottom:52px}
 #services .service-grid{column-gap:18px}
 #services .service{padding:36px 20px 32px}
 #services .service h3{font-size:1.5rem;margin:22px 0 24px}
 #services .service p{font-size:1rem;line-height:1.8}
 #services .service ul{gap:12px;margin:24px 0 28px}
}
@media(max-width:760px){
 #services .section-heading{margin-bottom:44px}
 #services .service-grid{grid-template-columns:minmax(0,1fr);gap:24px}
 #services .service{padding:34px 24px 30px}
 #services .service h3{font-size:1.75rem;line-height:1.3;margin:22px 0 24px}
 #services .service p{font-size:1rem;line-height:1.8}
 #services .service ul{gap:12px;margin:24px 0 28px}
 #services .service>a{padding-top:22px}
}
@media(max-width:380px){
 #services .service{padding-left:20px;padding-right:20px}
}
