/* Mid-century refresh: a single restrained separator system. */
:root{--line:rgba(34,20,11,.19);--line-strong:rgba(34,20,11,.36);--studio-blue:#98a4ac}
:root :is(.site-header,.about,.about-copy,.about-text,.about-layout,.about .chapter-rail,.social-panel,.instagram-preview,.review-links,.contact-main,.page-invite,.service-panel,.service-panel:last-child,.service-panel li,.service-panel ul,.service-bottom .text-link,.offer .card p,.portfolio-page .page-invite,.journal-card>a,.journal-card .text-link,.text-link,.quiet-link,.project-meta,.contact-form,.field,.article-toc,.project-next,.project-detail-rail){border:0}
:root .chapter-rail{border:0;border-top:1px solid var(--line);padding-top:18px}
:root .about .chapter-rail{border:0;padding-top:0}
:root .review-link,:root .instagram-preview-link,:root .process-foot{border:0}
:root .process-foot{border-top:1px solid var(--line)}
:root .social-panel,:root .review-panel{border:0}
:root .page-invite{position:relative;background:var(--paper)}
:root .page-invite:before{content:'';position:absolute;left:6vw;right:6vw;top:0;height:1px;background:var(--line)}
:root .desktop-nav a[aria-current=page]{border-bottom-color:var(--line-strong)}

/* The existing hero's horizontal motion is recreated as moving glass bands. */
.hero-glass{position:absolute;inset:0;overflow:hidden;z-index:1;pointer-events:none;isolation:isolate}
.hero-glass span{position:absolute;top:-5%;bottom:-5%;width:25%;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);background:linear-gradient(90deg,transparent,rgba(246,244,241,.05),transparent);mask-image:repeating-linear-gradient(0deg,transparent 0,rgba(0,0,0,.15) 5px,#000 10px,#000 17px,transparent 24px);animation:glass-drift 13s ease-in-out infinite alternate;animation-play-state:paused}
.hero-glass span:nth-child(1){left:-4%;width:29%;animation-delay:-4s}
.hero-glass span:nth-child(2){left:38%;width:18%;animation-duration:16s;animation-delay:-9s;opacity:.72}
.hero-glass span:nth-child(3){right:-2%;width:27%;animation-delay:-6s}
.is-visible .hero-glass span{animation-play-state:running}
@keyframes glass-drift{from{transform:translateX(-11%);opacity:.75}to{transform:translateX(13%);opacity:1}}
:root .hero .hero-frames img{object-position:center}
:root .hero .hero-shade{background:linear-gradient(180deg,rgba(34,20,11,.25),rgba(34,20,11,.06) 35%,rgba(34,20,11,.1) 65%,rgba(34,20,11,.28))}
.page-banner .hero-glass{z-index:1}
.page-banner .hero-glass span{backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);opacity:.65}
:root .page-banner-copy{z-index:3}
:root .page-banner:after{z-index:2;background:linear-gradient(90deg,rgba(246,244,241,.75),rgba(246,244,241,.28) 50%,transparent 74%)}
:root .material-copy p,:root .philosophy-simple p{max-width:780px}
:root .philosophy h2{max-width:800px;font-size:clamp(30px,3.5vw,52px);line-height:1.45}
:root .philosophy.living-scene:before,:root .contact-section .material-divider.living-scene:after{background:linear-gradient(90deg,rgba(246,244,241,.55),rgba(246,244,241,.3) 55%,transparent 83%)}

/* Square home packages, with a black border appearing without layout shift. */
:root .offer .cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
:root .offer .card{min-height:0;aspect-ratio:1;border:1px solid transparent;border-radius:0;background:var(--paper);box-shadow:none;padding:28px;transition:border-color .35s}
:root .offer .card:hover{border-color:#000;background:var(--paper);box-shadow:none;transform:none}
:root .offer .card-no{font-size:36px;margin-bottom:15px}
:root .offer .card-kicker{margin-bottom:12px}
:root .offer .card h3{font-size:20px;line-height:1.5;min-height:60px;letter-spacing:.13em}
:root .offer .card p{font-size:13px;line-height:1.8;margin:20px 0 0;padding:0}
:root .offer-cta .btn{transition:background .35s,color .35s,border-color .35s}
:root .offer-cta .btn:hover,:root .offer-cta .btn:focus-visible{background:#000;border-color:#000;color:#fff}
:root .about-copy h2{font-size:clamp(28px,3vw,46px);line-height:1.5;letter-spacing:.14em}
:root .about-text p{font-size:15px;line-height:1.85;margin-bottom:20px}

/* Vertical offer packages: the same paper surface throughout. */
:root .offer-page main,:root .offer-page .page-section,:root .offer-page .page-invite{background:var(--paper)}
:root .offer-page .service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
:root .offer-page .service-panel{display:flex;flex-direction:column;min-height:720px;padding:24px 0;gap:0;background:transparent;border:0;box-shadow:none}
:root .offer-page .service-number{font-size:42px;margin-bottom:24px}
:root .offer-page .service-panel>.eyebrow{margin-bottom:18px;font-size:10px}
:root .offer-page .service-panel h2{font-size:23px;line-height:1.5;letter-spacing:.1em;min-height:105px;margin:0 0 20px}
:root .offer-page .service-panel p{font-size:14px;line-height:1.85;min-height:105px;max-width:none;margin:0 0 20px}
:root .offer-page .service-panel ul{display:block;list-style:none;margin:0;padding:0}
:root .offer-page .service-panel li{font-size:13px;padding:0;margin-bottom:17px;line-height:1.8;border:0}
:root .offer-page .service-panel li:before{content:none}
:root .offer-page .service-bottom{margin-top:auto;padding-top:24px;align-self:stretch}
:root .offer-page .service-bottom small{font-size:11px;margin-bottom:16px;letter-spacing:.1em}
:root .offer-page .service-bottom .text-link{border:0;font-size:11px;padding:0;letter-spacing:.12em}
:root .offer-page .offer-note{border:0;font-size:14px}

/* One project frame and description per city. */
:root .portfolio-page .portfolio-grid{display:flex;flex-direction:column;gap:80px}
:root .portfolio-page .portfolio-item{padding:0;grid-column:auto}
:root .portfolio-page .portfolio-item>a{display:grid;grid-template-columns:1.35fr 1fr;gap:6vw;align-items:center}
:root .portfolio-page .portfolio-image{aspect-ratio:1.4!important;height:auto;min-height:0}
:root .portfolio-page .portfolio-meta{margin:0;padding:0}
:root .portfolio-page .portfolio-meta h2{margin:0 0 26px;font-size:25px;line-height:1.6}
:root .portfolio-page .portfolio-description{font-size:15px;line-height:1.9;max-width:480px}
:root .portfolio-page .portfolio-room{display:none}
:root .portfolio-page .portfolio-item:nth-child(even)>a{grid-template-columns:1fr 1.35fr}
:root .portfolio-page .portfolio-item:nth-child(even) .portfolio-image{grid-column:2;grid-row:1}
:root .portfolio-page .portfolio-item:nth-child(even) .portfolio-meta{grid-column:1;grid-row:1}

/* Shared quote form, full labels and room for the new fields. */
:root .contact{background:var(--paper)}
:root .contact .contact-main{max-width:1120px}
:root .contact .field{display:flex;flex-direction:column;align-items:stretch;gap:10px;min-height:90px;padding:17px 22px;background:rgba(152,164,172,.08);border:0;border-radius:0}
:root .contact .field>small{width:auto;flex:none;color:#514b45;font-size:11px;letter-spacing:.15em}
:root .contact .field :is(input,select,textarea){width:100%;min-width:0;padding:0;font-size:15px;line-height:1.6;background-color:transparent}
:root .contact .field select{padding-right:25px}
:root .contact .field :is(input,select,textarea):focus-visible{outline:1px solid #98a4ac;outline-offset:5px}
:root .contact .field-message{min-height:170px}
:root .contact .field-row{gap:20px;margin-bottom:14px}
:root .contact .field-row>.field{margin-bottom:0;flex:1}
:root .contact-form .form-note{font-size:12px;line-height:1.7}
:root .process-milestones{grid-template-columns:repeat(6,minmax(0,1fr))}
:root .journal-page .journal-grid{row-gap:65px}
:root .journal-page .journal-card h2{font-size:23px;letter-spacing:.1em;line-height:1.6}
:root .article-reading-title{font-size:clamp(25px,3vw,42px);letter-spacing:.09em;line-height:1.5;max-width:1100px;margin:30px 0}
:root .reading-page .article-body h2{font-size:27px;line-height:1.5;letter-spacing:.06em}
:root .reading-page .article-body p{font-size:15px;line-height:1.95}
:root .site-footer{background:#98a4ac;color:#22140b}
:root .site-footer :is(a,span,p){color:#22140b}
:root .site-footer :is(.footer-contact,.footer-top,.footer-bottom){border:0}
:root .site-footer .footer-contact{border-top:1px solid rgba(34,20,11,.19);border-bottom:1px solid rgba(34,20,11,.19)}

@media(max-width:1500px){:root .offer .cards{grid-template-columns:repeat(2,minmax(0,1fr))}:root .offer .card{padding:36px;max-width:540px;min-height:0}:root .offer .card p{font-size:15px}:root .offer .card h3{font-size:24px}:root .offer .cards{max-width:1080px;margin:0 auto}}
@media(max-width:1100px){:root .offer-page .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:55px}:root .offer-page .service-panel{min-height:640px}:root .offer-page .service-panel h2{min-height:72px}:root .offer-page .service-panel p{min-height:80px}}
@media(max-width:620px){:root .offer .cards,:root .offer-page .service-grid{grid-template-columns:1fr}:root .offer .card{padding:28px;aspect-ratio:1;max-width:none}:root .offer .card h3{font-size:22px}:root .offer .card p{font-size:14px}:root .offer-page .service-panel{min-height:0;padding:10px 0}:root .offer-page .service-panel h2,:root .offer-page .service-panel p{min-height:0}:root .offer-page .service-panel h2{font-size:25px}:root .offer-page .service-bottom{margin-top:0}:root .portfolio-page .portfolio-item>a,:root .portfolio-page .portfolio-item:nth-child(even)>a{display:flex;flex-direction:column;gap:25px;align-items:stretch}:root .portfolio-page .portfolio-grid{gap:55px}:root .portfolio-page .portfolio-image{aspect-ratio:1.1!important}:root .portfolio-page .portfolio-meta h2{font-size:22px;margin-bottom:18px}:root .contact .field-row{display:flex;flex-direction:column;gap:14px}:root .contact .field{padding:16px;min-height:90px}:root .contact .field :is(input,select,textarea){font-size:16px}:root .philosophy h2{font-size:29px}:root .reading-page .article-body h2{font-size:23px}:root .hero-glass span:nth-child(2){display:none}:root .journal-page .journal-card h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){.hero-glass{display:none}:root .offer .card,:root .offer-cta .btn{transition:none}}
:root :is(h1,h2,h3,h4,.chapter-rail,.process-milestones button,.article-toc a){overflow-wrap:anywhere}:root .reading-page .page-banner h1{font-size:clamp(28px,3.5vw,48px);letter-spacing:.16em}@media(max-width:620px){:root .reading-page .page-banner h1{font-size:27px;letter-spacing:.1em}}
:root .portfolio-page .portfolio-image{height:auto!important;width:100%;min-width:0}:root .portfolio-page .portfolio-item>a{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}:root .portfolio-page .portfolio-item:nth-child(even)>a{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr)}
:root .footer-logo img{filter:brightness(0)}:root .offer-page .chapter-rail,:root .journal-page .chapter-rail{border:0;border-top:1px solid var(--line)}
@media(max-width:620px){:root .page-banner:after{background:linear-gradient(90deg,rgba(246,244,241,.9),rgba(246,244,241,.62))}}
.hero-motion-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.hero-motion-canvas[hidden]{display:none}
:root .hero .hero-shade{z-index:2;background:linear-gradient(180deg,rgba(34,20,11,.18),rgba(34,20,11,.08) 25%,rgba(34,20,11,.19) 48%,rgba(34,20,11,.06) 72%,rgba(34,20,11,.22))}
:root .hero :is(.hero-logo,.hero-actions){z-index:3}
:root .page-banner:after{background:linear-gradient(90deg,rgba(246,244,241,.24),rgba(246,244,241,.1) 55%,transparent 80%)}
:root .material-divider.living-scene:after,:root .philosophy.living-scene:before,:root .contact-section .material-divider.living-scene:after{background:linear-gradient(90deg,rgba(246,244,241,.22),rgba(246,244,241,.10) 55%,transparent 75%)}
:root .material-divider .material-copy :is(h2,p),:root #filozofia :is(h2,p){color:#000}
:root .material-divider .material-copy p,:root #filozofia .philosophy-simple{max-width:650px}
:root #filozofia h2{max-width:740px}
@media(max-width:620px){:root .page-banner:after{background:linear-gradient(90deg,rgba(246,244,241,.82),rgba(246,244,241,.48))}:root .material-divider.living-scene:after,:root .philosophy.living-scene:before,:root .contact-section .material-divider.living-scene:after{background:rgba(246,244,241,.6)}}
@media(prefers-reduced-motion:reduce){.hero-motion-canvas{display:none}}

.architectural-shadow{position:absolute;inset:-10% 16% -10% -10%;z-index:1;pointer-events:none;background:linear-gradient(120deg,transparent 38%,rgba(34,20,11,.55) 40%,rgba(34,20,11,.55) 43%,transparent 45%),linear-gradient(120deg,transparent 65%,rgba(34,20,11,.45) 67%,rgba(34,20,11,.45) 69%,transparent 71%);opacity:.22;filter:blur(7px);mask-image:linear-gradient(90deg,transparent 14%,#000 36%,#000 67%,transparent 94%);transform-origin:90% 5%;animation:window-shadow-sway 5s ease-in-out infinite alternate;animation-play-state:paused;will-change:transform}
.is-visible .architectural-shadow{animation-play-state:running}
#proces .architectural-shadow{animation-delay:-4s;animation-duration:6s}
#filozofia .architectural-shadow{animation-delay:-2s;animation-duration:5.5s}
#kontakt .architectural-shadow{animation-delay:-6s;animation-duration:6.5s}
/* More legible shadow motion in scenes 1, 2 and 4; unchanged shadow size and travel. */
#oferta .architectural-shadow,#proces .architectural-shadow,#kontakt .architectural-shadow{opacity:.32;filter:blur(5px)}
#oferta .architectural-shadow{animation-duration:3.8s}
#proces .architectural-shadow{animation-duration:4.2s}
#kontakt .architectural-shadow{animation-duration:4.6s}
@keyframes window-shadow-sway{from{transform:translate(-75px,-15px) rotate(-2deg)}to{transform:translate(75px,20px) rotate(2deg)}}
@media(max-width:620px){.architectural-shadow{inset:-8% -5% -8% -35%;opacity:.16;filter:blur(4px)}}
@media(max-width:620px){#oferta .architectural-shadow,#proces .architectural-shadow,#kontakt .architectural-shadow{opacity:.27;filter:blur(4px)}}
@media(prefers-reduced-motion:reduce){.architectural-shadow{animation:none;transform:none;will-change:auto}}

/* Raised, slightly larger paper cards. */
:root .offer .cards{gap:30px}
:root .offer .card{background:#f9f8f6;padding:34px;min-height:440px;box-shadow:7px 10px 23px rgba(34,20,11,.075),-5px -5px 15px rgba(255,255,255,.8);transition:border-color .35s,box-shadow .35s,transform .35s}
:root .offer .card:hover{background:#f9f8f6;border-color:#000;box-shadow:9px 14px 26px rgba(34,20,11,.1);transform:translateY(-3px)}
:root .portfolio-page .portfolio-collection-heading{flex-direction:column;align-items:center;text-align:center;gap:16px}
:root .portfolio-page .collection-view{text-align:center}
:root .portfolio-page .portfolio-item>a,:root .portfolio-page .portfolio-item:nth-child(even)>a{display:flex;flex-direction:column;align-items:center;gap:32px;max-width:900px;margin:0 auto}
:root .portfolio-page .portfolio-image{width:100%;max-width:900px}
:root .portfolio-page .portfolio-meta{width:100%;max-width:680px;text-align:center}
:root .portfolio-page .portfolio-description{max-width:650px;margin:0 auto}
@media(max-width:620px){:root .offer .card{padding:30px;min-height:400px}:root .portfolio-page .portfolio-item>a,:root .portfolio-page .portfolio-item:nth-child(even)>a{gap:25px}}
@media(prefers-reduced-motion:reduce){:root .offer .card{transition:none}:root .offer .card:hover{transform:none}}
:root .offer .card{min-width:0;width:100%}
:root .offer-page .service-panel{min-width:0;padding:32px 24px;background:#f9f8f6;border:1px solid transparent;box-shadow:7px 10px 23px rgba(34,20,11,.075),-5px -5px 15px rgba(255,255,255,.8);transition:border-color .35s,box-shadow .35s,transform .35s}
:root .offer-page .service-panel:hover,:root .offer-page .service-panel:focus-within{border-color:#000;box-shadow:9px 14px 26px rgba(34,20,11,.1);transform:translateY(-3px)}
:root .offer-page .service-panel:last-child{border:1px solid transparent}
:root .offer-page .service-panel:last-child:hover,:root .offer-page .service-panel:last-child:focus-within{border-color:#000}
@media(max-width:1100px){:root .offer-page .service-grid{gap:32px}}
@media(max-width:620px){:root .offer-page .service-panel{padding:30px 24px}}
@media(prefers-reduced-motion:reduce){:root .offer-page .service-panel{transition:none}:root .offer-page .service-panel:hover,:root .offer-page .service-panel:focus-within{transform:none}}
:root .portfolio-page .portfolio-grid{align-items:center}:root .portfolio-page .portfolio-item{width:100%;max-width:900px;margin:0 auto}
/* Restored comparison and preparation information. */
:root .offer-page .comparison-section{background:var(--paper);border:0;gap:5vw}
:root .offer-page .comparison-intro h2{font-size:30px;letter-spacing:.12em;line-height:1.5}
:root .offer-page .comparison-scroll table{min-width:640px;font-size:13px}
:root .offer-page .comparison-scroll thead th{font-size:12px;letter-spacing:.12em;padding:16px 12px;line-height:1.7}
:root .offer-page .comparison-scroll :is(th,td){border-color:var(--line)}
.preparation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px}
:root .preparation-grid h2{font-size:21px;letter-spacing:.1em;line-height:1.6;margin:0 0 20px}
.preparation-grid p{font-size:14px;line-height:1.9}
:root .page-invite .invite-copy h2{font-size:23px;letter-spacing:.12em;line-height:1.5;margin:16px 0 0}
:root .page-invite .invite-link{font-size:12px;letter-spacing:.14em;padding:17px 24px;border:1px solid var(--line-strong);line-height:1.7;white-space:nowrap;transition:background .3s,color .3s}
:root .page-invite .invite-link>span{font-size:16px;margin-left:25px}
:root .page-invite .invite-link:hover{background:#000;color:#fff}
/* Tiny studies supplement the process text on the right. */
:root .process-experience{display:grid;grid-template-columns:minmax(0,1fr) 170px;column-gap:35px;align-items:center}
:root .process-focus{width:100%;max-width:900px;min-width:0;margin:0 auto;padding:45px 25px}
.process-mini-art{position:relative;width:170px;height:140px;margin-right:30px}
:root .process-mini-art .process-art-image{width:100%;height:100%;object-fit:contain;transform:translateX(10px);filter:grayscale(1);transition:opacity .35s,transform .35s}
:root .process-mini-art .process-art-image.is-current{transform:none;opacity:.8}
:root .process-scrubber{grid-column:1/-1}
/* A request calendar, ready for a future availability provider. */
.consultation-calendar{margin-top:75px;padding-top:36px;border-top:1px solid var(--line)}
.calendar-intro{max-width:650px;margin-bottom:35px}
:root .calendar-intro h2{font-size:27px;letter-spacing:.12em;line-height:1.5;margin:17px 0}
.calendar-intro p{font-size:14px;line-height:1.85}
.calendar-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:50px;align-items:center}
.calendar-month{min-width:0;padding:25px;background:#f9f8f6;box-shadow:4px 8px 18px rgba(34,20,11,.05)}
.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:25px}
:root .calendar-toolbar h3{font-size:17px;letter-spacing:.1em;margin:0;line-height:1.5;text-align:center}
.calendar-toolbar button{border:0;background:none;width:38px;height:38px;font-size:23px;cursor:pointer}
.calendar-toolbar button:disabled{opacity:.25;cursor:default}
.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;text-align:center}
.calendar-weekdays{font-size:11px;letter-spacing:.08em;margin-bottom:14px;color:#777}
.calendar-days>span,.calendar-days button{min-height:40px}
.calendar-days button{border:1px solid transparent;background:none;border-radius:50%;font-size:13px;cursor:pointer;aspect-ratio:1}
.calendar-days button:hover:not(:disabled){border-color:#98a4ac}
.calendar-days button.is-today{border-color:rgba(152,164,172,.6)}
.calendar-days button[aria-pressed=true]{background:#98a4ac;color:#000}
.calendar-days button:disabled{opacity:.27;cursor:default}
.calendar-days button:focus-visible,.calendar-toolbar button:focus-visible{outline:1px solid #000;outline-offset:3px}
.calendar-selection{font-size:20px;font-family:var(--serif);margin:20px 0;line-height:1.5}
.calendar-time{display:flex;flex-direction:column;gap:12px;font-size:12px;margin-bottom:22px}
.calendar-time select{min-height:48px;width:100%;padding:12px;border:0;background:rgba(152,164,172,.08)}
.calendar-apply{font-family:var(--serif);font-size:12px;letter-spacing:.12em;text-transform:uppercase;line-height:1.7;padding:15px 20px;border:1px solid var(--line-strong);background:none;width:100%;cursor:pointer}
.calendar-apply:hover:not(:disabled){background:#000;color:#fff}
.calendar-apply:disabled{opacity:.4;cursor:default}
.calendar-status{font-size:13px;line-height:1.8;margin:20px 0 0}
.calendar-note{font-size:12px;color:#777;line-height:1.8;margin-top:20px}
@media(max-width:980px){.calendar-layout{gap:30px}:root .process-experience{grid-template-columns:minmax(0,1fr) 140px;gap:20px}.process-mini-art{width:140px;height:115px;margin:0}.preparation-grid{gap:25px}}
@media(max-width:620px){.calendar-layout,.preparation-grid{grid-template-columns:1fr;gap:30px}.calendar-month{padding:20px}.calendar-days>span,.calendar-days button{min-height:30px}.calendar-weekdays,.calendar-days{gap:5px}:root .calendar-intro h2{font-size:23px}:root .page-invite .invite-copy h2{font-size:21px}:root .process-experience{grid-template-columns:1fr;gap:0}:root .process-focus{min-height:290px;padding:30px 0}:root .process-focus p{min-height:80px}.process-mini-art{width:115px;height:95px;margin:0 auto 25px}:root .process-mini-art .process-art-image{opacity:0}:root .process-mini-art .process-art-image.is-current{opacity:.8}:root .process-scrubber{grid-column:1}}
@media(prefers-reduced-motion:reduce){:root .process-mini-art .process-art-image,.invite-link{transition:none;transform:none}}

/* Taller packages and a readable text / illustration process spread. */
:root .offer .card{aspect-ratio:auto;min-height:570px;padding:50px 34px}
:root .offer .card-no{margin-bottom:25px}
:root .offer .card-kicker{margin-bottom:20px}
:root .offer .card h3{min-height:85px}
:root .offer .card p{margin-top:32px;line-height:1.95}
:root .process-experience{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);column-gap:8%;row-gap:20px}
:root .process-focus{max-width:590px;min-height:350px;margin:0;padding:35px 0;text-align:left}
:root .process-focus p{max-width:540px;margin:0;min-height:95px}
:root .process-focus h4{font-size:clamp(28px,3vw,44px);letter-spacing:.16em;line-height:1.5}
.process-mini-art{width:100%;max-width:440px;height:340px;margin:0;justify-self:center;cursor:grab;touch-action:pan-y}
:root .process-mini-art .process-art-image.is-current{opacity:1}
.process-navigation{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:15px}
.process-scroll-cue{display:flex;align-items:center;gap:17px;font-size:12px;line-height:1.7;color:#22140b}
.process-scroll-cue svg{width:24px;height:34px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.2}
.process-scroll-cue small{display:block;margin-top:3px;font-size:11px;color:#756f68}
.process-cue-wheel{animation:process-wheel-cue 1.7s ease-in-out infinite}
.process-mobile-hint{display:none}
.process-arrows{display:flex;gap:12px;flex-shrink:0}
.process-arrows button{width:46px;height:46px;border:1px solid var(--line-strong);border-radius:50%;background:transparent;font-size:22px;line-height:1;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.process-arrows button:hover:not(:disabled){background:#000;border-color:#000;color:#fff}
.process-arrows button:disabled{opacity:.25;cursor:default}
.process-arrows button:focus-visible{outline:1px solid #000;outline-offset:4px}
@keyframes process-wheel-cue{0%,100%{transform:translateY(-2px);opacity:.45}50%{transform:translateY(4px);opacity:1}}
@media(max-width:980px){:root .offer .card{min-height:560px;padding:45px 30px}:root .process-experience{grid-template-columns:minmax(0,1fr) minmax(220px,.8fr);gap:20px}.process-mini-art{max-width:320px;height:280px}:root .process-focus h4{font-size:29px;letter-spacing:.12em}:root .process-focus p{font-size:15px}}
@media(max-width:620px){:root .offer .card{min-height:520px;padding:42px 30px}:root .offer .card h3{min-height:60px}:root .process-experience{display:grid;grid-template-columns:1fr;row-gap:15px}.process-navigation{grid-column:1;gap:12px;margin:0}.process-scroll-cue{font-size:11px;gap:10px}.process-scroll-cue small{font-size:10px}.process-desktop-hint{display:none}.process-mobile-hint{display:inline}.process-arrows{gap:8px}.process-arrows button{width:38px;height:38px;font-size:19px}:root .process-focus{order:0;min-height:260px;padding:25px 0 0}:root .process-focus h4{font-size:26px}:root .process-focus p{font-size:14px;min-height:80px}.process-mini-art{width:100%;max-width:300px;height:235px;margin:0 auto 10px}:root .process-scrubber{margin-top:15px}:root .process-scrubber-top{font-size:9px;letter-spacing:.08em}}
@media(prefers-reduced-motion:reduce){.process-cue-wheel{animation:none}.process-arrows button{transition:none}}

/* Fixed stage geometry, black line drawings, and bare navigation arrows. */
:root .process-focus{display:grid;grid-template-rows:24px 132px 140px 20px;row-gap:20px;align-content:start;min-height:0;padding:30px 0}
:root .process-focus-count,:root .process-focus h4,:root .process-focus p,:root .process-focus-note{margin:0;min-height:0}
:root .process-mini-art .process-art-image{filter:none;mix-blend-mode:normal;transform:none;transition:opacity .35s}
.process-arrows button{border:0;border-radius:0;background:none;color:#000;font-size:30px;transition:opacity .2s}
.process-arrows button:hover:not(:disabled){background:none;border:0;color:#000;opacity:.55}
@media(max-width:980px){:root .process-focus{grid-template-rows:24px 132px 160px 20px}}
@media(max-width:620px){:root .process-focus{grid-template-rows:24px 90px 130px;row-gap:16px;padding:25px 0 0;min-height:0}.process-arrows button{font-size:27px}}
:root .process-mini-art .process-art-image{filter:none;object-fit:contain;mix-blend-mode:normal}
