/* Frame Studios: closer to the original visual identity, independently rebuilt. */
:root{--frame-radius:28px;--frame-warm:#ede7e2;--frame-wide:1320px;--frame-gutter:clamp(20px,3.2vw,64px)}
.frame-header{padding-block:18px;border-bottom:0;background:#1c1c1c}
.frame-header-inner{gap:28px;max-width:1440px!important}
.frame-brand img{width:148px;max-height:50px}
.frame-navigation{font-size:15px!important;font-weight:500!important}
.frame-navigation .wp-block-navigation__container{gap:clamp(16px,2vw,30px)}
.frame-header-tools{gap:6px}
.frame-display,.frame-single-title,.frame-archive>h1{font-weight:800;letter-spacing:-.045em;line-height:1.03}
.frame-section>.wp-block-heading:not(.frame-eyebrow){font-weight:750;letter-spacing:-.045em;font-size:clamp(38px,5vw,72px)}
.frame-section .frame-eyebrow{font-weight:600;font-size:12px;letter-spacing:.14em}
.frame-page-body>h1{font-size:clamp(48px,6.5vw,88px);text-transform:uppercase;font-weight:800;max-width:1000px!important}
.frame-page-body>p{font-size:18px;line-height:1.75;max-width:800px!important}
.frame-page-body>h2{font-weight:750}
.frame-page-body>.frame-image-feature img,.frame-gallery .wp-block-image img,.frame-team-portrait img{border-radius:var(--frame-radius)}
.frame-portfolio-lead{background:var(--frame-warm);color:#1c1c1c;border-radius:0 0 44px 44px;padding:clamp(72px,10vw,144px) var(--frame-gutter);width:100%;max-width:none!important;margin:0!important}
.frame-portfolio-lead-inner{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(40px,8vw,130px);align-items:center;max-width:1320px!important;margin-inline:auto!important}
.frame-portfolio-lead h1{font-size:clamp(48px,6vw,88px);font-weight:800;text-transform:uppercase;letter-spacing:-.045em;line-height:1.06;max-width:760px!important;margin:0!important;text-wrap:initial}
.frame-portfolio-lead p{font-size:clamp(17px,1.5vw,20px);line-height:1.55;color:#696560;text-align:right;margin:0!important;max-width:470px!important}
.frame-portfolio-content{padding-top:72px!important}
.frame-portfolio-content .frame-filters{justify-content:center;gap:24px;margin:0 0 56px!important;max-width:none!important}
.frame-filters a{border:0!important;border-radius:0!important;padding:10px 0!important;font-size:14px;font-weight:500;position:relative;background:transparent!important;color:var(--frame-muted)!important}
.frame-filters a:hover,.frame-filters a[aria-current]{color:var(--frame-paper)!important}
.frame-filters a[aria-current]:after{content:'';position:absolute;bottom:0;left:50%;width:5px;height:5px;border-radius:50%;background:#ffd600;transform:translateX(-50%)}
.frame-project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.frame-project-grid .frame-card:nth-child(n){margin:0!important}
.frame-project-grid .frame-card{position:relative;counter-increment:frame-project;border-radius:var(--frame-radius);overflow:hidden;background:#292925;isolation:isolate}
.frame-project-grid .frame-card-link{display:block;color:#fff;position:relative}
.frame-project-grid .frame-card-media{aspect-ratio:4/3;border-radius:var(--frame-radius);overflow:hidden}
.frame-project-grid .frame-card-media img{height:100%;width:100%;object-fit:cover;transition:filter .6s ease}
.frame-project-grid .frame-card-body{position:absolute;inset:auto 0 0;z-index:2;padding:56px 26px 25px;background:linear-gradient(transparent,rgba(0,0,0,.82));pointer-events:none;color:#fff}
.frame-project-grid .frame-card-title{font-size:clamp(20px,1.9vw,29px);font-weight:700;letter-spacing:-.04em;line-height:1.13;margin:0 24px 0 0;color:#fff}
.frame-project-grid .frame-card-title span{display:none}
.frame-project-grid .frame-card-meta{font-size:10px;letter-spacing:.13em;font-weight:500;color:#e8e6e0;margin:0 0 9px}
.frame-project-grid .frame-card-body:after{right:22px;top:auto;bottom:27px;font-size:24px;color:#ffd600}
.frame-project-grid .frame-card-link:focus-visible{outline:3px solid #ffd600;outline-offset:-5px;border-radius:var(--frame-radius)}
.frame-project-grid .frame-card:hover img{filter:brightness(1.08)}
.frame-motion-image-plane{position:absolute;inset:-7% -2%;overflow:hidden;will-change:transform}
.frame-motion-image-plane img{width:100%;height:100%;object-fit:cover}
.frame-project-cursor{position:absolute;left:0;top:0;width:108px;height:108px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:18px;background:#ffd600;color:#171717;font-size:11px;line-height:1.3;font-weight:750;text-align:center;z-index:1;pointer-events:none;opacity:0;will-change:transform}
.frame-motion-word{display:inline-block;overflow:clip;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.frame-motion-word-inner{display:inline-block;will-change:transform}
.frame-hero:not(.wp-block-cover){height:clamp(420px,73svh,880px);min-height:0;padding:0;margin:0;display:block}
.frame-hero-image{z-index:-2}
.frame-hero-image img{object-position:center 43%}
.frame-hero:not(.wp-block-cover):after{background:linear-gradient(180deg,rgba(0,0,0,.03) 40%,rgba(0,0,0,.36))}
.frame-hero .frame-embed--hero{position:absolute;inset:0;aspect-ratio:auto;width:100%;height:100%;max-width:none!important;margin:0!important;padding:0;border:0;border-radius:0;background:transparent;z-index:2;min-height:0}
.frame-embed--hero .frame-embed-placeholder{max-width:none;padding:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.frame-embed--hero .frame-embed-placeholder>p:first-child{position:absolute;left:var(--frame-gutter);bottom:20px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin:0;padding:0;max-width:40%}
.frame-embed--hero .frame-embed-placeholder>p:nth-child(2){position:absolute;right:var(--frame-gutter);bottom:18px;width:360px;max-width:44%;font-size:10px;line-height:1.5;text-align:right;color:#eee;margin:0;padding:0}
.frame-embed--hero .frame-embed-placeholder>p:last-child{position:absolute;left:var(--frame-gutter);bottom:62px;width:auto;height:auto;margin:0;font-size:11px;line-height:1.4;max-width:40%;text-align:left;color:#fff}
.frame-embed--hero .frame-embed-placeholder>p{background:rgba(0,0,0,.72);border-radius:6px;padding:5px 8px!important}
.frame-embed--hero .frame-embed-placeholder>p a{color:#fff}
.frame-embed--hero .frame-embed-load{border:1px solid rgba(255,255,255,.8);border-radius:50%;width:110px;height:110px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:11px;padding:16px;color:white;font-size:10px;letter-spacing:.05em;background:rgba(0,0,0,.08);backdrop-filter:blur(5px);transition:background .3s,transform .3s,border-color .3s}
.frame-embed--hero .frame-embed-load:before{content:'▶';font-size:22px;line-height:1;margin:0}
.frame-embed--hero .frame-embed-load:hover{background:#ffd600;color:#1c1c1c;border-color:#ffd600;transform:scale(1.08)}
.frame-marquee{position:relative;display:flex;align-items:center;overflow:hidden;gap:0;padding-block:25px;border-bottom:0;background:#1c1c1c;color:#f5f3ed;margin:0!important;max-width:none!important}
.frame-marquee-track{display:flex;align-items:center;gap:36px;flex-shrink:0;white-space:nowrap;max-width:none!important;margin:0!important;padding:0 36px 0 0}
.frame-marquee-track>.wp-block-heading,.frame-marquee-track>p{font-family:Manrope,sans-serif;font-size:clamp(48px,6.7vw,110px);line-height:1.1;font-weight:800;text-transform:uppercase;letter-spacing:-.045em;margin:0!important;max-width:none!important}
.frame-marquee-track>p{color:transparent;-webkit-text-stroke:1px #f5f3ed}
.frame-marquee-track>p:before{content:'✳';display:inline-block;color:#ffd600;-webkit-text-stroke:0;font-size:.65em;margin-right:36px;vertical-align:10%}
.frame-marquee-toggle{position:absolute;right:10px;bottom:4px;z-index:3;width:44px;height:44px;border:0;border-radius:50%;background:#1c1c1c;color:#f5f3ed;cursor:pointer;font:inherit;font-size:15px}
.frame-marquee:not(.frame-marquee-animated){overflow-x:auto;scrollbar-width:thin}
.frame-home-projects{padding-top:64px!important}
.frame-home-projects>h2{text-align:center;margin-bottom:44px!important;font-size:clamp(48px,6vw,80px)!important;font-weight:800}
.frame-home-projects .frame-project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.frame-home-projects .frame-card,.frame-home-projects .frame-card-media{border-radius:18px}
.frame-home-projects>.wp-block-buttons{justify-content:center;margin-top:44px!important}
.wp-block-button__link{border-radius:100px;font-weight:650;padding-inline:28px}
.frame-home-services .frame-services{gap:24px}
.frame-home-services .frame-service{border:1px solid #3c3c36;border-radius:24px;padding:30px 28px!important;background:linear-gradient(145deg,#272722,#20201d);transition:border-color .3s,background .3s}
.frame-home-services .frame-service:hover{border-color:#ffd600;background:#282821}
.frame-home-services .frame-service h3{font-size:26px;font-weight:700;letter-spacing:-.035em}
.frame-home-services .frame-service p{font-size:15px;line-height:1.75}
.frame-service>.wp-block-image{margin:0 0 26px!important}
.frame-service>.wp-block-image img{width:42px;height:42px;filter:hue-rotate(25deg)}
.frame-reviews-section{background:transparent}
.frame-review-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.frame-review{border-radius:24px;background:#262622;border:0;padding:32px;font-size:15px}
.frame-review:before{font-size:65px;margin-bottom:20px}
.frame-review-rating{color:#ffd600;font-size:13px;letter-spacing:.08em}
.frame-reviews-more{margin-top:25px}.frame-reviews-more summary{cursor:pointer;min-height:44px;padding-block:12px;font-size:14px;text-align:center}
.frame-post-grid{gap:32px}.frame-post-grid .frame-card-media{border-radius:24px;aspect-ratio:4/3}
.frame-post-grid .frame-card-title{font-weight:700;line-height:1.2;letter-spacing:-.035em;font-size:25px}
.frame-single-title{text-transform:uppercase;max-width:1160px!important;font-size:clamp(40px,5.7vw,80px)}
.frame-single>.wp-block-post-featured-image img{border-radius:32px}
.frame-footer{border-radius:44px 44px 0 0;background:#242420;padding-top:70px}
.frame-footer-cta .frame-display{font-weight:800;text-transform:uppercase;font-size:clamp(58px,10vw,144px);line-height:1;letter-spacing:-.055em}
.frame-footer-cta>.frame-eyebrow{max-width:none!important;margin-left:0!important;margin-right:0!important}
.frame-footer-cta .frame-display a{text-decoration:none}
[data-frame-theme=light]{color:#1c1c1c}
[data-frame-theme=light] .frame-portfolio-content .frame-filters a[aria-current]{color:#1c1c1c!important}
[data-frame-theme=light] .frame-home-services .frame-service,[data-frame-theme=light] .frame-review{background:#e8e3db;color:#1c1c1c;border-color:#d5d0c8}
[data-frame-theme=light] .frame-home-services .frame-service p{color:#555}
[data-frame-theme=light] .frame-home-services .frame-service:hover{border-color:#776300}
[data-frame-theme=light] .frame-review-rating{color:#715d00}
[data-frame-theme=light] .frame-hero,[data-frame-theme=light] .frame-marquee,[data-frame-theme=light] .frame-footer{color:#f5f3ed}
@media(min-width:1101px){.frame-portfolio-content .frame-project-grid .frame-card:nth-child(n){margin:0!important}}
@media(max-width:1100px){.frame-project-grid,.frame-home-projects .frame-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.frame-portfolio-lead-inner{gap:40px}.frame-portfolio-lead h1{font-size:clamp(44px,6.5vw,70px)}.frame-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:781px){.frame-header{padding-block:15px}.frame-header-inner{gap:12px}.frame-brand img{width:125px}.frame-portfolio-lead{padding:64px 25px 58px;border-radius:0 0 32px 32px}.frame-portfolio-lead-inner{grid-template-columns:1fr;gap:28px}.frame-portfolio-lead h1{font-size:clamp(44px,9vw,70px)}.frame-portfolio-lead p{text-align:left;font-size:17px;max-width:540px!important}.frame-portfolio-content{padding-top:40px!important}.frame-portfolio-content .frame-filters{gap:20px;justify-content:flex-start;margin-bottom:32px!important}.frame-filters a{font-size:12px}.frame-card-body{padding-inline:22px}.frame-hero:not(.wp-block-cover){height:66svh;min-height:420px;max-height:730px}.frame-embed--hero .frame-embed-placeholder>p:nth-child(2){font-size:9px;max-width:55%}.frame-home-projects{padding-top:40px!important}.frame-home-projects>h2{font-size:48px!important}.frame-marquee{padding-block:22px}.frame-marquee-track{gap:24px;padding-right:24px}.frame-marquee-track>p:before{margin-right:24px}.frame-review-grid{grid-template-columns:1fr}.frame-gallery{gap:14px}.frame-single-title{font-size:clamp(38px,8vw,60px)}}
@media(max-width:599px){.frame-project-grid,.frame-home-projects .frame-project-grid{grid-template-columns:1fr;gap:24px}.frame-project-grid .frame-card-media{aspect-ratio:4/3}.frame-project-grid .frame-card-body{padding:65px 24px 24px}.frame-project-grid .frame-card-title{font-size:28px}.frame-project-grid .frame-card-meta{font-size:10px}.frame-portfolio-lead h1{font-size:44px;letter-spacing:-.05em}.frame-portfolio-lead p{font-size:16px}.frame-home-services .frame-service{padding:27px!important}.frame-hero-image img{object-position:14% center}.frame-embed--hero .frame-embed-load{width:94px;height:94px}.frame-footer{border-radius:30px 30px 0 0}.frame-footer-cta .frame-display{font-size:56px}.frame-page-body>p{font-size:17px}.frame-single>.wp-block-post-featured-image img{border-radius:20px}}
@media(prefers-reduced-motion:reduce){.frame-marquee{display:block;padding-inline:20px}.frame-marquee-track{white-space:normal;flex-wrap:wrap;gap:12px;justify-content:center;padding-right:0}.frame-marquee-track>.wp-block-heading,.frame-marquee-track>p{font-size:clamp(30px,6vw,60px)}.frame-marquee-track>p:before{margin-right:12px}.frame-project-cursor{display:none}.frame-motion-image-plane{will-change:auto}.frame-motion-word-inner{will-change:auto}}
.editor-styles-wrapper .frame-hero{z-index:0}.editor-styles-wrapper .frame-hero .block-editor-block-list__block{z-index:auto}.editor-styles-wrapper .frame-marquee-track{flex-wrap:wrap;white-space:normal}.editor-styles-wrapper .frame-portfolio-lead{border-radius:0 0 30px 30px}
/* Full-bleed panels compensate the native post-content root padding. */
.wp-block-post-content>.frame-portfolio-lead.alignfull,.wp-block-post-content>.frame-page-banner.alignfull,.wp-block-post-content>.frame-hero.alignfull,.wp-block-post-content>.frame-marquee.alignfull{width:calc(100% + var(--wp--style--root--padding-left,0px) + var(--wp--style--root--padding-right,0px));margin-left:calc(-1 * var(--wp--style--root--padding-left,0px))!important;margin-right:calc(-1 * var(--wp--style--root--padding-right,0px))!important;max-width:none!important}
.wp-block-post-content>.frame-section{width:100%;max-width:1320px!important}
.frame-section>.frame-reviews{max-width:none!important}
.frame-portfolio-content>.frame-eyebrow{font-size:12px!important;line-height:1.5;letter-spacing:.14em!important;margin-top:90px!important;margin-bottom:16px!important}
.frame-portfolio-content>.frame-eyebrow+.wp-block-heading{margin-top:0!important;margin-bottom:40px;font-size:clamp(38px,5vw,68px);font-weight:750}
.frame-footer-cta .frame-display{max-width:none!important;white-space:nowrap;font-size:clamp(48px,9vw,120px)}
/* Logo grid: lines drawn by the cells, so a partial last row leaves no grey blocks. */
.frame-client-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:0;background:var(--frame-ink,#1c1c1c)}
.frame-client-grid>*{box-shadow:1px 0 0 var(--frame-line),0 1px 0 var(--frame-line)}
@media(max-width:900px){.frame-client-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:599px){.frame-client-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.frame-client-grid{border-radius:24px;overflow:hidden}
.wp-block-post-content a[href*="youtube.com/hashtag/"]{display:inline-block;min-height:32px;line-height:32px;padding:2px 4px;margin-block:2px}
.frame-gallery>.wp-block-image,.frame-image-feature>.wp-block-image{overflow:hidden;border-radius:var(--frame-radius)}
.frame-embed--hero .frame-embed-placeholder>p:nth-child(2){font-size:12px}
@media(max-width:599px){.frame-embed--hero .frame-embed-placeholder{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto auto auto;gap:8px;align-items:start;padding:20px!important}.frame-embed--hero .frame-embed-placeholder>p:nth-child(n){position:static;inset:auto;width:auto;height:auto;max-width:none;margin:0;font-size:11px;text-align:left;justify-self:start}.frame-embed--hero .frame-embed-placeholder>p:first-child{grid-row:2;font-size:10px}.frame-embed--hero .frame-embed-placeholder>p:last-child{grid-row:3}.frame-embed--hero .frame-embed-placeholder>p:nth-child(2){grid-row:4}.frame-embed--hero .frame-embed-load{grid-row:1;justify-self:center;align-self:center}}
@media(max-width:380px){.frame-portfolio-lead h1{font-size:clamp(34px,11.3vw,44px)}.frame-footer-cta .frame-display{font-size:40px}}

/* Inner pages: photographic banners, split editorial rows and contact layout, as on the original. */
.frame-page-banner{border-radius:0 0 44px 44px;overflow:hidden;margin:0!important;padding:clamp(40px,6vw,88px) var(--frame-gutter)!important;max-height:780px}
.frame-page-banner .wp-block-cover__background{background:linear-gradient(180deg,rgba(0,0,0,.12) 30%,rgba(0,0,0,.72))!important;opacity:1!important}
.frame-page-banner .wp-block-cover__inner-container{width:100%;max-width:var(--frame-wide)!important;margin-inline:auto;color:#f5f3ed}
.frame-page-banner .wp-block-cover__inner-container>*{max-width:none!important;margin-inline:0!important}
.frame-page-banner h1{font-size:clamp(46px,7vw,108px);font-weight:800;text-transform:uppercase;letter-spacing:-.05em;line-height:1;margin:0!important;color:#f5f3ed}
.frame-page-banner .frame-eyebrow{color:#ffd600;margin:0 0 18px!important}
.frame-page-banner.is-position-center-center{text-align:center}
.frame-page-banner.is-position-center-center .wp-block-cover__inner-container>*{margin-inline:auto!important}
.frame-page-banner+.frame-section{padding-top:clamp(56px,8vw,112px)}
.frame-page-lead .frame-page-lead-title{font-size:clamp(30px,3.4vw,48px);font-weight:750;letter-spacing:-.04em;line-height:1.08;text-transform:uppercase;text-align:right;margin:0!important;max-width:520px!important;justify-self:end;color:#1c1c1c}
.frame-page-lead+.frame-section{padding-top:72px!important}
.frame-section>.wp-block-columns,.frame-section>.frame-team{max-width:none!important;margin-left:0!important;margin-right:0!important}
.frame-split{gap:clamp(32px,6vw,96px)!important;align-items:flex-start!important;padding-top:32px;margin-block:0 clamp(48px,6vw,88px)!important;border-top:1px solid color-mix(in srgb,currentColor 16%,transparent)}
.frame-split .wp-block-heading{font-size:clamp(34px,4vw,56px);font-weight:800;text-transform:uppercase;letter-spacing:-.045em;line-height:1.04;margin:0!important}
.frame-split p{font-size:18px;line-height:1.75;margin:0 0 1em}
.frame-split .frame-price{display:inline-block;background:#ffd600;color:#1c1c1c;border-radius:var(--frame-radius);padding:30px 34px;font-size:clamp(26px,2.6vw,38px);text-transform:none;letter-spacing:-.035em}
.frame-team{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-bottom:clamp(56px,7vw,104px)!important}
.frame-team>.frame-team-member{width:auto;margin:0!important}
.frame-team-portrait img{aspect-ratio:4/5;object-fit:cover;width:100%}
.frame-contact-grid{gap:clamp(40px,7vw,120px)!important;align-items:flex-start!important;margin-block:0 clamp(48px,6vw,80px)!important}
.frame-contact-grid .wp-block-column>.wp-block-heading:first-child:not(.frame-contact-label){font-size:clamp(44px,5.4vw,80px);font-weight:800;text-transform:uppercase;letter-spacing:-.05em;line-height:1.02;margin:0 0 28px!important;white-space:pre-line}
.frame-contact-grid .wp-block-column>p{font-size:18px;line-height:1.7}
.frame-contact-details{margin-top:40px!important;padding-top:8px;border-top:1px solid color-mix(in srgb,currentColor 16%,transparent);max-width:none!important}
.frame-contact-details>*{max-width:none!important;margin-inline:0!important}
.frame-contact-label{font-size:12px!important;font-weight:600!important;letter-spacing:.14em!important;text-transform:uppercase;color:#ffd600;margin:28px 0 8px!important}
.frame-contact-details p{font-size:19px;line-height:1.55;margin:0!important}
.frame-contact-details a{color:inherit;text-decoration-color:rgba(255,214,0,.7);text-underline-offset:5px;display:inline-block;min-height:30px}
.frame-contact-form{background:#242420;border-radius:var(--frame-radius);padding:clamp(24px,3.5vw,48px)!important}
.frame-contact-form .frame-form{margin-top:0}
.frame-contact-form>.wp-block-heading{font-size:clamp(26px,2.4vw,34px)!important;font-weight:750;letter-spacing:-.035em;text-transform:none;margin:0 0 20px!important}
.frame-contact>.frame-media>*{max-width:none!important;width:100%}
.frame-contact>.frame-media .frame-embed{grid-template-columns:minmax(0,1fr);border-radius:var(--frame-radius);min-height:440px;margin-top:0}
.frame-contact>.frame-media .frame-embed iframe{min-height:440px}
[data-frame-theme=light] .frame-page-banner{color:#f5f3ed}
[data-frame-theme=light] .frame-contact-label{color:#715d00}
[data-frame-theme=light] .frame-contact-form{background:#e8e3db}
[data-frame-theme=light] .frame-contact-details a{text-decoration-color:#715d00}
@media(max-width:1100px){.frame-team{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:781px){.frame-page-banner{border-radius:0 0 32px 32px;min-height:42svh!important;padding:40px 24px!important}
.frame-page-lead .frame-page-lead-title{text-align:left;justify-self:start}
.frame-split{gap:16px!important;padding-top:24px}
.frame-contact-grid{gap:40px!important}}
@media(max-width:599px){.frame-team{grid-template-columns:1fr}
.frame-page-banner h1{font-size:clamp(36px,11vw,52px)}
.frame-split p,.frame-contact-grid .wp-block-column>p{font-size:17px}
.frame-contact-grid .wp-block-column>.wp-block-heading:first-child:not(.frame-contact-label){font-size:clamp(36px,10.5vw,48px)}
.frame-split .frame-price{padding:22px 24px}}
/* Home reviews and services: distinct rounded panel and centred headings, as on the original. */
.wp-block-post-content>.frame-reviews-section{background:#242420;border-radius:44px;padding:clamp(56px,7vw,96px) clamp(20px,4vw,56px)!important;border-top:0!important;margin-block:clamp(24px,4vw,48px)!important}
.frame-reviews-section+.frame-section,.frame-home-projects+.frame-reviews-section{border-top:0!important}
.frame-reviews-section>.frame-eyebrow,.frame-reviews-section>.wp-block-heading,.frame-home-services>.wp-block-heading{text-align:center}
.frame-reviews-section>.wp-block-heading{margin-bottom:clamp(32px,4vw,56px)!important}
.frame-reviews-section .frame-review{background:#2d2d28}
.frame-home-services>.wp-block-heading{font-size:clamp(48px,6vw,80px)!important;font-weight:800;margin-bottom:clamp(32px,4vw,56px)!important}
.frame-home-services .frame-service{text-align:center}
.frame-home-services .frame-service>.wp-block-image{display:flex;justify-content:center;margin-inline:auto!important}
.frame-home-services .frame-service>.wp-block-image img{width:56px;height:56px;padding:12px;border-radius:50%;background:rgba(255,214,0,.1);box-sizing:content-box}
[data-frame-theme=light] .wp-block-post-content>.frame-reviews-section{background:#ece6dd}
[data-frame-theme=light] .frame-reviews-section .frame-review{background:#f7f3ec}
[data-frame-theme=light] .frame-home-services .frame-service>.wp-block-image img{background:rgba(113,93,0,.1)}
@media(max-width:781px){.wp-block-post-content>.frame-reviews-section{border-radius:28px}}
.frame-review footer{display:flex;flex-wrap:wrap;align-items:baseline;row-gap:4px;font-size:13px;color:var(--frame-muted)}
.frame-review footer cite{flex-basis:100%;font-style:normal;font-weight:700;color:var(--frame-paper)}
[data-frame-theme=light] .frame-review footer cite{color:#1c1c1c}
.frame-review footer time,.frame-review footer a{display:inline;margin:0}
.frame-review-sep{margin-inline:7px}
.frame-review cite+.frame-review-sep{display:none}
.frame-navigation .wp-block-navigation-item__content[aria-current=page]{text-decoration:underline;text-decoration-color:#ffd600;text-decoration-thickness:2px;text-underline-offset:8px}
/* Mobile menu overlay: dark full-screen panel with large titles instead of the default white list. */
.frame-navigation .wp-block-navigation__responsive-container.is-menu-open{background:#1c1c1c!important;color:#f5f3ed!important;padding:24px clamp(20px,6vw,40px)!important}
.frame-navigation .is-menu-open .wp-block-navigation__responsive-container-content{align-items:flex-start!important;padding-top:56px!important}
.frame-navigation .is-menu-open .wp-block-navigation__container{align-items:flex-start!important;gap:6px!important;width:100%}
.frame-navigation .is-menu-open .wp-block-navigation-item{width:100%;border-bottom:1px solid rgba(245,243,237,.12)}
.frame-navigation .is-menu-open .wp-block-navigation-item__content{display:block;width:100%;padding:14px 0!important;font-family:Manrope,sans-serif;font-size:clamp(30px,9vw,44px)!important;font-weight:800;text-transform:uppercase;letter-spacing:-.04em;line-height:1.05;color:inherit!important}
.frame-navigation .is-menu-open .wp-block-navigation-item__content:hover,.frame-navigation .is-menu-open .current-menu-item>.wp-block-navigation-item__content,.frame-navigation .is-menu-open [aria-current=page]{color:#ffd600!important}
.frame-navigation .is-menu-open .wp-block-navigation__responsive-container-close{top:24px!important;right:clamp(20px,6vw,40px)!important;color:#f5f3ed;width:44px;height:44px;display:flex;align-items:center;justify-content:center}
.frame-navigation .is-menu-open .wp-block-navigation__responsive-container-close svg{width:30px;height:30px}
[data-frame-theme=light] .frame-navigation .wp-block-navigation__responsive-container.is-menu-open{background:#f5f3ed!important;color:#1c1c1c!important}
[data-frame-theme=light] .frame-navigation .is-menu-open .wp-block-navigation-item{border-color:rgba(28,28,28,.12)}
[data-frame-theme=light] .frame-navigation .is-menu-open .wp-block-navigation__responsive-container-close{color:#1c1c1c}
[data-frame-theme=light] .frame-navigation .is-menu-open .wp-block-navigation-item__content:hover,[data-frame-theme=light] .frame-navigation .is-menu-open [aria-current=page]{color:#715d00!important}
/* Search fields share the rounded controls of the buttons. */
.frame-archive .wp-block-search__input,.frame-error .wp-block-search__input{border-radius:14px}
.frame-archive .wp-block-search__button,.frame-error .wp-block-search__button{border-radius:100px;padding-inline:24px;font-weight:650}
/* Archives and search: titles on the wide grid, rounded 4:3 photos, project archives in three columns. */
.frame-archive>*:not(.frame-native-query){max-width:var(--frame-wide)!important;margin-left:0!important;margin-right:0!important}
.frame-archive>.wp-block-query-title,.frame-archive>h1{font-size:clamp(44px,6vw,88px)!important;font-weight:800;text-transform:uppercase;letter-spacing:-.05em;line-height:1.02;margin:0 0 24px!important}
.frame-archive>.frame-eyebrow{margin-bottom:12px!important}
.frame-archive>.wp-block-term-description{font-size:18px;line-height:1.7;max-width:760px!important;color:var(--frame-muted)}
.frame-archive>.wp-block-search{max-width:640px!important;margin-bottom:48px!important}
.frame-archive .frame-native-query{margin-top:clamp(32px,4vw,56px)!important}
.frame-native-query .wp-block-post-template{gap:clamp(28px,3vw,40px)!important}
.frame-native-card>*{max-width:none!important;margin-left:0!important}
.frame-native-card .wp-block-post-featured-image{border-radius:24px;overflow:hidden;margin:0 0 20px!important}
.frame-native-card .wp-block-post-featured-image img{transition:transform .6s ease}
.frame-native-card:hover .wp-block-post-featured-image img{transform:scale(1.03)}
.frame-native-card .wp-block-post-date,.frame-native-card .wp-block-post-terms{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--frame-muted);margin:0 0 8px!important}
.frame-native-card .wp-block-post-terms a{color:inherit;text-decoration:none}
.frame-native-card .wp-block-post-title{font-size:clamp(22px,2vw,30px)!important;font-weight:700;letter-spacing:-.035em;line-height:1.15;margin:0 0 12px!important}
.frame-native-card .wp-block-post-title a{text-decoration:none}
.frame-native-card .wp-block-post-title a:hover{text-decoration:underline;text-decoration-color:#ffd600;text-underline-offset:5px}
.frame-native-card .wp-block-post-excerpt__excerpt{font-size:15px;line-height:1.65;color:var(--frame-muted);margin:0}
.frame-native-card .wp-block-post-excerpt__more-link{display:inline-block;margin-top:12px;font-size:14px;font-weight:600}
.frame-native-query .wp-block-query-pagination{margin-top:56px!important}
@media(max-width:1100px){.frame-native-projects .wp-block-post-template{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:599px){.frame-native-query .wp-block-post-template{grid-template-columns:1fr!important}}
@media(prefers-reduced-motion:reduce){.frame-native-card .wp-block-post-featured-image img{transition:none}.frame-native-card:hover .wp-block-post-featured-image img{transform:none}}
/* 404: oversized outlined code, as in the hero marquee, above the search and exits. */
.frame-error{position:relative;overflow:hidden;min-height:62svh;display:flex;flex-direction:column;justify-content:center;padding-block:clamp(64px,10vw,140px)!important}
.frame-error>*{max-width:760px!important;margin-left:0!important;position:relative;z-index:1}
.frame-error::before{content:"404";content:"404"/"";position:absolute;right:0;top:50%;transform:translateY(-50%);z-index:0;font-family:Manrope,sans-serif;font-size:clamp(160px,24vw,340px);font-weight:800;line-height:.8;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:2px rgba(255,214,0,.55);pointer-events:none;user-select:none}
.frame-error>h1.wp-block-heading{max-width:13ch!important;font-size:clamp(42px,6vw,88px);font-weight:800;text-transform:uppercase;letter-spacing:-.05em;line-height:1.02;margin:12px 0 20px!important}
.frame-error>p:not(.frame-eyebrow){font-size:18px;line-height:1.7}
.frame-error .wp-block-search{margin-top:24px!important}
.frame-error .wp-block-buttons{gap:12px;margin-top:28px!important}
.frame-error .is-style-outline .wp-block-button__link{background:transparent;border:1px solid currentColor;color:inherit}
.frame-error .is-style-outline .wp-block-button__link:hover{border-color:#ffd600;color:#ffd600}
[data-frame-theme=light] .frame-error::before{-webkit-text-stroke-color:rgba(113,93,0,.45)}
[data-frame-theme=light] .frame-error .is-style-outline .wp-block-button__link:hover{border-color:#715d00;color:#715d00}
@media(max-width:781px){.frame-error::before{position:static;transform:none;font-size:clamp(120px,40vw,200px);margin-bottom:8px}}
/* Legal pages: warm heading panel, sticky index and a readable text column. */
.frame-legal-lead .frame-portfolio-lead-inner{grid-template-columns:1fr}
.frame-legal-grid{gap:clamp(32px,6vw,96px)!important;align-items:flex-start!important;max-width:none!important}
.frame-legal-aside{position:sticky;top:96px;align-self:flex-start}
.frame-toc{border-left:2px solid #ffd600;padding-left:20px}
.frame-toc-title{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#ffd600;margin:0 0 14px}
.frame-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.frame-toc a{display:block;padding:5px 0;font-size:14px;line-height:1.4;color:var(--frame-muted);text-decoration:none;text-transform:none}
.frame-toc a:hover,.frame-toc a:focus-visible{color:var(--frame-paper)}
.frame-toc .frame-toc-level-3 a{padding-left:14px;font-size:13px}
.frame-legal-body{max-width:760px}
.frame-legal-body>.wp-block-heading{scroll-margin-top:110px;font-size:clamp(24px,2.4vw,32px)!important;font-weight:750;letter-spacing:-.03em;line-height:1.2;text-transform:none;margin:56px 0 16px!important;padding-top:28px;border-top:1px solid color-mix(in srgb,currentColor 14%,transparent)}
.frame-legal-body>.wp-block-heading:first-child{margin-top:0!important}
.frame-legal-body h3{font-size:20px;font-weight:700;letter-spacing:-.02em;margin:32px 0 10px}
.frame-legal-body p,.frame-legal-body li{font-size:16px;line-height:1.75}
.frame-legal-body a{overflow-wrap:anywhere}
.frame-legal-body table{display:block;overflow-x:auto;width:100%!important;max-width:100%;border-collapse:collapse;margin:24px 0;font-size:14px}
.frame-legal-body td{border:1px solid color-mix(in srgb,currentColor 18%,transparent);padding:10px 12px;vertical-align:top;min-width:120px}
.frame-legal-body td p{margin:0;font-size:14px;line-height:1.5}
[data-frame-theme=light] .frame-toc-title{color:#715d00}
[data-frame-theme=light] .frame-toc a:hover,[data-frame-theme=light] .frame-toc a:focus-visible{color:#1c1c1c}
@media(max-width:781px){.frame-legal-aside{position:static}
.frame-toc{margin-bottom:8px}}
/* Project pages: tagline beside the description, then a client/hashtag row, as on the original. */
.frame-single>.frame-single-heading,.frame-single>.wp-block-post-content{max-width:var(--frame-wide)!important}
.frame-single>.frame-single-heading>*{max-width:none!important;margin-left:0!important}
.frame-single .frame-page-body{padding-top:clamp(24px,3vw,40px)}
.frame-project-intro{gap:clamp(32px,6vw,96px)!important;align-items:flex-start!important;margin:0 0 32px!important;max-width:none!important}
.frame-project-intro .frame-project-tagline{font-size:clamp(30px,3.6vw,52px);font-weight:800;text-transform:uppercase;letter-spacing:-.045em;line-height:1.04;margin:0!important}
.frame-project-intro p{font-size:clamp(17px,1.5vw,20px);line-height:1.7;margin:0 0 1em}
.frame-project-intro--single>*{max-width:880px!important;margin-left:0!important}
.frame-project-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 20px;padding:24px 0 0;margin:0 0 clamp(40px,5vw,72px)!important;border-top:1px solid color-mix(in srgb,currentColor 16%,transparent);max-width:none!important}
.frame-project-meta>*{margin:0!important;max-width:none!important}
.frame-project-meta .frame-project-label{font-size:12px!important;font-weight:600!important;letter-spacing:.14em!important;text-transform:uppercase;color:#ffd600}
.frame-project-meta .frame-project-client{font-size:clamp(20px,2vw,26px)!important;font-weight:700;letter-spacing:-.03em}
.frame-project-meta .frame-project-tags{flex-basis:100%;font-size:14px;color:var(--frame-muted)}
.frame-project-meta .frame-project-tags a{color:inherit}
[data-frame-theme=light] .frame-project-meta .frame-project-label{color:#715d00}
/* Eventi: two-column opening with the video, warm risks panel, photo beside the reasons. */
.frame-events-hero{gap:clamp(36px,6vw,96px)!important;align-items:center!important;margin-bottom:clamp(56px,7vw,104px)!important}
.frame-events-hero h1{font-size:clamp(42px,5.2vw,76px)!important;font-weight:800;text-transform:uppercase;letter-spacing:-.05em;line-height:1.02;margin:0 0 28px!important}
.frame-events-hero p{font-size:17px;line-height:1.65;margin:0 0 .6em}
.frame-events-hero .wp-block-buttons{margin-top:28px}
.frame-events-hero .frame-media,.frame-events-hero .frame-media>*{max-width:none!important;margin:0!important}
.frame-events-hero .frame-embed{border-radius:var(--frame-radius);aspect-ratio:16/9;min-height:0}
.frame-events-hero .frame-embed iframe{min-height:0;aspect-ratio:16/9;height:auto}
.frame-events br+br{display:none}
.frame-events-panel{background:var(--frame-warm);color:#1c1c1c;border-radius:var(--frame-radius);padding:clamp(28px,5vw,72px)!important;max-width:none!important;margin:0 0 clamp(56px,7vw,104px)!important}
.frame-events-panel>*{max-width:900px!important;margin-left:0!important}
.frame-events-panel h2{font-size:clamp(30px,3.6vw,52px)!important;font-weight:800;letter-spacing:-.045em;line-height:1.06;margin:0 0 28px!important}
.frame-events-panel p{font-size:17px;line-height:1.65;margin:0 0 .9em;color:#3a3833}
.frame-events-panel strong{color:#1c1c1c}
.frame-events-why{gap:clamp(36px,6vw,96px)!important;align-items:center!important;margin-bottom:clamp(56px,7vw,104px)!important}
.frame-events-why .frame-image-feature,.frame-events-why .frame-image-feature>*{max-width:none!important;margin:0!important}
.frame-events-why h2{font-size:clamp(30px,3.6vw,52px);font-weight:800;letter-spacing:-.045em;line-height:1.06;margin:0 0 24px!important}
.frame-events-why p{font-size:17px;line-height:1.65;margin:0 0 1.1em}
@media(max-width:781px){.frame-events-hero,.frame-events-why{gap:32px!important}
.frame-events-hero h1{font-size:clamp(36px,10vw,48px)!important}}
.editor-styles-wrapper .frame-page-banner{border-radius:0 0 30px 30px}
