/* Shared journey: readable process, clear planning context and deliberate grouping.
   Loaded after site.css; the protected base design system remains unchanged. */

.process-flow{display:grid;min-width:0;margin:0;padding:0;list-style:none;border-top:1px solid var(--line-2)}
.process-flow>li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:16px;min-width:0;padding:var(--process-row) 0;border-bottom:1px solid var(--line)}
.process-flow>li:last-child{padding-bottom:0;border-bottom:0}
.process-flow__number{padding-top:3px;font:400 12px/1.6 var(--mono);color:var(--text-3);font-variant-numeric:tabular-nums}
.process-flow>li>div{display:grid;gap:8px;min-width:0;align-content:start}
.process-flow h3{font:400 clamp(18px,1.8vw,22px)/1.25 var(--sans);letter-spacing:-.02em}
.process-flow p{max-width:54ch;font-size:16px;line-height:1.6;color:var(--text-2)}
.process-flow a{min-height:44px;text-underline-offset:4px}
.process-flow--compact h3{font-size:18px;line-height:1.3}
.inquiry__next{grid-column:1/-1;width:100%;max-width:none;gap:20px;padding-top:32px;border-top:1px solid var(--line-2)}
.inquiry__next>.process-flow{border-top:0}
.inquiry__next>.eyebrow{font-size:13px;color:var(--text-3)}
.inquiry__body{align-content:start}
.inquiry__body>.actions{gap:12px;min-width:0}
.inquiry__body>.actions .btn{min-height:52px;max-width:100%;white-space:normal;text-align:center}
.inquiry__in{padding-block:var(--section)}
.home-studio .about-preview__copy>.process-flow{grid-column:1/-1}
.home-studio{padding-bottom:var(--section)}
.home-studio .about-preview__copy{row-gap:24px}
.home-studio .about-preview__copy>.process-flow{margin:0}
.home-studio .about-preview__copy>.link-arrow{margin-top:0;min-height:44px}
.page-work .work-wall{padding-bottom:var(--section)}
.page-about .project-journey{padding-bottom:0;row-gap:var(--section-inner)}
.about-facts-band{padding-bottom:var(--section)}
.about-facts div:last-child{padding-bottom:0;border-bottom:0}

/* The budget is planning guidance, not an included package or fixed production. */
.budget-panel{display:grid;gap:14px;min-width:0;padding:clamp(22px,2.6vw,36px);border:1px solid var(--line-2);border-radius:var(--radius);background:var(--stage)}
.budget-panel__scope{font-size:16px;line-height:1.5;color:var(--text)}
.budget-panel__range{min-width:0;max-width:100%;font:400 clamp(30px,3.3vw,46px)/1.15 var(--sans);letter-spacing:-.035em;font-variant-numeric:lining-nums tabular-nums}
.budget-panel__note{max-width:46ch;font-size:16px;line-height:1.6;color:var(--text-2)}
.budget-panel>.actions{padding-top:8px}
.budget-panel .btn{min-height:48px;max-width:100%;white-space:normal;text-align:center}
.offer__quote .budget-panel,.contact-primary .budget-panel{padding:0;border:0;background:transparent}
.offer__quote .budget-panel{padding-bottom:0;border-bottom:0}
.contact-primary .budget-panel{margin-top:4px;padding-top:22px;border-top:1px solid var(--line-2)}
.contact-primary .budget-panel__range{font-size:clamp(30px,3vw,42px)}

