/* A continuous studio: dark opening, open project gallery, quiet reading space. */
:root{--flow-label:18px;--flow-body:clamp(20px,1.65vw,24px);--flow-gap:clamp(88px,10vw,160px)}
.home-page{background:var(--ps-color-paper)}
.home-page .header-inner{border-bottom:0}
.home-page :is(.section-label,.project-index,.studio-toolbar,.capture-frame,.capture-provenance,.more-work,.contact-bottom,.about-rule){border:0}
.home-page :is(.section-label,.project-index,.capture-meta,.capture-meta a,.studio-hint,.food-note,.capture-provenance,.contact-privacy,.email-contact>span,.signature-footer>span,.signature-footer>a:last-child,.footer-legal,.capture-viewer-note,.capture-viewer-options a){font-size:var(--flow-label);line-height:1.6}
.home-page :is(.portfolio-heading>p,.portfolio-case-head p,.about-body,.capture-caption,.detail-strip>p span){font-size:var(--flow-body);line-height:1.65}
.home-page .section-label{padding:0;margin-bottom:28px;color:var(--ps-color-raspberry)}
.home-page .section-label>span[lang=en]{display:none}
.home-page .ps-button{border-radius:12px}
.home-page .story-copy .ps-button{border-radius:0}
.home-page .story-bottom .motion-toggle,.home-page .story-bottom .scroll-prompt{font-size:18px}

