/* Service context, monthly plans and independent creative offers. */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.service-page .page-hero{padding:30px 0 34px}

.service-page .page-hero h1{font-size:clamp(38px,4.6vw,68px);max-width:1100px;margin:14px 0 16px;letter-spacing:-.055em}
.service-page .page-lead{font-size:19px;max-width:820px;line-height:1.5}
.service-page .page-body{padding-top:32px;padding-bottom:50px}
.service-page .page-body h2{font-size:clamp(30px,3.2vw,46px);line-height:1.12;letter-spacing:-.045em}
.service-pricing{scroll-margin-top:24px}
.pricing-intro{margin-bottom:25px}
.pricing-intro h2{margin:0 0 10px}
.pricing-intro p{margin:0}
.plan-comparison{border:1px solid #ccc;border-radius:12px;overflow:hidden}
.plan-comparison table{border-collapse:collapse;table-layout:fixed;width:100%;text-align:center}
.plan-comparison thead td,.plan-comparison thead th{padding:34px 20px 23px;vertical-align:top;position:relative}
.plan-comparison thead th{border-left:1px solid #ddd}
.plan-comparison thead td{width:27%;vertical-align:bottom;text-align:left}
.plan-comparison h3,.plan-card h3{font-family:Manrope,Arial,sans-serif;font-size:23px;letter-spacing:-.7px;margin:0 0 14px;font-weight:700}
.page-body .plan-price{color:#111;font-family:Manrope,Arial,sans-serif;font-size:clamp(28px,3vw,42px);font-weight:700;letter-spacing:-1.8px;line-height:1.2;margin:0 0 12px;white-space:nowrap}
.plan-price span{display:block;font-family:'DM Sans',Arial,sans-serif;font-size:13px;font-weight:400;letter-spacing:0;line-height:1.6}
.page-body .plan-description{font-size:14px;font-weight:400;line-height:1.5;margin:0;letter-spacing:0;color:#444}
.plan-badge{position:absolute;top:0;left:0;right:0;padding:6px 5px;background:#111;color:#fff;font-size:9px;letter-spacing:.9px;font-weight:600;line-height:1.3;text-align:center}
.plan-featured{background:#edf3ff}
.plan-comparison tbody th,.plan-comparison tbody td{padding:14px 16px;border-top:1px solid #ddd;font-size:14px;line-height:1.5;font-weight:400}
.plan-comparison tbody th{text-align:left;font-weight:500}
.plan-comparison tbody td{border-left:1px solid #ddd}
.plan-comparison tfoot td,.plan-comparison tfoot th{padding:20px 12px;border-top:1px solid #ccc}
.plan-cta{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 15px;border:1px solid #111;border-radius:28px;font-size:13px;line-height:1.3;font-weight:500;text-align:left}
.plan-cta:hover{background:#111;color:#fff}
.plan-featured .plan-cta{background:#111;color:#fff}
.plan-featured .plan-cta:hover{background:#245cba}
.page-body .pricing-note{font-size:13px;color:#666;line-height:1.5;margin:16px 0 0}
.plan-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.plan-card{border:1px solid #ccc;border-radius:12px;position:relative;padding:36px 25px 25px;display:flex;flex-direction:column}
.plan-card ul{list-style:none;padding:0;margin:24px 0 28px;display:grid;gap:13px;font-size:14px;line-height:1.5}
.plan-card li{border-top:1px solid #ddd;padding-top:12px}
.plan-card li strong{font-weight:600}
.plan-card .plan-cta{margin-top:auto}
.plan-card.plan-featured{border-color:#111}
.plan-card .plan-badge{border-radius:11px 11px 0 0}
.plan-cards-mobile{display:none}
.service-every-plan{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:65px 0;border-bottom:1px solid #ddd;align-items:center}
.service-every-plan h2{margin:15px 0}
.service-common-features{list-style:none;margin:0;padding:0;font-size:18px}
.service-common-features li{padding:16px 0;border-bottom:1px solid #ddd}
.service-common-features li:before{content:'✓';color:#245cba;margin-right:16px}
.service-section-heading{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:end;margin-bottom:30px}
.service-section-heading h2{margin:15px 0 0}
.service-section-heading p{margin:0;max-width:580px}
.service-focused,.service-preview-section{padding:65px 0 0}
.service-sample-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:740px;margin:0 auto}
.service-sample-reel{margin:0;min-width:0}
.sample-video{position:relative;background:#111;border-radius:10px;overflow:hidden}
.sample-video video{display:block;width:100%;aspect-ratio:9/16;max-height:520px;object-fit:contain;background:#111}
.sample-badge{position:absolute;left:14px;top:14px;background:#fff;color:#111;font-size:9px;font-weight:700;padding:7px 10px;border-radius:20px;letter-spacing:.8px;pointer-events:none}
.service-sample-reel figcaption{display:flex;flex-direction:column;gap:6px;border:0;padding:16px 0;font-size:16px;line-height:1.4}
.service-sample-reel figcaption span{font-size:12px;color:#666}
.page-body .service-preview-note{font-size:12px;line-height:1.5;color:#666;margin:12px 0 0}
.service-preview-section>.service-preview-note{text-align:center}
.service-faq{margin:65px 0 0;padding-top:40px;border-top:1px solid #ddd}
.service-faq h2{margin:0 0 25px}
.service-faq details{border-bottom:1px solid #ddd;padding:20px 0}
.service-faq summary{font-size:18px;cursor:pointer;line-height:1.5}
.service-faq details p{max-width:800px;margin:14px 0 0}
.service-booking{display:flex;align-items:center;justify-content:space-between;gap:40px;background:#edf3ff;border-radius:12px;padding:38px;margin-top:55px}
.service-booking>div{max-width:680px}
.service-booking h2{margin:14px 0 12px}
.service-booking p{margin:0}
.service-booking .service-cta{flex-shrink:0;margin:0}
.service-cta-primary{background:#111;color:#fff}
.service-cta-primary:hover{background:#245cba;color:#fff}
.service-text-link{display:inline-block;margin-top:25px;text-decoration:underline;text-underline-offset:5px;font-size:15px}
.service-page .service-row h3{font-size:clamp(25px,3vw,38px);font-weight:500;letter-spacing:-1px;line-height:1.15;margin:0 0 12px}
.service-offer{display:grid;grid-template-columns:1.25fr .75fr;gap:9%;align-items:start}
.service-offer-copy h2{margin:15px 0 22px}
.service-offer-copy>p{max-width:650px}
.service-offer>div:last-child{max-width:330px;width:100%;justify-self:end}
.service-deliverables{list-style:none;padding:0;margin:25px 0;font-size:18px;line-height:1.6}
.service-deliverables li{border-top:1px solid #ddd;padding:13px 0}
.service-offer .service-scope{font-size:14px;line-height:1.65;margin:20px 0}
.service-simple-process{border-top:1px solid #ddd;border-bottom:1px solid #ddd;margin-top:50px;padding:30px 0}
.service-simple-process h2{margin:14px 0}
.service-simple-process p{margin:0;max-width:850px}
.service-page .service-navigation{padding-top:35px;margin:35px 0 0;border-top:1px solid #ddd}
@media(max-width:1000px){.plan-comparison thead td{width:24%}.plan-comparison thead th{padding-left:10px;padding-right:10px}.plan-comparison tbody th,.plan-comparison tbody td{padding:13px 10px;font-size:13px}.plan-cta{font-size:12px;padding:12px}.plan-card{padding:36px 20px 22px}.service-booking{align-items:start;flex-direction:column;gap:18px}.service-offer{gap:6%}}
@media(max-width:760px){.plan-comparison{display:none}.plan-cards-mobile{display:grid}.plan-cards{grid-template-columns:1fr}.plan-card{padding:38px 24px 24px}.page-body .plan-price{font-size:38px}.plan-price span{display:inline;margin-left:8px}.plan-card ul{margin-top:18px}.plan-cta{font-size:14px}.service-section-heading,.service-every-plan{grid-template-columns:1fr;gap:22px}.service-every-plan{padding:40px 0}.service-common-features{font-size:16px}.service-preview-section,.service-focused{padding-top:42px}.service-offer{grid-template-columns:1fr;gap:35px}.service-offer>div:last-child{justify-self:start;max-width:330px}.service-booking{padding:28px;margin-top:40px}.service-sample-grid{gap:16px}.service-page .page-hero{padding:24px 0 28px}.service-page .page-body{padding-top:28px}.service-page .page-hero h1{font-size:40px}.service-page .page-lead{font-size:17px}.service-faq{margin-top:40px}}
@media(max-width:440px){.service-sample-grid{grid-template-columns:1fr;max-width:300px}.sample-video video{max-height:500px}.service-booking{padding:24px}.service-page .page-hero h1{font-size:36px}.service-page .page-body h2{font-size:31px}.service-offer>div:last-child{justify-self:center}.service-page .service-navigation a{font-size:12px}.service-section-heading{gap:16px}.plan-card .plan-price{font-size:36px}}

/* Review pass: make every tier reachable without scrolling through preceding cards. */
.plan-jump-links{display:none}
.plan-card[id]{scroll-margin-top:24px}
@media(max-width:760px){.plan-jump-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 20px}.plan-jump-links a{display:flex;flex-direction:column;gap:5px;border:1px solid #ccc;border-radius:8px;padding:12px 8px;text-align:center;font-size:12px;font-weight:600}.plan-jump-links a span{font-size:13px;color:#444}.plan-jump-links a:hover{background:#edf3ff;color:#111}.service-pricing .pricing-intro h2{font-size:28px}}

.sample-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid #ffffff80;background:#111d;color:#fff;border-radius:28px;padding:14px 20px;display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:14px;cursor:pointer}
.sample-play[hidden]{display:none}
.sample-play:hover{background:#245cba}
.service-sample-reel .sample-original{font-size:12px;text-decoration:underline;text-underline-offset:3px;color:#444;align-self:start;margin-top:3px}
.page-body .sample-playback-status{font-size:13px;color:#555}
.sample-playback-status:empty{display:none}
@media(max-width:760px){.plan-jump-links a:nth-child(2){display:flex}}

/* Four plain-language stages in the monthly workflow. */
.management-process{padding:40px;margin:60px 0 65px;background:#f0f5ff;border:1px solid #dae5f7;border-radius:20px}
.management-process .service-section-heading{display:block;margin-bottom:32px}
.management-process .service-section-heading p{font-size:16px;line-height:1.65}
.management-process ol{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;padding:0;margin:0}
.management-process li{position:relative;min-width:0;display:flex;flex-direction:column}
.process-node{height:96px;position:relative;display:flex;align-items:center;margin-bottom:24px}
.process-node svg{position:relative;z-index:1;width:88px;height:88px;padding:21px;background:#fff;border:1px solid #b8cdef;border-radius:50%;fill:none;stroke:#245cba;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.process-number{position:absolute;z-index:2;left:65px;top:0;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#397ff3;color:#fff;font-size:11px;font-weight:600}
.process-flow li:not(:last-child) .process-node:after{content:'';position:absolute;left:102px;right:-9px;top:48px;height:1px;background:#91afe0}
.process-flow li:not(:last-child) .process-node:before{content:'';position:absolute;right:-9px;top:45px;width:7px;height:7px;border-top:1px solid #91afe0;border-right:1px solid #91afe0;transform:rotate(45deg)}
.process-step{display:flex;flex-direction:column;flex:1}
.management-process h3{font-size:23px;line-height:1.2;font-weight:500;letter-spacing:-.7px;margin:0 0 12px}
.management-process li p{font-size:15px;line-height:1.65;margin:0}
@media(max-width:1100px){
 .management-process{padding:30px}
 .management-process .service-section-heading{grid-template-columns:1fr;gap:18px}
 .management-process ol{grid-template-columns:1fr;gap:0}
 .management-process li{display:grid;grid-template-columns:88px 1fr;gap:26px;padding-bottom:32px}
 .management-process li:last-child{padding-bottom:0}
 .process-node{height:auto;display:block;margin:0}
 .process-node svg{width:72px;height:72px;padding:16px}
 .process-number{left:53px;top:-4px;width:25px;height:25px}
 .process-flow li:not(:last-child) .process-node:after{left:36px;right:auto;top:86px;bottom:0;height:auto;width:1px}
 .process-flow li:not(:last-child) .process-node:before{left:33px;right:auto;top:auto;bottom:0;transform:rotate(135deg)}
 .management-process h3{margin:10px 0;font-size:23px}
 .management-process li p{margin-bottom:16px;max-width:620px}
}
@media(max-width:760px){
 .management-process{padding:26px 20px;margin:40px 0}
 .management-process .service-section-heading{margin-bottom:32px}
 .management-process li{grid-template-columns:48px 1fr;gap:16px;padding-bottom:30px}
 .process-node svg{width:48px;height:48px;padding:11px}
 .process-number{left:30px;top:-8px;width:22px;height:22px;font-size:9px}
 .process-flow li:not(:last-child) .process-node:after{left:24px;top:62px}
 .process-flow li:not(:last-child) .process-node:before{left:21px}
 .management-process h3{font-size:22px}
 .management-process li p{font-size:14px}
}
.service-options{margin-top:65px;padding-top:65px;border-top:1px solid #ccc}
.major-offers{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.offer-card{display:flex;flex-direction:column;min-width:0;border:1px solid #d5d5d5;border-radius:12px;padding:26px;transition:background .15s,border-color .15s}
.offer-card-top{display:flex;align-items:center;justify-content:space-between;gap:15px}
.offer-card-top>span:last-child{font-size:25px;line-height:1}
.offer-card h3{font-size:25px;letter-spacing:-.9px;line-height:1.2;font-weight:500;margin:24px 0 12px}
.page-body .offer-card p{font-size:15px;line-height:1.6;margin:0 0 26px;max-width:470px}
.offer-card-action{margin-top:auto;padding-top:16px;border-top:1px solid #ddd;font-size:13px;display:flex;justify-content:space-between;align-items:center}
.offer-card-major{padding:34px;background:#111;color:#fff;border-color:#111;min-height:280px}
.offer-card-major:nth-child(2){background:#397ff2;border-color:#397ff2;color:#080808}
.offer-card-major h3{font-size:clamp(26px,3vw,39px);max-width:420px}
.page-body .offer-card-major p{font-size:17px;color:inherit}
.offer-card-major .offer-card-action{border-color:#ffffff50}
.offer-card-major:nth-child(2) .offer-card-action{border-color:#1114}
.offer-card-major .label{font-size:11px}
.offer-card:hover{border-color:#347df6;background:#f2f6ff}
.offer-card-major:hover{background:#252525;color:#fff}
.offer-card-major:nth-child(2):hover{background:#2c6bd1;color:#fff}
.offer-card:focus-visible{outline:3px solid #245cba;outline-offset:5px}
.individual-offers-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-top:38px}
.individual-offers-heading h3{font-size:25px;font-weight:500;letter-spacing:-.8px;margin:0}
.page-body .individual-offers-heading p{font-size:15px;margin:0}
.individual-offers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:22px}
.individual-offers .label{font-size:9px;letter-spacing:.6px}
@media(max-width:1000px){.individual-offers{grid-template-columns:1fr 1fr}.individual-offers-heading{align-items:start;flex-direction:column;gap:10px}}
@media(max-width:760px){.service-options{margin-top:45px;padding-top:40px}.major-offers{grid-template-columns:1fr;gap:16px}.offer-card-major{padding:26px;min-height:260px}.offer-card-major h3{font-size:32px}.offer-card{padding:22px}}
@media(max-width:440px){.individual-offers{grid-template-columns:1fr}.offer-card-major h3{font-size:29px}.offer-card h3{margin-top:20px}.page-body .offer-card p{margin-bottom:20px}}
@media(prefers-reduced-motion:reduce){.offer-card{transition:none}}

/* Management landing page: visual introduction, simple monthly flow, plans and FAQ. */
.service-page.management-page .page-body{padding-top:0}
.service-page .management-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:5%;align-items:center;border:0;padding:46px 0 30px}
.management-hero-copy{padding:15px 0 25px}
.management-hero-copy>.label{font-size:10px;letter-spacing:1.2px;color:#555}
.service-page .management-hero h1{font-size:clamp(44px,5.2vw,78px);font-weight:700;line-height:1.05;letter-spacing:-.06em;margin:24px 0;max-width:680px}
.service-page .management-hero .page-lead{font-size:19px;line-height:1.65;max-width:480px;margin:0}
.management-hero-actions{display:flex;align-items:center;gap:30px;margin-top:30px;flex-wrap:wrap}
.management-hero-actions .service-cta{margin:0;min-width:170px;justify-content:space-between;display:flex;gap:28px;align-items:center;font-size:15px}
.management-pricing-link{display:flex;gap:20px;align-items:center;padding:12px 0;border-bottom:1px solid #111;font-size:15px}
.management-hero-gallery{display:grid;grid-template-columns:1.1fr 1fr;grid-template-rows:1fr 1fr;gap:14px;height:440px;padding:18px;background:#edf3ff;border-radius:20px;transform:rotate(2deg)}
.management-hero-gallery img{display:block;width:100%;height:100%;min-height:0;object-fit:cover;border-radius:10px}
.management-hero-gallery .management-hero-main{grid-row:1/3}
.management-page .management-process{margin:42px 0 60px;padding:36px}
.management-process .service-section-heading h2{margin:0}
.process-repeat{display:flex;align-items:center;justify-content:center;gap:10px;border-top:1px solid #cbdaf0;padding-top:22px;margin:28px 0 0!important;font-size:14px!important;color:#354b6b!important}
.process-repeat span{font-size:24px;line-height:1;color:#245cba}
.management-page .service-faq{display:grid;grid-template-columns:.75fr 1.25fr;gap:8%;margin-top:65px;padding-top:45px}
.management-page .service-faq-heading h2{margin:15px 0 20px;font-size:clamp(30px,3.2vw,44px)}
.service-faq-heading .label{font-size:11px;color:#555}
.page-body .service-faq-heading p{font-size:15px}
.service-faq-heading a,.service-faq-list p a{text-decoration:underline;text-underline-offset:4px}
.service-faq-list{border-top:1px solid #ccc}
.service-faq-list details{padding:0}
.service-faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;font-size:17px;font-weight:500;list-style:none}
.service-faq-list summary::-webkit-details-marker{display:none}
.service-faq-list summary:after{content:'+';font-size:25px;font-weight:400;line-height:1;flex-shrink:0;color:#245cba}
.service-faq-list details[open] summary:after{content:'−'}
.page-body .service-faq-list details p{font-size:15px;line-height:1.75;margin:0;padding-bottom:24px;color:#444}
.service-offer>.service-offer-photo{max-width:440px}
.service-offer-photo img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:12px}
@media(max-width:1100px){
 .service-page .management-hero{gap:4%}
 .management-hero-gallery{height:390px;gap:10px;padding:12px}
 .management-page .management-process{padding:30px}
 .management-process h3{margin:4px 0 12px}
 .management-process li p{margin-bottom:0}
 .management-page .service-faq{gap:6%}
}
@media(max-width:760px){
 .service-page .management-hero{grid-template-columns:1fr;gap:28px;padding:25px 0 22px}
 .management-hero-copy{padding:0}
 .service-page .management-hero h1{font-size:clamp(42px,9vw,64px);margin:20px 0}
 .service-page .management-hero .page-lead{font-size:17px;line-height:1.6;max-width:580px}
 .management-hero-actions{margin-top:24px;gap:24px}
 .management-hero-gallery{height:310px;transform:none;border-radius:14px}
 .management-page .management-process{padding:26px 20px;margin:20px 0 42px}
 .management-page .service-faq{grid-template-columns:1fr;gap:24px;margin-top:45px;padding-top:32px}
 .management-page .service-faq-heading h2{font-size:32px;margin-bottom:14px}
 .service-faq-list summary{font-size:16px;padding:20px 0;gap:20px}
 .management-process .service-section-heading h2{font-size:30px}
 .management-process h3{font-size:21px}
 .service-offer>.service-offer-photo{max-width:440px;justify-self:stretch}
 .service-offer-photo img{aspect-ratio:4/3}
}
@media(max-width:440px){
 .management-hero-gallery{height:250px}
 .management-hero-actions{gap:22px}
 .management-hero-actions .service-cta{min-width:150px;padding:13px 18px}
 .management-pricing-link{gap:14px;font-size:14px}
}

/* One-off services use a project quote in the same position as monthly pricing. */
.service-project-pricing{scroll-margin-top:24px}
.service-project-card{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;border:1px solid #ccc;border-radius:12px;padding:34px}
.service-project-card .label{font-size:10px;letter-spacing:1px;color:#555}
.service-project-card ul{padding:0;margin:20px 0 0;list-style:none}
.service-project-card li{padding:16px 0;border-top:1px solid #ddd;font-size:17px;line-height:1.5}
.service-project-card li:last-child{padding-bottom:0}
.service-project-quote{display:flex;flex-direction:column;align-items:start;justify-content:center;padding:28px;border-radius:10px;background:#edf3ff}
.service-project-quote h3{font-size:28px;font-weight:500;letter-spacing:-1px;line-height:1.15;margin:0 0 16px}
.page-body .service-project-quote p{font-size:16px;line-height:1.65;margin:0 0 22px}
.service-project-quote .service-cta{font-size:14px;margin:0;display:flex;justify-content:space-between;gap:30px;align-items:center}
@media(max-width:760px){.service-project-card{grid-template-columns:1fr;gap:26px;padding:24px}.service-project-card li{font-size:16px}.service-project-quote{padding:24px}.service-project-quote h3{font-size:26px}}
