/* Import-time guardrails required by the handoff brief. Loaded after style.css. */
/* No image hover zoom. */
.work-item:hover .work-photo img,.work-item:focus-visible .work-photo img{transform:none}
/* Portal demos must not scroll internally. */
.product-screen,.phone-product{overflow:hidden!important;scrollbar-width:none}
.product-screen::-webkit-scrollbar,.phone-product::-webkit-scrollbar{display:none}
/* Illustrative screens never capture scrolling or taps; tabs remain outside. */
#campaign-manager .portal-showcase{touch-action:pan-y;overscroll-behavior:auto}
#campaign-manager .portal-showcase .product-screen,#campaign-manager .portal-showcase .phone-product{overflow:clip!important;overscroll-behavior:auto;touch-action:pan-y;pointer-events:none;scrollbar-gutter:auto}

/* Published content pages (legal, vendors, sold reel, price list). Readable, constrained, existing palette. */
.published-head{text-align:center;max-width:900px;margin:0 auto;padding-top:80px}
.published-head h1 strong{font-weight:inherit}
.published-head h1{font-size:var(--type-hero);line-height:var(--type-hero-leading);margin-bottom:18px}
.published-feature h2{font-size:var(--type-section);line-height:var(--type-section-leading)}.published-head h1 em,.published-page h2 em{font-family:'Playfair Display',serif;font-style:italic;font-weight:700}
.published-head p{font-size:16px;line-height:24px;color:var(--muted);max-width:680px;margin:14px auto}
.published-head .button{margin-top:26px}
.published-body,.published-faq,.published-feature,.published-form{max-width:900px;margin:0 auto}
.legal-body{max-width:820px;font-size:16px;line-height:24px}
.legal-body h2,.legal-body h3,.legal-body h4{margin:2.2em 0 .6em;line-height:1.35}
.legal-body h4,.legal-body h4 strong{font-size:19px;font-weight:600}
.legal-body p{margin:0 0 1em}
.legal-body ul,.legal-body ol{margin:0 0 1.2em 1.3em;padding:0}
.legal-body li{margin:.35em 0}
.legal-body li p{margin:0}
.legal-body a{text-decoration:underline;overflow-wrap:anywhere}
.published-feature{display:flex;flex-direction:column;align-items:center;text-align:center;gap:24px}
.published-feature p{color:var(--muted);max-width:680px}
.faq-list details summary{cursor:pointer;padding:22px 0;font-weight:600;list-style:none}
.published-form iframe{display:block;width:100%;min-height:600px;border:0}
.footer-legal{display:flex;gap:20px;flex-wrap:wrap;font-size:13px}
.footer-legal a{color:inherit}
@media (max-width:700px){.published-head{padding-top:48px}.legal-body{font-size:16px}}

/* Restrained legal/article layout: compact top, ~48px heading desktop / 32px mobile, ~800px body. */
.legal-page .published-head,.article-page .published-head,.embed-page .published-head,.confirmation-page .published-head{padding-top:72px;padding-bottom:24px;min-height:0}
.legal-page .published-head h1,.article-page .published-head h1,.embed-page .published-head h1,.confirmation-page .published-head h1{font-size:var(--type-hero);line-height:var(--type-hero-leading);letter-spacing:0;margin:14px 0 0;max-width:none}
.legal-page .published-body,.article-page .published-body{max-width:800px;padding-top:24px;line-height:24px}
.article-body h2{font-size:var(--type-section);line-height:var(--type-section-leading);margin:2em 0 .5em}
.article-body h3{font-size:20px;margin:1.6em 0 .4em}
.article-body a{margin-right:14px}
.confirmation-page .published-head{padding-bottom:120px}
.embed-page .published-form{padding-top:0}
@media (max-width:700px){.legal-page .published-head h1,.article-page .published-head h1,.embed-page .published-head h1,.confirmation-page .published-head h1{font-size:var(--type-hero);line-height:54px}.legal-page .published-head,.article-page .published-head,.embed-page .published-head,.confirmation-page .published-head{padding-top:44px}.article-body h2{font-size:var(--type-section);line-height:var(--type-section-leading)}}

