/* Shared page components. Home keeps its approved composition. */
:root{--text-orange:#c46108;--card-radius:32px;--section-space:130px;--layout-gap:64px}
.button-outline{background:transparent;color:var(--navy);border-color:var(--navy)}
.button.button-outline{border-color:var(--navy)}
.button-outline:before{background:var(--orange)}
.button-outline:is(:hover,:focus-visible){color:var(--navy);border-color:var(--orange)}
.flow-section{padding-block:var(--section-space)}
.flow-heading{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:end;gap:var(--layout-gap);margin-bottom:56px}
.flow-heading h2{font-size:var(--type-heading);line-height:1.08;letter-spacing:-.04em}
.flow-heading p{max-width:48ch}
.flow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none;margin:0;padding:0}
.flow-card{min-width:0;padding:36px;border:1px solid #f7f1eb70;border-radius:var(--card-radius)}
.flow-step{display:block;font-size:var(--type-heading);line-height:1;letter-spacing:-.04em;font-weight:800;color:var(--orange);margin-bottom:36px}
.flow-card h3{font-size:var(--type-title);line-height:1.2;letter-spacing:-.04em}
.flow-card p{margin-top:22px}
.flow-card-orange{background:var(--orange);color:var(--navy);border-color:var(--orange)}
.flow-card-orange .flow-step{color:var(--navy)}
@media(max-width:1100px){:root{--section-space:100px;--layout-gap:40px}.flow-card{padding:28px}}
@media(max-width:900px){.flow-heading{grid-template-columns:1fr;gap:24px;margin-bottom:40px}.flow-grid{grid-template-columns:1fr}.flow-step{margin-bottom:24px}}
@media(max-width:600px){:root{--card-radius:26px;--section-space:76px}.flow-card{padding:28px 24px}}

/* Reusable contact details for the homepage, closing CTAs and contact page. */
.studio-cta-row { display:flex; gap:16px; align-items:center; margin-top:25px; }
.studio-cta-icon { display:grid; place-items:center; width:46px; height:46px; flex:none; border-radius:50%; background:var(--orange); color:var(--navy); }
.studio-cta-icon .icon { width:20px; height:20px; }
.studio-cta-row > div { min-width:0; }
.studio-cta-row > div > span { display:block; font-size:var(--type-label); margin-bottom:7px; }
.studio-cta-row :is(a,strong) { font-size:var(--type-body); font-weight:700; overflow-wrap:anywhere; line-height:1.4; }
.studio-cta-row a:hover { text-decoration:underline; text-underline-offset:4px; }
.studio-cta-note { display:flex; gap:12px; align-items:center; margin-top:36px; padding-top:24px; border-top:1px solid #f7f1eb38; font-size:var(--type-label); }
.studio-cta-socials { display:flex; gap:14px; margin-top:20px; }
.studio-cta-socials a { display:grid; place-items:center; width:42px; height:42px; border:1px solid #f7f1eb99; border-radius:50%; color:var(--paper); }
.studio-cta-socials svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.studio-cta-socials a:first-child svg { fill:currentColor; stroke:none; }
.studio-cta-socials a:is(:hover,:focus-visible) { color:var(--navy); background:var(--orange); border-color:var(--orange); }
@media(max-width:600px){.studio-cta-row{gap:12px}.studio-cta-icon{width:38px;height:38px}}
:is(.studio-cta-panel,.ct-contact-details) a:focus-visible{outline-color:var(--orange)}
