*{box-sizing:border-box}html{color-scheme:light}body{margin:0;background:var(--colors-background);color:var(--colors-text);font-family:var(--typography-body);line-height:1.6}h1,h2,h3{font-family:var(--typography-heading);line-height:1.12;overflow-wrap:anywhere}h1{font-size:clamp(2rem,5vw,4rem);margin:0}h2{font-size:clamp(1.8rem,4vw,3.5rem);margin:0 0 1.2rem}h3{font-size:clamp(1.3rem,2.5vw,2rem);margin:0}a{color:inherit;text-underline-offset:.2em}a:focus-visible,video:focus-visible{outline:3px solid var(--colors-primary);outline-offset:5px}img,video{display:block;width:100%;height:auto;object-fit:cover;border-radius:var(--radius-image)}img{aspect-ratio:6/5}video{aspect-ratio:16/9;background:var(--colors-text)}p{overflow-wrap:anywhere}nav{font-family:var(--typography-navigation)}nav ul{display:flex;flex-wrap:wrap;gap:1rem 2rem;list-style:none;padding:0;margin:0}.bello-section,.bello-page-title{width:min(calc(100% - 3rem),var(--layout-contentWidth));margin:auto;padding:var(--spacing-section) 0}.bello-page-title{padding-bottom:0}.bello-header,.bello-footer{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-grid);flex-wrap:wrap}.bello-header{padding-top:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--colors-muted)}.bello-brand{font-size:1.4rem;font-weight:700}.bello-copy{max-width:65ch}.bello-rich-copy p{margin:0 0 1.15rem}.bello-rich-copy p:last-child{margin-bottom:0}.bello-rich-copy h3{font-size:clamp(1.2rem,2vw,1.55rem);margin:2rem 0 .75rem}.bello-rich-copy a{color:var(--colors-primary);font-weight:650;text-decoration-thickness:1px}.bello-hero,.bello-image-text{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:var(--spacing-grid)}.hero-image-left .bello-hero-media{order:-1}.hero-minimal{display:block;max-width:var(--layout-contentWidth)}.hero-fullscreen-image,.hero-fullscreen-video{width:min(calc(100% - 3rem),var(--layout-wideWidth));display:flex;flex-direction:column;align-items:stretch}.hero-fullscreen-image img{aspect-ratio:16/9;max-height:80vh}.bello-hero-copy{min-width:0}.bello-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.5rem}.bello-button{display:inline-flex;align-items:center;min-height:44px;padding:.75rem 1.5rem;border:2px solid var(--colors-primary);border-radius:var(--radius-button);text-decoration:none;font-weight:700;background:var(--colors-primary);color:var(--colors-surface)}.bello-button.secondary{background:transparent;color:var(--colors-primary)}.bello-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-grid)}.bello-card{position:relative;overflow:hidden;display:flex;flex-direction:column;aspect-ratio:1/1.1;border-radius:var(--radius-card);background:var(--colors-surface);text-decoration:none}.bello-card img{border-radius:0;aspect-ratio:auto;flex:1;min-height:0;object-fit:cover}.bello-card-copy{padding:1.5rem 3.5rem 1.5rem 1.5rem;position:relative}.bello-card-copy p{margin:.6rem 0 0;color:var(--colors-muted)}.bello-arrow{position:absolute;right:1.5rem;top:1.5rem;font-size:1.5rem}.bello-cta{background:var(--colors-surface);padding:var(--spacing-section);border-radius:var(--radius-card);margin-bottom:var(--spacing-section)}.bello-footer{border-top:1px solid var(--colors-muted)}.alignment-center{text-align:center}.alignment-center .bello-actions{justify-content:center}.alignment-right{text-align:right}.tone-muted{background:var(--colors-surface)}.tone-accent{border-left:4px solid var(--colors-primary);padding-left:var(--spacing-grid)}.spacing-none{padding-top:0;padding-bottom:0}.spacing-small{padding-top:calc(var(--spacing-section)/2);padding-bottom:calc(var(--spacing-section)/2)}.spacing-large{padding-top:calc(var(--spacing-section)*1.5);padding-bottom:calc(var(--spacing-section)*1.5)}.skip-link{position:absolute;left:1rem;top:-10rem;z-index:10;padding:1rem;background:var(--colors-surface)}.skip-link:focus{top:1rem}.animation-fade{animation:bello-fade .45s ease-out}.animation-fade-up{animation:bello-up .45s ease-out}@keyframes bello-fade{from{opacity:.25}to{opacity:1}}@keyframes bello-up{from{opacity:.25;transform:translateY(12px)}to{opacity:1;transform:none}}@media(min-width:1100px){.hide-desktop{display:none}.desktop-left{text-align:left}.desktop-center{text-align:center}.desktop-right{text-align:right}}@media(min-width:700px) and (max-width:1099px){.hide-tablet{display:none}.tablet-left{text-align:left}.tablet-center{text-align:center}.tablet-right{text-align:right}.bello-hero,.bello-image-text{gap:2rem}}@media(max-width:699px){.hide-mobile{display:none}.mobile-left{text-align:left}.mobile-center{text-align:center}.mobile-right{text-align:right}.bello-section,.bello-page-title{width:calc(100% - 2rem);padding-top:calc(var(--spacing-section)*.65);padding-bottom:calc(var(--spacing-section)*.65)}.bello-hero,.bello-image-text,.bello-grid{grid-template-columns:1fr}.hero-image-left .bello-hero-media{order:0}.bello-header{align-items:flex-start;flex-direction:column;padding:1rem 0}.bello-card{aspect-ratio:auto}.bello-card img{aspect-ratio:1/1;flex:auto}.bello-cta{padding:1.5rem}.bello-button{justify-content:center}.bello-page-title{padding-bottom:0}.bello-footer{align-items:flex-start;flex-direction:column}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.bello-image-text:not(:has(img)):not(:has(video)):not(:has(.bello-app-placeholder)){display:block}
.bello-section picture{display:contents}

/* Opt-in Header/Hero presentation. Existing BELLO sections/releases retain their defaults. */
.bello-header.header-spacious{width:100%;max-width:none;margin:0;padding:0;border:0;border-radius:0;background:var(--colors-background);z-index:20}
.bello-header.header-sticky{position:sticky;top:0}
.bello-header-inner{width:min(var(--layout-wideWidth),100%);margin:auto;padding:24px clamp(24px,5vw,80px);display:flex;align-items:center;justify-content:space-between;gap:40px}
.header-spacious .bello-brand{flex:0 0 auto;display:block;width:190px;text-decoration:none}
.header-spacious .bello-brand img{width:100%;height:64px;aspect-ratio:auto;object-fit:contain;object-position:left center;border-radius:0}
.bello-desktop-nav{display:flex;align-items:center;gap:48px}.header-spacious nav ul{gap:40px}.header-spacious nav a{font-size:18px;font-weight:600;text-decoration:none}.header-spacious nav a:hover{text-decoration:underline;text-underline-offset:7px}
.header-spacious .bello-actions{margin:0}.header-spacious .bello-button,.hero-spacious .bello-button{min-height:52px;padding:14px 26px;font-size:17px;font-weight:650;border:0;border-radius:var(--radius-button);transition:filter .15s,transform .15s;text-decoration:none}
.header-spacious .bello-button:hover,.hero-spacious .bello-button:hover{filter:brightness(.92)}.header-spacious .bello-button:active,.hero-spacious .bello-button:active{transform:translateY(1px)}
.hero-spacious .bello-button.secondary{background:var(--colors-surface);color:var(--colors-text)}
.bello-mobile-menu{display:none}.bello-hero.hero-spacious{min-height:680px;width:min(var(--layout-contentWidth),calc(100% - 80px));gap:clamp(40px,6vw,96px);padding:80px 0 100px;align-items:center}
.hero-spacious h1,.hero-spacious h2{font-size:clamp(40px,4.7vw,72px);font-weight:750;letter-spacing:-.045em;line-height:1.05;margin:0 0 28px;max-width:100%}
.hero-spacious .bello-copy{font-size:clamp(18px,1.5vw,22px);line-height:1.6;margin:0 0 32px;max-width:32ch}.hero-spacious .bello-actions{gap:12px;flex-wrap:wrap}
.hero-spacious .bello-hero-media{min-width:0}.hero-spacious .bello-hero-media img,.bello-media-placeholder{aspect-ratio:5/6;width:100%;border-radius:var(--radius-image);object-fit:cover}
.bello-media-placeholder{background:var(--colors-surface);display:grid;place-items:center;padding:40px;text-align:center;color:var(--colors-muted);font-size:16px}
@media(min-width:700px) and (max-width:1099px){.bello-header-inner{padding:20px 28px;gap:24px}.header-spacious .bello-brand{width:145px}.bello-desktop-nav{gap:24px}.header-spacious nav ul{gap:20px}.header-spacious nav a{font-size:16px}.header-spacious .bello-button{padding:12px 18px}.bello-hero.hero-spacious{width:calc(100% - 56px);gap:32px;min-height:580px;padding:64px 0 80px}.hero-spacious h1,.hero-spacious h2{font-size:48px}}
@media(max-width:699px){.bello-header-inner{padding:16px 20px;gap:16px;position:relative}.header-spacious .bello-brand{width:145px}.header-spacious .bello-brand img{height:46px}.bello-desktop-nav{display:none}.bello-mobile-menu{display:block}.bello-mobile-menu summary{min-height:48px;min-width:76px;display:flex;align-items:center;gap:10px;cursor:pointer;font:600 16px var(--typography-navigation);list-style:none}.bello-mobile-menu summary::-webkit-details-marker{display:none}.bello-mobile-panel{position:absolute;left:0;right:0;top:100%;background:var(--colors-background);padding:20px;box-shadow:0 12px 18px #0000000a;max-height:70vh;overflow:auto}.bello-mobile-panel nav ul{display:flex;flex-direction:column;align-items:stretch;gap:4px}.bello-mobile-panel nav a{display:block;padding:14px 0;min-height:48px}.bello-mobile-panel .bello-actions{padding-top:16px}.bello-mobile-panel .bello-button{width:100%}.bello-hero.hero-spacious{width:calc(100% - 40px);grid-template-columns:1fr;gap:40px;min-height:0;padding:48px 0 64px}.hero-spacious h1,.hero-spacious h2{font-size:clamp(40px,10.5vw,52px);margin-bottom:22px}.hero-spacious .bello-copy{font-size:18px}.hero-spacious .bello-actions{align-items:stretch}.hero-spacious .bello-button{padding:14px 18px}.hero-spacious .bello-hero-media img,.bello-media-placeholder{aspect-ratio:4/3}}

.bello-mobile-menu summary:focus-visible{outline:3px solid var(--colors-primary);outline-offset:4px}

/* Optional editorial category grid; existing releases and other sections retain their layout. */
.bello-category-grid.grid-editorial{padding-top:120px;padding-bottom:140px}
.grid-editorial>h2{font-size:clamp(36px,4vw,56px);letter-spacing:-.035em;line-height:1.1;margin-bottom:64px}
.grid-editorial .bello-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:80px}
.grid-editorial.grid-gap-comfortable .bello-grid{gap:56px}
.grid-editorial .bello-card{aspect-ratio:1;min-width:0;border:0;box-shadow:none;border-radius:var(--radius-card)}
.grid-editorial .bello-card-media{flex:1;min-height:0;overflow:hidden}
.grid-editorial .bello-card-media picture{display:block;height:100%}
.grid-editorial .bello-card-media img{height:100%;width:100%;aspect-ratio:auto;object-fit:cover;transition:transform .25s ease}
.grid-editorial .bello-card-placeholder{height:100%;background:var(--colors-surface)}
.grid-editorial .bello-card-copy{padding:28px 64px 32px 32px}
.grid-editorial h3{font-size:clamp(24px,2.3vw,34px);line-height:1.15;letter-spacing:-.025em}
.grid-editorial .bello-card-copy p{font-size:17px;line-height:1.5;margin:10px 0 0}
.grid-editorial .bello-arrow{top:30px;right:28px;transition:transform .2s ease}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.grid-editorial .bello-card:hover img{transform:scale(1.025)}.grid-editorial .bello-card:hover .bello-arrow{transform:translate(3px,-3px)}}
@media(min-width:700px) and (max-width:1099px){.bello-category-grid.grid-editorial{padding-top:96px;padding-bottom:112px}.grid-editorial .bello-grid{gap:48px}.grid-editorial.grid-gap-comfortable .bello-grid{gap:32px}.grid-editorial .bello-card-copy{padding:24px 48px 24px 24px}.grid-editorial .bello-card-copy p{font-size:15px}.grid-editorial .bello-arrow{right:20px;top:24px}}
@media(max-width:699px){.bello-category-grid.grid-editorial{padding-top:80px;padding-bottom:96px}.grid-editorial>h2{margin-bottom:40px}.grid-editorial .bello-grid{grid-template-columns:1fr;gap:32px}.grid-editorial.grid-gap-comfortable .bello-grid{gap:24px}.grid-editorial .bello-card-copy{padding:24px 52px 28px 24px}.grid-editorial h3{font-size:28px}.grid-editorial .bello-card-copy p{font-size:16px}.grid-editorial .bello-arrow{right:24px;top:24px}}

/* Optional application presentation of the existing ImageText component. */
.bello-image-text.image-text-application{grid-template-columns:minmax(0, .85fr) minmax(0,1.15fr);gap:80px;align-items:center}
.image-text-application .bello-app-copy{min-width:0}
.image-text-application .bello-eyebrow{color:var(--colors-primary);font-size:14px;line-height:1.4;font-weight:700;letter-spacing:.12em;margin:0 0 24px}
.image-text-application h2{font-size:clamp(36px,3.5vw,52px);line-height:1.1;letter-spacing:-.035em;margin:0 0 28px}
.image-text-application .bello-copy{font-size:20px;line-height:1.6;margin:0;max-width:38ch}
.image-text-application .bello-actions{margin-top:32px}
.image-text-application .bello-button{border:0;min-height:52px;padding:14px 26px;font-size:17px;font-weight:650;transition:filter .15s,transform .15s}
.image-text-application .bello-button:hover{filter:brightness(.92)}.image-text-application .bello-button:active{transform:translateY(1px)}
.image-text-application .bello-app-media{min-width:0;overflow:hidden;border-radius:var(--radius-card);background:var(--colors-surface);box-shadow:0 8px 30px #00000006}
.image-text-application .bello-app-media picture{display:block}
.image-text-application .bello-app-media img{aspect-ratio:4/3;object-fit:contain;width:100%;height:auto;border-radius:0}
.image-text-application .bello-app-placeholder{aspect-ratio:4/3;display:grid;place-items:center;text-align:center;padding:40px;color:var(--colors-muted);font-size:16px}
.image-text-application.app-media-left{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
.image-text-application.app-media-left .bello-app-media{order:-1}
@media(min-width:1000px) and (max-width:1199px){.bello-image-text.image-text-application{gap:48px}}
@media(max-width:999px){.bello-image-text.image-text-application{grid-template-columns:1fr;gap:48px}.image-text-application.app-media-left .bello-app-media{order:0}.image-text-application .bello-app-copy{max-width:680px}.image-text-application .bello-app-media{width:100%}}
@media(max-width:699px){.bello-image-text.image-text-application{gap:36px}.image-text-application .bello-eyebrow{font-size:13px;margin-bottom:20px}.image-text-application h2{font-size:36px;margin-bottom:24px}.image-text-application .bello-copy{font-size:18px}.image-text-application .bello-app-placeholder{padding:28px}}

/* Optional CTA/footer presentations. Platform credit deliberately ignores editable tokens. */
.bello-cta.cta-emphasis{background:var(--colors-primary);border-radius:var(--radius-card);padding:clamp(40px,6vw,88px);margin-top:40px;margin-bottom:40px}
.cta-emphasis .bello-cta-content{color:#fff;max-width:960px}
.cta-emphasis h2{font-size:clamp(36px,4vw,56px);line-height:1.1;letter-spacing:-.035em;margin:0 0 28px}
.cta-emphasis .bello-copy{font-size:20px;line-height:1.6;margin:0;max-width:55ch}
.cta-emphasis .bello-actions{gap:16px;margin-top:36px}
.cta-emphasis .bello-button{border:0;min-height:54px;padding:15px 28px;background:#fff;color:var(--colors-primary);font-size:17px;font-weight:650;transition:filter .15s,transform .15s}
.cta-emphasis .bello-button.secondary{background:#ffffff18;color:#fff;box-shadow:inset 0 0 0 1px #ffffff80}
.cta-emphasis .bello-button:hover{filter:brightness(.94)}.cta-emphasis .bello-button:active{transform:translateY(1px)}.cta-emphasis .bello-button:focus-visible{outline-color:#fff}
.bello-footer.footer-minimal{border:0;padding-top:56px;padding-bottom:24px;gap:40px}
.footer-minimal .bello-footer-brand{min-width:0}.footer-minimal .bello-footer-brand img{width:190px;height:64px;object-fit:contain;object-position:left center;aspect-ratio:auto;border-radius:0}
.footer-minimal .bello-copy{font-size:16px;margin:12px 0 0}.footer-minimal nav ul{gap:16px 32px}.footer-minimal nav a{display:inline-flex;align-items:center;min-height:48px;font-size:17px;text-decoration:none}
.footer-minimal nav a:hover{text-decoration:underline}
.bello-platform-credit{display:block;visibility:visible;opacity:1;position:static;background:#00584D;color:#fff;font:400 16px/1.6 system-ui,sans-serif;text-align:center;padding:0 24px 40px;white-space:normal;overflow-wrap:anywhere}
@media(max-width:699px){.bello-cta.cta-emphasis{padding:40px 24px;margin-top:24px;margin-bottom:24px}.cta-emphasis h2{font-size:36px}.cta-emphasis .bello-copy{font-size:18px}.cta-emphasis .bello-actions{flex-direction:column;align-items:stretch;gap:14px;margin-top:28px}.cta-emphasis .bello-button{width:100%;padding:15px 18px}.bello-footer.footer-minimal{padding-top:40px;gap:24px}.footer-minimal nav ul{gap:8px 24px}.bello-platform-credit{text-align:left;padding:0 16px 40px}}
.cta-emphasis.spacing-none{padding:0}.cta-emphasis.spacing-small{padding:clamp(24px,4vw,48px)}.cta-emphasis.spacing-medium{padding:clamp(32px,5vw,64px)}
.footer-minimal.spacing-none{padding-top:0;padding-bottom:0}.footer-minimal.spacing-small{padding-top:24px;padding-bottom:16px}.footer-minimal.spacing-medium{padding-top:40px;padding-bottom:20px}
/* BELLO 1.1: opt-in editorial compositions. Older variants stay unchanged. */
.header-editorial .bello-header-inner{max-width:var(--layout-wideWidth);padding:20px clamp(20px,4vw,64px)}
.header-editorial .bello-desktop-nav{border-radius:999px;background:var(--colors-surface);padding:8px 8px 8px 32px;gap:32px}
.header-editorial nav ul{gap:32px}.header-editorial .bello-button{border-radius:999px}
.bello-hero.hero-editorial-image{display:flex;flex-direction:column;align-items:stretch;width:min(calc(100% - 64px),var(--layout-wideWidth));gap:0;padding:16px 0 0;min-height:0}
.hero-editorial-image .bello-hero-media{order:-1;overflow:hidden;border-radius:var(--radius-card);background:var(--colors-surface)}
.hero-editorial-image .bello-hero-media img,.hero-editorial-image .bello-media-placeholder{width:100%;height:clamp(420px,49vw,780px);aspect-ratio:auto;border-radius:0}
.hero-editorial-image .bello-hero-copy{padding:48px clamp(8px,3vw,48px) 0;display:grid;grid-template-columns:1.4fr 1fr;gap:24px 64px;align-items:start}
.hero-editorial-image h1,.hero-editorial-image h2{font-size:clamp(48px,6vw,88px);max-width:12ch;margin:0;grid-row:span 2;letter-spacing:-.055em}
.hero-editorial-image .bello-copy{margin:8px 0 0;font-size:22px;max-width:30ch}.hero-editorial-image .bello-actions{margin:0;align-self:start}
.statement-editorial{padding-top:calc(var(--spacing-section)*1.8);padding-bottom:calc(var(--spacing-section)*1.2)}
.statement-editorial h2{font-size:clamp(32px,4.2vw,60px);line-height:1.25;letter-spacing:-.035em;max-width:31ch;margin:0;font-weight:550}
.bello-category-grid.grid-masonry{padding-top:var(--spacing-section);padding-bottom:calc(var(--spacing-section)*1.6);border-top:1px solid #e5e9e7}
.grid-masonry>h2{font-size:clamp(32px,3vw,44px);margin-bottom:36px}
.bello-chips{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 48px}
.bello-chips a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;border-radius:999px;background:var(--colors-surface);text-decoration:none;font-size:17px;font-weight:600}
.grid-masonry:not(:has(.bello-card:target)) .bello-chips a:first-child,.bello-chips a:active,.bello-chips a:focus-visible{background:var(--colors-primary);color:#fff}
.grid-masonry .bello-grid,.grid-masonry.grid-gap-comfortable .bello-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--spacing-grid);grid-auto-flow:row}
.grid-masonry.grid-gap-comfortable .bello-grid{gap:calc(var(--spacing-grid)*.66)}
.grid-masonry .bello-card{aspect-ratio:auto;min-width:0;width:100%;scroll-margin-top:140px}
.grid-masonry .tile-square{aspect-ratio:1}.grid-masonry .tile-wide{grid-column:span 2;aspect-ratio:2}.grid-masonry .tile-tall{grid-row:span 2}
.grid-masonry .bello-card-copy{padding:24px 52px 28px 28px}.grid-masonry h3{font-size:clamp(26px,2.5vw,38px);font-weight:600}
.grid-masonry .bello-card-copy p{font-size:16px}.grid-masonry .bello-arrow{right:24px;top:26px}
.grid-masonry .bello-card-media{min-height:160px}.grid-masonry .bello-card-placeholder{display:grid;place-items:center;text-align:center;padding:24px;color:var(--colors-muted);font-size:15px}
.grid-masonry .tile-tone-accent{background:var(--colors-primary);color:#fff;justify-content:space-between;min-height:380px}
.grid-masonry .tile-tone-accent .bello-card-copy{padding:40px 32px 88px;height:100%;display:flex;flex-direction:column;justify-content:space-between}
.grid-masonry .tile-tone-accent h3{font-size:clamp(28px,3.2vw,46px);line-height:1.16;letter-spacing:-.04em}
.grid-masonry .tile-tone-accent p{color:#fff}.grid-masonry .tile-tone-accent .bello-arrow{top:auto;bottom:32px;right:32px;font-size:32px}
.grid-masonry .bello-card:target{outline:3px solid var(--colors-primary);outline-offset:6px}
.bello-image-text.image-text-editorial{background:var(--colors-surface);border-radius:var(--radius-card);padding:clamp(32px,5vw,72px);grid-template-columns:1fr;gap:56px;margin-bottom:var(--spacing-section)}
.image-text-editorial .bello-app-copy{max-width:860px}.image-text-editorial h2{font-size:clamp(36px,4.4vw,64px);max-width:17ch}.image-text-editorial .bello-copy{max-width:48ch}
.image-text-editorial .bello-app-media{box-shadow:none;background:var(--colors-background)}
.image-text-editorial .bello-app-media img,.image-text-editorial .bello-app-placeholder{aspect-ratio:16/9}.image-text-editorial .bello-app-media{order:0}
.image-text-editorial.app-media-left .bello-app-media{order:-1}
.bello-cta.cta-editorial{margin-top:calc(var(--spacing-section)*1.5);margin-bottom:calc(var(--spacing-section)*1.5)}
.bello-footer.footer-dark{width:100%;max-width:none;background:var(--colors-primary);padding:72px max(32px,calc((100% - var(--layout-contentWidth))/2));gap:40px}
.footer-dark .bello-footer-brand,.footer-dark nav{color:#fff}.footer-dark .bello-footer-brand>a{display:inline-block;padding:16px 24px;border-radius:16px;background:#fff}
.footer-dark a:focus-visible{outline-color:#fff}
@media(min-width:700px) and (max-width:1099px){
 .header-editorial .bello-desktop-nav{gap:20px;padding-left:20px}.header-editorial nav ul{gap:18px}
 .hero-editorial-image .bello-hero-copy{grid-template-columns:1fr;gap:24px;padding-top:36px}.hero-editorial-image h1,.hero-editorial-image h2{grid-row:auto;max-width:18ch;font-size:64px}
 .grid-masonry .bello-grid,.grid-masonry.grid-gap-comfortable .bello-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .grid-masonry .tile-tall{grid-row:auto}.grid-masonry .tile-wide{grid-column:auto;aspect-ratio:auto;min-height:360px}.grid-masonry .tile-square{min-height:340px}
 .grid-masonry.tablet-columns-one .bello-grid{grid-template-columns:1fr}.grid-masonry.tablet-columns-one .tile-wide{grid-column:auto}
}

/* Customer portal access pages */
.bello-portal-access{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,520px);align-items:center;gap:clamp(48px,8vw,128px);min-height:calc(100vh - 210px);padding-top:clamp(64px,9vw,130px);padding-bottom:clamp(64px,9vw,130px)}
.bello-portal-copy h2{max-width:12ch;font-size:clamp(44px,5.2vw,76px);letter-spacing:-.045em}.bello-portal-copy .bello-copy{font-size:clamp(18px,1.5vw,22px);line-height:1.55}.bello-portal-copy ul{display:grid;gap:12px;margin:32px 0 0;padding:0;list-style:none;color:var(--colors-muted)}.bello-portal-copy li{display:flex;align-items:center;gap:12px}.bello-portal-copy li::before{content:'✓';display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:color-mix(in srgb,var(--colors-primary) 12%,transparent);color:var(--colors-primary);font-weight:800}
.bello-portal-card{padding:clamp(28px,4vw,48px);border:1px solid color-mix(in srgb,var(--colors-muted) 22%,transparent);border-radius:var(--radius-card);background:var(--colors-surface);box-shadow:0 24px 70px rgba(15,35,25,.09)}.bello-portal-card .bello-eyebrow{margin:0 0 8px;color:var(--colors-primary);font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.bello-portal-card h3{font-size:clamp(28px,3vw,38px);margin-bottom:28px}
.bello-portal-form{display:grid;gap:18px}.bello-portal-form label{display:grid;gap:7px;font-weight:650}.bello-portal-form label>span:first-child{font-size:14px}.bello-portal-form small{color:var(--colors-muted);font-weight:500}.bello-portal-form input{width:100%;min-height:52px;padding:0 15px;border:1px solid color-mix(in srgb,var(--colors-muted) 35%,transparent);border-radius:var(--radius-button);background:var(--colors-background);color:var(--colors-text);font:inherit}.bello-portal-form input:focus-visible,.bello-portal-form button:focus-visible{outline:3px solid color-mix(in srgb,var(--colors-primary) 35%,transparent);outline-offset:2px;border-color:var(--colors-primary)}.bello-password-field{position:relative}.bello-password-field input{padding-right:94px}.bello-password-field button{position:absolute;right:7px;top:7px;min-height:38px;padding:0 10px;border:0;background:transparent;color:var(--colors-primary);font-weight:700;cursor:pointer}.bello-portal-submit{display:flex;align-items:center;justify-content:space-between;min-height:54px;margin-top:4px;padding:0 20px;border:0;border-radius:var(--radius-button);background:var(--colors-primary);color:#fff;font:700 16px var(--typography-body);cursor:pointer}.bello-portal-submit:disabled{cursor:wait;opacity:.65}.bello-portal-submit span{font-size:22px}.bello-form-message:empty{display:none}.bello-form-message{padding:12px 14px;border-radius:var(--radius-button);font-size:14px}.bello-form-message.is-error{background:#fff0f0;color:#a51616}.bello-form-message.is-success{background:#eaf7ef;color:#14663a}.bello-portal-links{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:14px}.bello-portal-links a,.bello-portal-alternate a{color:var(--colors-primary);font-weight:700}.bello-portal-alternate{text-align:center;margin:2px 0 0}.bello-portal-secure{margin:26px 0 0;padding-top:20px;border-top:1px solid color-mix(in srgb,var(--colors-muted) 20%,transparent);color:var(--colors-muted);font-size:13px;text-align:center}
@media(max-width:900px){.bello-portal-access{grid-template-columns:1fr;gap:40px;min-height:0}.bello-portal-copy h2{max-width:15ch}.bello-portal-card{width:min(100%,620px)}}
@media(max-width:699px){.bello-portal-access{width:calc(100% - 32px);padding-top:44px;padding-bottom:52px}.bello-portal-copy h2{font-size:clamp(40px,12vw,56px)}.bello-portal-card{padding:24px 18px}.bello-portal-links{flex-direction:column;align-items:flex-start}}
@media(max-width:699px){
 .header-editorial .bello-header-inner{padding:14px 20px}
 .bello-hero.hero-editorial-image{width:calc(100% - 32px);padding-top:8px}.hero-editorial-image .bello-hero-media img,.hero-editorial-image .bello-media-placeholder{height:390px}
 .hero-editorial-image .bello-hero-copy{display:block;padding:32px 4px 0}.hero-editorial-image h1,.hero-editorial-image h2{font-size:clamp(44px,11vw,60px);max-width:12ch;margin-bottom:24px}.hero-editorial-image .bello-copy{font-size:19px;margin-bottom:28px}.hero-editorial-image .bello-actions{flex-direction:column}
 .statement-editorial{padding-top:96px;padding-bottom:72px}.statement-editorial h2{font-size:34px}
 .bello-chips{gap:8px;margin-bottom:32px}.bello-chips a{font-size:16px;padding:12px 18px}
 .grid-masonry .bello-grid,.grid-masonry.grid-gap-comfortable .bello-grid{grid-template-columns:1fr;gap:32px}
 .grid-masonry .tile-wide,.grid-masonry .tile-tall{aspect-ratio:auto;grid-column:auto;grid-row:auto;min-height:380px}.grid-masonry .tile-square{min-height:360px}
 .grid-masonry h3{font-size:30px}.grid-masonry .tile-tone-accent h3{font-size:38px}
 .bello-image-text.image-text-editorial{padding:32px 24px;gap:36px}.image-text-editorial .bello-app-placeholder{aspect-ratio:4/3;padding:24px}
 .bello-footer.footer-dark{padding:48px 24px;align-items:flex-start}
}

@media(min-width:1100px){.hero-editorial-image.hide-desktop{display:none}}
@media(min-width:700px) and (max-width:1099px){.hero-editorial-image.hide-tablet{display:none}}
@media(max-width:699px){.hero-editorial-image.hide-mobile{display:none}}

/* Product photographs can opt into full visibility instead of editorial cropping. */
.grid-editorial .image-contain .bello-card-media{background:#fff}
.grid-editorial .image-contain .bello-card-media img{object-fit:contain;padding:16px}
@media(hover:hover){.grid-editorial .image-contain:hover img{transform:none}}
.hero-editorial-image,.statement-editorial,.grid-masonry,.footer-dark{scroll-margin-top:140px}
/* BELLO 1.2 opt-in reference composition. Existing layouts remain pinned. */
.bello-header.header-floating{position:absolute;inset:0 0 auto;width:100%;background:transparent;border:0;padding:0;z-index:20}
.header-floating .bello-header-inner{width:min(82%,var(--layout-contentWidth));padding:24px 0;gap:24px}
.header-floating .bello-brand{width:175px;background:rgba(255,255,255,.92);border-radius:8px;padding:8px 12px}
.header-floating .bello-brand img{height:42px}
.header-floating .bello-desktop-nav{gap:24px;padding:4px 8px 4px 24px;border-radius:999px;background:rgba(255,255,255,.88);backdrop-filter:blur(12px)}
.header-floating nav ul{gap:24px}.header-floating nav a{font-size:16px;font-weight:500}.header-floating .bello-button{min-height:44px;padding:8px 20px;border-radius:999px;font-size:16px}
.bello-hero.hero-fullbleed-hero{position:relative;display:flex;align-items:flex-end;width:100%;max-width:none;height:80vh;min-height:520px;padding:0;gap:0;isolation:isolate}
.hero-fullbleed-hero .bello-hero-media{position:absolute;inset:0;z-index:-2;overflow:hidden}
.hero-fullbleed-hero .bello-hero-media img,.hero-fullbleed-hero .bello-hero-media video,.hero-fullbleed-hero .bello-media-placeholder{width:100%;height:100%;aspect-ratio:auto;border-radius:0;object-fit:cover}
.hero-fullbleed-hero .bello-media-placeholder{display:grid;place-items:center;background:#dce3df;color:#536b61;padding:100px 24px 160px;text-align:center}
.hero-fullbleed-hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(transparent 35%,rgba(0,0,0,.62))}
.hero-fullbleed-hero:has(.bello-media-placeholder):after{background:none}
.hero-fullbleed-hero .bello-hero-copy{width:min(82%,var(--layout-contentWidth));margin:0 auto;padding:0 0 54px;color:#fff}
.hero-fullbleed-hero:has(.bello-media-placeholder) .bello-hero-copy{color:var(--colors-primary)}
.hero-fullbleed-hero h1,.hero-fullbleed-hero h2{font-size:clamp(42px,4.5vw,72px);font-weight:500;letter-spacing:-.035em;max-width:22ch;margin:0;line-height:1.06}
.hero-fullbleed-hero .bello-copy{font-size:18px;margin:16px 0 0;max-width:45ch}
.bello-statement.statement-reference{width:min(82%,var(--layout-contentWidth));padding:48px 0 30px;border-bottom:1px solid #bdc9c3}
.statement-reference h2{font-size:clamp(25px,2.6vw,38px);font-weight:400;line-height:1.28;letter-spacing:-.018em;color:var(--colors-primary);max-width:100%;margin:0}
.bello-category-grid.grid-reference{--reference-gap:var(--spacing-grid);container-type:inline-size;width:min(82%,var(--layout-contentWidth));padding:32px 0 48px;border:0}
.grid-reference>h2{font-size:26px;margin:0 0 24px}
.grid-reference .bello-chips{gap:8px;margin:0 0 64px}
.grid-reference .bello-chips a{min-height:44px;padding:8px 16px;border:1px solid #8eaaa0;font-size:15px;font-weight:400;background:#fff;color:var(--colors-primary)}
.grid-reference.grid-gap-comfortable{--reference-gap:calc(var(--spacing-grid)*.66)}
.grid-reference .bello-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--reference-gap);grid-auto-flow:row;grid-auto-rows:calc((100cqw - 2 * var(--reference-gap)) / 3)}
.grid-reference .bello-card{width:100%;height:100%;min-height:0;aspect-ratio:auto;border-radius:var(--radius-card);background:var(--colors-surface)}
.grid-reference .tile-feature{grid-column:span 2;grid-row:span 2}
.grid-reference .tile-tall{grid-row:span 2}.grid-reference .tile-wide{grid-column:span 2}
.grid-reference .bello-card-media{position:absolute;inset:0;min-height:0;height:100%;background:var(--colors-surface)}
.grid-reference .bello-card-media img{height:100%;width:100%;padding:0;object-fit:cover}
.grid-reference .image-contain .bello-card-media{background:#f3f5f3}
.grid-reference .image-contain .bello-card-media img{object-fit:contain;padding:22px 22px 74px;mix-blend-mode:multiply}
.grid-reference .bello-card-placeholder{height:100%;padding:40px;color:#586c62;font-size:16px;background:#e5eae6}
.grid-reference .bello-card-copy{position:relative;padding:24px;z-index:1;display:flex;flex-direction:column;height:100%;justify-content:flex-start;min-height:0}
.grid-reference .bello-card-copy h3{font-size:clamp(22px,2.2vw,32px);font-weight:500;line-height:1.2;letter-spacing:-.02em}
.grid-reference .bello-card-copy p{font-size:16px;line-height:1.4;margin:12px 0 0}
.grid-reference .card-product .bello-card-copy{height:auto;margin-top:auto;padding:14px 20px;background:rgba(243,245,243,.94)}
.grid-reference .card-product h3{font-size:20px}.grid-reference .card-product p{font-size:14px;margin:4px 0 0}
.grid-reference .card-product .bello-arrow{top:12px;right:16px;font-size:18px}
.grid-reference .tile-tone-accent{background:var(--colors-primary)}
.grid-reference .tile-tone-accent .bello-card-copy{color:#fff;padding:26px}
.grid-reference .tile-tone-accent .bello-card-copy p{color:#fff}
.grid-reference .card-brand .bello-card-copy{justify-content:center;text-align:center}
.bello-category-grid.grid-brand-logos{width:min(82%,var(--layout-contentWidth));padding-top:clamp(24px,4vw,48px);padding-bottom:clamp(24px,4vw,48px)}
.grid-brand-logos .bello-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;gap:clamp(20px,3vw,40px)}
.grid-brand-logos .card-brand{grid-column:auto;grid-row:auto;aspect-ratio:auto;height:auto;min-height:clamp(160px,16vw,220px);border:1px solid #dbe4df;background:#fff;box-shadow:none}
.grid-brand-logos .card-brand .bello-card-media{position:static;display:flex;align-items:center;justify-content:center;height:clamp(160px,16vw,220px);padding:clamp(18px,3vw,34px);background:#fff}
.grid-brand-logos .card-brand .bello-card-media img{width:100%;height:100%;padding:0;object-fit:contain;mix-blend-mode:normal}
.grid-brand-logos .card-copy-empty .bello-card-copy{display:none}
.grid-reference .card-highlight:has(img) .bello-card-copy{color:#fff;background:linear-gradient(rgba(0,0,0,.5),transparent 55%,rgba(0,0,0,.25))}
.grid-reference .card-highlight:has(img) p{color:#fff}
.grid-reference .bello-card-link{display:inline-flex;align-items:center;align-self:flex-start;margin-top:auto;min-height:44px;padding:8px 18px;border-radius:999px;background:#fff;color:var(--colors-primary);font-size:16px}
.grid-reference .card-application .bello-card-media{top:47%;bottom:0;height:53%;border-radius:0}
.grid-reference .card-application .bello-card-copy{height:47%;padding:26px;gap:10px}
.grid-reference .card-application .bello-card-copy p{margin:0;max-width:48ch}
.grid-reference .card-application .bello-eyebrow{font-size:12px;font-weight:700;letter-spacing:.1em}
.grid-reference .card-application .bello-card-link{margin:0;background:var(--colors-primary);color:#fff}
.grid-reference .bello-card:target{outline-offset:3px;outline-width:2px}
.bello-footer.footer-compact{padding:28px 9%;gap:24px;border:0;min-height:150px}
.footer-compact .bello-footer-brand>a{padding:8px 12px;border-radius:8px}.footer-compact .bello-footer-brand img{width:160px;height:44px}
.footer-compact .bello-footer-brand p{font-size:14px;margin:10px 0 0}.footer-compact nav a{min-height:44px;display:inline-flex;align-items:center;font-size:16px}
body:has(.grid-reference) .bello-identity{width:82%;padding:12px 0 24px;margin:auto;font-size:14px}
@media(min-width:700px) and (max-width:1099px){
 .header-floating .bello-header-inner{width:90%}.header-floating .bello-brand{width:150px}.header-floating .bello-desktop-nav{gap:12px;padding-left:16px}.header-floating nav ul{gap:14px}
 .grid-reference .bello-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:calc((100cqw - var(--reference-gap)) / 2)}
 .grid-reference .tile-feature{grid-column:auto;grid-row:auto}.grid-reference .tile-tall{grid-row:auto}.grid-reference .tile-wide{grid-column:span 2}
 .grid-reference .card-brand{grid-column:span 2}.grid-reference .card-application{grid-column:span 2;grid-row:span 2}
 .grid-reference.tablet-columns-one .bello-grid{grid-auto-rows:auto}.grid-reference.tablet-columns-one .bello-card{grid-column:auto;grid-row:auto;aspect-ratio:1}
 .grid-reference .card-info h3{font-size:25px}.grid-reference .card-application h3{font-size:32px}
}
@media(max-width:699px){
 .header-floating .bello-header-inner{width:90%;padding:18px 0}.header-floating .bello-brand{width:150px}.header-floating .bello-mobile-menu{background:#fff;border-radius:999px;color:var(--colors-primary)}
 .hero-fullbleed-hero .bello-hero-copy{width:88%;padding-bottom:40px}.bello-hero.hero-fullbleed-hero{height:80svh;min-height:540px}
 .hero-fullbleed-hero h1,.hero-fullbleed-hero h2{font-size:44px}.hero-fullbleed-hero .bello-copy{font-size:16px}
 .bello-statement.statement-reference,.bello-category-grid.grid-reference{container-type:inline-size;width:88%}.bello-statement.statement-reference{padding:32px 0 24px}.statement-reference h2{font-size:25px}
 .bello-category-grid.grid-reference{padding:24px 0 32px}.grid-reference .bello-chips{margin-bottom:32px;gap:8px}.grid-reference .bello-chips a{font-size:14px;padding:8px 12px}
 .grid-reference .bello-grid{grid-template-columns:1fr;gap:20px;grid-auto-rows:auto}
 .grid-reference .bello-card,.grid-reference .tile-square,.grid-reference .tile-tall,.grid-reference .tile-wide,.grid-reference .tile-feature{grid-column:auto;grid-row:auto;min-height:0;aspect-ratio:1;height:auto}
 .bello-category-grid.grid-brand-logos{width:88%}.grid-brand-logos .bello-grid{grid-template-columns:1fr;gap:16px}.grid-brand-logos .card-brand{aspect-ratio:auto;min-height:140px}.grid-brand-logos .card-brand .bello-card-media{height:140px;padding:20px}
 .grid-reference .card-info,.grid-reference .card-brand{aspect-ratio:auto;min-height:280px}.grid-reference .card-info .bello-card-copy{min-height:280px}
 .grid-reference .card-application{aspect-ratio:auto;min-height:560px}.grid-reference .card-application .bello-card-copy{height:300px}.grid-reference .card-application .bello-card-media{top:300px;height:260px}
 .grid-reference .bello-card-copy h3{font-size:26px}.grid-reference .card-product h3{font-size:20px}
 .bello-footer.footer-compact{padding:32px 6%;gap:20px}.footer-compact nav ul{gap:12px 24px}
}
@media(min-width:1100px){.hero-fullbleed-hero.hide-desktop{display:none}}
@media(min-width:700px) and (max-width:1099px){.hero-fullbleed-hero.hide-tablet{display:none}}
@media(max-width:699px){.hero-fullbleed-hero.hide-mobile{display:none}}
/* Reference info tiles use lighter, larger editorial type. */
.grid-reference .card-info .bello-card-copy h3{font-size:clamp(28px,2.8vw,44px);font-weight:400}
/* The editor selection layer must not put floating navigation back into document flow. */
.editing .bello-header.header-floating{position:absolute}

/* Reference composition: typography and spacing only; grid geometry stays unchanged. */
.header-floating nav a{font-size:18px}
.header-floating .bello-button{font-size:17px;padding:10px 22px}
.header-floating .bello-header-inner{padding-top:28px;padding-bottom:28px}
.hero-fullbleed-hero h1,.hero-fullbleed-hero h2{font-size:clamp(72px,5.5vw,88px);line-height:1.02;font-weight:500}
.hero-fullbleed-hero .bello-copy{font-size:clamp(22px,1.8vw,28px);line-height:1.4;margin-top:22px}
.hero-fullbleed-hero .bello-hero-copy{padding-bottom:64px}
.bello-statement.statement-reference{padding-top:60px;padding-bottom:36px}
.statement-reference h2{font-size:clamp(28px,2.65vw,38px);line-height:1.3}
.grid-reference .bello-chips{gap:10px;margin-bottom:68px}
.grid-reference .bello-chips a{font-size:16px;padding:9px 18px}
.grid-reference .bello-card-copy h3{font-size:clamp(26px,2.5vw,36px);line-height:1.15}
.grid-reference .bello-card-copy p{font-size:clamp(16px,1.2vw,18px);line-height:1.45}
.grid-reference .card-product h3{font-size:clamp(22px,1.8vw,26px);line-height:1.18}
.grid-reference .card-product p{font-size:15px}
.grid-reference .card-product .bello-card-copy{padding:18px 36px 18px 22px}
.grid-reference .image-contain .bello-card-media img{padding-bottom:100px}
.grid-reference .card-info .bello-card-copy h3{font-size:clamp(28px,calc(3.55vw - 11px),56px);line-height:1.16}
.grid-reference .card-info.tile-tall .bello-card-copy h3{font-size:clamp(40px,3.2vw,56px)}
.grid-reference .bello-card-link{font-size:17px;font-weight:600;padding:10px 20px;line-height:1.4}
.grid-reference .card-application h3{font-size:clamp(38px,3vw,56px);line-height:1.08}
.grid-reference .card-application .bello-card-copy{padding:24px;gap:8px}
.grid-reference .card-application .bello-card-copy p{font-size:clamp(16px,1.2vw,19px);line-height:1.4}
.grid-reference .card-application .bello-eyebrow{font-size:14px}
.footer-compact .bello-footer-brand p{font-size:16px;line-height:1.5;margin-top:14px}
.footer-compact nav a{font-size:16px}
body:has(.grid-reference) .bello-identity{font-size:16px;padding-top:18px;padding-bottom:28px}
@media(min-width:700px) and (max-width:1099px){
 .header-floating nav a{font-size:16px}.header-floating .bello-button{font-size:16px;padding:8px 18px}
 .hero-fullbleed-hero h1,.hero-fullbleed-hero h2{font-size:clamp(54px,7vw,72px)}
 .hero-fullbleed-hero .bello-copy{font-size:22px}
 .grid-reference .card-info .bello-card-copy h3,.grid-reference .card-info.tile-tall .bello-card-copy h3{font-size:clamp(26px,3.5vw,34px)}
 .grid-reference .card-application h3{font-size:clamp(34px,4.5vw,46px)}
}
@media(max-width:699px){
 .hero-fullbleed-hero h1,.hero-fullbleed-hero h2{font-size:clamp(40px,10.8vw,60px);line-height:1.05}
 .hero-fullbleed-hero .bello-copy{font-size:20px;line-height:1.4;margin-top:18px}
 .hero-fullbleed-hero .bello-hero-copy{padding-bottom:40px}
 .bello-statement.statement-reference{padding-top:40px;padding-bottom:28px}.statement-reference h2{font-size:clamp(26px,6vw,32px)}
 .grid-reference .bello-chips{margin-bottom:36px;gap:8px}.grid-reference .bello-chips a{font-size:15px;padding:8px 14px}
 .grid-reference .bello-card-copy h3{font-size:26px}.grid-reference .card-product h3{font-size:22px}
 .grid-reference .card-product .bello-card-copy{padding:16px 34px 16px 18px}
 .grid-reference .card-info .bello-card-copy h3,.grid-reference .card-info.tile-tall .bello-card-copy h3{font-size:clamp(28px,7.5vw,36px)}
 .grid-reference .card-application h3{font-size:clamp(30px,7.8vw,38px)}
 .grid-reference .card-application .bello-card-copy{padding:20px;gap:8px}
 .grid-reference .card-application .bello-card-copy p{font-size:16px}
 .grid-reference .bello-card-link{font-size:16px;padding:10px 18px}
}
.bello-editor-error{display:grid;gap:8px;margin-top:24px;margin-bottom:24px;padding:24px;border:1px solid #e7a5a5;border-radius:var(--radius-card);background:#fff5f5;color:#861f1f}.bello-editor-error small{font:500 13px/1.5 var(--typography-body)}