/* Samples (package examples) */
.samples-page .published-head{padding-top:72px;padding-bottom:0}
.samples-page .published-head h1{font-size:var(--type-hero);line-height:var(--type-hero-leading);letter-spacing:-.03em;margin:0}
.sample-group{max-width:1100px;margin:0 auto;padding-top:48px;padding-bottom:16px}
.sample-group h2{font-size:var(--type-section);line-height:var(--type-section-leading);margin:0 0 20px}
.sample-group h3{font-size:19px;font-weight:600;margin:0 0 12px}
.sample-grid{display:grid;gap:20px}
.sample-grid.two{grid-template-columns:1fr 1fr}
.sample-media{aspect-ratio:16/9;border-radius:20px;overflow:hidden;background:var(--line,#eee)}
.sample-media iframe,.sample-media video{width:100%;height:100%;border:0;display:block;object-fit:cover}
.sample-tip{color:var(--muted);margin:16px 0 0}
.sample-sub{display:grid;grid-template-columns:1fr 1fr 2fr;gap:20px}
.sample-sub .sample-grid.two{grid-template-columns:1fr 1fr}
.sample-sub .sample-media{aspect-ratio:9/16}
.sample-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.sample-photos img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:20px;display:block}
@media (max-width:700px){.samples-page .published-head h1{font-size:var(--type-hero);line-height:54px}.sample-grid.two,.sample-sub{grid-template-columns:1fr}.sample-sub .sample-grid.two{grid-template-columns:1fr 1fr}.sample-photos{grid-template-columns:1fr 1fr}.sample-group h2{font-size:var(--type-section);line-height:var(--type-section-leading)}}
/* Shared Cloudflare Stream click-to-play player (only used once a video is mapped) */
.story-visual:has(.stream-player){max-width:440px;justify-self:center;width:100%;height:auto;background:#111}
.story-visual>.stream-player{border-radius:24px}

/* Portfolio-only layout: original selected-work composition retained elsewhere. */
.curated-portfolio{--portfolio-surface:var(--grey);--portfolio-ink:var(--ink);--portfolio-muted:var(--muted);--portfolio-rule:var(--line)}
.curated-portfolio h1,.curated-portfolio h2,.curated-portfolio h3,.curated-portfolio em{letter-spacing:0}
.curated-intro{max-width:1400px;margin:auto;padding-top:64px;padding-bottom:36px}
.curated-intro h1{font-size:var(--type-hero);line-height:var(--type-hero-leading)}
.curated-intro>p{font-size:16px;line-height:24px;max-width:650px;margin-top:24px;color:var(--portfolio-muted)}
.curated-intro .eyebrow{letter-spacing:0;margin-bottom:20px}
.curated-selection{max-width:1400px;margin:auto;padding-top:0;padding-bottom:64px}
.portfolio-filters{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid var(--portfolio-rule);padding-bottom:18px}
.portfolio-filters button{font:inherit;font-size:14px;line-height:20px;min-height:44px;padding:10px 20px;cursor:pointer;border:1px solid var(--portfolio-rule);border-radius:100px;background:var(--footer-surface);color:var(--portfolio-ink)}
.portfolio-filters button[aria-pressed=true]{background:var(--portfolio-ink);color:var(--footer-surface);border-color:var(--portfolio-ink)}
.portfolio-filter-count{font-size:12px;line-height:18px;color:var(--portfolio-muted);margin:14px 0 28px}
.curated-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px 40px;align-items:start}
.curated-feature{min-width:0}
.curated-feature[hidden]{display:none}
.curated-campaign,.curated-perspective{grid-column:1/-1}
.curated-project{display:block}
.curated-project figure{overflow:hidden;border-radius:20px}
.curated-project img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center;transition:none}
.curated-campaign .curated-project{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:40px;align-items:center}
.curated-campaign img{object-position:50% 58%}
.curated-perspective .curated-project{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);gap:40px;align-items:center}
.curated-perspective figure{grid-column:2;grid-row:1}
.curated-perspective .curated-copy{grid-column:1;grid-row:1}
.curated-copy{padding-top:24px;min-width:0}
.curated-campaign .curated-copy,.curated-perspective .curated-copy{padding-top:0}
.curated-copy .eyebrow{font-size:12px;margin-bottom:16px;letter-spacing:0;color:var(--portfolio-muted)}
.curated-copy h2{font-size:20px;line-height:28px}
.curated-client{font-size:16px;line-height:24px;margin-top:18px;color:var(--portfolio-ink)}
.curated-deliverables,.curated-address{font-size:12px;line-height:18px;color:var(--portfolio-muted);margin-top:12px}
.curated-link{display:inline-block;font-size:14px;margin-top:22px;border-bottom:1px solid var(--portfolio-rule);padding-bottom:5px}
.curated-historic{font-size:12px;line-height:18px;color:var(--portfolio-muted);margin-top:16px}
.curated-film{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:center}
.curated-film .project-video{max-width:260px}
.curated-film figcaption{display:none}
.curated-film .curated-copy{padding-top:0}
.curated-film .curated-copy h2{font-size:20px;line-height:28px}
.portfolio-more{background:var(--portfolio-surface);padding-top:32px;padding-bottom:32px}
.portfolio-more details{max-width:1260px;margin:auto}
.portfolio-more summary{display:flex;align-items:center;gap:24px;cursor:pointer;list-style:none;font-size:24px;line-height:1.4;min-height:56px}
.portfolio-more summary::-webkit-details-marker{display:none}
.portfolio-more summary>span:first-child{font-size:13px;color:var(--portfolio-muted)}
.portfolio-more .portfolio-reveal-mark{margin-left:auto;font-size:28px}
.portfolio-more-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px;margin-top:32px}
.portfolio-more-grid figure{border-radius:16px;overflow:hidden;margin-bottom:18px}
.portfolio-more-grid img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.portfolio-more-grid .eyebrow{font-size:12px;line-height:18px;margin-bottom:8px;letter-spacing:0}
.portfolio-more-grid h3{font-size:17px;line-height:1.5}
.portfolio-more-grid p{font-size:12px;color:var(--portfolio-muted);margin-top:6px}
.curated-portfolio .portfolio-end{background:var(--footer-surface)}
.curated-portfolio .portfolio-end h2{font-size:40px;line-height:1.3}
.curated-portfolio .portfolio-end p{margin-top:24px}
@media(max-width:1000px){.curated-grid{gap:48px 28px}.curated-film{grid-template-columns:1fr;gap:24px}.curated-film .project-video{max-width:300px}.curated-film .curated-copy h2{font-size:20px;line-height:28px}.curated-campaign .curated-project,.curated-perspective .curated-project{gap:28px}.curated-copy h2{font-size:20px;line-height:28px}.portfolio-more-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.curated-intro{padding-top:40px;padding-bottom:28px}.curated-intro h1{font-size:var(--type-hero);line-height:54px}.curated-intro>p{font-size:16px}.curated-intro .eyebrow{font-size:12px;line-height:18px}.portfolio-filters{gap:8px}.portfolio-filters button{padding:10px 16px}.curated-selection{padding-bottom:40px}.curated-grid{grid-template-columns:1fr;gap:40px}.curated-campaign .curated-project,.curated-perspective .curated-project{display:block}.curated-campaign .curated-copy,.curated-perspective .curated-copy{padding-top:24px}.curated-film{grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:20px}.curated-film .curated-copy h2{font-size:20px;line-height:28px}.curated-film .eyebrow{font-size:12px;line-height:18px}.curated-film .curated-client{font-size:12px}.curated-copy h2{font-size:20px;line-height:28px}.portfolio-more{padding-top:24px;padding-bottom:24px}.portfolio-more summary{flex-wrap:wrap;gap:8px 16px;font-size:21px}.portfolio-more summary>span:first-child{order:3;width:100%}.portfolio-more-grid{gap:28px 18px}.portfolio-more-grid h3{font-size:14px}.curated-portfolio .portfolio-end h2{font-size:var(--type-section);line-height:var(--type-section-leading)}}
.portfolio-grid{max-width:1440px;margin:0 auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 36px}
.portfolio-grid .work-item:first-child{grid-row:auto}
.portfolio-grid .work-item .work-photo>img,.portfolio-grid .work-item:first-child .work-photo>img{height:auto;aspect-ratio:3/2;object-fit:cover}
.portfolio-grid .work-item h3{overflow-wrap:anywhere;letter-spacing:0}
.portfolio-gallery-page .detail-head{max-width:1280px;margin:0 auto;padding-top:64px;padding-bottom:44px}
.portfolio-gallery-page .detail-head h1{font-size:var(--type-hero);line-height:var(--type-hero-leading);letter-spacing:0;max-width:1000px;margin:0 auto;overflow-wrap:anywhere}
.portfolio-gallery-page .detail-head>.text-link{margin:24px auto 0}
.portfolio-gallery-page .project-gallery{max-width:1440px;margin:0 auto;gap:28px}
.portfolio-gallery-page .project-gallery img{max-height:none;height:auto;object-fit:contain}
@media(max-width:700px){.portfolio-grid{display:grid;grid-template-columns:1fr;gap:36px}.portfolio-grid .work-item{margin:0}.portfolio-gallery-page .detail-head{padding-top:40px;padding-bottom:32px}.portfolio-gallery-page .detail-head h1{font-size:var(--type-hero);line-height:54px}.portfolio-gallery-page .project-gallery{gap:16px}}

