/* A common warm brand system with different compositions for each service family. */
.direction-page{--direction-space:clamp(2rem,4.5vw,4.5rem)}
.direction-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:center;padding-block:1rem 3rem}
.direction-copy,.direction-hero>aside,.direction-image{min-width:0}
.direction-copy h1{font-size:clamp(2.625rem,4.6vw,4.375rem);line-height:1.07}
.direction-copy .lead{font-size:clamp(1.25rem,1.8vw,1.625rem);line-height:1.4;max-width:42rem}
.direction-copy>.button{margin-top:2rem}
.direction-image img{width:100%;aspect-ratio:6/5;object-fit:cover;border-radius:var(--radius)}
.direction-image figcaption{font-size:.875rem;color:var(--muted);margin-top:.75rem}
.direction-signature{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;border-block:1px solid var(--line);padding-block:1.5rem}
.direction-signature span{font-size:1rem;line-height:1.45;font-weight:600;padding-left:1rem;border-left:2px solid var(--red)}
.direction-offering{padding-block:var(--direction-space)}
.direction-section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:3rem;align-items:start;margin-bottom:2rem}
.direction-section-heading h2{font-size:clamp(1.875rem,3vw,2.875rem);max-width:36rem}
.direction-section-heading>p{font-size:1.125rem;color:var(--muted);max-width:46rem}
.direction-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.direction-choice{display:flex;flex-direction:column;align-items:flex-start;min-width:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:2rem;box-shadow:0 5px 20px #37343509}
.direction-choice-index{font-size:.875rem;color:var(--muted);margin-bottom:1.5rem}
.direction-choice h3{font-size:1.625rem;line-height:1.15;overflow-wrap:anywhere}
.direction-choice p{font-size:1.0625rem;color:var(--muted);margin-top:1rem}
.direction-choice-action{font-size:.875rem;font-weight:600;border-bottom:1px solid var(--line);padding-block:.75rem;margin-top:1rem;line-height:1.5}
a.direction-choice:hover{border-color:var(--red);background:var(--paper)}
.direction-approach{padding-block:0 var(--direction-space)}
.direction-approach-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:0 3rem;align-items:start}
.direction-approach-heading>.eyebrow{grid-column:1/-1}
.direction-approach-heading>h2{font-size:clamp(1.875rem,3vw,2.875rem);max-width:38rem}
.direction-approach-heading>p:not(.eyebrow){font-size:1.125rem;color:var(--muted);max-width:46rem}
.direction-arguments{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin-top:2rem}
.direction-arguments article{padding-top:1.5rem;border-top:1px solid var(--line);min-width:0}
.direction-arguments article>span{display:block;font-size:.875rem;color:var(--muted);margin-bottom:1rem}
.direction-arguments h3{font-size:1.375rem;line-height:1.2}
.direction-arguments p{font-size:1.0625rem;color:var(--muted);margin-top:.875rem}
.direction-brief{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:3rem;padding:3rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 28px #3734350b}
.direction-brief h2{font-size:clamp(1.875rem,3vw,2.625rem)}
.direction-brief>div>p:not(.eyebrow){font-size:1.125rem;color:var(--muted);margin-bottom:1.5rem}
.direction-faq{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:3rem;padding-top:var(--direction-space)}
.direction-faq h2{font-size:2.25rem}
.direction-faq .faq summary{font-size:1.25rem;line-height:1.35}
.direction-faq .faq p{font-size:1.0625rem}
/* Print: tactile editorial photo and a quiet line-based product index. */
.direction-print .direction-hero{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
.direction-print .direction-image img{aspect-ratio:5/6;max-height:36rem;object-position:60% center}
.direction-print .direction-choices{gap:0;border-block:1px solid var(--line)}
.direction-print .direction-choice{border:0;border-radius:0;border-right:1px solid var(--line);background:transparent;box-shadow:none;padding:2rem}
.direction-print .direction-choice:first-child{padding-left:0}
.direction-print .direction-choice:last-child{border-right:0}
.direction-print a.direction-choice:hover{background:var(--surface)}
/* Merchandise: product atmosphere, then a prominent in-house imprinting band. */
.direction-merch .direction-hero{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}
.direction-merch .direction-image img{aspect-ratio:1.1;object-position:95% 60%}
.merch-production{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:1.5rem;padding:1.75rem 2rem;background:var(--ink);color:var(--paper);border-radius:var(--radius)}
.merch-production strong{font-size:1.375rem;line-height:1.3}
.merch-production p{font-size:1rem;line-height:1.5;max-width:28rem}
.direction-merch .direction-arguments article{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:1.75rem}
/* Outdoor: large typography reflects scale without fabricated facades or cases. */
.direction-outdoor .direction-copy h1{font-size:clamp(3rem,5.4vw,5rem)}
.direction-wordmark{padding:2.5rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
.direction-wordmark .direction-statement{font-size:clamp(2.75rem,5vw,4.75rem);font-weight:600;line-height:1.06;letter-spacing:-.04em}
.direction-wordmark>p:last-child{font-size:1.0625rem;color:var(--muted);margin-top:1.5rem;max-width:28rem}
.direction-outdoor .direction-choices{grid-template-columns:1fr}
.direction-outdoor .direction-choice{display:grid;grid-template-columns:2.5rem minmax(0,1fr) minmax(0,1fr);gap:1.25rem;align-items:baseline;border-radius:0;border-inline:0;border-top:0;box-shadow:none;background:transparent;padding:1.5rem 0}
.direction-outdoor .direction-choice p{margin-top:0}
.direction-outdoor .direction-choice-index{margin-bottom:0}
.direction-outdoor .direction-choice-action{grid-column:2/-1;justify-self:start;margin-top:0}
/* Construction: an architectural image with a quieter grid of zones. */
.direction-construction .direction-image img{aspect-ratio:1;object-position:60% center}
.direction-construction .direction-choices{gap:1rem}
.direction-construction .direction-choice{border-radius:4px;padding:2rem}
.direction-construction .direction-arguments{gap:0;border:1px solid var(--line);border-radius:4px;overflow:hidden}
.direction-construction .direction-arguments article{background:var(--paper);padding:2rem;border-top:0;border-right:1px solid var(--line)}
.direction-construction .direction-arguments article:last-child{border-right:0}
/* Events: typography and an integrated set of communication touchpoints. */
.direction-events .direction-hero{grid-template-columns:minmax(0,1fr) minmax(0,.95fr)}
.direction-event-notes{padding:2.5rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}
.direction-event-notes>div{display:flex;align-items:baseline;gap:1.5rem;padding-block:1.5rem;border-top:1px solid var(--line)}
.direction-event-notes>div span{font-size:.875rem;color:var(--muted);flex:none}
.direction-event-notes>div p{font-size:clamp(1.5rem,2.8vw,2.625rem);font-weight:600;line-height:1.12;letter-spacing:-.035em}
.direction-events .direction-choice-index{border:1px solid var(--line);border-radius:50%;width:2.5rem;height:2.5rem;display:grid;place-items:center}
.direction-events .direction-arguments article{padding-top:1.5rem;border-top:2px solid var(--red)}
/* Components: real input requirements, never a fictional equipment specification. */
.direction-specification{padding:2.5rem;background:var(--surface);border:1px solid var(--line);border-radius:4px}
.direction-specification h2{font-size:clamp(2rem,3.6vw,3.375rem)}
.direction-specification dl{display:grid;gap:0;margin:1.5rem 0 0}
.direction-specification dl>div{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:1rem;padding-block:.875rem;border-top:1px solid var(--line)}
.direction-specification dt{font-size:.875rem;color:var(--muted)}
.direction-specification dd{font-size:1rem;margin:0}
.direction-specification>p:last-child{font-size:.875rem;color:var(--muted);margin-top:1.25rem}
.direction-parts .direction-choice{border-radius:4px;box-shadow:none}
.direction-parts .direction-choice-index{font-family:monospace;font-size:1rem}
.direction-parts .direction-arguments{grid-template-columns:1fr;gap:0}
.direction-parts .direction-arguments article{display:grid;grid-template-columns:3rem minmax(0,.8fr) minmax(0,1.4fr);gap:1.5rem;padding-block:1.5rem}
.direction-parts .direction-arguments article>span,.direction-parts .direction-arguments article>p{margin:0}
.direction-design .direction-image img{aspect-ratio:1.2;object-position:25% center}
@media(max-width:960px){.direction-hero{gap:2rem}.direction-section-heading,.direction-approach-heading,.direction-brief,.direction-faq{gap:1.5rem 2rem}.direction-choice,.direction-print .direction-choice,.direction-construction .direction-choice{padding:1.5rem}.direction-choice h3{font-size:1.375rem}.direction-event-notes,.direction-specification,.direction-wordmark{padding:2rem}.direction-arguments{gap:1.5rem}.direction-brief{padding:2rem}.merch-production{display:block}.merch-production p{margin-top:1rem;max-width:none}.direction-print .direction-copy h1{font-size:clamp(2.5rem,5vw,3.75rem)}}
@media(max-width:760px){.direction-hero,.direction-print .direction-hero,.direction-merch .direction-hero,.direction-events .direction-hero{grid-template-columns:1fr}.direction-copy{max-width:46rem}.direction-hero{padding-block:.5rem 2rem;gap:2rem}.direction-copy h1,.direction-print .direction-copy h1,.direction-outdoor .direction-copy h1{font-size:clamp(2.375rem,7.5vw,3.625rem)}.direction-image img,.direction-print .direction-image img{aspect-ratio:16/10;max-height:none}.direction-merch .direction-image img{aspect-ratio:16/11}.direction-construction .direction-image img{aspect-ratio:16/11}.direction-choices{grid-template-columns:1fr}.direction-section-heading,.direction-approach-heading,.direction-brief,.direction-faq{grid-template-columns:1fr}.direction-section-heading>p,.direction-approach-heading>p:not(.eyebrow){max-width:none}.direction-print .direction-choice{border-right:0;border-bottom:1px solid var(--line)}.direction-print .direction-choice:first-child{padding-left:1.5rem}.direction-print .direction-choice:last-child{border-bottom:0}.direction-arguments{grid-template-columns:1fr}.direction-construction .direction-arguments article{border-right:0;border-bottom:1px solid var(--line)}.direction-construction .direction-arguments article:last-child{border-bottom:0}.direction-faq{gap:1.5rem}.direction-faq h2{font-size:1.875rem}.direction-outdoor .direction-choice{grid-template-columns:2rem minmax(0,1fr)}.direction-outdoor .direction-choice p{grid-column:2}.direction-outdoor .direction-choice-action{grid-column:2}.direction-parts .direction-arguments article{grid-template-columns:2rem minmax(0,1fr);gap:.75rem 1rem}.direction-parts .direction-arguments article>p{grid-column:2}}
@media(max-width:480px){.direction-copy>.button,.direction-brief .button{width:100%}.direction-signature{grid-template-columns:1fr;gap:.875rem;padding-block:1.25rem}.direction-signature span{font-size:.9375rem}.direction-hero{gap:1.5rem}.direction-choice{padding:1.5rem}.direction-section-heading{gap:1.25rem}.direction-brief{padding:1.5rem}.direction-wordmark,.direction-event-notes,.direction-specification{padding:1.5rem}.direction-wordmark .direction-statement{font-size:3rem}.direction-specification dl>div{grid-template-columns:1fr;gap:.375rem}.direction-approach-heading>.eyebrow{margin-bottom:0}.direction-construction .direction-choice,.direction-construction .direction-arguments article{padding:1.5rem}.merch-production{padding:1.5rem}.direction-faq .faq summary{font-size:1.125rem}.direction-page .cta h2{font-size:2rem}.direction-page .related-card h3{font-size:1.375rem}}
