@font-face { font-family: 'Instrument Serif'; src: url('/assets/fonts/instrument-serif-latin-400-normal.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'DM Sans'; src: url('/assets/fonts/dm-sans-latin-400-normal.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'DM Sans'; src: url('/assets/fonts/dm-sans-latin-500-normal.woff2') format('woff2'); font-weight: 500; font-display: swap; }
@font-face { font-family: 'DM Sans'; src: url('/assets/fonts/dm-sans-latin-600-normal.woff2') format('woff2'); font-weight: 600 900; font-display: swap; }
@font-face { font-family: 'Noto Sans Arabic'; src: url('/assets/fonts/noto-sans-arabic-arabic-400-normal.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Noto Sans Arabic'; src: url('/assets/fonts/noto-sans-arabic-arabic-600-normal.woff2') format('woff2'); font-weight: 500 900; font-display: swap; }
:root { --font-ui: 'DM Sans', sans-serif; --font-display: 'Instrument Serif', Georgia, serif; --font-ar: 'Noto Sans Arabic', sans-serif; --container: 1320px; --header-height: 88px; }
body.site-body { background: var(--page); }
body { font-family: var(--font-ui); }
.site-body :focus-visible, .admin-body :focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
html[lang='ar'] { --font-display: 'Noto Sans Arabic', sans-serif; }
.sanaa-wordmark { display: flex; flex-direction: column; gap: 2px; color: var(--ink); text-align: left; white-space: nowrap; }
.sanaa-wordmark small { font: 500 10px/1.3 'DM Sans', sans-serif; letter-spacing: .42em; padding-inline-start: 3px; }
.sanaa-wordmark strong { font: 400 38px/.95 'Instrument Serif', Georgia, serif; letter-spacing: -.035em; }
.site-header { width: 100%; background: var(--page); backdrop-filter: none; border-color: transparent; }
.button, .primary-button, .secondary-button, .download-button { border-radius: 3px; box-shadow: none; min-height: 48px; font-weight: 500; font-family: var(--font-ui); }
.button-primary, .primary-button, .download-button { background: var(--accent-strong); color: #fffaf3; border-color: var(--accent-strong); }
.button-secondary { border-color: var(--line-strong); }
.section-label { font-size: 10px; font-weight: 500; letter-spacing: .18em; }
.atelier-studio { padding-block: 28px 48px; display: grid; gap: 28px; scroll-margin-block-start: 100px; }
.atelier-intro h1 { margin: 20px 0 14px; font: 400 clamp(42px, 8vw, 60px)/1.02 var(--font-display); letter-spacing: -.03em; max-width: 15ch; }
html[lang='ar'] .atelier-intro h1 { font-size: clamp(32px, 5vw, 44px); line-height: 1.4; letter-spacing: 0; }
.atelier-intro > p:not(.section-label) { margin: 0; color: var(--ink-muted); font-size: 16px; line-height: 1.65; max-width: 35ch; }
.atelier-photo-actions { margin-block: 24px; display: flex; gap: 10px; }
.atelier-photo-actions .button { flex: 1; padding: 12px; }
.atelier-intro .atelier-photo-note { font-size: 13px; }
.atelier-botanical { display: none; }
.atelier-tool { min-width: 0; }
.atelier-tool .selector-toolbar { display: none; }
.atelier-tool .studio-grid { gap: 18px; }
.atelier-tool .workspace-card { border: 0; border-radius: 0; background: var(--surface-muted); }
.atelier-tool .controls-card { border: 0; border-radius: 0; }
.atelier-tool .upload-panel { position: relative; min-height: 490px; padding: 0; display: flex; flex-direction: column; justify-content: end; }
.atelier-tool .drop-zone { z-index: 1; margin: 220px 12px 12px; width: auto; min-height: 0; padding: 16px; border: 1px solid var(--line); border-radius: 3px; background: var(--surface); }
.atelier-tool .upload-icon, .atelier-tool .photo-tips, .atelier-tool .upload-help, .atelier-tool .drop-subtitle { display: none; }
.atelier-tool .drop-title { font: 400 26px/1.15 var(--font-display); }
.atelier-tool .upload-source-actions { margin-block-start: 16px; grid-template-columns: 1fr 1fr; }
.atelier-tool .upload-source-button { min-height: 48px; padding: 8px; }
.atelier-tool .upload-source-button strong { font-size: 12px; }
.atelier-tool .upload-source-button small, .atelier-tool .upload-source-icon { display: none; }
.atelier-tool .controls-placeholder { min-height: 0; padding: 28px 24px; align-items: start; text-align: start; }
.atelier-style-preview { display: grid; gap: 12px; width: 100%; margin-block: 24px; padding: 0; list-style: none; }
.atelier-style-preview li { display: grid; grid-template-columns: 90px 1fr; gap: 14px; align-items: center; border: 1px solid var(--line); padding: 12px; font-size: 13px; }
.atelier-style-preview canvas { display: block; width: 90px; height: 44px; }
.atelier-tool .controls-placeholder .atelier-preview-note { font-size: 13px; }
.atelier-tool .controls-placeholder h2 { font: 400 32px/1.15 var(--font-display); }
.atelier-tool .controls-placeholder .placeholder-brow, .atelier-tool .controls-number { display: none; }
.atelier-tool .controls-placeholder p { font-size: 15px; line-height: 1.7; }
.atelier-tool .controls-content { padding: 24px 18px; }
.atelier-tool .section-heading h2 { font: 400 28px/1.15 var(--font-display); }
.atelier-tool .instant-badge { display: none; }
.atelier-tool .controls-content .style-grid { grid-template-columns: 1fr; gap: 8px; }
.atelier-tool .controls-content .style-option { min-height: 66px; grid-template-columns: 85px 1fr; grid-template-rows: 1fr; text-align: start; padding: 10px; }
.atelier-tool .style-name { font-size: 13px; justify-items: start; text-align: start; padding-inline-start: 8px; }
.atelier-tool .editor-result-actions { grid-template-columns: 1fr; }
.atelier-tool .book-look-button { min-height: 52px; order: -1; }
.atelier-tool .mobile-style-picker-button { color: #fffaf3; background: var(--accent-strong); border-radius: 3px; box-shadow: none; }
.atelier-tool .mobile-style-picker-button[aria-expanded="true"] { border-radius: 3px; }
.atelier-tool .application-mode-option > span { padding: 10px; }
.atelier-tool .application-mode-option small { font-size: 12px; }
.atelier-section-heading { display: grid; gap: 14px; margin-block-end: 28px; align-items: end; }
.atelier-section-heading h2 { margin: 0; font: 400 clamp(34px, 6vw, 48px)/1.1 var(--font-display); letter-spacing: -.025em; }
.atelier-section-heading p { margin: 0; color: var(--ink-muted); font-size: 16px; max-width: 32ch; }
.atelier-section-heading .text-link { width: max-content; font-size: 12px; letter-spacing: .04em; text-transform: uppercase; }
.atelier-work { padding-block: 40px; background: var(--surface-raised); }
.look-grid-home { grid-template-columns: 1fr; }
.look-card { background: transparent; border-radius: 0; border: 0; box-shadow: none; }
.look-image { position: relative; border-radius: 0; background: var(--surface-muted); }
.look-image img, .look-image video { width: 100%; height: 100%; object-fit: cover; }
.look-card h3 { font: 400 26px/1.2 var(--font-display); margin: 0; }
.look-card a { text-decoration: none; }
.portfolio-placeholder { display: flex; min-height: 240px; flex-direction: column; gap: 10px; align-items: center; justify-content: center; padding: 24px; background: var(--surface-muted); color: var(--ink-muted); text-align: center; }
.portfolio-placeholder span { font-size: 16px; }
.portfolio-placeholder small { font-size: 12px; }
.atelier-treatments { padding-block: 48px 64px; scroll-margin-block-start: 110px; }
.atelier-treatment { display: grid; grid-template-columns: 70px 1fr; column-gap: 20px; padding-block: 24px; border-block-start: 1px solid var(--line); text-decoration: none; align-items: center; }
.treatment-photo-placeholder { grid-row: span 3; background: var(--surface-muted); width: 70px; height: 90px; display: flex; flex-direction: column; gap: 4px; align-items: center; justify-content: center; font: 400 24px/1.1 var(--font-display); color: var(--ink-muted); }
.treatment-photo-placeholder small { font: 400 9px/1.4 var(--font-ui); }
.atelier-treatment h3 { margin: 0 0 8px; font: 400 25px/1.2 var(--font-display); }
.atelier-treatment p { margin: 0; color: var(--ink-muted); font-size: 14px; line-height: 1.65; }
.treatment-inquire { margin-block-start: 12px; font-size: 12px; text-decoration: underline; text-underline-offset: 4px; }
.atelier-treatment:hover h3 { color: var(--accent); }
.site-footer { width: 100%; display: block; text-align: start; background: var(--surface-raised); border: 0; padding-block: 24px 16px; }
.footer-invitation h2 { margin: 0; font: 400 30px/1.2 var(--font-display); }
.footer-invitation p { color: var(--ink-muted); margin: 8px 0 20px; font-size: 14px; }
.footer-main { gap: 28px; }
.footer-contact { font-size: 12px; }
.footer-links { font-size: 12px; }
.footer-bottom { border-color: var(--line); font-size: 11px; }
.mobile-sticky-cta { grid-template-columns: 1fr; background: var(--surface); padding-bottom: max(8px, env(safe-area-inset-bottom)); }
.page-home .mobile-sticky-cta { display: none; }
body.page-home { padding-block-end: 0; }
.page-intro { padding-block: 48px 40px; }
.page-intro h1 { font-family: var(--font-display); font-weight: 400; font-size: clamp(42px, 7vw, 76px); letter-spacing: -.025em; max-width: 17ch; line-height: 1.05; }
html[lang='ar'] .page-intro h1 { line-height: 1.35; font-size: clamp(34px, 6vw, 60px); }
.look-detail-copy h1, .look-card-journal h2, .contact-form-intro h2, .empty-journal h2 { font-family: var(--font-display); font-weight: 400; }
.look-detail-image { min-height: 0; background: var(--surface-muted); }
.look-detail-image img, .look-detail-image video { display: block; width: 100%; height: auto; max-height: 760px; object-fit: contain; }
.media-kind { position: absolute; bottom: 12px; inset-inline-start: 12px; background: var(--surface); padding: 6px 10px; color: var(--ink); font-size: 12px; }
.post-rich-content { max-width: 760px; margin: 48px auto 0; font-size: 17px; line-height: 1.8; overflow-wrap: anywhere; }
.post-rich-content h2, .post-rich-content h3 { font-family: var(--font-display); font-weight: 400; line-height: 1.2; }
.post-rich-content h2 { font-size: 40px; }
.post-rich-content h3 { font-size: 30px; }
.post-rich-content figure { margin: 32px 0; }
.post-rich-content img, .post-rich-content video { display: block; width: 100%; height: auto; max-height: 760px; object-fit: contain; }
.post-rich-content figcaption { margin-top: 10px; color: var(--ink-muted); font-size: 13px; }
.post-rich-content blockquote { margin-inline: 0; padding-inline-start: 24px; border-inline-start: 2px solid var(--line-strong); }
.whatsapp-handoff .button { margin-block: 24px 10px; }
.whatsapp-handoff { min-height: 60vh; }
.admin-brand { text-decoration: none; }
.admin-brand > .sanaa-wordmark { width: auto; height: auto; display: flex; align-items: start; border: 0; border-radius: 0; background: transparent; }
.admin-brand .sanaa-wordmark strong { font-size: 34px; }
.admin-brand .sanaa-wordmark small { font-size: 9px; }
.admin-page-heading h1 { font-family: var(--font-display); font-weight: 400; }
.admin-panel, .admin-post-card, .admin-login-card { border-radius: 4px; box-shadow: none; }
.admin-primary, .admin-secondary { min-height: 44px; border-radius: 3px; }
.admin-post-image video { width: 100%; height: 100%; object-fit: cover; }
.admin-post-image { position: relative; }
.admin-post-image .media-kind { bottom: 8px; }
.admin-post-body .post-order-form { display: flex; gap: 8px; align-items: end; margin-top: 16px; }
.admin-post-body .post-order-form label { min-width: 0; flex: 1; font-size: 12px; }
.admin-post-body .post-order-form input { margin-top: 6px; }
@media(min-width: 600px) {
    .site-container { width: min(var(--container), calc(100% - 64px)); }
    .look-grid-home { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .atelier-section-heading { grid-template-columns: 1fr 1fr; }
    .atelier-section-heading .text-link { grid-column: 2; }
}
@media(min-width: 900px) {
    body.site-body { padding-block-end: 0; }
    .site-header .header-inner { gap: 20px; }
    .desktop-nav { gap: 22px; }
    .desktop-nav a { font-size: 12px; font-weight: 400; }
    .sanaa-wordmark strong { font-size: 54px; }
    .atelier-section-heading { grid-template-columns: .9fr 1fr auto; }
    .atelier-section-heading .text-link { grid-column: auto; }
    .atelier-treatment { grid-template-columns: 150px 1fr 1.2fr 72px; gap: 28px; padding-block: 20px; }
    .treatment-photo-placeholder { grid-row: auto; width: 150px; height: 85px; }
    .atelier-treatment h3 { margin: 0; font-size: 28px; }
    .treatment-inquire { margin: 0; text-align: end; }
    .footer-main { grid-template-columns: 180px 1.5fr 1fr; }
    .footer-links { grid-column: 1 / -1; display: flex; gap: 28px; }
}
@media(min-width: 1000px) {
    .atelier-studio { grid-template-columns: clamp(210px, 18vw, 260px) minmax(0, 1fr); gap: 24px; padding-block: 40px 56px; }
    .atelier-intro { padding-block-start: 26px; }
    .atelier-intro h1 { font-size: clamp(42px, 3.9vw, 56px); }
    .atelier-photo-actions { flex-direction: column; margin-block: 30px; }
    .atelier-botanical { display: block; margin-block-start: 24px; overflow: hidden; }
    .atelier-botanical img { width: 100%; height: 180px; object-fit: cover; mix-blend-mode: multiply; opacity: .65; }
    .atelier-tool .studio-grid { grid-template-columns: minmax(0, 1.55fr) minmax(260px, .9fr); }
    .atelier-tool .workspace-card, .atelier-tool .controls-card { min-height: clamp(620px, 56vw, 790px); }
    .atelier-tool .upload-panel { min-height: clamp(620px, 56vw, 790px); }
    .atelier-tool .controls-placeholder { min-height: clamp(620px, 56vw, 790px); justify-content: start; }
    .atelier-tool .controls-content > .application-mode-control, .atelier-tool .controls-content > .desktop-style-control, .atelier-tool .desktop-refinement { display: block; }
.atelier-tool .mobile-style-picker-button { display: none; }
    .atelier-tool .drop-zone { margin-top: 410px; }
    .atelier-tool .studio-grid.has-uploaded-photo > .workspace-card { inset-block-start: 108px; }
    .atelier-tool .image-stage { min-height: 0; }
    .look-grid-home:has(> :nth-child(3)) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .portfolio-placeholder { min-height: 270px; }
}
@media(prefers-reduced-motion: reduce) { .atelier-studio *, .atelier-work *, .atelier-treatments * { transition: none; } }