/* The second act shares the hero's darkness instead of becoming a boxed section. */
.home-page .workflow{--wf-paper:#f4f1e9;--wf-ink:#101010;background:#090909;color:#f4f1e9;padding:96px 0 190px;position:relative}
.home-page .wf-intro{gap:60px;padding-bottom:76px;align-items:center}
.home-page .wf-intro h2{font-size:clamp(64px,8vw,116px);line-height:1.04;letter-spacing:-.045em}
.home-page .wf-intro-note{font-size:var(--flow-body);max-width:420px;color:#ccc;line-height:1.65}
.home-page .wf-eyebrow{font-size:18px;letter-spacing:0;color:#e68aa6}
.home-page .wf-stage-shell{background:transparent}
.home-page .wf-stage{background:radial-gradient(ellipse at 70% 65%,#252225 0%,#121112 50%,#090909 85%);border-radius:40px}
.home-page .wf-stage-top{font-size:18px;color:#c9c9c9}
.home-page .wf-film[data-scrollable=true] .wf-stage-top{font-size:18px}
.home-page .wf-chapter-label{font-size:18px;letter-spacing:0}
.home-page .wf-scene-body{font-size:20px;line-height:1.6;color:#d0d0d0;max-width:360px}
.home-page .wf-scroll-cue{font-size:16px;letter-spacing:0}
.home-page .wf-chapters{border:0;gap:32px;padding-top:16px;min-height:72px}
.home-page .wf-chapters>div{font-size:20px;color:#aaa;gap:12px}
.home-page .wf-chapters>div[data-current=true]{color:#f4f1e9}
.home-page .wf-chapter-number{font-size:18px;color:#aaa}
.home-page .wf-chapter-line{height:3px;opacity:.65;border-radius:8px}
.home-page .wf-story-links{padding-top:32px;gap:12px 32px}
.home-page .wf-story-links a,.home-page .wf-story-links .wf-image-link{font-size:20px;text-decoration-thickness:1px;color:#f4f1e9}
.home-page .wf-postscript{font-size:18px;color:#bdbdbd;gap:20px;margin-top:20px}
.home-page .wf-postscript details p{font-size:18px;color:#ccc}
.home-page .wf-screen-dots{display:none}
.home-page .wf-paper{border-radius:12px}
.home-page .wf-paper-top,.home-page .wf-paper-top strong,.home-page .wf-paper-top>div>span,.home-page .wf-message-facts small,.home-page .wf-proposal-footer{font-size:14px;letter-spacing:0}
.home-page .wf-message-copy{font-size:18px;line-height:1.5}
.home-page .wf-deliverables li{font-size:16px;border-color:#c5c3b655}
.home-page .wf-message-facts{border:0;padding-top:0}
.home-page .wf-screen-top,.home-page .wf-screen-live,.home-page .wf-real-screen figcaption,.home-page .wf-handoff>div>span{font-size:14px}
.home-page .wf-handoff strong{font-size:18px}
.home-page .wf-real-screen{border-radius:16px}
.home-page .wf-handoff{border-radius:12px}
.home-page .wf-discovery{border:0;margin-top:64px;background:#ffffff08;border-radius:28px;padding:0 36px}
.home-page .wf-discovery>summary{padding-block:34px}
.home-page .wf-discovery-title{font-size:clamp(30px,3.5vw,46px)}
.home-page .wf-discovery-cta,.home-page .wf-field{font-size:20px;white-space:normal}
.home-page .wf-discovery-arrow{border-radius:14px;flex:none}
.home-page .wf-field input,.home-page .wf-field select{font-size:20px;border-radius:10px}
.home-page .wf-estimator :is(.wf-sample,.wf-calculation,.wf-fine){font-size:18px!important;color:#ccc}
.home-page .wf-error{font-size:18px;color:#f1acc4}
.home-page .wf-times{font-size:24px}
.home-page .wf-total strong{color:#e68aa6}
.home-page .wf-total>span{font-size:20px}
.home-page .wf-brief-card{border:0;border-radius:20px;box-shadow:none;color:#292929}
.home-page .wf-brief-card .wf-eyebrow{font-size:18px!important;color:var(--red)}
.home-page .wf-brief-card :is(.wf-fine,.wf-open-questions h5,.wf-open-questions ul,.wf-brief-preview dt,.wf-brief-preview dd,.wf-download-status){font-size:18px;line-height:1.6}
.home-page .wf-brief-preview{border:0;gap:0 20px}
.home-page .wf-brief-preview dt,.home-page .wf-brief-preview dd{border:0;padding-block:12px}
.home-page .wf-primary,.home-page .wf-download{font-size:18px!important;border-radius:10px}

/* The real work follows the film. Space and scale replace section rules. */
.home-page .portfolio-section{position:relative;margin-top:-72px;padding:104px 0 32px;border-radius:72px 72px 0 0;background:var(--ps-color-paper)}
.home-page .portfolio-heading{margin-top:0;margin-bottom:104px;align-items:center;gap:64px}
.home-page .portfolio-heading h2{font-size:clamp(52px,6.5vw,94px);max-width:900px}
.home-page .portfolio-heading>p{max-width:380px}
.home-page .portfolio-feature,.home-page .portfolio-case{padding-bottom:var(--flow-gap)}
.home-page .project-index{margin-bottom:28px;padding:0;justify-content:flex-start;gap:32px}
.home-page .project-index>span:first-child{font-size:20px;letter-spacing:0;font-weight:500;color:var(--red)}
.home-page .project-index>span:last-child{display:none}
.home-page .portfolio-case-head{gap:64px;margin-bottom:40px;align-items:center}
.home-page .portfolio-case-head h3{font-size:clamp(40px,5vw,72px);line-height:1.12}
.home-page .portfolio-case-head p{max-width:420px}
.home-page .studio-toolbar{margin-bottom:24px;gap:24px;flex-wrap:wrap}
.home-page .capture-stages{display:inline-flex;gap:8px;padding:7px;border:0;background:#e7e3dc;border-radius:16px}
.home-page .capture-stages button{padding:12px 22px;min-height:52px;border:0;margin:0;border-radius:10px;font-size:20px;line-height:1.4;flex:none}
.home-page .capture-stages button[aria-pressed=true]{border:0;color:#fffaf0;background:var(--ps-color-raspberry);box-shadow:0 4px 14px #92204422}
.home-page .studio-hint{font-size:18px}
.home-page .capture-frame,.home-page .portfolio-case .capture-frame{padding:28px;background:linear-gradient(145deg,#faf8f3,#e8e5df);border-radius:28px;border:0;box-shadow:0 28px 70px -42px #392b3c55}
.home-page #studio-capture{padding:0;border:0;background:transparent}
.home-page .capture-meta{padding:0 4px 20px;gap:12px 24px;color:#5c5858}
.home-page .capture-meta a{font-size:18px}
.home-page .capture-open{border-radius:14px;box-shadow:0 5px 24px #24202412;overflow:hidden}
.home-page .capture-fit{object-fit:contain;height:auto}
.home-page .capture-caption{margin-top:30px;min-height:0;max-width:860px}
.home-page .project-story-link{font-size:22px;margin-top:18px;gap:16px;text-decoration:none;font-weight:500}
.home-page .project-story-link>span{transition:transform .3s var(--ease)}
.home-page .project-story-link:hover>span{transform:translate(3px,-3px)}
.home-page .detail-strip{grid-template-columns:1fr 1.5fr;gap:64px;padding-top:44px;max-width:1160px;margin-inline:auto}
.home-page .detail-strip>p{font-size:30px;line-height:1.4}
.home-page .detail-image,.home-page .reconciliation-detail{border:0;border-radius:18px;padding:16px;background:#fffaf0;box-shadow:0 14px 50px -30px #33233355}
.home-page .detail-image .capture-open{border-radius:8px}
.home-page .more-work{border:0;padding:28px 36px;background:#eae6df;border-radius:28px}
.home-page .more-work summary{font-size:32px;min-height:72px}
.home-page .more-work-grid{gap:36px}
.home-page .more-work-grid h3{font-size:28px}
.home-page .capture-provenance{border:0;padding-top:40px;margin-top:0;max-width:950px;margin-inline:auto;text-align:center;color:#625d5d}

/* An open service menu and one unfolding process, without a grid of boxes. */
.home-page .home-services{padding:96px 0 0;background:radial-gradient(ellipse at 12% 50%,#e8ccd43b,transparent 55%)}
.home-page .home-services>.wrap{display:grid;grid-template-columns:.9fr 1.3fr;gap:0 100px;align-items:start}
.home-page .home-services>.wrap>.content-kicker{grid-column:1;margin-bottom:24px}
.home-page #services-title{grid-column:1;font-size:clamp(40px,4.7vw,68px);line-height:1.14;max-width:520px}
.home-page .home-service-list{grid-column:2;grid-row:1/span 2;margin:0}
.home-page .home-service-list>a{border:0!important;grid-template-columns:44px 1fr auto;gap:24px;padding:28px 0 36px;position:relative}
.home-page .home-service-list>a::before{content:'';position:absolute;inset:0 -24px;border-radius:24px;background:#ffffff70;opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s;z-index:0}
.home-page .home-service-list>a:is(:hover,:focus-visible)::before{opacity:1;transform:none}
.home-page .home-service-list>a>*{position:relative}
.home-page .home-service-list h3{font-size:clamp(28px,3vw,42px);line-height:1.25}
.home-page .service-number{font-size:22px;color:#8d5568;align-self:start;padding-top:5px}
.home-page .service-more{font-size:0;text-decoration:none}
.home-page .service-more>span{font-size:30px}
.home-page .content-process{grid-column:1/-1;padding-block:var(--flow-gap) 48px}
.home-page .content-kicker{font-size:20px;color:var(--red);margin-bottom:28px}
.home-page .content-process h2{font-size:clamp(40px,4.7vw,68px);max-width:950px}
.home-page .content-process ol{gap:64px;margin-top:64px}
.home-page .content-process li{border:0;padding-top:0}
.home-page .step-number{font-size:clamp(48px,5vw,72px);line-height:1;letter-spacing:-.04em;font-weight:500;color:#c18c9d;margin-bottom:28px}
.home-page .content-process h3{font-size:29px;line-height:1.35;margin-bottom:20px}
.home-page .content-process li p{font-size:22px;line-height:1.65}
.home-page .content-process .experience{border:0;font-size:20px;max-width:900px;margin-top:40px;padding:0}

/* Personal close, with the same light and material instead of another hard band. */
.home-page .about-section{padding:104px 0 112px;background:transparent}
.home-page .about-layout{grid-template-columns:.8fr 1.5fr;gap:100px}
.home-page .about-name h2{font-size:42px;line-height:1.2}
.home-page .about-name p{font-size:20px}
.home-page .about-rule{display:none}
.home-page .large-statement{font-size:clamp(38px,4.7vw,66px);line-height:1.2}
.home-page .about-body{max-width:800px}
.home-page .about-action{font-size:20px;border-radius:12px}
.home-page .contact-section{width:calc(100% - 48px);margin-inline:auto;border-radius:48px;padding:88px 0;background:radial-gradient(ellipse at 90% 100%,#39212b,#101010 65%)}
.home-page .contact-section>.wrap{max-width:1250px;width:calc(100% - 96px)}
.home-page .contact-section .section-label{color:#d5d1d1;margin-bottom:32px}
.home-page .contact-section h2{font-size:clamp(48px,7.4vw,108px);line-height:1.1}
.home-page .contact-bottom{border:0;padding:0;margin-top:48px}
.home-page .contact-cta.ps-button{font-size:24px;padding:20px 28px;min-height:64px;border-radius:14px}
.home-page .email.ps-link{font-size:22px}
.home-page .contact-privacy{font-size:18px;margin-top:32px;max-width:900px;color:#c9c4c5}
.home-page .signature-footer{padding-block:48px 40px;border:0}
.home-page .signature-footer>.brand{max-width:220px}
.home-page .signature-footer .footer-legal{font-size:18px}

/* The same calm reading surface continues on the service and project pages. */
.content-page .content-header{border:0;background:#f4f1e9f5;backdrop-filter:blur(12px)}
.content-page :is(.content-breadcrumb,.content-kicker,.content-row-number,.step-number,.story-image-label,.story-lead figcaption,.story-detail figcaption,.content-small,.content-footer){font-size:18px;line-height:1.6}
.content-page :is(.content-sections,.content-row,.content-process li,.content-process .experience,.content-related,.content-faq details){border:0}
.content-page .content-row{padding-block:40px;gap:40px}
.content-page .content-row p,.content-page .content-process li p,.content-page .content-faq details p{font-size:22px;line-height:1.7}
.content-page .content-process .experience{font-size:20px}
.content-page .content-process ol{gap:48px}
.content-page .content-faq details{background:#eae6df;border-radius:18px;padding:12px 24px;margin-bottom:12px}
.content-page .content-faq summary{font-size:24px}
.content-page .story-lead{border-radius:28px;padding:28px;background:linear-gradient(145deg,#faf8f3,#e8e5df);box-shadow:0 28px 70px -42px #392b3c55}
.content-page .story-image-link{border-radius:14px;overflow:hidden}
.content-page .story-detail .story-image-link{border-radius:20px;border:0}
.content-page .ps-button{border-radius:12px}
.content-page .content-contact{border-radius:48px 48px 0 0}
.legal-date,.legal-footer,.legal-eyebrow,.legal-toc{font-size:18px}
.legal-header>a:last-child,.legal-header .language-switch,.legal-back{font-size:18px}

/* Content stays visible without JavaScript. Motion is a small arrival, never a gate. */
@media(prefers-reduced-motion:no-preference){
 .flow-ready .flow-arrive{opacity:1;transform:translateY(28px);transition:transform 1s cubic-bezier(.16,1,.3,1)}
 .flow-ready .flow-arrive.is-in-view{opacity:1;transform:none}
 .flow-ready .flow-arrive:focus-within{opacity:1;transform:none}
}
@media(max-width:1100px){
 .home-page .home-services>.wrap{gap:0 56px;grid-template-columns:1fr 1.3fr}
 .home-page .home-service-list>a{gap:14px;grid-template-columns:34px 1fr auto}
 .home-page .content-process ol{gap:36px}
 .home-page .about-layout{gap:56px}
 .home-page .portfolio-case-head,.home-page .detail-strip{gap:40px}
}
@media(max-width:800px){
 .home-page .wf-intro{align-items:start;gap:32px}
 .home-page .wf-intro-note{font-size:22px}
 .home-page .wf-chapters{padding-top:12px;min-height:64px;gap:12px}
 .home-page .wf-chapters>div{font-size:18px;gap:8px}
 .home-page .wf-scene-body{font-size:20px;line-height:1.5}
 .home-page .wf-stage{border-radius:24px}
 .home-page .wf-film[data-scrollable=true] .wf-narrative,[dir=rtl] .home-page .wf-film[data-scrollable=true] .wf-narrative{padding:14px 0 12px}
 .home-page .wf-discovery{padding-inline:24px}
 .home-page .wf-brief-section{grid-template-columns:1fr}
 .home-page .home-services>.wrap{display:block}
 .home-page .home-service-list{margin-top:32px}
 .home-page .home-service-list>a{grid-template-columns:44px 1fr auto}
 .home-page .content-process ol{grid-template-columns:1fr;gap:44px}
 .home-page .content-process li{display:grid;grid-template-columns:70px 1fr;column-gap:24px}
 .home-page .step-number{grid-column:1;grid-row:1/span 2;font-size:52px;margin:0}
 .home-page .content-process h3,.home-page .content-process li p{grid-column:2}
 .home-page .about-layout{display:block}
 .home-page .about-name{margin-bottom:40px}
 .home-page .portfolio-case-head{display:block}
 .home-page .portfolio-case-head p{max-width:680px;margin-top:24px}
 .home-page .contact-section>.wrap{width:calc(100% - 64px)}
}
@media(max-width:650px){
 :root{--flow-gap:80px}
 .home-page header nav>a.language-switch,.home-page header .nav-contact.ps-button{font-size:18px}
 html[lang=en] .home-page header .nav-contact.ps-button{font-size:18px}
 .home-page header .nav-contact.ps-button{padding:10px 12px}
 .home-page .workflow{padding-top:72px;padding-bottom:116px}
 .home-page .wf-intro{display:block;padding-bottom:40px}
 .home-page .wf-intro h2{font-size:clamp(48px,13vw,72px)}
 .home-page .wf-intro-note{font-size:22px;margin-top:28px!important;max-width:100%}
 .home-page .wf-stage{padding:24px 20px}
 .home-page .wf-stage-top{font-size:18px}
 .home-page .wf-film[data-scrollable=true] .wf-stage{padding-inline:18px}
 .home-page .wf-narrative h3{font-size:32px}
 .home-page .wf-film[data-scrollable=true] .wf-narrative,[dir=rtl] .home-page .wf-film[data-scrollable=true] .wf-narrative{padding-block:12px 10px}
 .home-page .wf-message,.home-page .wf-proposal{width:86%;left:5%}
 .home-page .story-copy p,html[lang=en] .home-page .story-copy p{font-size:20px;line-height:1.5}
 .home-page .wf-chapter-label{font-size:18px;margin-bottom:16px!important}
 .home-page .wf-story-links{display:block;padding-inline:0}
 .home-page .wf-story-links a{font-size:20px;padding-block:4px}
 .home-page .wf-postscript{padding-inline:0;gap:8px}
 .home-page .wf-discovery{border-radius:22px;padding-inline:20px;margin-top:48px}
 .home-page .wf-discovery>summary{padding-block:28px}
 .home-page .wf-discovery .wf-eyebrow{font-size:18px!important}
 .home-page .wf-discovery-title{font-size:32px}
 .home-page .wf-discovery-cta{font-size:20px}
 .home-page .wf-brief-card{padding:24px 18px}
 .home-page .wf-brief-preview{grid-template-columns:1fr;gap:0}
 .home-page .wf-brief-preview dt{padding:20px 0 0}
 .home-page .wf-brief-preview dd{padding:4px 0 0}
 .home-page .wf-estimate-fields{grid-template-columns:1fr 18px 1fr;gap:8px}
 .home-page .portfolio-section{margin-top:-40px;border-radius:40px 40px 0 0;padding-top:64px}
 .home-page .portfolio-heading{display:block;margin-bottom:60px}
 .home-page .portfolio-heading h2{font-size:clamp(42px,11vw,64px)}
 .home-page .portfolio-heading>p{max-width:100%;margin-top:24px}
 .home-page .project-index{margin-bottom:24px}
 .home-page .project-index>span:first-child{font-size:20px}
 .home-page .portfolio-case-head h3{font-size:clamp(36px,10vw,54px)}
 .home-page .studio-toolbar{display:block;margin-bottom:20px}
 .home-page .capture-stages{width:100%;display:flex;gap:4px;padding:5px;border-radius:14px}
 .home-page .capture-stages button{flex:1;font-size:18px;padding:10px 6px;min-width:0;line-height:1.4}
 html[lang=en] .home-page .capture-stages button{font-size:18px}
 .home-page .capture-frame,.home-page .portfolio-case .capture-frame{padding:14px;border-radius:22px}
 .home-page .capture-meta{padding:4px 2px 14px;gap:4px 12px}
 .home-page .capture-meta>a{width:100%;justify-content:flex-start}
 .home-page .capture-meta>span,.home-page .capture-meta a{font-size:18px;max-width:100%}
 .home-page .capture-open{border-radius:10px}
 .home-page .capture-caption{font-size:22px;margin-top:24px;min-height:0}
 .home-page .project-story-link{font-size:20px;line-height:1.6}
 .home-page .detail-strip{display:block;padding-top:32px}
 .home-page .detail-strip>p{font-size:28px}
 .home-page .detail-strip>p span{font-size:20px}
 .home-page .detail-image{margin-top:20px;padding:10px}
 .home-page .more-work{width:calc(100% - 40px);padding:16px 20px;border-radius:22px}
 .home-page .more-work summary{font-size:28px}
 .home-page .capture-provenance{padding-top:32px;font-size:18px;text-align:start}
 .home-page .home-services{padding-top:64px}
 .home-page #services-title,.home-page .content-process h2{font-size:42px}
 .home-page .home-service-list>a{grid-template-columns:30px 1fr 24px;gap:14px;padding-block:22px}
 .home-page .home-service-list>a::before{inset:0 -10px;border-radius:16px}
 .home-page .home-service-list h3{font-size:30px}
 .home-page .service-more{grid-column:3;grid-row:1}
 .home-page .content-process{padding-top:72px}
 .home-page .content-process ol{margin-top:40px}
 .home-page .content-process li{grid-template-columns:42px 1fr;gap:0 20px}
 .home-page .step-number{font-size:38px}
 .home-page .content-process h3{font-size:28px;margin-bottom:14px}
 .home-page .content-process li p{font-size:20px}
 .home-page .about-section{padding:48px 0 64px}
 .home-page .large-statement{font-size:38px}
 .home-page .about-body{font-size:22px}
 .home-page .contact-section{width:calc(100% - 24px);border-radius:28px;padding-block:48px}
 .home-page .contact-section>.wrap{width:calc(100% - 40px)}
 .home-page .contact-section h2{font-size:clamp(40px,10vw,58px)}
 .home-page .contact-bottom{margin-top:32px;gap:32px}
 .home-page .contact-cta.ps-button{font-size:22px;padding:18px 20px;width:100%}
 .home-page .email.ps-link{font-size:20px;overflow-wrap:anywhere}
 .home-page .signature-footer{font-size:18px}
 .home-page .signature-footer>.brand{max-width:180px}
 .home-page .signature-footer .footer-legal{font-size:18px;gap:6px 20px}
 .home-page .capture-viewer-bar button,.home-page .capture-viewer-options button,.home-page .capture-viewer-options a{font-size:18px}
 .home-page .capture-viewer-bar{flex-wrap:wrap}
 .content-page :is(.content-row p,.content-process li p,.content-faq details p){font-size:20px}
 .content-page .content-row{gap:16px}
 .content-page .content-process ol{gap:32px}
 .content-page .content-faq summary{font-size:22px}
 .content-page .story-lead{padding:14px;border-radius:22px}
 .content-page .content-contact{border-radius:28px 28px 0 0}
}
@media(max-width:360px){
 .home-page header .brand{width:112px}
 .home-page header nav{gap:6px}
 .home-page header .nav-contact.ps-button{padding:10px 8px;gap:6px}
 .home-page .wf-narrative h3{font-size:30px}
 .home-page .content-process li{grid-template-columns:1fr}
 .home-page .step-number,.home-page .content-process h3,.home-page .content-process li p{grid-column:1;grid-row:auto}
 .home-page .step-number{margin-bottom:16px}
}
@media(prefers-reduced-motion:reduce){.flow-arrive{opacity:1!important;transform:none!important;transition:none!important}}
@media print{.flow-arrive{opacity:1!important;transform:none!important}}
