/* Reading and comparison layer. Same Kinetic palette, rules and embedded type. */
.section-intro,.service-content p{font-size:16px;line-height:1.6}
.work-nav a,.case-collections button{font-size:14px}
.project-meta .eyebrow,.has-feeds .project-meta .eyebrow,.craft-meta .eyebrow{font-size:11px;line-height:1.5;letter-spacing:.045em}
.has-feeds .project-disciplines,.craft-disciplines{font-size:13px;line-height:1.5;font-weight:600;letter-spacing:0}
.case-intro>p:not(.eyebrow){font-size:15px;line-height:1.6}
.case-intro .case-services{font-size:12px!important;line-height:1.6;letter-spacing:0;text-transform:none}
.case-intro .case-count{display:none}
.case-collections{gap:24px;min-height:48px}.case-collections button{min-height:48px}
.dialog-toolbar .tiny,.dialog-close,.dialog-navigation button,.artwork-detail-toolbar,.artwork-navigation{font-size:12px;letter-spacing:0;text-transform:none}
.dialog-navigation button,.artwork-navigation button,.artwork-detail-toolbar button{min-height:44px}
.tile-caption{font-size:13px;line-height:1.45;font-weight:600}
.selected-artwork figcaption{font-size:13px;line-height:1.5;letter-spacing:0}
.hero-preview-brands button,.hero-preview-bottom button{font-size:12px;min-height:44px}
.hero-preview-bottom{font-size:12px}.hero-preview-top .eyebrow{font-size:10px}
.motion-toggle{font-size:11px;letter-spacing:0;min-height:40px;padding:10px 12px;text-transform:none}
.header-note,.desktop-nav a,.footer-bottom,.contact-instagram{font-size:13px}
.button,.hero-actions .text-link,.text-link{font-size:12px;letter-spacing:.025em}
.approach{padding-block:76px 86px}
.process-heading{margin-bottom:40px;align-items:flex-start}
.process-heading h2{font-size:clamp(40px,4.5vw,68px);max-width:800px}
.process-list{gap:0}
.process-list li,.process-list li+li{display:block;padding:30px 26px}
.process-list li:first-child{padding-left:0}
.process-list li>span{display:block;font-size:16px;margin-bottom:30px}
.process-list h3{font-size:30px;line-height:1.05;margin-bottom:16px}
.process-list p{font-size:16px;line-height:1.65;max-width:270px;font-weight:500}
/* Compare first: package prices sit together; the selected enquiry is secondary. */
.price-builder{display:block;border:0}
.price-controls{padding:0}
.price-categories{gap:28px;margin-bottom:28px;border-top:var(--line)}
.price-categories button,.price-categories button:first-child{font-size:16px;padding:18px 0;min-height:58px}
.package-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.package-options legend{font-size:14px;letter-spacing:0;text-transform:none;margin-bottom:20px;font-weight:500}
.package-choice,.package-choice:has(input:checked){display:grid;grid-template-columns:18px minmax(0,1fr);align-content:start;gap:10px;padding:24px 20px;border:2px solid #c8c8cb}
.package-choice:has(input:checked){border-color:var(--ink);background:var(--paper);box-shadow:5px 5px 0 var(--blue)}
.package-choice>span{min-width:0}
.package-choice strong{font-size:28px;line-height:1.05}
.package-choice small{font-size:14px;line-height:1.5;margin-top:12px;color:#3e3e43}
.package-choice b{grid-column:1/-1;font-family:var(--font-display);font-size:clamp(25px,2.5vw,40px);font-weight:700;letter-spacing:-.045em;padding:0;margin-top:25px;line-height:1.1}
.package-choice .package-period{grid-column:1/-1;font-size:13px;line-height:1.4;color:#515156}
.price-builder[data-category=identity] .package-options{grid-template-columns:repeat(2,minmax(0,1fr))}
.price-builder[data-category=graphics] .package-options{grid-template-columns:minmax(0,620px)}
.social-included{font-size:15px;line-height:1.65;margin-top:26px;max-width:950px}
.price-scope{font-size:13px;line-height:1.65;max-width:950px;margin:10px 0 28px;color:#515156}
.price-summary{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(240px,1.2fr) auto;align-items:center;gap:24px;padding:28px 30px;border:var(--line);background:var(--paper);color:var(--ink);box-shadow:5px 5px 0 var(--ink)}
.price-summary .eyebrow{color:var(--purple);font-size:11px}
.price-summary h3{font-size:27px;margin-top:10px}
.selection-total{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;margin:13px 0 0}
.selection-total>span{font-size:12px;color:var(--purple)}
.selection-total strong{font-size:42px;line-height:1;letter-spacing:-.055em}
.selection-total small{font-size:12px;width:100%;margin:0}
.price-summary ul{font-size:14px;line-height:1.5;margin:0;list-style:disc;padding-left:18px}
.price-summary li,.price-summary li:last-child{border:0;padding:4px 0}
.price-summary .button{margin:0;font-size:12px;padding:16px 18px;gap:20px}
.collateral-quantity{max-width:620px;font-size:15px;margin-block:24px}
@media(max-width:1100px){.price-summary{grid-template-columns:1fr 1.5fr}.price-summary .button{grid-column:1/-1;justify-self:start}.package-choice,.package-choice:has(input:checked){padding:22px 15px}.process-list li,.process-list li+li{padding-inline:22px}.process-list h3{font-size:27px}}
@media(max-width:960px){.package-options{grid-template-columns:repeat(2,minmax(0,1fr))}.package-choice b{font-size:36px}.process-list{grid-template-columns:1fr 1fr}.process-list li,.process-list li+li{padding:28px 25px;border-bottom:1px solid #d5d5d5}.process-list li:nth-child(odd){padding-left:0;border-left:0}.process-list p{max-width:340px}.process-heading{display:block}.process-heading h2{margin-top:22px}}
@media(max-width:760px){.case-intro>p:not(.eyebrow){font-size:14px}.case-collections button{font-size:12px}.case-collections{gap:20px}.dialog-toolbar .tiny,.dialog-close,.dialog-navigation button,.artwork-detail-toolbar,.artwork-navigation{font-size:11px}.tile-caption{font-size:12px}.hero-preview-brands{gap:16px}.hero-preview-brands button{font-size:11px}.hero-preview-bottom{font-size:11px}.hero-preview-bottom button{font-size:11px}.price-categories{gap:22px}.price-categories button{font-size:14px}.package-choice strong{font-size:25px}.price-summary{padding:25px;gap:23px}.section-intro{font-size:16px}.approach{padding-block:54px 65px}.motion-toggle{right:10px;bottom:10px;font-size:10px;min-height:38px}.footer-bottom{font-size:12px}.menu-button{font-size:12px;min-height:40px}.button,.hero-actions .text-link{font-size:11px}}
@media(max-width:560px){.package-choice,.package-choice:has(input:checked){padding:20px 12px;gap:8px}.package-choice strong{font-size:23px}.package-choice small{font-size:13px}.package-choice b{font-size:29px;margin-top:20px}.package-choice input{width:15px;height:15px}.package-options{gap:11px}.price-summary{grid-template-columns:1fr;gap:20px}.price-summary .button{width:100%;justify-content:space-between}.price-summary ul{font-size:14px}.selection-total strong{font-size:44px}.price-categories{gap:20px}.social-included{font-size:14px}.process-list{grid-template-columns:1fr}.process-list li,.process-list li+li{display:grid;grid-template-columns:30px 1fr;gap:16px;padding:25px 0;border-left:0}.process-list li>span{margin:5px 0 0}.process-list h3{font-size:29px}.process-list p{max-width:none;font-size:16px}.process-heading h2{font-size:42px}.artwork-detail{grid-template-rows:44px minmax(0,1fr) 44px}.work-nav a{font-size:13px}}
/* Editorial work notes and actual post captions, not production prompt text. */
.selected-artwork figcaption{text-align:left;text-transform:none;font-weight:500;max-width:680px;width:100%;justify-self:center;padding:7px 0}
.artwork-caption-title{font-size:14px;font-weight:700;line-height:1.4;margin:0}
#selected-artwork-description{font-size:13px;line-height:1.55;margin-top:5px;color:#515156}
#selected-artwork-description:empty{display:none}
#social-caption-block{margin-top:22px;padding-top:20px;border-top:1px solid #ccc}
.caption-label{display:block;font-size:11px;color:var(--purple);font-weight:800;letter-spacing:.04em;margin-bottom:9px}
#selected-social-caption{font-size:16px;line-height:1.65;white-space:pre-line}
@media(min-width:761px){.selected-artwork.has-social-caption{grid-template-columns:minmax(0,1fr) minmax(220px,300px);grid-template-rows:minmax(0,1fr);gap:30px;align-items:center;max-width:1000px;justify-self:center;width:100%}.selected-artwork.has-social-caption figcaption{max-height:100%;overflow-y:auto;padding:20px 15px 20px 0}.selected-artwork.has-social-caption .artwork-caption-title{font-family:var(--font-display);font-size:27px;letter-spacing:-.04em;line-height:1.1}}
@media(max-width:760px){.selected-artwork figcaption{padding:5px 2px}.selected-artwork.has-social-caption figcaption{max-height:150px;overflow-y:auto;overscroll-behavior:contain}#social-caption-block{margin-top:9px;padding-top:9px}.caption-label{font-size:10px;margin-bottom:4px}#selected-social-caption{font-size:14px;line-height:1.55}.artwork-caption-title{font-size:13px}#selected-artwork-description{font-size:12px}}
@media(max-height:500px){.selected-artwork.has-social-caption{grid-template-columns:minmax(0,1fr) minmax(170px,40%);grid-template-rows:minmax(0,1fr);gap:14px}.selected-artwork.has-social-caption figcaption{max-height:100%;overflow:auto}.selected-artwork.has-social-caption #selected-social-caption{font-size:13px}}

.custom-scope{margin-top:30px;font-size:15px;line-height:1.8}.custom-scope a{text-decoration:underline;text-underline-offset:4px;white-space:normal}.custom-scope .arrow-icon{width:13px;height:13px;margin-left:4px}
/* Keep amounts aligned when a matching-story label wraps on narrow cards. */
.package-choice small{min-height:3em}
.price-builder[data-category=identity] .package-choice strong{min-height:2.1em}
.selected-artwork.has-social-caption #selected-artwork-description{display:none}
/* On a short landscape screen, leave more height for the selected composition.
   Project-to-project navigation remains in the overview, one Back action away. */
@media(min-width:561px) and (max-height:500px){
 dialog:has(.case-body.is-detail){grid-template-rows:auto minmax(0,1fr)}
 dialog:has(.case-body.is-detail) .dialog-navigation{display:none}
 dialog:has(.case-body.is-detail) .dialog-toolbar{min-height:44px;padding:5px 13px}
 dialog:has(.case-body.is-detail) .dialog-close{min-height:32px;padding:6px 10px}
 .case-body.is-detail .artwork-detail{grid-template-rows:32px minmax(0,1fr) 36px;gap:6px}
 .case-body.is-detail .artwork-detail-toolbar button,.case-body.is-detail .artwork-navigation button{min-height:32px;padding:6px 0}
}
/* Complete document families: a visible page sequence, not a social collage. */
.document-cover-art{display:grid;grid-template-columns:1.8fr 1fr;grid-template-rows:1fr 1fr;gap:12px;height:300px}
.document-cover-art .craft-cover:first-child{grid-row:1 / 3}
.document-grid.is-single{grid-template-columns:1fr;max-width:1000px}
.document-grid.is-single .document-cover-art{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:1fr;height:auto;padding:28px;gap:18px}
.document-grid.is-single .document-cover-art .craft-cover:first-child{grid-row:auto}
.document-grid.is-single .document-cover-art img{width:100%;height:auto}
.document-grid.is-three .document-cover-art{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:1.8fr 1fr;height:340px;gap:12px}
.document-grid.is-three .document-cover-art .craft-cover:first-child{grid-column:1 / 3;grid-row:1}
.case-gallery.is-document-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1000px;gap:18px}
.is-document-grid .artwork-tile img{aspect-ratio:auto;padding:0;width:100%;height:auto}
.is-document-grid .tile-caption{font-size:12px;text-align:left;line-height:1.45;padding:12px}
.guide-download-bar{font-size:12px;min-height:46px}
.work-nav{flex-wrap:wrap;row-gap:15px}
dialog.is-document:has(.case-body.is-detail){grid-template-rows:auto minmax(0,1fr)}
dialog.is-document:has(.case-body.is-detail) .dialog-navigation{display:none}
dialog.is-document:has(.case-body.is-detail) .guide-download-bar{display:none}
@media(min-width:961px){.case-gallery.is-document-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}}
@media(min-width:961px){.document-grid.is-three{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:641px) and (max-width:960px){.document-grid.is-three{grid-template-columns:repeat(3,minmax(0,1fr))}.document-grid.is-three .document-cover-art{display:flex;align-items:center;flex:0 0 auto;aspect-ratio:8/5;min-height:0;height:auto;padding:12px}.document-grid.is-three .document-cover-art img{width:100%;height:100%;min-height:0;object-fit:contain}.document-grid.is-three .document-cover-art img:not(:first-child){display:none}.document-grid.is-three .craft-meta{padding:16px;gap:10px}.document-grid.is-three .craft-name{font-size:24px}}
@media(max-width:760px){.document-cover-art{height:260px}.document-grid.is-single .document-cover-art{grid-template-columns:1.8fr 1fr;grid-template-rows:1fr 1fr;padding:18px;gap:10px;height:260px}.document-grid.is-single .document-cover-art .craft-cover:first-child{grid-row:1 / 3}.document-grid.is-single .document-cover-art img{height:100%;object-fit:contain}.case-gallery.is-document-grid{gap:10px}.is-document-grid .tile-caption{font-size:11px;padding:9px}.guide-download-bar{font-size:11px}}
@media(min-width:561px) and (max-height:500px){.case-gallery.is-document-grid{grid-template-columns:repeat(2,minmax(200px,1fr));max-width:800px}}
@media(min-width:561px) and (max-height:500px){dialog.is-document .selected-artwork{grid-template-columns:minmax(0,1fr) minmax(165px,30%);grid-template-rows:minmax(0,1fr);gap:18px;align-items:center}dialog.is-document .selected-artwork figcaption{max-height:100%;overflow:auto}}

/* Quote-only offerings share the menu, without invented prices or totals. */
.price-categories{flex-wrap:wrap;column-gap:28px;row-gap:0}
.quote-panel{margin-top:8px}
.quote-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:24px}
.quote-heading h3{font-family:var(--font-display);font-size:clamp(28px,3vw,38px);font-weight:700;letter-spacing:-.045em;line-height:1.1}
.quote-heading .eyebrow{white-space:nowrap;font-size:11px}
.quote-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.document-quotes{grid-template-columns:repeat(3,minmax(0,1fr))}
.quote-card{display:flex;flex-direction:column;gap:18px;border:var(--line);padding:28px;min-width:0;background:var(--paper)}
.quote-card h4{margin:0;font-family:var(--font-display);font-weight:700;font-size:28px;line-height:1.08;letter-spacing:-.04em}
.quote-card p{margin:0;font-size:16px;line-height:1.65;max-width:560px}
.quote-enquiry{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #ccc;padding-top:18px;margin-top:auto;font-size:13px;font-weight:800;line-height:1.5;text-decoration:none}
.quote-enquiry:hover,.quote-work-link:hover{text-decoration:underline;text-underline-offset:4px}
.quote-enquiry .arrow-icon,.quote-work-link .arrow-icon{width:16px;height:16px;flex-shrink:0}
.quote-scope{font-size:14px;line-height:1.7;color:#515156;margin-top:24px;max-width:900px}
.quote-work-link{display:inline-flex;align-items:center;gap:20px;font-size:14px;font-weight:800;margin-top:20px;padding-block:8px}
@media(max-width:960px){.quote-card{padding:24px}.document-quotes{gap:14px}.document-quotes .quote-card{padding:22px}.quote-card h4{font-size:26px}}
@media(max-width:640px){.price-categories{column-gap:20px}.price-categories button{min-height:48px;padding:13px 0}.quote-heading{display:block;margin-bottom:20px}.quote-heading .eyebrow{display:block;margin-top:12px}.quote-options,.document-quotes{grid-template-columns:1fr;gap:14px}.quote-card,.document-quotes .quote-card{padding:24px}.quote-scope{font-size:14px}.quote-heading h3{font-size:30px}}

/* A document is one continuous presentation, not a gallery of page controls. */
dialog[open]{grid-template-rows:auto minmax(0,1fr)}
.dialog-toolbar{justify-content:flex-end}.dialog-toolbar .tiny{display:none}
dialog:has(.case-body.is-detail) .dialog-toolbar{justify-content:space-between}
dialog:has(.case-body.is-detail) .dialog-toolbar .tiny{display:block}
.dialog-close .close-label{font-size:inherit;line-height:inherit}
/* Preserve the established framed project overlay and context rail. */
.is-document .case-collections,.is-document .guide-download-bar{display:none}
.is-document .case-content{display:block;min-height:0;padding:16px 22px;overflow-y:auto;container-type:normal;scroll-behavior:auto;background:#f1f1f1}
.document-reader{width:100%;max-width:1040px;margin:0 auto;line-height:0}
.document-reader img{display:block;width:100%;height:auto;margin:0;object-fit:contain}
#document-context{display:none}
.case-content:focus-visible{outline:3px solid #d14500;outline-offset:-3px}
@media(max-width:760px){
 .is-document .case-intro{padding-block:12px}
 .is-document .case-intro h2{font-size:26px}
 .is-document .case-content{padding:10px}
 .case-intro.has-essential-context #dialog-intro{display:block;font-size:12px;line-height:1.45;margin-top:8px;max-width:48ch}
}
/* Preserve native momentum. No automatic snap or wheel/touch interception. */
@media(prefers-reduced-motion:reduce){html{scroll-snap-type:none!important;scroll-behavior:auto}.case-content{scroll-behavior:auto!important}}

/* One quoted add-on, not separate response-management tiers. */
.quote-options.posting-addon{grid-template-columns:minmax(0,840px)}

/* Native FAQ disclosures remain usable without JavaScript. */
.faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;border-top:var(--line);background:var(--paper)}
.faq-heading h2{font-size:clamp(40px,5vw,72px);margin-top:24px;line-height:1.05}
.faq-list{min-width:0;border-top:var(--line)}
.faq-list details{border-bottom:var(--line)}
.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:64px;padding:20px 0;cursor:pointer;list-style:none;font-size:18px;font-weight:700;line-height:1.4}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary span{font-size:26px;font-weight:400;flex-shrink:0}
.faq-list details[open] summary span{transform:rotate(45deg)}
.faq-list summary:focus-visible{outline:3px solid #753cff;outline-offset:4px}
.faq-list details p{font-size:16px;line-height:1.7;max-width:64ch;padding:0 0 24px;margin:0;overflow-wrap:anywhere}
.footer-bottom nav{flex-wrap:wrap}
@media(max-width:760px){.faq{grid-template-columns:minmax(0,1fr);gap:30px}.faq-heading h2{font-size:42px}.faq-list summary{font-size:17px;gap:16px}.faq-list details p{font-size:15px}}
