/* Project discovery, image viewing and inquiry preparation. */
.division-index{position:sticky;top:var(--header-offset,88px);z-index:20;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px;background:var(--paper);border-top:1px solid #bbc1b7;border-bottom:1px solid #bbc1b7;box-shadow:0 8px 15px rgba(16,20,19,.04)}
.division-index a{display:flex;align-items:center;gap:18px;min-height:76px;padding:16px 22px;font-size:.875rem;line-height:1.5;transition:background .2s,color .2s}
.division-index a+a{border-left:1px solid #bbc1b7}.division-index a:hover{background:#dfe2d8}.division-index a[aria-current=true]{background:#17231c;color:var(--white)}.index-number{font-size:.75rem;color:#756244}.division-index a[aria-current=true] .index-number{color:var(--gold)}
.solution-row{scroll-margin-top:var(--division-offset,100px)}
.gallery-open{position:absolute;inset:0;width:100%;height:100%;padding:0;text-align:left;cursor:zoom-in}.gallery-open:focus-visible{outline-offset:-7px!important;outline-color:#fff!important}.gallery-open>span{position:absolute;bottom:16px;left:16px;display:flex;align-items:center;gap:22px;padding:8px 13px;color:#fff;background:rgba(9,15,11,.88);font-size:.875rem;line-height:1.5}.gallery-open>span::after{content:'↗';font-size:1.2rem}.quarry-media img{transition:transform .7s var(--ease)}.quarry-media:hover img{transform:scale(1.035)}
.project-path{background:#101713;border-top:1px solid var(--line)}.path-heading{display:flex;justify-content:space-between;gap:40px;align-items:start}.path-heading>.eyebrow{max-width:250px;padding-top:10px}.path-heading h2{font-family:var(--serif);font-size:clamp(2.5rem,4.3vw,5rem);line-height:1.12;white-space:pre-line;letter-spacing:-.035em;max-width:760px}
.path-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px;margin-top:65px}.path-step{border-top:1px solid #5e6353;padding-top:24px}.path-number{font-family:var(--serif);font-size:3rem;line-height:1.2;color:var(--gold)}.path-step h3{font-size:1.25rem;font-weight:500;margin:25px 0 12px}.path-step p{font-size:1rem;color:#bcc5bd;line-height:1.8;max-width:370px}
.project-faq{display:grid;grid-template-columns:.85fr 1.15fr;gap:85px;border-top:1px solid var(--line);padding-top:75px;margin-top:85px}.project-faq h2{font-family:var(--serif);white-space:pre-line;letter-spacing:-.03em;font-size:clamp(2.3rem,3.5vw,4rem);line-height:1.15;margin-top:22px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{padding:22px 0;list-style:none;display:flex;justify-content:space-between;gap:22px;align-items:start;font-size:1rem;cursor:pointer}.faq-list summary::-webkit-details-marker{display:none}.faq-plus{color:var(--gold);font-size:1.6rem;line-height:1;transition:transform .2s;flex-shrink:0}.faq-list details[open] .faq-plus{transform:rotate(45deg)}.faq-list details>p{color:#c1cac1;font-size:1rem;line-height:1.85;padding:0 25px 25px 0;max-width:650px}
.project-contact{background:#1a241e}.project-contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,6vw,100px);align-items:start}.project-contact h2{font-size:clamp(3.2rem,4.8vw,5.5rem);line-height:1.08;letter-spacing:-.04em;text-wrap:balance}.project-contact h2 em{margin-top:10px}.project-contact-copy>p{color:#c2ccc3;font-size:1rem;line-height:1.85;margin-top:30px;max-width:440px}.contact-direct{border-top:1px solid var(--line);padding-top:28px;margin-top:50px}.contact-direct .eyebrow{font-size:.75rem;letter-spacing:.09em}.contact-direct>a{display:inline-block;font-size:1rem;margin-top:12px;overflow-wrap:anywhere;text-underline-offset:5px}.contact-direct>a:hover{text-decoration:underline}
.project-form{background:#eeeee7;color:#1d261f;padding:clamp(25px,3.2vw,50px);min-width:0}.project-form :focus-visible{outline-color:#6b542f;outline-offset:4px}.project-form fieldset{border:0;margin:0;padding:0;min-inline-size:0}.project-form fieldset+fieldset{margin-top:32px}.project-form legend{display:block;width:100%;padding:0;margin-bottom:18px;font-weight:600;font-size:1rem}.brief-divisions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.brief-choice{display:flex;flex-direction:column;align-items:start;gap:12px;min-width:0;cursor:pointer;border:1px solid #afb6a9;padding:14px 12px;font-size:.875rem;line-height:1.5;transition:background .2s,color .2s}.brief-choice:has(input:checked){background:#1a2a20;color:#fff;border-color:#1a2a20}.brief-choice input{accent-color:#ad8548;width:17px;height:17px;margin:0;flex-shrink:0}.brief-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 18px}.brief-fields>label{display:flex;flex-direction:column;gap:8px;font-size:.875rem;min-width:0}.brief-fields input,.brief-fields textarea,.brief-fields select,.brief-review textarea{font:inherit;font-size:1rem;color:#18251d;background:#fafaf5;border:1px solid #9da798;border-radius:0;padding:12px;width:100%;min-width:0;min-height:48px;line-height:1.5}.brief-fields textarea{resize:vertical}.brief-fields .full-field{grid-column:1/-1}.field-hint{font-size:.875rem;color:#4a5949;line-height:1.7;margin-top:10px}.brief-note{font-size:.875rem;line-height:1.7;color:#4a5949;margin:24px 0 20px}.project-form>.button{width:100%}.project-form>.button:disabled{opacity:.55;cursor:default}.brief-review{border-top:1px solid #a7b1a1;margin-top:30px;padding-top:25px}.brief-review h3{font-size:1.25rem;margin-bottom:15px;font-weight:500}.brief-review textarea{font-size:.9375rem;resize:vertical}.brief-send{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:16px}.brief-send .button{font-size:.875rem;padding:14px 17px;gap:18px}.copy-brief{font-size:.875rem;text-decoration:underline;text-underline-offset:4px;min-height:44px;padding:8px 0}.brief-review [role=status]{font-size:.875rem;line-height:1.6;margin-top:12px;color:#334e35}
.gallery-dialog{background:#101713;color:#f8f8f2;border:0;width:min(1600px,100vw);max-width:100vw;height:100%;max-height:100dvh;margin:auto;padding:22px clamp(20px,4vw,64px);overflow:auto}.gallery-dialog::backdrop{background:rgba(4,8,6,.94)}.gallery-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.gallery-top>.eyebrow{font-size:.75rem;letter-spacing:.1em}.gallery-figure{margin:0}.gallery-figure>img{width:100%;height:calc(100dvh - 250px);min-height:190px;object-fit:contain;background:#0b100d}.gallery-figure figcaption{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-top:23px}.gallery-figure h2{font-family:var(--serif);font-size:clamp(1.8rem,3vw,3rem);line-height:1.2;margin-top:5px}.gallery-figure figcaption .eyebrow{font-size:.75rem;letter-spacing:.1em}.gallery-controls{display:flex;align-items:center;gap:15px;flex-shrink:0}.gallery-controls button{border:1px solid #7d8778;width:48px;height:48px;font-size:1.3rem}.gallery-controls button:hover{background:var(--gold);color:var(--ink)}.gallery-controls>span{font-size:.875rem;color:#c4cebf;min-width:40px;text-align:center}.gallery-note{font-size:.8125rem;color:#afb9ac;line-height:1.6;margin-top:18px}.gallery-dialog .close-travel{min-height:44px}
@media(max-width:1100px){.project-contact-grid{grid-template-columns:1fr;gap:40px}.project-contact-copy{display:grid;grid-template-columns:1fr 1fr;gap:20px 40px}.project-contact h2{font-size:clamp(3rem,5.5vw,5rem);grid-row:span 2}.project-contact-copy>p{margin-top:0}.contact-direct{margin-top:0}.project-form{max-width:850px;width:100%;justify-self:end}.project-faq{gap:40px}.path-steps{gap:28px}.division-index a{padding:15px;gap:12px}}
@media(max-width:700px){.division-index{margin-left:calc(-1 * var(--gutter));margin-right:calc(-1 * var(--gutter));width:calc(100% + 2 * var(--gutter))}.division-index a{padding:13px 12px;gap:6px;flex-direction:column;align-items:start;font-size:.875rem;min-height:90px}.index-number{font-size:.75rem}.path-heading{display:block}.path-heading h2{margin-top:24px;font-size:2.6rem}.path-steps{grid-template-columns:1fr;gap:30px;margin-top:40px}.path-step{display:grid;grid-template-columns:48px 1fr;column-gap:20px;padding-top:23px}.path-number{font-size:2.4rem;grid-row:span 2}.path-step h3{margin:0 0 10px;font-size:1.15rem}.path-step p{grid-column:2;max-width:none}.project-faq{grid-template-columns:1fr;gap:30px;padding-top:50px;margin-top:55px}.project-faq h2{font-size:2.4rem}.faq-list summary{padding:20px 0}.project-contact .contact-top{margin-bottom:35px}.project-contact-copy{display:block}.project-contact h2{font-size:clamp(2.7rem,9vw,4rem);max-width:500px}.project-contact-copy>p{margin-top:25px}.contact-direct{margin-top:28px;padding-top:22px}.project-form{padding:25px 20px}.brief-divisions{grid-template-columns:1fr;gap:7px}.brief-choice{flex-direction:row;align-items:center;padding:12px;gap:13px}.brief-fields{grid-template-columns:1fr;gap:17px}.project-contact-grid{gap:34px}.gallery-top>.eyebrow>span{display:none}.gallery-figure>img{height:calc(100dvh - 325px);min-height:170px}.gallery-figure figcaption{align-items:start;flex-direction:column;gap:20px}.gallery-figure h2{font-size:1.8rem}.gallery-controls{width:100%;justify-content:space-between}.gallery-note{font-size:.8125rem}.gallery-open>span{bottom:13px;left:13px}.brief-send{align-items:stretch;flex-direction:column;gap:6px}.copy-brief{text-align:center}}

.gallery-figure{position:relative}
.gallery-figure>.gallery-signature{top:14px;right:14px;bottom:auto}
@media(prefers-reduced-motion:reduce){.quarry-media img,.faq-plus,.brief-choice{transition:none}}
