/* ZIAD V12 — a measured, responsive editorial system */
:root{--page-space:clamp(56px,7vw,98px);--content-max:1230px}
html{scroll-padding-top:calc(var(--header) + 16px)}
body{overflow-x:clip}
.shell{width:min(calc(100% - clamp(36px,6.2vw,100px)),var(--content-max))}
.section{padding-block:var(--page-space)}
.site-header{box-shadow:0 5px 28px #00000010}
.header-inner{gap:clamp(15px,2vw,30px)}
.desktop-links{gap:clamp(12px,1.5vw,22px)}
.header-cta{min-height:44px}
/* Home sections, keeping headings inside the editorial grid */
.v11-hero{overflow:clip}
.v11-hero-shell{padding-block:22px 30px}
.v11-hero-top{font-size:11px;min-height:26px;letter-spacing:.09em}
.v11-hero-grid{grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:clamp(34px,5.4vw,82px);padding:45px 0 48px;min-height:0;align-items:center}
.v11-hero-content{width:100%;max-width:585px}
.v11-overline{font-size:clamp(11px,.95vw,13px);letter-spacing:0;line-height:1.7}
.v11-display{font-size:clamp(43px,4.15vw,65px);font-weight:750;line-height:1.45;letter-spacing:-.036em;text-wrap:pretty;margin:17px 0 19px;max-width:100%;overflow-wrap:normal}
.v11-display em{color:var(--muted);-webkit-text-stroke:0;white-space:normal}
.v11-hero-summary{font-size:clamp(14px,1.12vw,17px);line-height:2;max-width:520px}
.v11-hero-actions{margin-top:27px;gap:22px}
.v11-hero-actions .button{min-height:50px;padding:10px 21px}
.v11-hero-footnote{margin-top:45px;font-size:10px;letter-spacing:.07em}
.v11-scroll-prompt{font-size:12px}
/* Three posters in a deliberate, balanced collage, not overlapping off-screen */
.v11-hero-visual{height:clamp(390px,36vw,515px);min-height:0;max-height:515px;width:100%;max-width:520px;margin:0 auto;perspective:none;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.78fr);grid-template-rows:1fr 1fr;gap:12px}
.v11-hero-tile,.v11-hero-tile-main,.v11-hero-tile-top,.v11-hero-tile-bottom{position:relative;inset:auto;right:auto;left:auto;top:auto;bottom:auto;width:100%;height:100%;border:1px solid var(--border);box-shadow:none;transform:none!important;min-width:0;min-height:0}
.v11-hero-tile{border-radius:2px}
.v11-hero-tile-main{grid-row:1/3;grid-column:1}
.v11-hero-tile-top{grid-row:1;grid-column:2}
.v11-hero-tile-bottom{grid-row:2;grid-column:2}
.v11-hero-tile img{object-fit:cover;object-position:center;display:block;transition:transform .7s ease}
.v11-hero-tile-main img{object-fit:cover}
.v11-hero-tile:hover{box-shadow:none}
.v11-hero-tile:hover img{transform:scale(1.025)}
.v11-hero-tile>span{font-size:clamp(13px,1.2vw,17px);padding:15px;background:linear-gradient(transparent,#000d)}
.v11-visual-outline{display:none}
.v11-marquee{min-height:47px}
.v11-marquee-run{font-size:16px;animation-duration:45s}
/* Portfolio cards keep every artwork in full aspect ratio */
.v11-selected{padding-block:clamp(72px,8vw,112px)}
.v11-section-head{align-items:end;gap:24px;margin-bottom:32px}
.v11-section-title{font-size:clamp(36px,3.75vw,58px);line-height:1.42;letter-spacing:-.03em;margin:11px 0 6px;max-width:890px;text-wrap:balance}
.v11-section-description{font-size:clamp(14px,1.05vw,16px);line-height:1.85;max-width:600px}
.v11-project-grid{gap:clamp(12px,1.5vw,22px);align-items:start}
.v11-project:nth-child(2),.v11-project:nth-child(3){margin-top:0}
.v11-project-image{aspect-ratio:2/3;background:#141414}
.v11-project-image>img{width:100%;height:100%;object-fit:contain;object-position:center}
.v11-project:hover .v11-project-image>img{transform:scale(1.025);filter:brightness(.88)}
.v11-project-info{padding-top:13px;align-items:start}
.v11-project-info strong{font-size:clamp(23px,2.2vw,31px);letter-spacing:-.03em;line-height:1.4}
.v11-project-info small{font-size:clamp(11px,.9vw,13px);line-height:1.65;max-width:145px}
.v11-project-no{font-size:10px}
.v11-project-overlay{opacity:1;transform:none;padding:15px;font-size:12px;background:linear-gradient(transparent,#000a)}
.v11-project-overlay b{font-size:23px}
/* Compact personal introduction, warm but unmistakably monochrome */
.v11-about{padding-block:clamp(63px,6.5vw,102px)}
.v11-about-grid{grid-template-columns:minmax(230px,.77fr) minmax(0,1.23fr);gap:clamp(34px,6vw,88px)}
.v11-about-portrait{max-width:360px}
.v11-photo-frame{transform:none;box-shadow:12px 12px 0 #0001;aspect-ratio:4/5}
.v11-about-copy{padding:0}
.v11-about-title{font-size:clamp(39px,3.9vw,58px);line-height:1.48;letter-spacing:-.025em;margin:12px 0 15px;text-wrap:balance}
.v11-about-intro{font-size:clamp(17px,1.5vw,22px);line-height:1.8;margin-bottom:10px}
.v11-about-body{font-size:clamp(14px,1vw,16px);line-height:2}
.v11-about-specialties{margin:18px 0}
/* Avoid huge dead zones in films section */
.v11-motion-section{padding-block:clamp(66px,7.8vw,100px)}
.v11-film-layout{grid-template-columns:minmax(0,1.5fr) minmax(225px,.7fr);gap:16px}
.v11-film-preview{min-height:0;height:clamp(285px,31vw,420px)}
.v11-film-preview>img{object-fit:cover;object-position:center}
.v11-film-side{gap:12px;padding:clamp(22px,2.4vw,34px)}
.v11-film-num{font-size:clamp(74px,7vw,104px);line-height:1}
.v11-film-num span{font-size:13px;margin-top:7px}
.v11-film-side p{font-size:14px;line-height:1.85}
.v11-play-disc{width:60px;height:60px;font-size:17px}
.v11-play-indicator{inset:auto 21px 21px 21px;font-size:14px}
/* Services start with a clear, consistent visual rhythm */
.v11-services{padding-block:clamp(68px,7.8vw,106px)}
.v11-prices-row{gap:14px}
.v11-price-tile{min-height:185px;padding:23px}
.v11-price-tag{font-size:clamp(13px,1vw,15px)}
.v11-price-amount b{font-size:clamp(60px,5.4vw,80px);line-height:1}
.v11-price-tile-cta>strong{font-size:clamp(24px,2.2vw,31px);line-height:1.55}
.v11-service-footer{margin-top:23px}
/* Final invitation: no enormous empty white canvas */
.v11-final-cta{padding-block:clamp(67px,7vw,100px);background:var(--bg);color:var(--fg);border-top:1px solid var(--border)}
.v11-final-inner>h2{font-size:clamp(43px,4.9vw,73px);line-height:1.45;letter-spacing:-.038em;margin:16px 0 28px;max-width:950px;text-wrap:balance}
.v11-final-inner>h2 em{color:var(--muted)}
.v11-final-bottom{border-color:var(--border);align-items:center;padding-top:23px}
.v11-final-bottom p{font-size:clamp(14px,1.2vw,17px);max-width:490px;line-height:1.9;color:var(--muted)}
.v11-final-bottom .button-contrast{color:var(--bg);background:var(--fg);border-color:var(--fg)}
/* Pages follow the same restrained type scale */
.page-intro{padding-block:clamp(52px,6vw,83px) clamp(38px,4vw,56px)}
.page-title{font-size:clamp(42px,5.1vw,74px);line-height:1.4;letter-spacing:-.035em}
.section-title{font-size:clamp(34px,4.3vw,62px);line-height:1.4}
.v11-about-page-header h1{font-size:clamp(43px,5.1vw,73px)}
.v11-about-page-text h2{font-size:clamp(35px,4vw,57px)}
/* A small purpose-driven animation system, never moving content outside the layout */
@media(prefers-reduced-motion:no-preference){
 .js-ready .reveal{opacity:.84;transform:translateY(10px);transition:opacity .7s cubic-bezier(.2,.72,.24,1),transform .7s cubic-bezier(.2,.72,.24,1)}
 .js-ready .reveal.in-view{opacity:1;transform:none}
 .js-ready .v11-split{opacity:.92;transform:translateY(8px);transition:opacity .7s cubic-bezier(.2,.72,.24,1),transform .7s cubic-bezier(.2,.72,.24,1)}
 .js-ready .v11-split.v11-on{opacity:1;transform:none}
 .v11-hero-visual{transition:transform .2s linear}
 .v11-film-preview img{transition:transform .7s ease;}
 .v11-final-inner>h2{transition:opacity .6s ease!important;letter-spacing:-.038em!important}
 .v11-final-inner.in-view>h2{letter-spacing:-.038em!important}
}
@media(max-width:1100px){
 .v11-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,.87fr);gap:30px}
 .v11-display{font-size:clamp(40px,4.6vw,54px)}
 .v11-hero-visual{height:clamp(330px,38vw,450px)}
 .v11-hero-footnote{margin-top:25px}
 .v11-about-grid{gap:32px}
 .v11-section-title{font-size:clamp(34px,4.7vw,52px)}
}
@media(max-width:850px){
 .v11-hero-grid{grid-template-columns:1fr;gap:23px;padding:36px 0 25px}
 .v11-hero-content{max-width:700px}
 .v11-display{font-size:clamp(43px,6.2vw,64px);max-width:680px}
 .v11-hero-visual{max-width:620px;width:100%;height:clamp(355px,67vw,515px);margin-inline:0 auto}
 .v11-about-grid{grid-template-columns:.72fr 1fr;gap:23px}
 .v11-about-title{font-size:clamp(34px,4.5vw,48px)}
 .v11-film-layout{grid-template-columns:minmax(0,1fr) minmax(200px,.68fr)}
 .v11-film-preview{height:320px}
 .v11-price-tile{min-height:172px;padding:18px}
 .v11-price-amount b{font-size:61px}
}
@media(max-width:680px){
 :root{--page-space:62px}
 .shell{width:calc(100% - 36px)}
 .v11-hero-shell{padding-block:15px 24px}
 .v11-hero-top{font-size:10px}
 .v11-hero-grid{padding:30px 0 16px;gap:22px}
 .v11-display{font-size:clamp(37px,8vw,49px);line-height:1.48;margin:12px 0}
 .v11-overline{font-size:12px}
 .v11-hero-summary{font-size:14px;line-height:1.9}
 .v11-hero-actions{margin-top:18px;gap:14px}
 .v11-hero-actions .button{min-height:48px}
 .v11-hero-footnote{margin-top:20px;gap:8px}
 .v11-hero-footnote>span:first-child{font-size:10px;line-height:1.6}
 .v11-hero-visual{height:clamp(315px,91vw,450px);max-width:475px;gap:8px}
 .v11-hero-tile{border-width:1px}
 .v11-hero-tile>span{font-size:12px;padding:10px}
 .v11-marquee{min-height:40px}
 .v11-marquee-run{font-size:14px}
 .v11-selected,.v11-motion-section{padding-block:62px}
 .v11-section-head{margin-bottom:22px}
 .v11-section-title{font-size:clamp(34px,7.5vw,45px);line-height:1.5}
 .v11-section-description{font-size:14px;line-height:1.8}
 .v11-section-head .text-link{margin-top:13px}
 .v11-project-grid{grid-template-columns:1fr;gap:27px}
 .v11-project-image{aspect-ratio:2/3;max-width:530px;margin-inline:auto}
 .v11-project-info{max-width:530px;margin-inline:auto}
 .v11-project-info strong{font-size:26px}
 .v11-about{padding-block:64px}
 .v11-about-grid{grid-template-columns:1fr;gap:28px}
 .v11-about-portrait{max-width:300px;justify-self:start}
 .v11-photo-frame{aspect-ratio:4/5;transform:none}
 .v11-about-title{font-size:clamp(34px,7.3vw,45px);line-height:1.5}
 .v11-about-intro{font-size:18px}
 .v11-about-body{font-size:14px}
 .v11-film-layout{display:grid;grid-template-columns:1fr;gap:0}
 .v11-film-preview{height:auto;min-height:0;aspect-ratio:16/10}
 .v11-film-side{display:flex;flex-direction:row;align-items:center;justify-content:space-between;min-height:0;padding:20px;gap:16px}
 .v11-film-num{font-size:64px;flex:0 0 auto;align-items:center;direction:ltr}
 .v11-film-num span{font-size:11px;line-height:1.5}
 .v11-film-side p{font-size:13px;flex:1}
 .v11-film-side .v11-dark-link{display:none}
 .v11-play-disc{width:52px;height:52px}
 .v11-services{padding-block:65px}
 .v11-prices-row{grid-template-columns:1fr 1fr;gap:10px}
 .v11-price-tile{padding:17px;min-height:165px}
 .v11-price-tile-cta{grid-column:1/-1;min-height:126px}
 .v11-price-tile-cta>strong{font-size:26px}
 .v11-price-amount b{font-size:58px}
 .v11-service-footer{margin-top:18px}
 .v11-final-cta{padding-block:65px 90px}
 .v11-final-inner>h2{font-size:clamp(37px,8vw,51px);line-height:1.52;margin:14px 0 20px}
 .v11-final-bottom{gap:18px}
 .v11-final-bottom p{font-size:14px}
 .v11-final-bottom .button{min-height:48px}
 .page-title{font-size:clamp(37px,8vw,53px)}
 .section-title{font-size:clamp(33px,7vw,47px)}
 .v11-about-page-header h1{font-size:clamp(37px,8vw,53px)}
 .v11-about-page-text h2{font-size:clamp(33px,7vw,46px)}
}
@media(max-width:390px){
 .v11-display{font-size:clamp(33px,8.5vw,37px)}
 .v11-hero-visual{height:clamp(285px,90vw,350px)}
 .v11-film-side{gap:10px;padding:17px}
 .v11-film-num{font-size:56px}
 .v11-film-side p{font-size:12px}
 .v11-price-amount b{font-size:52px}
 .v11-price-tile{min-height:152px;padding:14px}
 .v11-price-tile-cta>strong{font-size:24px}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
 .js-ready .reveal,.js-ready .v11-split{opacity:1!important;transform:none!important}
}
/* Editorial indicator animates only when a section is in view */
.v11-section-title{position:relative;display:inline-block}
.v11-section-title::after{content:"";display:block;width:44px;height:2px;background:var(--fg);margin-top:10px;transform:scaleX(.2);transform-origin:right;opacity:.35;transition:transform .7s cubic-bezier(.22,1,.36,1),opacity .7s}
.is-current .v11-section-title::after{transform:scaleX(1);opacity:1}
.v11-section-title em{transition:color .65s ease}
.is-current .v11-section-title em{color:color-mix(in srgb,var(--fg) 72%,var(--muted))}
@media(prefers-reduced-motion:reduce){.v11-section-title::after,.v11-section-title em{transition:none!important}}
/* Heading wrapping at phone widths — never clip the final word */
.v11-section-title{display:block;width:fit-content;max-width:100%;text-wrap:wrap;overflow-wrap:normal;word-break:normal}