/* Vines Estate: full-bleed editorial case study, using the imported palette. */
:root{--case-on-photo:#fff;--case-photo-scrim:linear-gradient(180deg,transparent 25%,rgba(18,18,18,.32) 65%,rgba(18,18,18,.68) 100%);--case-surface:var(--grey);--case-rule:var(--line)}
.vines-case-study h1,.vines-case-study h2,.vines-case-study em{letter-spacing:0}
.case-hero{position:relative;display:flex;align-items:flex-end;min-height:clamp(460px,calc(100svh - 170px),620px);padding-block:48px;overflow:hidden}
.case-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 58%}
.case-hero:after{content:'';position:absolute;inset:0;background:var(--case-photo-scrim)}
.case-hero-copy{position:relative;z-index:1;width:100%;min-width:0;overflow-wrap:anywhere;padding:0 var(--pad);max-width:1440px;margin-inline:auto;color:var(--case-on-photo)}
.case-hero-copy h1{font-size:var(--type-hero);line-height:var(--type-hero-leading);max-width:990px}
.case-hero-copy p{color:inherit;margin-top:22px;font-size:16px;line-height:24px}
.case-hero-copy .eyebrow{margin-bottom:18px;letter-spacing:0}
.case-meta{display:flex;flex-wrap:wrap;align-items:center;gap:16px 32px;padding:24px var(--pad);max-width:1440px;margin:0 auto;font-size:12px}
.case-meta>.text-link{margin-left:auto}
.vines-case-study .section{max-width:1280px;margin:0 auto;padding-top:76px;padding-bottom:76px}
.vines-case-study h2{font-size:var(--type-section);line-height:var(--type-section-leading)}
.case-brief,.case-deliverables{display:grid;grid-template-columns:1fr 1.2fr;gap:64px}
.case-brief p,.case-stage>p,.case-approach>p,.case-event p,.case-close p{font-size:16px;line-height:24px;color:var(--muted)}
.case-historic{font-size:12px!important;margin-top:24px;padding-top:18px;border-top:1px solid var(--case-rule)}
.case-photo{margin:0;min-width:0}
.case-photo img{width:100%;height:auto;border-radius:20px}
.case-photo figcaption{margin-top:12px;font-size:12px;line-height:18px;color:var(--muted)}
.case-wide,.case-photo-pair{max-width:1440px;margin:0 auto;padding:0 var(--pad)}
.case-photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.case-approach{text-align:center}
.case-approach>p{max-width:720px;margin:24px auto 0}
.case-stage{display:grid;grid-template-columns:48px 1fr 1.15fr;gap:32px;align-items:start}
.case-stage-number{font-size:16px;color:var(--muted);padding-top:2px}
.case-stage h2{font-size:var(--type-section);line-height:var(--type-section-leading)}
.case-stage .eyebrow{letter-spacing:0;margin-bottom:18px}
.case-event{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.case-event>div:first-child{max-width:500px}
.case-event p{margin-top:24px}
.project-videos{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:28px;max-width:1280px;margin:0 auto}
.project-video{width:100%;margin:0;min-width:0}
.project-video.portrait{max-width:360px}.project-video.landscape{max-width:900px}
.project-video .stream-player{border-radius:20px}
.project-video figcaption{font-size:12px;color:var(--muted);margin-top:16px;line-height:1.7}
.case-deliverables{border-top:1px solid var(--case-rule)}
.case-deliverables ul{list-style:none;padding:0;margin:0}
.case-deliverables li{border-bottom:1px solid var(--case-rule);padding:14px 0;font-size:15px}
.vines-case-study .case-close{max-width:none;text-align:center;background:var(--case-surface)}
.case-close p{max-width:600px;margin:24px auto}.case-close .button{margin-top:10px}
@media(min-width:1600px){.case-hero-copy{padding-left:90px;padding-right:90px}}
@media(max-width:700px){.case-hero{min-height:clamp(440px,calc(100svh - 150px),560px);padding-block:32px}.case-hero-copy h1{font-size:var(--type-hero);line-height:54px}.case-hero-copy p{font-size:16px;line-height:24px}.case-meta{gap:12px 20px}.case-meta>.text-link{margin-left:0}.vines-case-study .section{padding-top:48px;padding-bottom:48px}.vines-case-study h2{font-size:var(--type-section);line-height:var(--type-section-leading)}.case-brief,.case-deliverables,.case-event{grid-template-columns:1fr;gap:28px}.case-stage{grid-template-columns:30px 1fr;gap:16px}.case-stage>p{grid-column:2}.case-stage h2{font-size:var(--type-section);line-height:var(--type-section-leading)}.case-photo-pair{grid-template-columns:1fr;gap:24px}.case-photo img,.project-video .stream-player{border-radius:16px}.case-event{gap:32px}.project-video.portrait{max-width:340px}}
.about-close{text-align:center;padding-top:clamp(24px,4vw,56px);padding-bottom:clamp(48px,6vw,96px)}
.about-close .about-signature{font-family:'Playfair Display',serif;font-weight:700;font-size:clamp(28px,3vw,40px);margin:0 0 16px}
.about-close p{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;align-items:center}