/* Core service and investment share one panel; further video work stays separate. */
.commercial-offer{padding-bottom:var(--section)}
.offer{grid-template-columns:minmax(0,1fr);grid-template-areas:none;gap:28px}
.offer__main{display:grid;gap:32px;min-width:0;padding:clamp(22px,2.8vw,40px);border:1px solid var(--line-3);border-radius:var(--radius);background:var(--stage)}
.offer__core,.offer__quote{grid-area:auto;gap:18px;padding:0;border:0;background:transparent}
.offer__extras{grid-area:auto;gap:18px;padding:clamp(22px,2.6vw,36px)}
.offer__intro,.offer__format,.offer__quote-copy,.offer__note,.offer__item-line{font-size:16px;line-height:1.6;color:var(--text-2)}
.offer__details{min-width:0;margin-top:8px;border-top:1px solid var(--line-2)}
.offer__details>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:56px;padding:12px 0;list-style:none;cursor:pointer;font-size:16px;line-height:1.4;color:var(--text-2)}
.offer__details>summary::-webkit-details-marker{display:none}
.offer__details>summary::marker{content:""}
.offer__details>summary:hover,.offer__details>summary:focus-visible{color:var(--text)}
.offer__details[open]>summary .plus{transform:rotate(45deg);color:var(--text)}
.offer__details-body{padding-top:4px}
.offer__rows{margin-top:0;border-top:0}
.offer__row{grid-template-columns:minmax(0,1fr);gap:8px;padding:20px 0}
.offer__row dt{font:400 18px/1.3 var(--sans);letter-spacing:-.015em;color:var(--text)}
.offer__row dd{font-size:16px;line-height:1.6;color:var(--text-2)}
.offer__delivery-spec{display:grid;gap:8px;margin-top:8px;padding-top:16px;border-top:0;font-size:16px;line-height:1.6;color:var(--text-2)}
.offer__quote-title{font-size:clamp(30px,3vw,42px);line-height:1.12}
.offer__list-title{margin-top:4px;font-size:13px}
.offer__list li{gap:8px;padding:18px 0}
.offer__item{font-size:18px;line-height:1.3;letter-spacing:-.015em}
.offer__extras{background:var(--stage)}
.offer__extras-head{gap:10px}
.offer__extras .offer__list{gap:0}
.offer__extras .offer__list li:last-child{border-bottom:0}
.commercial-approach__lede,.approach-film__copy{font-size:16px;line-height:1.6}
.approach-film{gap:12px}
.approach-film__goal{max-width:28ch}

/* About and travel facts retain useful detail at the same reading size. */
.about-facts dd,.page-head__location,.local-glance dd,.local-core__line,.local-plan p,.contact-pricing p:not(.eyebrow){font-size:16px;line-height:1.6}
.about-facts dt,.local-glance dt{font-size:13px;line-height:1.5}
.about-facts div{gap:10px;padding:22px 0}
.about-facts a{max-width:100%;overflow-wrap:anywhere}
.about-standard{max-width:34ch;margin-top:0;padding-top:0;border-top:0;font-size:clamp(21px,2vw,28px);line-height:1.35}
.purpose-story__steps{column-gap:12px;margin-bottom:24px}
.purpose-story__steps button{align-items:flex-start;gap:8px;min-height:60px;padding:16px 0;font-size:17px;line-height:1.35}
.purpose-story__steps button>span:last-child{min-width:0}
.purpose-story__number{padding-top:3px;font-size:12px;line-height:1.6;color:var(--text-3)}
.purpose-story__copy{gap:12px;padding-top:20px}
.purpose-story__copy>p:not(.eyebrow){font-size:16px;line-height:1.6}
.purpose-story__panels{gap:40px}
.local-glance{grid-template-columns:minmax(0,1fr);gap:0}
.local-core li{gap:8px;padding:20px 0}
.local-core__name{font:400 18px/1.3 var(--sans);letter-spacing:-.015em;color:var(--text)}
.local-plan li{gap:10px;padding:24px 0}
.local-plan h3{font-size:21px;line-height:1.25}
.contact-primary{gap:20px}
.contact-primary>.note{font-size:16px;line-height:1.6;color:var(--text-2)}
.contact-primary .actions .note{font-size:14px;line-height:1.6}
.contact-expectations{gap:20px}
.contact-expectations>p:not(.eyebrow){max-width:54ch;font-size:16px;line-height:1.6;color:var(--text-2)}
.contact-expectations>.link-arrow{justify-self:start;margin-top:8px}
.contact-options{gap:var(--section-inner);margin-top:var(--section);padding-block:var(--section)}

