/* Shared legibility rules. Text over photographs always has a protected surface. */
body[data-business]{font-size:16px;--focus:#b14b21}
body[data-business] .hero-copy>p:not(.demo-eyebrow):not(.hero-note),
body[data-business] .architectural-hero .hero-copy>div>p,
body[data-business] .cafe-bottom>p:not(.hero-note),
body[data-business] .editorial .story-copy>p:not(.demo-eyebrow){font-size:16px;line-height:1.85;opacity:1}
body[data-business] .section-head>p,
body[data-business] .interaction-panel>p,
body[data-business] .step>p,
body[data-business] .item-card>p,
body[data-business] .demo-faq p,
body[data-business] .tier-details li{font-size:14px;line-height:1.85;opacity:1}
body[data-business] .demo-eyebrow,
body[data-business] .hero-note,
body[data-business] .service-strip,
body[data-business] .service-line>span,
body[data-business] .journal-card .label,
body[data-business] .item-tag,
body[data-business] .item-card .micro,
body[data-business] .fine-print,
body[data-business] .preview-summary>p,
body[data-business] .footer-meta,
body[data-business] .photo-caption,
body[data-business] .wide-statement>p{font-size:12px;line-height:1.8;opacity:1}
body[data-business] .demo-nav nav,
body[data-business] .nav-cta,
body[data-business] .demo-button,
body[data-business] .item-card>.demo-button,
body[data-business] .preview-summary .demo-button,
body[data-business] .filter-row button,
body[data-business] .text-link,
body[data-business] .footer-head>a,
body[data-business] .preview-summary ul,
body[data-business] .room-heading,
body[data-business] label{font-size:13px;line-height:1.6}
body[data-business] input,body[data-business] select,body[data-business] textarea{font-size:16px;min-height:48px;line-height:1.5}
body[data-business] .demo-result{font-size:14px;line-height:1.8}
body[data-business] .preview-summary h3{font-size:15px;line-height:1.5}
body[data-business] .preview-summary{padding:26px}
body[data-business] .preview-wrap{grid-template-columns:minmax(0,1fr) minmax(240px,.4fr);gap:5%}
body[data-business] .preview-bar{font-size:11px;align-items:center;padding:2px 4%;gap:14px}
body[data-business] .preview-bar>div{gap:7px}
body[data-business] .preview-bar a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:7px 5px}
body[data-business] .preview-bar a.active{background:#343a31;text-decoration:none;border-bottom:2px solid #e9ecde}
body[data-business] :is(button,.demo-button,.nav-cta,.text-link,.service-line>a,summary){min-height:44px}
body[data-business] :is(button,.service-line>a){min-width:44px}
body[data-business] .service-line>a{display:grid;place-content:center}
body[data-business] .check-label input{min-height:20px;width:20px;height:20px}
body[data-business] .check-label{min-height:44px}
body[data-business] :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--ink);outline-offset:4px;box-shadow:0 0 0 7px var(--bg)}
body[data-business] .preview-bar a:focus-visible{outline-color:#fff;box-shadow:0 0 0 7px #171816}
body[data-business] .full-hero::after{background:rgba(7,13,10,.68)}
body[data-business] .full-hero{color:#fff;padding-top:130px;min-height:760px}
body[data-business] .full-hero .hero-copy{isolation:isolate}
body[data-business] .full-hero .hero-copy :is(h1,p){color:#fff;opacity:1}
body[data-business] .full-hero .hero-note{background:#172019;color:#fff;padding:10px 14px;max-width:90%;margin:0;opacity:1}
body[data-business].overlap-nav .demo-nav{position:relative;top:auto;left:auto;right:auto;background:var(--bg);color:var(--ink);border-bottom:1px solid var(--border)}
body[data-business] .auto-hero::before{background:rgba(0,0,0,.69)}
body[data-business] .auto-hero .hero-copy :is(h1,p){color:#fff;opacity:1}
body[data-business] .auto-hero .hero-copy{width:100%;max-width:1000px}
body[data-business] .auto-hero h1{font-size:clamp(80px,10vw,160px);line-height:.9;max-width:100%}
body[data-business] .visual-caption{position:absolute;bottom:18px;left:18px;right:18px;background:#172019;color:#fff;padding:10px 12px;gap:16px;font-size:11px;line-height:1.6;opacity:1;flex-wrap:wrap}
body[data-business] .theme-painting{--contrast:#fff}
body.theme-painting{--contrast:#fff}
body.theme-dental-clinic{--contrast:#102829}
body.theme-fitness .poster-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6%;align-items:center;min-height:680px;padding-top:35px;padding-bottom:50px}
body.theme-fitness .poster-hero .hero-copy{width:100%;min-width:0;z-index:auto;padding-top:0}
body.theme-fitness .poster-hero h1{font-size:clamp(82px,8.5vw,136px);line-height:.88;max-width:100%;margin:25px 0 30px}
body.theme-fitness .poster-hero .hero-copy>p:not(.demo-eyebrow){width:auto;max-width:370px;font-size:16px;opacity:1}
body.theme-fitness .poster-hero .hero-visual{position:relative;top:auto;right:auto;bottom:auto;width:100%;height:590px;margin:0;transform:rotate(-2deg)}
body[data-business] .business-menu-toggle{display:none;align-items:center;justify-content:center;gap:12px;background:transparent;color:var(--ink);border:1px solid var(--border);padding:10px 14px;font-size:13px}
body[data-business] .demo-nav nav>a{padding:12px 0;display:inline-flex;align-items:center}
body[data-business] .guided-request-note{font-size:13px;line-height:1.8;border-top:1px solid var(--border);padding-top:15px}
body[data-business] .selection-empty{font-size:13px;line-height:1.8}
body[data-business] .download-state{font-size:12px;line-height:1.7;margin-top:12px}
body[data-business] .service-picker{font:inherit;background:transparent;border:0;color:inherit;padding:0;display:grid;grid-template-columns:40px 1fr 44px;align-items:center;text-align:left;width:100%;gap:20px}
body[data-business] .service-picker>span:first-child{font-size:12px}
body[data-business] .service-picker>span:nth-child(2){font-size:19px;font-weight:500;letter-spacing:-.03em}
body[data-business] .service-line:has(.service-picker){display:block;padding:14px 0}
/* Agency showroom: miniature content remains separate from its photograph. */
body .mini-site .mini-top{background:var(--demo-bg);color:var(--demo-ink);font-size:10px;padding:4% 5%;gap:12px}
body .mini-site .mini-copy{width:40%;left:5%;top:30%}
body .mini-site .mini-copy h3{font-size:clamp(23px,2.5vw,36px);line-height:1.03}
body .mini-site .mini-copy .mini-button{font-size:10px;line-height:1.5;display:inline-block}
body .mini-site .mini-photo{width:50%;right:0;height:100%;top:0}
body .mini-site.photo .mini-photo{width:100%}
body .mini-site.photo .mini-body:after{background:rgba(0,0,0,.66)}
body .mini-site.photo .mini-top{background:#172019;color:white}
body .mini-site.photo .mini-copy{background:#172019;color:#fff;padding:12px 15px;bottom:7%;top:auto;left:5%;width:86%}
body .mini-site.photo .mini-copy h3{font-size:clamp(23px,2.6vw,38px);line-height:1;margin-bottom:12px}
body .mini-site.poster .mini-copy,body .mini-site.shop .mini-copy{width:40%;top:29%}
body .mini-site.poster .mini-copy h3{font-size:clamp(26px,3vw,44px);line-height:.95}
body .mini-site.shop .mini-copy h3{font-size:clamp(23px,2.5vw,36px)}
body .hero-project .project-top{background:#172019;color:#fff;padding:8px 10px;font-size:11px;gap:14px;line-height:1.5}
body .hero-project .project-title{background:#172019;color:#fff;align-self:flex-start;padding:10px 12px;max-width:90%}
body .hero-project .project-title span{color:#e5ff69}
body .private-bar{font-size:11px;line-height:1.7}
body .site-header nav,body .pill-button,body .button,body .subtle-link,body .demo-info p,body .demo-info>span{font-size:13px}
body .hero-bottom p,body .intro p:not(.eyebrow),body .section-top>p,body .difference p{font-size:15px;line-height:1.85}
body .eyebrow,body .work-caption,body .gallery-count,body .filters button,body .package-number,body .pricing-note,body .care-line small,body .site-footer small,body .form-note{font-size:12px;line-height:1.8}
body .tier-picker button{font-size:14px;min-height:44px}
body .filters button{min-height:44px}
body .search input{font-size:14px}
body .price-card>p,body .price-card ul,body .care-line,body .process-grid p,body .faq details p,body .site-footer p,body .site-footer>div,body .form-status,body .order-summary{font-size:14px;line-height:1.85}
body .price-card>p{min-height:80px}
body .form-grid label,body #project-form>label{font-size:13px}
body #project-form :is(input,select,textarea){font-size:16px;min-height:46px}
body #project-form input[type=checkbox]{min-height:20px}
body :is(.pill-button,.button,.menu-toggle){min-height:44px}
body .menu-toggle{min-width:44px}
@media(max-width:1000px){body.theme-fitness .poster-hero{gap:5%;min-height:570px}body.theme-fitness .poster-hero h1{font-size:clamp(70px,8.7vw,96px)}body.theme-fitness .poster-hero .hero-visual{height:480px}body[data-business] .preview-wrap{grid-template-columns:minmax(0,1fr) 240px;gap:4%}}
@media(max-width:740px){
 body[data-business] .preview-bar{flex-wrap:wrap;justify-content:space-between;gap:0 8px;font-size:10px;padding:2px 4%}
 body[data-business] .preview-bar .bar-disclosure{display:none}
 body[data-business] .preview-bar>div{gap:0}
 body[data-business] .preview-bar a{padding:8px 5px}
 body[data-business] .demo-nav{display:flex;flex-wrap:wrap;gap:14px;padding-top:18px;padding-bottom:18px}
 body[data-business] .demo-nav .brand{margin-right:auto;max-width:55%}
 body[data-business] .business-menu-toggle{display:inline-flex}
 body[data-business] .demo-nav>.nav-cta{display:none}
 body[data-business] .demo-nav nav{display:none;order:4;width:100%;gap:0;flex-direction:column;border-top:1px solid var(--border);padding-top:9px;font-size:14px}
 body[data-business] .demo-nav nav.open{display:flex}
 body[data-business] .demo-nav nav>a{padding:13px 0;min-height:48px;border-bottom:1px solid var(--border)}
 body[data-business] .demo-eyebrow{font-size:11px;letter-spacing:.1em}
 body[data-business] .hero-copy>p:not(.demo-eyebrow):not(.hero-note),body[data-business] .cafe-bottom>p:not(.hero-note),body[data-business] .editorial .story-copy>p:not(.demo-eyebrow){font-size:15px}
 body[data-business] .service-strip{font-size:12px;gap:12px 22px}
 body[data-business] .full-hero,body[data-business].tier-Launch .full-hero{min-height:640px;padding-top:65px;padding-bottom:90px}
 body[data-business] .full-hero h1{font-size:clamp(62px,16vw,83px);line-height:.98}
 body[data-business] .full-hero .hero-note{bottom:18px;font-size:11px;padding:8px 11px}
 body[data-business] .auto-hero,body[data-business].tier-Launch .auto-hero{min-height:580px;padding-top:60px}
 body[data-business] .auto-hero h1{font-size:clamp(66px,22vw,96px);line-height:.9}
 body[data-business] .auto-hero .hero-copy>p:not(.demo-eyebrow){max-width:100%;font-size:15px}
 body[data-business] .auto-hero .demo-button{max-width:100%;font-size:13px;padding:13px 17px}
 body.theme-fitness .poster-hero,body.theme-fitness.tier-Launch .poster-hero{display:flex;flex-direction:column;align-items:stretch;gap:30px;min-height:0;padding-bottom:35px}
 body.theme-fitness .poster-hero h1{font-size:clamp(67px,21vw,95px);line-height:.87;max-width:100%;margin-top:22px}
 body.theme-fitness .poster-hero .hero-copy>p:not(.demo-eyebrow){font-size:15px;width:auto;max-width:100%}
 body.theme-fitness .poster-hero .demo-button{font-size:13px;max-width:100%;padding:13px 17px}
 body.theme-fitness .poster-hero .hero-visual{height:360px;width:94%;margin:8px 0 0 3%;transform:rotate(-2deg)}
 body[data-business] .visual-caption{font-size:11px;left:12px;right:12px;bottom:12px;padding:8px 10px;gap:5px 14px}
 body[data-business] .section-head>p,body[data-business] .item-card>p,body[data-business] .step>p{font-size:14px}
 body[data-business] .preview-wrap,body[data-business].tier-Launch .preview-wrap{display:grid;grid-template-columns:minmax(0,1fr);gap:30px}
 body[data-business] .preview-summary{display:block;padding:23px}
 body[data-business] .preview-summary .selected-count{margin:14px 0;font-size:58px}
 body[data-business] .preview-summary ul{margin:15px 0 20px}
 body[data-business] .preview-summary h3{margin-bottom:15px}
 body[data-business] .preview-summary>p{font-size:12px}
 body[data-business] .fields.two{grid-template-columns:1fr;gap:18px}
 body[data-business] .item-grid,body[data-business].tier-Launch .item-grid{grid-template-columns:minmax(0,1fr);gap:32px}
 body[data-business] .item-art{aspect-ratio:1.3}
 body[data-business] .item-card h4{font-size:23px}
 body[data-business] .item-card>.demo-button{font-size:13px;width:100%;min-height:46px;padding:12px 16px}
 body[data-business] .theme-restaurant .item-card{display:block}
 body.theme-restaurant .item-card,body.theme-fitness .item-card,body.theme-community-events .item-card{grid-template-columns:minmax(0,1fr);gap:9px;padding:25px 0}
 body.theme-restaurant .item-card>button,body.theme-fitness .item-card>button,body.theme-community-events .item-card>button{grid-column:1;grid-row:auto;justify-self:start;width:auto;margin-top:10px;font-size:13px;padding:12px 16px}
 body.theme-restaurant .item-card p,body.theme-fitness .item-card p,body.theme-community-events .item-card p{font-size:14px}
 body[data-business] .journal-card .label{font-size:11px;gap:8px;flex-wrap:wrap}
 body[data-business] .tier-details li,body[data-business] .demo-faq p{font-size:14px}
 body[data-business] .footer-meta{font-size:12px}
 body .hero-project .project-top{font-size:10px;flex-wrap:wrap;padding:6px 8px}
 body .hero-project .project-title{font-size:30px;padding:8px 10px;max-width:100%}
 body .hero-project.restaurant .project-title{font-size:34px}
 body .hero-project.fitness .project-title{font-size:42px}
 body .hero-projects{height:320px}
 body .hero-project .round-arrow{bottom:12px;right:10px}
 body .mini-site .mini-copy h3{font-size:27px}
 body .mini-site.poster .mini-copy h3{font-size:36px}
 body .mini-site.shop .mini-copy h3{font-size:28px}
 body .mini-site .mini-copy .mini-button{font-size:9px}
 body .mini-site .mini-top{font-size:9px}
 body .mini-site.photo .mini-copy h3{font-size:28px}
 body .private-bar{font-size:10px;letter-spacing:.04em;padding:7px 12px}
 body .site-header>.pill-button{font-size:12px;padding:10px 12px;gap:12px}
 body .hero-top{align-items:flex-start;gap:15px}
 body .hero-top .eyebrow,body .hero-top .availability{font-size:11px;line-height:1.6}
 body .hero-top .availability{max-width:100px;flex-shrink:0}
 body .price-card>p{min-height:0}
 body .form-actions .button{font-size:14px}
 body .site-header nav a{min-height:44px;display:flex;align-items:center}
}
@media(max-width:360px){body[data-business] .preview-bar{justify-content:center}body[data-business] .preview-bar .back-agency{margin-right:auto}body[data-business] .preview-bar>div{justify-content:space-between;width:100%}body[data-business] .preview-bar>div a{flex:1}body .hero-actions{flex-wrap:wrap}body .hero-projects{height:300px}body .hero-project.restaurant .project-title{font-size:29px}}
body[data-business] .item-card>.text-link{border:0;border-bottom:1px solid var(--ink);background:transparent;color:var(--ink);font-size:13px;min-height:44px;padding:10px 0;gap:20px;margin-top:7px;margin-left:12px}
.item-dialog{background:var(--bg);color:var(--ink);border:1px solid var(--border);padding:28px;width:min(850px,94vw);max-height:90vh;overflow:auto}
.item-dialog::backdrop{background:#0b100ce6}
.item-dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.item-dialog-top p{margin:0}
.close-details{background:transparent;color:var(--ink);border:1px solid var(--border);font-size:27px;line-height:1;min-width:44px;min-height:44px}
.item-dialog img{max-height:55vh;width:100%;object-fit:contain;background:var(--surface)}
.item-dialog h2{font-size:36px;line-height:1.1;font-weight:500;letter-spacing:-.04em}
.item-dialog p{font-size:14px;line-height:1.85}
@media(max-width:740px){body[data-business] .item-card>.text-link{margin-left:0;display:flex;width:100%;justify-content:space-between}.item-dialog{padding:18px}.item-dialog h2{font-size:29px}}
body[data-business] .preview-bar,body[data-business] .visual-caption,body[data-business] .journal-card .label,body[data-business] .demo-eyebrow,body[data-business] .full-hero .hero-note{font-size:12px}
body[data-business] .service-picker>span:last-child{font-size:24px;display:grid;place-content:center;width:44px;height:44px}
body .close-modal{min-width:44px;min-height:44px}
body #brief-preview{margin-top:25px;border-top:1px solid var(--line);padding-top:20px}
body #brief-preview textarea{min-height:220px;font-size:14px;line-height:1.8;margin-top:15px}
body #brief-preview h3{font-size:21px;letter-spacing:-.03em;font-weight:500}
body #brief-preview p{font-size:13px;line-height:1.8}
body.theme-fitness .poster-hero .hero-visual .visual-caption{font-size:12px}
body[data-business] .date-stamp>span{font-size:12px}
body .hero-top .eyebrow,body .hero-top .availability,body .private-bar{font-size:12px}
body[data-business] .cafe-hero h1{margin-bottom:18px}
body .mini-site .mini-top{font-size:12px}
body .mini-site .mini-copy .mini-button{display:none}
body .package-number span,body .price span,body .process-grid article>span,body .tier-picker span{font-size:12px}
body .button:hover{background:var(--accent);border-color:var(--accent);color:#171816}
body .button.outline:hover{background:#171816;border-color:#171816;color:#f4f3ee}
body .final-cta .button:hover{background:#f4f3ee;border-color:#f4f3ee;color:#171816}
body .hero-project .project-top{font-size:12px}
body .difference-list article>span{font-size:12px}
body[data-business] :is(input:not([type=checkbox]),select,textarea){border-color:var(--ink)}
/* Keep the Signature event headline inside narrow screens without clipping its words. */
@media(max-width:740px){
 body.theme-community-events.tier-Signature .event-hero .hero-copy h1{font-size:clamp(64px,18vw,96px);overflow-wrap:anywhere}
}
