/* Shared type, control and image rules extend the existing EstateGen identity. */
:root{--ui-radius:0;--ui-border:#d9d6cf;--ui-surface:#fbfaf7;--ui-text:#252824;--ui-muted:#62665d}
body{overflow-wrap:break-word}
.legal-page p,.product-form p,.workspace-title p,.settings-card p,.result-note{font-size:1rem;line-height:1.75}
.account-card form label,.product-form label,.settings-card>label,.consent{font-size:.875rem!important;line-height:1.6}
.account-card input,.product-form input,.product-form textarea,.settings-card input,.result-version textarea{border-radius:0;font-family:inherit;font-size:1rem}
.account-tabs button,.workspace-nav button,.caption-actions .button,.history-open,.copy-case{font-family:inherit;font-size:.875rem;min-height:44px;border-radius:0}
.button{min-height:44px;box-sizing:border-box}
button:disabled{cursor:not-allowed}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #57783e;outline-offset:4px}
.case-photo img,.story-photo>img,.sample-creative,.result-images img,#photo-previews img{border-radius:0}
.case-photo figcaption,.case-photo-labels,.copy-status,.result-images figcaption,.platform-cost small,.platform-photo-strip label,.history-credit small{font-size:.875rem;line-height:1.6}
.format-ad,.mini-ad,.result-images img{object-fit:cover}
.case-photo img{object-fit:contain;min-height:0}
.account-actions,.cookie-actions{display:flex;flex-wrap:wrap;gap:10px}
.cookie-banner,.cookie-dialog{font-family:inherit;color:var(--ui-text);background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:0;box-shadow:none;box-sizing:border-box}
.cookie-banner{position:fixed;z-index:90;bottom:24px;left:24px;width:min(540px,calc(100vw - 48px));max-height:calc(100dvh - 48px);overflow-y:auto;padding:26px}
.cookie-banner h2,.cookie-dialog h2{font-family:inherit;font-size:1.625rem;line-height:1.25;letter-spacing:-.04em;margin:12px 0}
.cookie-banner p,.cookie-dialog p{font-size:.9375rem;line-height:1.65;color:var(--ui-muted);margin:12px 0 18px}
.cookie-banner a,.cookie-dialog a,.cookie-policy p a{text-decoration:underline;text-underline-offset:3px}
.cookie-actions .button{font-size:.875rem;padding:12px 18px;justify-content:center;flex:1;white-space:normal}
.cookie-secondary{border:1px solid #526b4c;background:transparent;color:var(--ui-text)}
.cookie-secondary:hover{background:#eaf0e3}
.cookie-dialog{padding:32px;width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow-y:auto}
.cookie-dialog::backdrop{background:#152e2455;backdrop-filter:blur(3px)}
.cookie-dialog .dialog-close{position:absolute;top:12px;right:12px;width:44px;height:44px;border:0;background:transparent;color:var(--ui-text);font-size:26px;cursor:pointer}
.cookie-dialog>.eyebrow{padding-right:32px}
.cookie-categories{margin:20px 0;border-block:1px solid var(--ui-border)}
.cookie-categories label{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;cursor:pointer}
.cookie-categories label+label{border-top:1px solid var(--ui-border)}
.cookie-categories strong{font-size:.9375rem}.cookie-categories small{display:block;font-size:.875rem;color:var(--ui-muted);line-height:1.5;margin-top:5px}
.cookie-categories input{width:22px;height:22px;flex-shrink:0;accent-color:#2d3932;cursor:pointer}
.cookie-launcher{position:fixed;z-index:89;bottom:20px;left:20px;width:46px;height:46px;border:1px solid var(--ui-border);border-radius:0;background:#2d3932;color:#fff;display:grid;place-items:center;box-shadow:none;cursor:pointer}
.cookie-policy>.eyebrow{display:block;margin-top:30px}
.cookie-policy code{font-size:.875rem;overflow-wrap:anywhere}
.consent-record{padding:24px;border:1px solid var(--ui-border);border-radius:0;background:#f0eee8;margin:28px 0}
.consent-record h2{margin:0 0 20px}
.cookie-summary,.consent-record dl{font-size:.9375rem;line-height:1.6;margin:22px 0}
.cookie-summary div,.consent-record dl div{margin:12px 0}
.cookie-summary dt,.consent-record dt{color:var(--ui-muted)}
.cookie-summary dd,.consent-record dd{margin:2px 0 0;overflow-wrap:anywhere}
.cookie-record-actions{display:flex;flex-wrap:wrap;gap:16px}
.cookie-record-actions button,.site-footer [data-cookie-action]{font:inherit;border:0;background:transparent;color:#2d3932;text-decoration:underline;text-underline-offset:3px;text-align:left;padding:8px 0;min-height:44px;cursor:pointer}
.cookie-record-actions button:disabled{opacity:.55;cursor:not-allowed}
.cookie-table-wrap{overflow-x:auto;border:1px solid var(--ui-border);border-radius:0}
.cookie-table{width:100%;border-collapse:collapse;font-size:.875rem;line-height:1.6;text-align:left}
.cookie-table th,.cookie-table td{padding:16px;vertical-align:top;border-bottom:1px solid var(--ui-border);min-width:105px}
.cookie-table th:first-child{overflow-wrap:anywhere;min-width:130px}
.cookie-table thead{background:#eff3e9}.cookie-table tbody tr:last-child>*{border-bottom:0}
[data-cookie-status]:empty{display:none}
@media(max-width:600px){.cookie-banner{left:12px;bottom:12px;width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:22px}.cookie-dialog{padding:24px}.cookie-actions{gap:8px}.cookie-actions .button{padding:12px 10px;flex-basis:calc(50% - 8px)}.cookie-actions .dark{flex-basis:100%}.consent-record{padding:20px}.legal-page h1{font-size:clamp(2rem,9vw,3rem)}.cookie-launcher{left:12px;bottom:12px}.format-ad-copy h2{overflow-wrap:normal}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Consistent image typography across the four sample formats. */
.format-ad-copy h2,.format-ad[data-format=story] .format-ad-copy h2,.format-ad[data-format=square] .format-ad-copy h2,.format-ad[data-format=landscape] .format-ad-copy h2{font-family:'Manrope',sans-serif;font-weight:600;line-height:1.12}
.format-ad-copy>span,.format-ad-copy p,.format-ad-top{font-size:12px;line-height:1.45}
.format-options button>span:last-child,.format-options button>strong,.format-footnote{font-size:12px;line-height:1.5}
.cookie-launcher{left:auto;right:20px}
@media(max-width:600px){.cookie-launcher{right:12px}}
/* Single-page property studio. */
.property-composer{max-width:none;margin:0 0 48px}
.composer-title h2{font-size:clamp(28px,3.4vw,40px);letter-spacing:-1.4px;margin:12px 0}
.composer-title p{margin:0 0 26px;color:var(--ui-muted)}
.composer-layout{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:24px;align-items:start}
.composer-main{display:grid;gap:20px;min-width:0}
.composer-card{padding:26px;background:#fff;border:1px solid var(--ui-border);border-radius:0;min-width:0;box-sizing:border-box}
.card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.card-heading h3{font-size:20px;line-height:1.3;letter-spacing:-.5px;margin:0;font-weight:600}
.card-heading>span{font-size:12px;color:var(--ui-muted)}
.property-composer label:not(.photo-style):not(.platform-select):not(.consent):not(.enhance-switch):not(.tone-tags label){display:block;font-size:14px;margin:16px 0 8px;line-height:1.5}
.property-composer input:not([type=checkbox]):not([type=radio]):not([type=file]),.property-composer textarea,.property-composer select{box-sizing:border-box;width:100%;min-width:0;border:1px solid var(--ui-border);border-radius:0;background:#fff;padding:12px;color:var(--ui-text);font:inherit;font-size:15px;line-height:1.5}
.property-composer textarea{resize:vertical}.property-composer input[type=checkbox],.property-composer input[type=radio]{accent-color:#2d3932;flex-shrink:0}
.property-basics{display:grid;grid-template-columns:140px minmax(0,1fr);gap:16px}.property-facts{display:grid;grid-template-columns:.8fr 1fr 1.4fr;gap:16px}
.property-composer .photo-drop{padding:24px;min-height:150px;border:1px dashed #a8bc98;border-radius:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;background:#f8f7f3}
.property-composer .photo-drop strong{font-size:17px}.property-composer .photo-drop>span:not(.upload-symbol){font-size:13px;color:var(--ui-muted)}
.property-composer .upload-symbol{font-size:24px;line-height:1;height:auto;width:auto;margin:0}.property-composer .upload-pick{position:relative;overflow:hidden;margin:8px 0 0!important;padding:10px 18px;font-size:14px}
.property-composer .benefit-detail,.composer-note,#photo-status,#generator-status{font-size:13px;line-height:1.65;color:var(--ui-muted)}
.property-composer #photo-previews{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}.property-composer #photo-previews:empty{display:none}
.property-composer #photo-previews figure{position:relative;margin:0;flex:0 1 100px;min-width:0}.property-composer #photo-previews img{width:100px;height:76px;object-fit:cover;display:block}.property-composer #photo-previews figcaption{font-size:12px;margin:6px 0;color:var(--ui-muted)}
.property-composer .remove-photo{position:absolute;right:4px;top:4px;background:white;border:1px solid var(--ui-border);border-radius:0;width:30px;height:30px;font-size:20px;cursor:pointer}
.enhance-switch{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:22px 0;padding-top:20px;border-top:1px solid var(--ui-border);cursor:pointer}.enhance-switch strong{display:block;font-size:15px}.enhance-switch small{display:block;font-size:13px;line-height:1.5;color:var(--ui-muted);margin-top:6px}.enhance-switch input{appearance:none;position:relative;width:42px;height:26px;border-radius:0;border:1px solid #a9b99e;background:#dbe3d3;cursor:pointer}.enhance-switch input::after{content:'';position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:0;background:white;box-shadow:none}.enhance-switch input:checked{background:#2d3932;border-color:#2d3932}.enhance-switch input:checked::after{transform:translateX(16px)}
.photo-style-picker,.property-composer .tone-picker{border:0;padding:0;margin:20px 0 0}.photo-style-picker legend,.property-composer .tone-picker legend{font-size:14px;font-weight:600;margin-bottom:12px}.photo-style-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.photo-style{position:relative;display:grid;align-content:start;gap:8px;padding:10px;border:1px solid var(--ui-border);border-radius:0;cursor:pointer}.photo-style:has(input:checked){border-color:#2d3932;background:#eeede7;box-shadow:none}.photo-style input{position:absolute;top:17px;right:16px;width:16px;height:16px}.photo-style strong{font-size:13px}.photo-style small{font-size:12px;line-height:1.45;color:var(--ui-muted)}.photo-style-picker:disabled{opacity:.45}.photo-style-picker:disabled label{cursor:default}
.style-swatch{display:block;height:58px;border-radius:0;background:linear-gradient(125deg,transparent 40%,#fff9 40%,#fff9 45%,transparent 45%),linear-gradient(50deg,#b6ac98,#e3e0d5)}.style-cozy{background:linear-gradient(125deg,transparent 40%,#ffefc9aa 40%,#ffefc9aa 45%,transparent 45%),linear-gradient(50deg,#a98a69,#e7ccb0)}.style-commercial{background:linear-gradient(125deg,transparent 40%,#fff 40%,#fff 45%,transparent 45%),linear-gradient(50deg,#a2afa9,#edf0e8)}.style-editorial{background:linear-gradient(125deg,transparent 40%,#e2d6b999 40%,#e2d6b999 45%,transparent 45%),linear-gradient(50deg,#5d665d,#bfc1a9)}
.property-composer .tone-tags{display:flex;flex-wrap:wrap;gap:8px}.property-composer .tone-tags label{display:flex;align-items:center;gap:6px;font-size:13px;padding:8px 12px;border:1px solid var(--ui-border);border-radius:0;cursor:pointer}.property-composer .tone-tags label:has(input:checked){background:#eeede7;border-color:#a8bc98}.property-composer .tone-tags span{padding:0;border:0;background:none}
.property-composer .tone-tags input{position:static;opacity:1;width:14px;height:14px;margin:0}.property-composer .tone-tags input:checked+span{background:transparent;color:inherit}
.prompt-editor summary{cursor:pointer;font-weight:600;font-size:15px;line-height:1.6}.prompt-editor summary span{font-size:12px;color:var(--ui-muted);font-weight:400;margin-left:12px}.prompt-editor p{font-size:14px;line-height:1.65;color:var(--ui-muted)}.prompt-editor .text-link{border:0;background:none;color:#2d3932;text-decoration:underline;min-height:44px;font:inherit;font-size:13px;cursor:pointer}
.composer-aside{position:sticky;top:20px}.output-card{padding:22px}.property-composer .platform-grid{display:grid;grid-template-columns:1fr;gap:8px;margin:16px 0}
.property-composer .platform-option{padding:12px;border:1px solid #e0e6d9;border-radius:0;background:#fbfaf7;min-width:0}.property-composer .platform-option.is-selected{border-color:#7f9c70;background:#eeede7}.property-composer .platform-option.needs-photo{border-style:dashed}
.platform-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.property-composer .platform-select{display:flex;align-items:center;gap:9px;cursor:pointer;font-size:14px;margin:0}.property-composer .platform-select input{width:17px;height:17px}.platform-select small{display:block;font-size:11px;line-height:1.5;color:var(--ui-muted);margin-top:3px}.platform-select strong{font-size:14px;font-weight:600}
.property-composer .version-pills{gap:3px}.property-composer .version-pills button{font-family:inherit;width:27px;height:32px;font-size:12px}.platform-cost{font-size:12px!important;line-height:1.5;margin:8px 0 0!important;padding:0!important;border:0!important;color:var(--ui-muted);background:none!important}.platform-option:not(.is-selected) .platform-cost{display:none}
.channel-photos{margin-top:6px}.channel-photos summary{font-size:12px;line-height:1.6;color:var(--ui-muted);cursor:pointer}.property-composer .platform-photo-strip{display:grid;gap:8px;padding:10px 0 0;border:0}.property-composer .photo-choice{gap:8px}.photo-choice>img{width:36px;height:36px;border-radius:0;object-fit:cover}.property-composer .photo-choice label{display:flex!important;align-items:center;justify-content:space-between;flex:1;font-size:12px!important;gap:10px;margin:0!important}.property-composer .photo-choice select{width:115px;font-size:12px;padding:7px}
.property-composer .generation-total{display:grid;gap:8px;background:#eeede7;color:var(--ui-text);padding:18px;border:0;border-radius:0;margin:20px 0}.property-composer .generation-total>span:first-child{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--ui-muted)}.property-composer .generation-total strong{font-size:28px;font-weight:600;color:var(--ui-text)}.property-composer #generation-detail{font-size:13px;line-height:1.6;color:var(--ui-muted)}
.property-composer .prompt-approval{align-items:flex-start;margin:16px 0;gap:10px}.property-composer .prompt-approval input{margin-top:4px;width:18px;height:18px}.property-composer .generation-readiness{font-size:13px;line-height:1.6;padding:12px;border-radius:0;background:#f5f6ef;margin:12px 0}.property-composer .generation-readiness.has-error{color:#884426;background:#fff2e9}
.composer-actions{display:grid;gap:10px}.composer-actions .button{width:100%;justify-content:center;padding:14px;font-size:14px;border:1px solid #bdcbb2}.composer-actions .dark:disabled{opacity:.55}.composer-actions .button:not(.dark){background:white;color:#2d3932}.output-card>.composer-note:last-of-type{margin-top:16px}
@media(max-width:1050px){.composer-layout{grid-template-columns:minmax(0,1fr) 330px;gap:16px}.composer-card{padding:20px}.output-card{padding:18px}.photo-style-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.property-basics{grid-template-columns:1fr}.property-facts{gap:10px}}
@media(max-width:780px){.composer-layout{grid-template-columns:1fr}.composer-aside{position:static}.photo-style-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.property-basics{grid-template-columns:140px minmax(0,1fr)}.composer-title h2{letter-spacing:-.8px}.composer-title p{font-size:15px}.property-composer .platform-row{gap:14px}.property-composer .version-pills button{width:36px}}
@media(max-width:480px){.composer-card{padding:18px}.photo-style-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.property-basics{grid-template-columns:1fr}.property-facts{grid-template-columns:1fr 1fr}.property-facts>div:last-child{grid-column:1/-1}.card-heading>span{max-width:120px;text-align:right}.property-composer .version-pills button{width:29px}.prompt-editor summary span{display:block;margin-left:0}.cookie-launcher{bottom:16px}}
/* Platform-ready artwork paired with a readable copy preview. */
.result-platform-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin:38px 0 16px}.result-platform-heading h3{font-size:26px;letter-spacing:-.7px;margin:0}.result-platform-heading p{font-size:13px;line-height:1.6;color:var(--ui-muted);margin:0;max-width:470px}
.result-version{padding:26px;background:#fff;border-color:var(--ui-border);border-radius:0;margin:14px 0 28px}.result-version>h4{font-size:12px;text-transform:uppercase;letter-spacing:.09em;color:var(--ui-muted);margin:0 0 22px}
.result-body{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:30px;align-items:start}.result-body .result-images{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:18px;align-items:start}.result-body .result-images figure{max-width:none;min-width:0;width:100%;margin:0}.result-body .result-images img{width:100%;height:auto;max-height:570px;object-fit:contain;background:#f4f2ed;border-radius:0}.result-body .photo-zoom{background:#f4f2ed;border:1px solid #e8e9e0;border-radius:0;overflow:hidden}.result-format{display:block;font-size:12px;letter-spacing:.01em;margin-bottom:10px;font-weight:600;color:var(--ui-text)}.result-body .result-images figcaption{font-size:12px;margin:10px 0;color:var(--ui-muted)}.result-version .image-download{padding:10px 0;min-height:44px;background:transparent;color:#2d3932;border-radius:0;font-size:13px;text-decoration:underline;text-underline-offset:4px}
.result-copy{min-width:0;background:#f8faf4;border:1px solid #e3e8db;border-radius:0;padding:24px;box-sizing:border-box}.copy-preview .eyebrow{font-size:10px;letter-spacing:.1em;color:var(--ui-muted)}.copy-preview h5{font-family:inherit;font-size:clamp(22px,2vw,28px);line-height:1.25;letter-spacing:-.7px;margin:16px 0 22px;font-weight:600}.copy-preview-text{white-space:pre-wrap;font-size:15px;line-height:1.8;margin:0 0 24px;color:#30483b;overflow-wrap:anywhere}
.copy-editor{border-block:1px solid var(--ui-border);margin:22px 0 18px;padding:16px 0}.copy-editor summary{font-size:13px;cursor:pointer;font-weight:600;min-height:24px}.copy-editor label{display:block;font-size:13px;line-height:1.5;margin-top:18px}.copy-editor input{display:block;box-sizing:border-box;width:100%;font:inherit;padding:12px;border:1px solid var(--ui-border);border-radius:0;background:white;color:var(--ui-text);margin-top:8px}.copy-editor textarea{font-size:14px;margin:8px 0;line-height:1.6;padding:12px}.copy-count,.copy-help{font-size:12px;line-height:1.6;color:var(--ui-muted)}.copy-help{margin:18px 0 0}.result-copy .caption-actions{display:flex;flex-wrap:wrap;gap:8px}.result-copy .caption-actions .button{font-size:12px;padding:10px 13px}.caption-status{display:block;flex-basis:100%;font-size:12px;line-height:1.6;margin-top:6px}.caption-status:empty{display:none}.photo-lightbox>img{width:100%;max-width:100%;height:78vh;object-fit:contain}.photo-lightbox>button{font:inherit;min-height:44px;cursor:pointer}
@media(max-width:1000px){.result-body{grid-template-columns:1fr}.result-body .result-images{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.result-body .result-images figure{max-width:440px}.result-platform-heading{align-items:flex-start;flex-direction:column;gap:8px}}
@media(max-width:540px){.result-version{padding:16px}.result-body{gap:22px}.result-copy{padding:18px}.result-body .result-images{grid-template-columns:1fr;gap:24px}.result-platform-heading h3{font-size:24px}.copy-preview h5{font-size:23px}.copy-preview-text{font-size:14px}.result-copy .caption-actions .button{flex:1 1 auto}}

/* Optional identity, kept separate from property photography. */
.brand-card>.composer-note{margin-top:0}.brand-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}.brand-fields label:first-child{margin-top:0!important}.brand-upload{position:relative;overflow:hidden;display:inline-flex!important;align-items:center;justify-content:center;max-width:100%;width:max-content;box-sizing:border-box;padding:10px 16px!important;font-size:13px!important;cursor:pointer}.brand-upload input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.brand-card .text-link{border:0;background:none;color:#2d3932;text-decoration:underline;font:inherit;font-size:13px;min-height:44px;cursor:pointer}.brand-card #brand-upload-status{font-size:13px;line-height:1.6;overflow-wrap:anywhere}.brand-preview{padding:20px;background:#f4f2ed;border:1px solid var(--ui-border);border-radius:0;min-height:128px;box-sizing:border-box}.brand-preview-identity{display:flex;align-items:center;gap:12px;min-height:52px}.brand-preview-identity img{width:80px;height:48px;object-fit:contain;border-radius:0;background:repeating-conic-gradient(#d2d9d1 0% 25%,#7c8e81 0% 50%) 50%/12px 12px;padding:4px;box-sizing:border-box}.brand-preview-identity strong{font-size:19px;line-height:1.3;overflow-wrap:anywhere;min-width:0}.brand-preview>span{display:block;width:52px;height:6px;border-radius:0;border:1px solid #cbd3c6;margin:18px 0}.brand-preview small{font-size:12px;color:var(--ui-muted);line-height:1.5}.property-composer .brand-color-toggle{display:flex;gap:10px;align-items:center;padding:0;margin:20px 0 0;background:none}.brand-color-controls{border:0;margin:16px 0;padding:0;display:flex;align-items:center;gap:14px;min-width:0}.brand-color-controls[hidden]{display:none}.brand-color-controls legend{font-size:13px;line-height:1.5;margin-bottom:10px}.property-composer #brand-color-picker{flex:0 0 52px;width:52px;height:48px;padding:4px;cursor:pointer}.brand-color-controls label{margin:0!important;min-width:0;flex:1}.brand-color-controls label input{margin-top:4px}.brand-color-controls input[type=text]{font-family:monospace}
@media(max-width:540px){.brand-fields{grid-template-columns:1fr;gap:14px}.brand-preview{min-height:118px}.brand-preview-identity strong{font-size:18px}}


/* EstateGen editorial theme: stone, charcoal, square edges and quiet rules. */
:root {
  --ink: #252824;
  --green: #2d3932;
  --muted: #66685f;
  --line: #dedbd3;
  --paper: #fbfaf7;
  --soft: #f0eee8;
  --lime: #e6dfd1;
  --ui-radius: 0;
  --ui-border: #d9d6cf;
  --ui-surface: #fbfaf7;
  --ui-text: #252824;
  --ui-muted: #62665d;
  --editorial-font: Georgia, 'Times New Roman', serif;
}
.site-header { border-bottom: 1px solid var(--line); }
.brand { font-weight: 600; }
.ai { border-color: var(--line); }
.button { font-weight: 500; transition: background .2s, border-color .2s; }
.button:hover { transform: none; }
.button.dark { background: var(--green); }
.button.dark:hover { background: #202923; }
.button:not(.dark):not(.light), .cookie-secondary { border-color: var(--ui-border); }
button:focus-visible, a:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, summary:focus-visible {
  outline-color: #746d5e;
}
.hero h1, .inner-hero h1, .section-heading h2, .center-heading h2,
.audience-inner h2, .faq h2, .final-cta h2, .account-card h1,
.legal-page h1, .workspace-preview h1, .workspace-title h2,
.research-intro h2, .evidence-card h2, .case-heading h2 {
  font-family: var(--editorial-font);
  font-weight: 400;
  letter-spacing: -.035em;
  line-height: 1.12;
}
.hero h1 em, .inner-hero h1 em { color: #817464; }
.eyebrow { font-weight: 500; letter-spacing: .14em; }
.demo-section, .compare-section, .audience-section { background: var(--soft); }
.format-demo, .discount-card, .benefit-card, .account-card,
.product-form > div, .settings-card, .case-copy-grid details,
.evidence-card, .photo-makeup {
  background: #fff;
  border-color: var(--ui-border);
}
.benefit-card { border-top: 1px solid var(--ui-border); }
.format-options button { border-color: var(--ui-border); color: var(--ui-muted); }
.format-options button[aria-pressed=true] { border-color: var(--green); background: #fff; }
.format-caption, .format-prompt, .format-demo .format-options { border-color: var(--ui-border); }
.contact-symbol, .ready-icon, .history-placeholder { background: var(--soft); color: var(--green); }
.contact-form-card input, .contact-form-card select, .contact-form-card textarea,
.account-card input, .product-form input, .product-form textarea, .product-form select,
.settings-card input, .result-version textarea { background: #fff; border-color: var(--ui-border); color: var(--ink); }
.footer-links a, .footer-links button, .footer-bottom { color: var(--ui-muted); }
.site-footer, .is-authenticated .site-footer { border-color: var(--line); }

/* Navigation reads as a quiet tab bar instead of a row of boxed buttons. */
.account-tabs, .workspace-nav { gap: 24px; border-bottom: 1px solid var(--line); padding-bottom: 0; }
.account-tabs button, .workspace-nav button {
  border: 0;
  border-bottom: 2px solid transparent;
  padding: 12px 0 16px;
  background: transparent;
  color: var(--ui-muted);
}
.account-tabs button[aria-pressed=true], .workspace-nav button[aria-pressed=true] {
  background: transparent;
  border-bottom-color: var(--ink);
  color: var(--ink);
  font-weight: 600;
}
.account-tabs button:hover, .workspace-nav button:hover { color: var(--ink); }
.app-workspace .workspace-top h1 { font-weight: 500; letter-spacing: -.04em; }
.balance-card { border: 0; border-left: 1px solid var(--line); padding: 8px 0 8px 24px; }
.balance-card strong { font-weight: 500; }
.composer-title { padding: 16px 0 6px; }
.composer-title h2 { font-size: clamp(34px, 4vw, 52px); margin: 14px 0 18px; }
.composer-layout { gap: 32px; }
.composer-main { gap: 0; }
.composer-main > .composer-card {
  background: transparent;
  border: 0;
  border-top: 1px solid var(--ui-border);
  padding: 28px 0 32px;
}
.card-heading { margin-bottom: 20px; }
.card-heading h3 { font-weight: 500; letter-spacing: -.025em; }
.card-heading > span, .composer-note, .benefit-detail { color: var(--ui-muted); }
.property-composer input, .property-composer textarea, .property-composer select {
  background: #fff;
  border-color: var(--ui-border);
  color: var(--ink);
}
.property-composer .property-facts { color: var(--ink); font-size: 14px; }
.property-composer .property-facts label span { color: var(--ui-muted); }
.property-composer input::placeholder, .property-composer textarea::placeholder { color: #75776e; }
.property-composer .photo-drop { background: #fff; border-color: #b8b6ae; padding: 28px; }
.property-composer .photo-drop.is-dragging { background: var(--soft); border-color: var(--green); }
.upload-symbol { color: #746d5e; }
.photo-drop > span:not(.upload-symbol) { color: var(--ui-muted); }
.enhance-switch { border-top-color: var(--line); }
.enhance-switch input { flex-shrink: 0; background: #e5e3dc; border-color: #aaa99f; }
.photo-style { background: #fff; }
.photo-style:has(input:checked) { border-color: var(--green); background: var(--soft); }
.photo-style-picker:disabled { opacity: .6; }
.property-composer .tone-tags { gap: 12px 20px; }
.property-composer .tone-tags label { padding: 4px 0; border: 0; background: transparent; }
.property-composer .tone-tags label:has(input:checked) { background: transparent; }
.property-composer .tone-tags span { color: var(--ui-muted); }
.property-composer .tone-tags input:checked + span { color: var(--ink); font-weight: 500; }
.output-card { background: #fff; padding: 24px; border-color: var(--ui-border); }
.platform-grid { gap: 0; }
.property-composer .platform-option { border: 0; border-bottom: 1px solid var(--line); background: transparent; padding: 15px 0; }
.property-composer .platform-option.is-selected { background: transparent; border-color: var(--line); }
.property-composer .platform-option.is-selected .platform-select strong { color: var(--ink); }
.platform-select small, .channel-cost, .channel-photos summary { color: var(--ui-muted); }
.property-composer .platform-option.needs-photo { border-bottom-style: dashed; }
.version-pills button { border-color: var(--ui-border); color: var(--ui-muted); }
.version-pills button[aria-pressed=true] { background: var(--green); border-color: var(--green); color: #fff; }
.channel-photos .photo-choice select { background: #fff; border-color: var(--ui-border); }
.property-composer .generation-total { padding: 20px 0; background: transparent; border-bottom: 1px solid var(--line); margin: 8px 0 20px; }
.property-composer .generation-total strong { font-weight: 500; font-size: 28px; }
.generation-total span { color: var(--ui-muted); }
.prompt-approval { background: transparent; padding: 0; }
.property-composer .generation-readiness { background: var(--soft); color: var(--ink); border-left: 2px solid #aaa18f; }
.composer-actions .button:not(.dark) { background: #fff; border-color: var(--ui-border); }
.brand-preview { background: var(--soft); border-color: var(--ui-border); }
.brand-preview-identity img { background-color: #f0eee8; }
.brand-preview-identity strong { font-weight: 500; }

/* Results retain the same editorial hierarchy as the content studio. */
.app-workspace .result-heading h2 { font-size: clamp(28px, 3vw, 40px); }
.result-version { border: 0; border-top: 1px solid var(--line); padding: 26px 0; background: transparent; }
.result-platform-heading h3 { font-weight: 500; }
.result-copy { background: #fff; border-color: var(--ui-border); }
.copy-preview h5 { font-family: var(--editorial-font); font-weight: 400; letter-spacing: -.025em; }
.copy-preview-text { color: var(--ink); }
.result-body .photo-zoom { border-color: var(--ui-border); }
.app-workspace .history-row { border: 0; border-bottom: 1px solid var(--line); padding: 20px 0; background: transparent; }
.app-workspace .history-open { background: #fff; border-color: var(--ui-border); color: var(--ink); }
.app-workspace .batch-progress { border-color: var(--ui-border); }
.app-workspace .batch-progress .progress-logo, .batch-progress { background: var(--soft); }
.empty-state, .service-state { border-color: var(--ui-border); background: var(--soft); color: var(--ui-muted); }
.cookie-banner, .cookie-dialog { background: #fff; border-color: var(--ui-border); }
.cookie-category, .cookie-record, .cookie-table th { background: var(--soft); border-color: var(--ui-border); }
dialog::backdrop { background: #25282466; }
.evidence-card p { color: var(--ui-muted); }
.cookie-launcher { background: var(--green); border-color: var(--green); }
input[type=checkbox], input[type=radio], progress { accent-color: var(--green); }

@media (max-width: 1050px) {
  .composer-layout { gap: 24px; }
}
@media (max-width: 780px) {
  .composer-layout { gap: 8px; }
  .workspace-nav { gap: 8px 22px; }
  .workspace-nav button { font-size: 13px; padding-bottom: 12px; }
  .composer-title { padding-top: 8px; }
  .composer-main > .composer-card { padding: 24px 0; }
}
@media (max-width: 480px) {
  .balance-card { border-left: 0; padding: 0; gap: 14px; }
  .composer-title h2 { font-size: 36px; }
  .output-card { padding: 20px; }
  .property-composer .photo-drop { padding: 24px 16px; }
  .account-tabs { gap: 18px; }
}


/* Immersive cases: one property per viewport, with useful copy below. */
.case-index { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin: 40px 0 0; }
.case-index a { border-top: 1px solid var(--line); padding: 16px 0; font-size: 12px; line-height: 1.6; }
.case-index a span { display: block; font-size: 15px; margin: 8px 0 0; }
.immersive-cases { width: 100%; padding-bottom: 0; }
.immersive-cases .case-study { padding: 0; scroll-margin-top: 0; }
.case-screen { min-height: 100svh; display: flex; flex-direction: column; justify-content: center; }
.immersive-cases .case-heading { padding: 32px 0 24px; }
.immersive-cases .case-heading h2 { font-size: clamp(32px, 4vw, 56px); margin: 12px 0 0; }
.immersive-cases .case-heading > p { font-size: 14px; line-height: 1.7; }
.case-comparison { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.case-pane { position: relative; overflow: hidden; aspect-ratio: 4 / 3; background: var(--soft); }
.immersive-cases .case-pane img, .case-viewer .case-pane img { display: block; width: 200%; max-width: none; height: auto; min-height: 0; object-fit: contain; }
.case-after img { transform: translateX(-50%); }
.case-photo-label { position: absolute; z-index: 1; top: 20px; left: 24px; max-width: calc(100% - 48px); padding: 10px 14px; background: var(--paper); color: var(--ink); font-size: 12px; line-height: 1.5; }
.immersive-cases .case-photo figcaption { font-size: 12px; line-height: 1.7; margin: 18px auto 0; }
.case-screen-actions { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; padding: 20px 0 28px; }
.case-screen-actions .button { font-size: 13px; padding: 12px 16px; }
.case-captions { padding: 32px 0 64px; }
.case-caption-heading { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin-bottom: 24px; }
.case-caption-heading h3 { font-family: var(--editorial-font); font-size: 30px; font-weight: 400; letter-spacing: -.03em; margin: 0; }
.case-captions .case-copy-grid { gap: 0 32px; }
.case-captions details { background: transparent; border: 0; border-top: 1px solid var(--line); padding: 20px 0; }
.case-captions summary { min-height: 24px; gap: 12px; line-height: 1.6; }
.case-viewer { width: 100vw; max-width: none; height: 100dvh; max-height: none; margin: 0; padding: 0; border: 0; background: var(--paper); overflow-y: auto; }
.case-viewer[open] { display: flex; flex-direction: column; }
.case-viewer-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 24px 32px; border-bottom: 1px solid var(--line); flex-shrink: 0; }
.case-viewer-toolbar h2 { font-family: var(--editorial-font); font-size: clamp(24px, 3vw, 40px); font-weight: 400; letter-spacing: -.03em; margin: 8px 0 0; }
.case-viewer-toolbar nav { display: flex; gap: 8px; flex-shrink: 0; }
.case-viewer-toolbar .button { min-width: 44px; padding: 10px 14px; background: transparent; color: var(--ink); }
#case-viewer-content { flex: 1; display: flex; flex-direction: column; justify-content: center; }
@media (max-width: 650px) {
  .case-index { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 20px; margin-top: 28px; }
  .case-comparison { grid-template-columns: 1fr; }
  .immersive-cases .case-heading { padding: 28px 0 20px; }
  .immersive-cases .case-heading > p { margin-bottom: 0; font-size: 13px; }
  .case-photo-label { top: 12px; left: 16px; max-width: calc(100% - 32px); padding: 8px 10px; font-size: 11px; }
  .case-screen-actions { padding-bottom: 24px; }
  .case-screen-actions .text-link { min-height: 44px; }
  .case-captions { padding: 28px 0 48px; }
  .case-viewer-toolbar { align-items: flex-start; flex-direction: column; gap: 16px; padding: 20px; }
  .case-viewer-toolbar nav { width: 100%; }
  #case-viewer-close { margin-left: auto; }
}

/* Usability refinements: large mobile targets and a stable modal background. */
html.case-viewer-open { overflow: hidden; }
.case-captions summary { min-height: 44px; align-items: center; }
.case-index a { min-height: 44px; }
.property-composer .platform-select { min-height: 44px; }
@media (max-width: 780px) {
  .property-composer .platform-row { flex-wrap: wrap; gap: 8px 14px; }
  .property-composer .version-pills { gap: 6px; }
  .property-composer .version-pills button { width: 44px; height: 44px; }
  .footer-links a, .footer-links button { min-height: 44px; display: flex; align-items: center; }
}
/* A photograph and useful copy replace the faded audience block. */
.property-editorial { background: var(--soft); color: var(--ink); }
.editorial-layout { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 88px); align-items: center; }
.editorial-image { margin: 0; }
.enhanced-photo { position: relative; overflow: hidden; aspect-ratio: 4 / 3; background: var(--soft); }
.enhanced-photo img { display: block; width: 200%; max-width: none; height: auto; transform: translateX(-50%); }
.editorial-image figcaption { font-size: 12px; line-height: 1.7; margin-top: 14px; color: var(--muted); }
.editorial-copy h2 { font: 400 clamp(34px, 4vw, 54px)/1.12 var(--editorial-font); letter-spacing: -.035em; margin: 18px 0 24px; }
.editorial-copy > p { font-size: 16px; line-height: 1.8; color: var(--muted); max-width: 490px; }
.editorial-audiences { margin: 30px 0 20px; }
.editorial-audiences article { border-top: 1px solid #d1cec5; display: flex; gap: 24px; padding: 20px 0; }
.editorial-audiences article > span { font-size: 11px; color: var(--muted); margin-top: 4px; }
.editorial-audiences h3 { font-size: 17px; font-weight: 500; margin: 0 0 8px; color: var(--ink); }
.editorial-audiences p { font-size: 14px; line-height: 1.7; color: var(--muted); margin: 0; }
.editorial-copy .text-link { min-height: 44px; }

/* A complete gallery pairs each format with its own caption. */
.case-gallery { padding: 52px 0 76px; }
.case-gallery .case-caption-heading { align-items: end; margin-bottom: 32px; }
.case-gallery .case-caption-heading h3 { font-size: clamp(30px, 3.5vw, 44px); margin: 12px 0 0; }
.case-gallery .case-caption-heading .text-link { min-height: 44px; }
.case-channel-bar { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 20px; padding-bottom: 32px; border-bottom: 1px solid var(--line); }
.case-channel-button { min-width: 0; padding: 0 0 14px; border: 0; border-bottom: 2px solid transparent; background: transparent; font: inherit; text-align: left; color: var(--muted); cursor: pointer; }
.case-channel-button[aria-pressed=true] { border-bottom-color: var(--ink); color: var(--ink); }
.case-channel-button strong { display: block; font-size: 13px; line-height: 1.6; font-weight: 500; margin-top: 12px; }
.case-channel-button > span:last-child { display: block; font-size: 11px; line-height: 1.6; margin-top: 3px; }
.case-channel-preview { display: flex; height: 108px; background: #eeece5; align-items: center; justify-content: center; overflow: hidden; padding: 10px; }
.case-mini-card { width: 92%; max-height: 100%; overflow: hidden; display: flex; flex-direction: column; background: #fff; }
.case-mini-card .enhanced-photo { flex: 1; min-height: 0; }
.mini-art-line { display: block; padding: 7px 8px; font-family: var(--editorial-font); font-size: 9px; line-height: 1.3; color: var(--ink); }
.mini-instagram { width: 62px; aspect-ratio: 4 / 5; }
.mini-facebook { width: 78px; aspect-ratio: 1; }
.mini-linkedin { flex-direction: row; aspect-ratio: 1.91; }
.mini-linkedin .enhanced-photo { width: 60%; flex: none; align-self: center; }
.mini-linkedin .mini-art-line { width: 40%; align-self: center; padding: 5px; font-size: 8px; }
.mini-photo, .mini-marketplace { aspect-ratio: 4 / 3; }
.mini-airbnb { aspect-ratio: 3 / 2; background: #e4e1d8; }
.mini-photo .mini-art-line, .mini-marketplace .mini-art-line, .mini-airbnb .mini-art-line { display: none; }
.mini-airbnb .enhanced-photo { flex: none; height: 100%; width: auto; align-self: center; }
.case-gallery-panel { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: center; padding-top: 36px; }
.case-gallery-panel[hidden] { display: none; }
.case-gallery-art { display: flex; justify-content: center; align-items: start; gap: 18px; min-width: 0; padding: 28px; background: #efede6; }
.case-creative { margin: 0; min-width: 0; width: 100%; }
.case-creative figcaption { font-size: 11px; line-height: 1.7; color: var(--muted); margin-top: 12px; }
.case-artwork { container-type: inline-size; width: 100%; min-width: 0; background: #fff; overflow: hidden; }
.case-artwork .art-photo { flex-shrink: 0; }
.artwork-feed { aspect-ratio: 4 / 5; display: flex; flex-direction: column; }
.artwork-story { aspect-ratio: 9 / 16; display: flex; flex-direction: column; background: #dcd6c9; }
.art-footer { padding: 5.5cqw 6cqw; flex: 1; display: flex; flex-direction: column; justify-content: space-between; min-height: 0; gap: 12px; box-sizing: border-box; }
.art-kicker { font-size: clamp(8px, 2.5cqw, 12px); letter-spacing: .13em; text-transform: uppercase; line-height: 1.4; color: #595d54; }
.art-title { font: 400 clamp(21px, 8cqw, 42px)/1.07 var(--editorial-font); letter-spacing: -.035em; color: var(--ink); }
.art-facts { font-size: clamp(8px, 2.4cqw, 12px); line-height: 1.5; color: #595d54; }
.artwork-story .art-footer { padding: 9cqw; }
.artwork-story .art-title { font-size: clamp(23px, 11cqw, 44px); }
.artwork-square { aspect-ratio: 1; display: flex; flex-direction: column; }
.artwork-square .art-footer { padding: 4cqw 5cqw; gap: 5px; justify-content: center; }
.artwork-square .art-kicker { display: none; }
.artwork-square .art-title { font-size: clamp(21px, 6.8cqw, 35px); line-height: 1.1; }
.artwork-square .art-facts { margin-top: 3px; }
.artwork-wide { aspect-ratio: 1.91; display: grid; grid-template-columns: 1.35fr 1fr; align-items: center; background: #fff; }
.artwork-wide .art-footer { padding: 4cqw; gap: 10px; }
.artwork-wide .art-title { font-size: clamp(18px, 5cqw, 31px); }
.artwork-wide .art-kicker, .artwork-wide .art-facts { font-size: clamp(8px, 1.8cqw, 11px); }
.artwork-photo, .artwork-marketplace { aspect-ratio: 4 / 3; }
.artwork-airbnb { aspect-ratio: 3 / 2; display: flex; align-items: center; justify-content: center; background: #e4e1d8; }
.artwork-airbnb .art-photo { height: 100%; width: auto; }
.gallery-art-instagram { display: grid; grid-template-columns: 1.422fr 1fr; }
.gallery-art-facebook .case-creative { max-width: 430px; }
.case-gallery-copy { min-width: 0; }
.case-gallery-copy h4 { font: 400 clamp(28px, 3.1vw, 42px)/1.15 var(--editorial-font); letter-spacing: -.03em; margin: 18px 0 24px; }
.case-caption-text { font-size: 16px; line-height: 1.85; color: var(--ink); margin: 0; white-space: pre-line; overflow-wrap: anywhere; }
.gallery-copy-actions { display: flex; gap: 16px; align-items: center; margin-top: 26px; flex-wrap: wrap; }
.gallery-copy-actions .button { background: transparent; font-size: 13px; min-height: 44px; }
.gallery-copy-actions .copy-status { margin: 0; }
.gallery-format-note { margin: 30px 0 0; padding-top: 20px; border-top: 1px solid var(--line); font-size: 12px; line-height: 1.7; color: var(--muted); }
.gallery-example-note { font-size: 12px; line-height: 1.8; color: var(--muted); margin: 24px 0 0; }

/* Photograph choices are presented once, with a spacious editing dialog. */
.property-composer .channel-photos[hidden], .property-composer .platform-photo-strip[hidden] { display: none; }
.property-composer .platform-option.needs-photo { border-bottom-style: solid; }
.channel-photo-picker { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 52px; padding: 10px 0 0; border: 0; background: transparent; font: inherit; text-align: left; color: var(--ink); cursor: pointer; }
.channel-photo-thumbs { display: flex; gap: 3px; flex-shrink: 0; }
.channel-photo-thumbs:empty { display: none; }
.channel-photo-thumbs img { width: 34px; height: 34px; object-fit: cover; }
.channel-photo-label { font-size: 12px; line-height: 1.5; }
.channel-photo-edit { margin-left: auto; color: var(--muted); font-size: 16px; }
.platform-cost { color: var(--muted); font-size: 11px !important; }
.channel-photo-dialog { width: min(820px, calc(100vw - 40px)); max-width: none; max-height: calc(100dvh - 40px); padding: 32px; border: 1px solid var(--line); background: var(--paper); color: var(--ink); overflow-y: auto; box-sizing: border-box; }
.channel-photo-dialog > header { display: flex; justify-content: space-between; align-items: start; gap: 20px; padding-bottom: 26px; border-bottom: 1px solid var(--line); }
.channel-photo-dialog h2 { font: 400 clamp(26px, 3vw, 38px)/1.15 var(--editorial-font); margin: 14px 0; letter-spacing: -.03em; }
.channel-photo-dialog header p, .channel-photo-dialog footer p { font-size: 13px; line-height: 1.7; color: var(--muted); margin: 0; }
.channel-photo-dialog .button { font-size: 13px; min-height: 44px; flex-shrink: 0; }
.photo-dialog-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.45fr); gap: 28px; padding: 28px 0; border-bottom: 1px solid var(--line); align-items: center; }
.photo-dialog-card > img { width: 100%; max-height: 200px; object-fit: contain; background: var(--soft); }
.photo-dialog-card h3 { font-weight: 500; font-size: 16px; margin: 0 0 18px; }
.photo-treatment-options { display: flex; flex-wrap: wrap; gap: 6px; }
.photo-treatment-options button { font: inherit; font-size: 12px; min-height: 44px; padding: 10px 14px; border: 1px solid var(--line); color: var(--ink); background: transparent; cursor: pointer; }
.photo-treatment-options button[aria-pressed=true] { color: white; background: var(--green); border-color: var(--green); }
.photo-treatment-note { color: var(--muted); font-size: 12px; line-height: 1.7; margin: 16px 0 0; }
.photo-dialog-card.is-skipped > img { opacity: .45; }
.channel-photo-dialog > footer { display: flex; align-items: center; justify-content: space-between; gap: 26px; padding: 24px 0 0; }
.channel-photo-dialog > footer p { max-width: 430px; }
html.photo-picker-open { overflow: hidden; }

@media (max-width: 1000px) {
  .case-channel-bar { gap: 12px; }
  .case-channel-preview { height: 86px; padding: 8px; }
  .case-gallery-panel { gap: 30px; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); }
  .case-gallery-art { padding: 20px; gap: 12px; }
}
@media (max-width: 780px) {
  .editorial-layout { grid-template-columns: 1fr; gap: 32px; }
  .editorial-copy > p { max-width: none; }
  .editorial-audiences { margin-top: 24px; }
  .case-channel-bar { display: flex; gap: 16px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity; padding-bottom: 22px; }
  .case-channel-button { flex: 0 0 132px; scroll-snap-align: start; }
  .case-channel-preview { height: 100px; }
  .case-gallery-panel { grid-template-columns: 1fr; gap: 32px; padding-top: 26px; }
  .case-gallery-art { padding: 24px; }
  .case-gallery-copy h4 { font-size: 34px; }
  .case-gallery-copy { max-width: 600px; }
  .channel-photo-dialog { padding: 24px; }
}
@media (max-width: 540px) {
  .property-editorial { padding-block: 50px; }
  .editorial-copy h2 { font-size: 36px; }
  .editorial-audiences article { gap: 18px; }
  .case-gallery { padding: 32px 0 52px; }
  .case-gallery .case-caption-heading { margin-bottom: 24px; }
  .case-channel-button { flex-basis: 116px; }
  .case-gallery-art { padding: 16px; }
  .gallery-art-instagram { grid-template-columns: 1fr; gap: 24px; }
  .gallery-art-instagram .case-creative:last-child { max-width: 72%; justify-self: center; }
  .case-gallery-copy h4 { font-size: 30px; }
  .case-caption-text { font-size: 15px; }
  .artwork-wide .art-title { font-size: 18px; }
  .artwork-wide .art-footer { gap: 6px; }
  .channel-photo-dialog { width: 100vw; height: 100dvh; max-height: none; margin: 0; padding: 20px; border: 0; }
  .channel-photo-dialog > header { flex-wrap: wrap; }
  .channel-photo-dialog > header .button { order: -1; margin-left: auto; }
  .channel-photo-dialog > header > div { width: 100%; }
  .photo-dialog-card { grid-template-columns: 1fr; gap: 20px; }
  .photo-treatment-options button { flex: 1; padding-inline: 10px; }
  .channel-photo-dialog > footer { flex-direction: column; align-items: stretch; }
}

/* Keep small format previews readable without letting type leave the artwork. */
@container (max-width: 320px) {
  .artwork-square .art-facts, .artwork-wide .art-facts { display: none; }
  .artwork-square .art-footer { padding: 8px 12px; gap: 0; }
  .artwork-square .art-title { font-size: 18px; }
  .artwork-wide .art-footer { padding: 10px; gap: 6px; }
  .artwork-wide .art-title { font-size: 15px; }
}