/* Keep the footer useful as grouped navigation, with comfortable tap targets. */
.site-footer{padding-top:var(--section)}
.foot{gap:36px}
.foot-brand .muted{font-size:15px;line-height:1.6}
.foot-cols{gap:28px 24px}
.foot-cols>div{min-width:0}
.foot-cols h2{margin-bottom:8px;font-size:13px;line-height:1.5}
.foot-cols a{min-height:44px;min-width:44px;max-width:100%;font-size:15px;line-height:1.4}
.foot-legal{gap:8px 24px;margin-top:32px;padding-top:24px;color:var(--text-3)}
.btn-glass:active{border-color:var(--text);background:var(--text);color:var(--bg)}
.btn-light:active{background:var(--text-2)}

@media (max-width:639px){
  .section-head{margin-bottom:var(--section-inner)}
  .home-studio .about-preview{row-gap:16px}
  .contact-journey{gap:var(--section)}
  .site-footer{padding-top:28px}
  .foot{gap:20px}
  .foot-brand{grid-template-columns:48px minmax(0,1fr);align-items:start;gap:12px}
  .foot-brand img{margin-top:2px}
  .foot-brand__line{display:block}
  .foot-brand .muted{max-width:none;font-size:15px;line-height:1.55}
  .foot-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}
  .foot-cols>.foot-site{grid-column:1/-1}
  .foot-cols>.foot-site ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}
  .foot-cols>.foot-site li{min-width:0}
  .foot-cols>.foot-contact{grid-column:1}
  .foot-cols>.foot-follow{grid-column:2}
  .foot-cols a{line-height:1.35}
  .foot-legal{gap:6px 16px;margin-top:20px;padding-top:16px}
}

@media (min-width:640px){
  .process-flow--compact{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}
  .process-flow--compact>li{grid-template-columns:24px minmax(0,1fr);gap:12px}
  .process-flow--compact>li:last-child:nth-child(odd){grid-column:1/-1}
  .offer__rows{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}
  .offer__row{align-content:start}
  .offer__row:nth-last-child(-n+2){border-bottom:0}
  .offer__extras .offer__list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}
  .offer__extras .offer__list li{border-bottom:0}
  .about-facts{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:28px}
  .about-facts div{border-bottom:0}
  .local-glance{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}
}

@media (min-width:1024px){
  .inquiry__in{align-items:start;row-gap:40px}
  .inquiry__body{align-self:center}
  .inquiry__next{padding-top:36px}
  .offer__main{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(36px,5vw,72px);align-items:start}
  .offer__extras{grid-template-columns:minmax(0,3fr) minmax(0,9fr);column-gap:clamp(28px,3vw,48px)}
  .offer__extras .offer__list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:36px}
  .offer__extras .offer__list li{padding:14px 0 4px;border-top:1px solid var(--line);border-bottom:0}
  .purpose-story__steps button{font-size:19px}
  .contact-journey{gap:clamp(40px,5vw,72px)}
  .contact-options{gap:clamp(40px,5vw,72px)}
  .foot{gap:clamp(40px,5vw,72px)}
}

@media (prefers-reduced-motion:reduce){
  .offer__details .plus{transition:none}
}

@media (min-width:1100px){
  .inquiry__next>.process-flow--compact{grid-template-columns:repeat(5,minmax(0,1fr));column-gap:clamp(20px,2.4vw,36px)}
  .inquiry__next>.process-flow--compact>li{grid-template-columns:minmax(0,1fr);gap:12px;padding:0;border:0}
  .inquiry__next>.process-flow--compact>li:last-child:nth-child(odd){grid-column:auto}
  .inquiry__next>.process-flow--compact p{max-width:28ch}
  .about-facts{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(28px,3vw,48px)}
}

/* Preserve the owner-reviewed About final rule and compact phone legal block. */
.about-process{padding-bottom:var(--section)}
.about-process .process-flow>li:last-child{padding-bottom:0;border-bottom:0}
.inquiry--about .inquiry__in{padding-top:var(--section)}
@media (max-width:479px){.foot-legal{flex-direction:column;align-items:flex-start;gap:4px}}
