/* Modern Fashion Atelier — warstwa ruchu nad istniejącym projektem. */
.editorial-heading{display:flex;flex-direction:column}
.editorial-heading .editorial-mask{display:block;overflow:clip;padding-block:.13em;margin-block:-.13em}
.editorial-heading .editorial-line{display:block;transform-origin:left center}
.cinematic-frame{overflow:clip}
.cinematic-frame img{transform-origin:50% 50%}
.story-portrait.cinematic-frame img{transform-origin:50% 25%;object-position:50% 0%}
.hero-visual picture.cinematic-frame{display:block}
.gallery-open{position:relative}
.gallery-open img{transition:transform 600ms cubic-bezier(.2,.7,.3,1)}
.gallery-hint{position:absolute;left:15px;bottom:15px;padding:7px 11px;background:rgba(255,253,250,.94);color:var(--ink);font-size:9px;letter-spacing:.06em;line-height:1.5;opacity:0;translate:0 5px;pointer-events:none;transition:opacity 220ms ease,translate 300ms ease}
@media(hover:hover) and (pointer:fine){
 .gallery-open:hover img{transform:scale(1.03)}
 .gallery-open:hover .gallery-hint{opacity:1;translate:0 0}
 .service{background-image:linear-gradient(90deg,#d50b4b06,transparent);background-repeat:no-repeat;background-size:0% 100%;transition:background-size 260ms ease,color 260ms ease,scale 260ms ease,opacity 560ms ease,transform 560ms ease}
 .service:hover{background-size:100% 100%}
}
.gallery-open:focus-visible .gallery-hint{opacity:1;translate:0 0}
.reviews,.story-relations{background-image:linear-gradient(180deg,var(--paper),transparent 56px,transparent calc(100% - 56px),var(--paper))}
.stitch-track{height:34px;margin-top:25px}
.stitch-track svg{display:block;width:100%;height:34px;overflow:visible}
.stitch-track .stitch-path{fill:none;stroke:var(--wine);stroke-width:1.3;stroke-opacity:.56;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0}
.stitch-track circle{fill:var(--paper);stroke:var(--wine);stroke-width:1;stroke-opacity:.65;vector-effect:non-scaling-stroke}
.atelier-process .steps{margin-top:0}
.atelier-process .steps li{border-top:0;padding-top:13px}
@media(max-width:760px){
 main:has(.original-reviews) h1{font-size:clamp(50px,14vw,74px)}
 .gallery-hint{display:none}
 .stitch-track{display:none}
 .atelier-process .steps{position:relative;padding-left:20px;margin-top:26px}
 .atelier-process .steps:before{content:'';position:absolute;left:2px;top:17px;bottom:18px;width:1px;background:linear-gradient(var(--wine),var(--yellow));opacity:.38;transform:scaleY(var(--stitch-progress,1));transform-origin:top}
 .atelier-process .steps li:before{content:'';position:absolute;left:-21px;top:24px;width:7px;height:7px;border-radius:50%;background:var(--paper);border:1px solid var(--wine)}
 .reviews,.story-relations{background-image:linear-gradient(180deg,var(--paper),transparent 35px,transparent calc(100% - 35px),var(--paper))}
}
@media(max-width:360px){.story-hero h1{font-size:45px}.story-hero h1 em:after,.story-hero h1 em:before{max-width:100%}}
html[data-motion="off"] *,html[data-motion="off"] *:before,html[data-motion="off"] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html[data-motion="off"]{scroll-behavior:auto!important}
html[data-motion="off"] .will-reveal{opacity:1!important;transform:none!important}
html[data-motion="off"] :is(a,button,summary){scale:1!important}
html[data-motion="off"] .gallery-open img{transform:none!important}
html[data-motion="off"] .gallery-hint{translate:none!important}
html[data-motion="off"] :is(.button>span,.text-link>span,.nav-cta>span,.service-arrow,.back-to-top){transform:none!important}
html[data-motion="off"]::view-transition-old(root),html[data-motion="off"]::view-transition-new(root){animation:none!important}
@media(prefers-reduced-motion:reduce){
 .gallery-open img{transform:none!important}
 .gallery-hint{translate:none!important;transition:none!important}
 .editorial-line{transform:none!important;opacity:1!important}
 .stitch-path{stroke-dashoffset:0!important}
}

/* Lighter hero invitation: fine outline, restrained fill, comfortable touch target. */
.hero-actions .button.primary{min-height:46px;padding:12px 21px;border:1px solid #d50b4b66;background:transparent;color:var(--wine);font-weight:500;box-shadow:none;gap:22px}
.hero-actions .button.primary:is(:hover,:focus-visible){background:#d50b4b0b;color:var(--wine);border-color:var(--wine);box-shadow:0 4px 14px #d50b4b0a}
.hero-actions .button.primary>span{font-size:17px}
/* Header invitation: unboxed text with a small, soft arrow accent. */
.header nav>.nav-cta{position:relative;min-height:44px;padding:8px 0;border:0;gap:14px;background:transparent;color:var(--wine);font-weight:500;box-shadow:none}
.header nav>.nav-cta:after{content:'';position:absolute;left:0;bottom:8px;width:calc(100% - 42px);height:1px;background:linear-gradient(90deg,currentColor,transparent);opacity:.3;transform:scaleX(.55);transform-origin:left;transition:transform 320ms ease,opacity 320ms ease}
.header nav>.nav-cta>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#d50b4b08;font-size:16px;transition:transform 240ms ease,background 240ms ease}
.header nav>.nav-cta:is(:hover,:focus-visible){background:transparent;color:var(--wine);box-shadow:none;scale:1.025}
.header nav>.nav-cta:is(:hover,:focus-visible):after{transform:scaleX(1);opacity:.65}
.header nav>.nav-cta:is(:hover,:focus-visible)>span{background:#d50b4b14;transform:translate(2px,-2px)}
@media(max-width:900px){.header nav>.nav-cta{justify-content:flex-start;align-self:flex-start;margin-top:8px}}
/* Business polish: signature, earlier services and a compact three-image selection. */
.header .brand-logo .logo-lockup{display:flex;flex-direction:column;align-items:center;gap:4px;margin:0;padding:0}
.header .brand-logo .logo-name{display:block;margin:0;font:500 8px/1.2 var(--sans);letter-spacing:.24em;color:var(--ink);text-indent:.24em}
.header nav{font-size:12px}
.hero-location{font-size:11px;line-height:1.7;color:var(--muted);margin-top:10px}
.client-gallery .home-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row;grid-auto-columns:auto;columns:auto;gap:22px;overflow:visible}
.client-gallery .home-gallery figure{display:block;margin:0;padding:0!important}
.client-gallery .home-gallery .gallery-open{width:100%;aspect-ratio:4/5}
.client-gallery .home-gallery img{width:100%;height:100%;object-fit:cover}
.occasions-section .stage-feature{margin-top:0;padding-top:0;border-top:0}
.footer-hours{display:block;font:400 11px/1.8 var(--sans);margin-top:10px;color:var(--muted)}
.footer-services{display:flex;flex-wrap:wrap;gap:12px 28px;padding:20px 0;font-size:12px;border-top:1px solid var(--line)}
.footer-services a{padding:5px 0;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;text-decoration-color:var(--line)}
.footer-services a:is(:hover,:focus-visible){color:var(--wine);text-decoration-color:var(--wine)}
.service-page-hero{max-width:1100px;padding-bottom:55px}
.service-page-hero h1{font-size:clamp(52px,6.7vw,96px);max-width:22ch;margin:28px 0}
.service-page-lead{max-width:65ch;font-size:16px;line-height:1.85;color:var(--muted)}
.service-page-actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:28px}
.service-page-location{font-size:12px;color:var(--muted);margin-top:22px;line-height:1.8}
.service-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding-bottom:30px}
.service-detail-grid article{border-top:1px solid var(--line);padding-top:24px}
.service-detail-grid h3{font-family:var(--serif);font-size:32px;font-weight:400;line-height:1.2;margin-bottom:14px}
.service-detail-grid p{font-size:14px;line-height:1.85;color:var(--muted)}
.service-page-bottom{display:grid;grid-template-columns:1fr 1fr;gap:7%}
.service-page-proof{padding-bottom:70px;max-width:1100px}
.service-page-proof>p{font-size:16px;line-height:1.8;max-width:65ch;margin-bottom:18px}
.related-services{display:flex;flex-wrap:wrap;gap:20px 35px;border-top:1px solid var(--line);margin-top:35px;padding-top:24px}
.policy-copy h2{font-size:28px;margin:32px 0 14px;line-height:1.25}
.policy-copy a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--wine);color:var(--wine)}
@media(max-width:900px){.service-detail-grid{gap:22px}.service-detail-grid h3{font-size:27px}}
@media(max-width:760px){
 .header .brand-logo .logo-name{font-size:7px;letter-spacing:.22em}
 .hero-location{font-size:10px;margin-top:8px}
 .client-gallery .home-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;columns:auto}
 .client-gallery .home-gallery .gallery-open{aspect-ratio:3/5}
 .service-page-hero h1{font-size:clamp(42px,11.8vw,66px);margin:24px 0}
 .service-page-lead,.service-page-proof>p{font-size:14px}
 .service-page-actions{gap:22px;align-items:flex-start;flex-direction:column}
 .service-detail-grid,.service-page-bottom{grid-template-columns:1fr;gap:30px}
 .service-page-details .section-heading{display:block}
 .service-page-details .section-heading h2{font-size:43px}
 .service-page-location{font-size:11px}
 .footer-top{flex-wrap:wrap;gap:22px}.footer-services{gap:12px 20px;font-size:11px}
}
/* Compact dropdown anchored to the mobile menu button. */
@media(max-width:900px){
 .header nav{left:auto;right:20px;top:calc(100% - 4px);width:min(220px,calc(100vw - 40px));padding:14px 24px 18px;border:1px solid var(--line);border-radius:3px;box-shadow:0 12px 32px #292d2812;max-height:calc(100dvh - 130px);overflow-y:auto;overscroll-behavior:contain;transform-origin:top right}
 .header nav.open{display:flex;flex-direction:column;align-items:flex-start;gap:0;animation:mobile-menu-arrive 220ms cubic-bezier(.2,.7,.3,1) both}
 .header nav>a:not(.nav-cta){display:flex;align-items:center;width:fit-content;min-width:44px;min-height:44px;padding:11px 0;font-size:14px;line-height:1.5;transform-origin:left center}
 .header nav>a:not(.nav-cta):after{bottom:7px}
 .header nav>.nav-cta{margin-top:9px;padding:8px 0;min-height:44px;font-size:13px;gap:13px}
}
@keyframes mobile-menu-arrive{from{opacity:0;transform:translateY(-6px) scale(.985)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.header nav.open{animation:none}}
