/* A quiet, category-led portfolio. Shared by both editions. */
[hidden] { display:none !important; }
html { scroll-padding-top:100px; }
main, .hero-copy, .portfolio-panel, .identity-card, .garment-card { min-width:0; }
.wrap, .nav-in, .foot-in { max-width:1320px; }
section { padding-block:64px; }
.nav-right { display:flex; align-items:center; gap:12px; }
.nav-work { display:inline-flex; align-items:center; min-height:44px; margin:0; padding-inline:10px; font-size:14px; }
.hero { padding:112px 0 24px; }
.hero-grid { display:grid; grid-template-columns:minmax(0,1fr) 240px; gap:48px; align-items:center; }
.hero h1 { font-size:clamp(42px,4.6vw,64px); line-height:1.08; max-width:20ch; margin-bottom:18px; }
.hero .living { max-width:570px; font:400 19px/1.65 var(--body); margin-bottom:24px; }
.hero-photo { width:min(100%,240px); align-self:center; margin:0; }
.hero-kick { margin-bottom:16px; font-size:10px; letter-spacing:.12em; }
.hero-kick span:last-child { flex-basis:auto; padding-inline-start:0; }
.hero-ctas { gap:12px; margin-bottom:18px; }
.hero-ctas .btn { padding:14px 24px; font-size:14px; }
.hero-note { margin:0; font:400 12px/1.6 var(--body); text-transform:none; letter-spacing:0; }
#portfolio { padding-top:30px; padding-bottom:48px; }
.portfolio-heading > h2 { font:420 clamp(32px,3vw,42px)/1.15 var(--serif); margin-bottom:16px; }
.portfolio-heading > h2 em { color:var(--olive); font-weight:340; }
.portfolio-tabs { display:flex; gap:30px; border-bottom:1px solid var(--bone-3); }
.portfolio-tabs a { position:relative; display:inline-flex; align-items:center; min-height:54px; padding:12px 2px; font-size:16px; color:var(--ink-2); }
.portfolio-tabs a[aria-selected="true"] { color:var(--ink); font-weight:600; }
.portfolio-tabs a[aria-selected="true"]::after { content:''; position:absolute; inset-inline:0; bottom:-1px; height:3px; background:var(--olive); }
.portfolio-tabs a:hover { color:var(--olive-deep); }
.portfolio-panel { padding-block:20px 0; background:transparent; color:var(--ink); border:0 !important; }
#work, #static-ads, #apparel, #identities { padding-top:20px; padding-bottom:0; }
.shead { margin-bottom:26px; }
.shead h2 { font-size:clamp(34px,3.5vw,48px); line-height:1.15; }
.portfolio-panel .shead { margin-bottom:18px; align-items:center; gap:16px; }
.portfolio-panel .shead h2 { font:500 22px/1.4 var(--body); letter-spacing:0; }
.panel-note { margin:0; max-width:760px; font:400 13px/1.6 var(--body); color:var(--ink-2); }
.work-toolbar { display:flex; flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:space-between; margin:0 0 24px; gap:12px; }
.work-filters { display:flex; align-items:center; flex-wrap:nowrap; gap:10px; }
.work-filters label { font-size:13px; color:var(--ink-2); }
select { font:400 14px var(--body); color:var(--ink); background:var(--card); border:1px solid var(--bone-3); border-radius:6px; min-height:44px; padding:8px 32px 8px 12px; max-width:100%; }
.film-count { font:400 12px var(--body); color:var(--ink-2); }
#film-grid.bento { grid-template-columns:repeat(4,minmax(0,1fr)); grid-auto-rows:auto; gap:28px 20px; margin:0; }
.bcard, .bcard.big, .bcard.tall, .bcard.wide, #film-grid .bcard { aspect-ratio:auto; padding:0; display:flex; flex-direction:column; border:0; border-radius:0; background:transparent; box-shadow:none; overflow:visible; grid-column:auto; grid-row:auto; }
.bcard:hover { transform:none; box-shadow:none; }
.film-art { position:relative; aspect-ratio:4/5; background:#1c1d18; overflow:hidden; border-radius:8px; }
.bcard .film-art img { width:100%; height:100%; object-fit:contain; object-position:center; }
.bcard .bshade { display:none; }
.bcard .bmeta { position:static; padding:13px 0 0; color:var(--ink); }
.bcard .btitle, .bcard.big .btitle { color:var(--ink); font:500 21px/1.3 var(--body); }
.bcard .bsub { color:var(--ink-2); font:400 12px/1.5 var(--body); text-transform:none; letter-spacing:0; margin-top:5px; }
.bcard .bwatch { width:40px; height:40px; top:12px; right:12px; background:#14141288; }
.bcard .film-version { display:inline-block; margin-top:7px; font:400 11px/1.4 var(--body); color:var(--olive-deep); }
.bcard .bviews { margin-top:7px; font-size:9px; background:var(--bone-2); }
.bcard:hover .film-art, .bcard:focus-visible .film-art { outline:2px solid var(--olive); outline-offset:3px; }
.project-notes, .additional-feedback, .about-process { margin-top:30px; }
.project-notes > summary, .additional-feedback > summary, .about-process > summary { list-style:none; cursor:pointer; min-height:52px; padding:14px 0; border-block:1px solid var(--bone-3); display:flex; align-items:center; justify-content:space-between; gap:16px; font-size:14px; }
summary::-webkit-details-marker { display:none; }
details[open] > summary > span:last-child { transform:rotate(45deg); }
.case-notes { padding-top:24px; }
.case-notes > .wrap { padding:0; }
.case-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.case-card { border:1px solid var(--bone-3); border-radius:8px; overflow:hidden; }
.case-visual { display:flex; justify-content:center; gap:12px; padding:16px; height:260px; background:var(--bone-2); }
.case-visual img { height:100%; width:50%; min-width:0; object-fit:contain; }
.case-single img { width:100%; }
.case-body { padding:24px; }
.case-body h3 { font:500 23px/1.35 var(--body); margin-bottom:20px; }
.section-label { font:400 10px/1.5 var(--mono); color:var(--ink-2); margin-bottom:10px; }
.case-body dt { font-size:12px; font-weight:600; margin:14px 0 4px; }
.case-body dd { font-size:14px; color:var(--ink-2); }
.case-body a { display:inline-flex; align-items:center; min-height:44px; margin-top:12px; font-size:13px; text-decoration:underline; text-underline-offset:4px; }
.ads-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px 22px; }
.ad-caption { padding-top:12px; }
.ad-caption h3 { font-size:18px; }
.ad-kind { display:none; }
.garment-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px 24px; }
.garment-art { position:relative; overflow:hidden; aspect-ratio:4/5; border-radius:8px; background:#e9e7e1; }
.garment-art img { width:100%; height:100%; object-fit:contain; }
.garment-art > span { position:absolute; bottom:12px; inset-inline-end:12px; display:grid; place-items:center; width:38px; height:38px; background:#fbf8efeb; color:var(--ink); border-radius:50%; font-size:21px; }
.garment-card:hover .garment-art, .garment-card:focus-visible .garment-art { outline:2px solid var(--olive); outline-offset:3px; }
.garment-caption { padding-top:13px; }
.garment-caption h3 { font:500 18px/1.4 var(--body); }
.garment-caption p { font-size:12px; margin-top:4px; color:var(--ink-2); }
.identity-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 24px; }
.identity-image { position:relative; display:block; background:#e5e2dc; border-radius:8px; overflow:hidden; }
.identity-image img { width:100%; aspect-ratio:3/2; object-fit:cover; object-position:center top; }
.identity-open { position:absolute; inset-inline-end:12px; bottom:12px; display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:var(--card); font-size:21px; }
.identity-caption { display:flex; gap:18px; justify-content:space-between; align-items:flex-start; padding-top:14px; }
.identity-caption h3 { font:500 21px/1.4 var(--body); }
.identity-caption small { font:400 18px 'Tajawal',sans-serif; margin-inline-start:8px; }
.identity-caption p { max-width:440px; font-size:13px; line-height:1.65; margin-top:6px; color:var(--ink-2); }
.identity-swatches { display:flex; flex-shrink:0; gap:4px; padding-top:8px; }
.identity-swatches span { width:11px; height:11px; border:1px solid #23211a33; border-radius:50%; }
#client-feedback { border-top:1px solid var(--bone-3); padding-block:44px; }
.t-grid { gap:20px; }
.t-card { background:transparent; border:0; padding:0 20px 0 0; border-inline-end:1px solid var(--bone-3); border-radius:0; }
.t-card:last-child { border:0; }
.t-card .q { font-size:14px; margin-bottom:10px; }
.t-card .w { font:400 11px/1.7 var(--body); letter-spacing:0; text-transform:none; }
.t-card .stars { margin-bottom:8px; font-size:11px; }
@media (min-width:901px) { .t-card:not(:has(.stars)) { padding-top:26px; } }
.review-source { display:inline-flex; align-items:center; min-height:44px; font-size:12px; color:var(--olive-deep); text-decoration:underline; text-underline-offset:3px; }
.t-note { text-align:start; font:400 12px var(--body); letter-spacing:0; text-transform:none; margin-top:18px; }
.additional-feedback .quote-big { font:400 26px/1.45 var(--serif); margin:24px 0 16px; }
.additional-feedback .quote-who { flex-wrap:wrap; margin-bottom:0; font-size:13px; }
.quote-stat { font-size:10px; border-radius:6px; }
#about { padding-block:52px; }
#about .shead { margin-bottom:24px; }
.about-grid { grid-template-columns:240px minmax(0,1fr); gap:48px; }
.about-photo { border-radius:8px; box-shadow:none; }
.about-photo img { aspect-ratio:1; object-fit:cover; object-position:center; }
.about-cap { flex-wrap:wrap; font-size:10px; letter-spacing:.04em; gap:8px; }
.about-text { font-size:15px; margin-bottom:14px; max-width:720px; }
.about-tools { margin-top:18px; gap:6px 16px; }
.about-tools span { font:400 12px var(--body); padding:0; border:0; letter-spacing:0; }
.education-note { display:flex; gap:14px; align-items:center; padding-top:22px; font-size:12px; color:var(--ink-2); }
.education-note img { width:54px; height:auto; border-radius:4px; }
.process-details .wrap { padding:0; }
.proc-grid { margin-top:20px; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.proc-step { border:0; background:none; padding:0; border-radius:0; }
.proc-step:hover { transform:none; box-shadow:none; }
.proc-step h3 { font-size:22px; margin:8px 0; }
.proc-step p { font-size:13px; }
.contact { padding-block:52px; background:var(--bone-2); }
.contact h2 { font-size:clamp(34px,4.3vw,56px); line-height:1.15; max-width:800px; }
.contact .ar-line { font:400 16px/1.7 var(--body); margin:16px 0 24px; max-width:650px; }
.crows { margin-top:26px; }
.crow { padding-block:18px; }
.crow .v { font-size:21px; overflow-wrap:anywhere; }
footer { padding-block:0; }
.foot-in { padding-block:24px; }
#design-dialog { margin:auto; padding:0; border:0; border-radius:10px; width:min(1100px,calc(100vw - 32px)); max-width:none; max-height:calc(100dvh - 32px); background:var(--card); color:var(--ink); box-shadow:0 30px 100px #0008; }
#design-dialog::backdrop { background:#171914ec; }
.design-top { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 22px; }
#design-category { font:400 10px/1.6 var(--body); color:var(--ink-2); }
#design-title { font:500 22px/1.4 var(--body); }
#design-close { flex-shrink:0; min-height:44px; padding:8px 14px; border:1px solid var(--bone-3); border-radius:30px; font-size:13px; }
.design-stage { background:#e5e2dc; display:grid; place-items:center; min-height:180px; }
#design-image { width:auto; height:auto; max-width:100%; max-height:calc(100dvh - 300px); object-fit:contain; }
.design-options { display:flex; align-items:center; gap:12px; padding:12px 22px 0; font-size:13px; }
.design-options select { width:auto; flex:1; max-width:300px; }
.design-bottom { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:14px 22px 20px; }
#design-description { font-size:13px; line-height:1.6; max-width:660px; }
.design-full { display:inline-flex; align-items:center; min-height:44px; font-size:12px; text-decoration:underline; text-underline-offset:3px; color:var(--olive-deep); }
.design-paging { display:flex; direction:ltr; align-items:center; gap:12px; flex-shrink:0; }
.design-paging button { border:1px solid var(--bone-3); border-radius:50%; width:44px; height:44px; }
#design-position { font:400 11px var(--mono); }
html[dir="rtl"] .hero .living, html[dir="rtl"] .portfolio-heading > h2, html[dir="rtl"] .case-body h3 { font-family:'Tajawal',var(--body); }
html[dir="rtl"] .portfolio-heading > h2 em { font-style:normal; }
html[dir="rtl"] select, html[dir="rtl"] .portfolio-tabs a, html[dir="rtl"] .panel-note, html[dir="rtl"] .portfolio-panel .shead h2 { font-family:'IBM Plex Sans Arabic',var(--body); }
html[dir="rtl"] .hero h1 { line-height:1.18; }
html[dir="rtl"] .t-card { padding-inline:0 20px; }
@media (max-width:1000px) {
 .hero-grid { grid-template-columns:minmax(0,1fr) 230px; gap:26px; }
 .hero-photo { display:block; width:100%; }
 #film-grid.bento { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .portfolio-tabs { gap:24px; }
 .portfolio-tabs a { font-size:14px; }
}
@media (max-width:900px) {
 .garment-grid, .ads-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .t-grid { grid-template-columns:1fr; gap:24px; }
 .t-card { padding:0; border:0; }
 .about-grid { grid-template-columns:190px minmax(0,1fr); gap:30px; }
}
@media (max-width:760px) {
 .hero-grid { grid-template-columns:1fr; }
 .hero-photo { display:none; }
 .hero h1 { max-width:18ch; font-size:clamp(42px,8vw,62px); }
 .portfolio-panel .shead { align-items:flex-start; flex-direction:column; gap:8px; }
 #film-grid.bento { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 16px; }
 .identity-grid, .case-grid { grid-template-columns:1fr; }
 .case-visual { height:300px; }
}
@media (max-width:600px) {
 section { padding-block:42px; }
 .hero { padding:100px 0 16px; }
 .hero h1 { font-size:clamp(40px,10.5vw,58px); }
 .hero .living { font-size:17px; margin-bottom:22px; }
 .hero-kick { font-size:9px; }
 .hero-ctas .btn { padding:13px 18px; font-size:13px; }
 .nav-right { gap:6px; }
 .brand .bt { display:none; }
 .nav-work { display:inline-flex; font-size:13px; padding-inline:8px; }
 .nav-cta { min-height:44px; padding:10px 13px; }
 .nav-cta svg { display:none; }
 #portfolio { padding-top:24px; padding-bottom:32px; }
 .portfolio-heading > h2 { margin-bottom:12px; font-size:32px; }
 .portfolio-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 18px; }
 .portfolio-tabs a { min-height:48px; font-size:14px; }
 .portfolio-panel .shead h2 { font-size:20px; }
 .panel-note { font-size:12px; }
 .work-toolbar { flex-direction:row; gap:10px; margin-bottom:20px; }
 .work-filters { gap:8px; }
 .work-filters label { display:none; }
 select { font-size:13px; max-width:220px; }
 .film-count { font-size:11px; }
 #film-grid.bento { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 12px; }
 .bcard .btitle, .bcard.big .btitle { font-size:17px; }
 .bcard .bsub { font-size:11px; }
 .bcard .bwatch { width:34px; height:34px; top:8px; right:8px; }
 .bcard .film-version { font-size:10px; }
 .bcard .bviews { font-size:8px; padding:3px 6px; }
 .garment-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 16px; }
 .garment-caption h3 { font-size:16px; }
 .ads-grid { grid-template-columns:1fr; gap:28px; }
 .shead h2 { font-size:34px; }
 .identity-caption { gap:12px; }
 .identity-caption h3 { font-size:20px; }
 #about { padding-block:36px; }
 .about-grid { grid-template-columns:1fr; gap:26px; }
 .about-grid > figure { display:flex; align-items:flex-end; gap:18px; }
 .about-photo { width:120px; flex:0 0 120px; }
 .about-cap { flex-direction:column; margin-bottom:6px; gap:3px; }
 .about-text { font-size:14px; }
 .proc-grid { grid-template-columns:1fr; }
 .contact { padding-block:38px; }
 .contact h2 { font-size:36px; }
 .contact .ar-line { font-size:15px; }
 .crow .v { font-size:17px; }
 #design-dialog { width:calc(100vw - 16px); max-height:calc(100dvh - 16px); }
 .design-top { padding:12px 16px; }
 #design-title { font-size:18px; }
 #design-image { max-height:calc(100dvh - 320px); }
 .design-options { padding:12px 16px 0; }
 .design-bottom { padding:14px 16px 16px; flex-direction:column; align-items:flex-start; gap:10px; }
 .design-paging { align-self:flex-end; }
}
@media (max-width:359px) { #film-grid.bento { grid-template-columns:1fr; } .bcard .btitle { font-size:22px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none !important; transition:none !important; } }

.feedback-label { font:500 21px/1.4 var(--body); margin-bottom:24px; }
html[dir="rtl"] .feedback-label { font-family:"IBM Plex Sans Arabic",var(--body); }


/* Release 5: predictable spacing and detail viewers in both languages. */
.sr-only { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip-path:inset(50%); white-space:nowrap; border:0 !important; }
.hero-contact { display:inline-flex; align-items:center; min-height:44px; padding:8px 2px; font-size:14px; text-decoration:underline; text-decoration-color:var(--bone-3); text-underline-offset:5px; }
.hero-contact:hover { color:var(--olive-deep); text-decoration-color:currentColor; }
.hero-ctas { gap:12px 24px; }
.portfolio-panel .shead > div:has(> .sr-only) { display:contents; }
.bcard .btitle em { font-style:normal; font-weight:inherit; }
.bcard .bmeta { min-height:88px; }
.bcard .bwatch { inset-inline-start:auto; inset-inline-end:12px; }
.identity-caption h3 { overflow-wrap:anywhere; }
.garment-caption p { line-height:1.55; }
.viewer-actions { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.viewer-actions button { font:500 13px var(--body); min-height:44px; padding:8px 14px; border:1px solid var(--bone-3); border-radius:24px; }
.viewer-actions button[aria-pressed="true"] { background:var(--ink); color:var(--bone); border-color:var(--ink); }
.media-top, .design-top { position:sticky; top:0; z-index:3; background:var(--card); }
.media-top h2, #design-title { overflow-wrap:anywhere; }
#media-stage, .design-stage { overscroll-behavior:contain; }
#media-dialog[data-mode="image"] #media-stage, .design-stage { display:flex; align-items:center; justify-content:center; height:min(58dvh,640px); min-height:120px; overflow:auto; }
#media-dialog[data-mode="image"] #media-stage img, #design-image { flex-shrink:0; width:auto; height:auto; max-width:100%; max-height:100%; object-fit:contain; }
#media-dialog.is-zoomed #media-stage, #design-dialog.is-zoomed .design-stage { display:block; text-align:center; }
#media-dialog.is-zoomed #media-stage img, #design-dialog.is-zoomed #design-image { display:block; width:max(100%,960px); max-width:none; max-height:none; height:auto; margin:0 auto; }
.media-paging button:disabled { opacity:.35; cursor:default; }
.media-bottom { gap:16px; }
.media-top h2 { font:500 22px/1.4 var(--body); }
.media-paging { gap:10px; }
#media-position, #design-position { min-width:42px; text-align:center; }
html[dir="rtl"] .hero .living { line-height:1.75; }
html[dir="rtl"] .hero h1 { font-weight:700; max-width:20ch; }
html[dir="rtl"] .hero h1 em { font-weight:500; }
html[dir="rtl"] .hero-contact, html[dir="rtl"] .viewer-actions button { font-family:'IBM Plex Sans Arabic',var(--body); }
html[dir="rtl"] .crow .v { direction:inherit; unicode-bidi:normal; text-align:start; }
html[dir="rtl"] .crow .v[dir="ltr"] { direction:ltr; unicode-bidi:isolate; text-align:end; }
@media (max-width:1000px) { .hero-grid { grid-template-columns:minmax(0,1fr) 190px; } }
@media (max-width:760px) { .hero-grid { grid-template-columns:1fr; } .hero h1 { font-size:clamp(40px,6.3vw,52px); max-width:20ch; } }
@media (max-width:600px) {
 .hero h1 { font-size:clamp(36px,9.5vw,46px); }
 .hero-ctas { gap:8px 16px; }
 .hero-contact { font-size:13px; }
 .hero-kick { letter-spacing:.06em; }
 .portfolio-panel .shead { margin-bottom:16px; }
 .panel-note { font-size:13px; }
 .portfolio-tabs { column-gap:20px; }
 .portfolio-tabs a { line-height:1.4; }
 .garment-art > span { width:30px; height:30px; bottom:8px; inset-inline-end:8px; font-size:18px; }
 .garment-caption p { font-size:11px; }
 .bcard .bwatch { inset-inline-end:8px; }
 .t-card:not(:has(.stars)) { padding-top:0; }
 .media-top, .design-top { padding:10px 14px; gap:10px; flex-wrap:wrap; }
 .media-top h2, #design-title { font-size:18px; }
 .viewer-actions { margin-inline-start:auto; gap:6px; }
 .viewer-actions button, #design-close { font-size:12px; padding:8px 11px; }
 #media-dialog, #design-dialog { width:calc(100vw - 16px); max-height:calc(100dvh - 16px); }
 #media-dialog[data-mode="image"] #media-stage, .design-stage { height:48dvh; }
 .media-paging { align-self:flex-end; }
 #media-description, #design-description { font-size:13px; }
 .media-bottom, .design-bottom { padding:12px 16px 16px; }
 .foot-in { padding-block:22px; }
}
@media (max-width:359px) { .garment-grid { grid-template-columns:1fr; } }
@media (max-height:600px) {
 #media-dialog, #design-dialog { max-height:calc(100dvh - 12px); }
 #media-dialog[data-mode="image"] #media-stage, .design-stage { height:52dvh; }
 #media-dialog.portrait iframe, #media-dialog.portrait video { height:55dvh; max-height:none; }
 #media-dialog.has-variants #media-stage video, #media-dialog.has-variants #media-stage iframe { max-height:55dvh; }
}
