site-header,site-footer{display:block}site-header{min-height:4.6rem}.brand-logo{display:flex;align-items:center;width:2.05rem;height:2.5rem}.brand-logo img{display:block;width:100%;height:100%;object-fit:contain}.primary-nav>a.active:not(.nav-cta)::after{transform:scaleX(1)}.primary-nav .nav-cta.active{background:var(--ink);box-shadow:inset 0 -3px 0 var(--accent)}.primary-nav .nav-cta.active span{color:var(--accent)}.hero h1 em{display:block;margin-top:.22em;font-family:Figtree,Arial,sans-serif;font-size:.54em;font-style:normal;font-weight:600;letter-spacing:-.045em;line-height:1}
.footer-mark{display:flex;width:clamp(2rem,2.5vw,2.75rem);height:auto}.footer-mark img{display:block;width:100%;height:auto;filter:invert(1) brightness(2)}.site-footer nav{display:flex;gap:1.5rem;font-size:.72rem}.site-footer nav a{position:relative}.site-footer nav a::after{content:'';position:absolute;right:0;bottom:-.3rem;left:0;height:1px;background:#fff;transform:scaleX(0);transform-origin:right;transition:transform .25s}.site-footer nav a:hover::after,.site-footer nav a:focus-visible::after{transform:scaleX(1);transform-origin:left}
@media(max-width:900px){site-header{min-height:4.2rem}.brand-logo{position:relative;z-index:3;width:1.75rem;height:2.15rem}.primary-nav>a.active:not(.nav-cta){color:var(--accent)}.primary-nav>a:not(.nav-cta)::after{display:none}.primary-nav .nav-cta,.primary-nav .nav-cta.active{background:var(--ink);box-shadow:inset 0 -3px 0 var(--accent);color:#fff}.site-footer nav{flex-wrap:wrap}}
@media(max-width:650px){.site-footer nav{padding:1rem 0}.hero h1 em{margin-top:.3em;font-size:.62em;letter-spacing:-.04em}}

/* Deliberate separators only */
.hero-index,.page-index{padding-top:0;border-top:0}.proof-bar p{border:0!important}

/* Landing hero composition */
.hero-details{display:grid;gap:1rem;margin:2rem 0 0}.hero-details div{display:grid;grid-template-columns:5.25rem 1fr;gap:1rem}.hero-details dt{color:var(--accent);font-size:.62rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.hero-details dd{margin:0;color:var(--muted);font-size:.75rem;line-height:1.45}.hero-bottom .text-link{margin-top:2rem}
@media(min-width:901px){.hero{display:grid;grid-template-columns:minmax(0,1.32fr) minmax(20rem,.68fr);grid-template-rows:auto minmax(0,1fr) auto;column-gap:clamp(4rem,7vw,9rem);min-height:clamp(46rem,92svh,62rem)}.hero-top{grid-column:1/-1}.hero-title-wrap{grid-column:1;grid-row:2;align-items:center;padding:clamp(3rem,7vh,5.5rem) 0}.hero h1{max-width:10.5ch;font-size:clamp(4.25rem,5.9vw,7.25rem);line-height:.92}.hero-bottom{grid-column:2;grid-row:2;align-self:center;display:block;padding:clamp(3rem,7vh,5.5rem) 0}.hero-bottom>p{max-width:31rem;font-size:clamp(1rem,1.05vw,1.16rem);line-height:1.58}.hero-index{grid-column:1/-1;grid-row:3;margin-top:0}}

/* Testimonials */
.testimonial-section{overflow:hidden;padding:clamp(5rem,8vw,8rem) 0;background:var(--accent);color:#fff}.testimonial-head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem}.testimonial-head h2{max-width:14ch;margin:1rem 0 0;font-size:clamp(2.6rem,4.2vw,5rem);font-weight:500;letter-spacing:-.06em;line-height:.96}.testimonial-controls{display:flex;gap:.5rem}.testimonial-controls button{display:grid;place-items:center;width:3rem;height:3rem;padding:0;border:1px solid rgba(21,21,21,.35);background:transparent;color:var(--ink);font:inherit;font-size:1.15rem;cursor:pointer;transition:background .2s,color .2s}.testimonial-controls button:hover,.testimonial-controls button:focus-visible{background:var(--ink);color:#fff}.testimonial-stage{display:grid;align-items:center;min-height:clamp(21rem,28vw,30rem);padding:clamp(3rem,6vw,6rem) 0}.testimonial-slide{grid-area:1/1;animation:testimonial-in .42s var(--ease) both}.testimonial-slide[hidden]{display:none}.testimonial-source{margin:0 0 1.5rem;color:var(--muted);font-size:.64rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.testimonial-section .testimonial-slide blockquote{max-width:27ch;margin:0;font-size:clamp(2rem,3.75vw,4.25rem);font-weight:500;letter-spacing:-.055em;line-height:1.02}.testimonial-section .quote-credit{display:flex;gap:.6rem;margin:2rem 0 0;font-size:.76rem}.testimonial-section .quote-credit strong{font-weight:700}.testimonial-section .quote-credit span{color:var(--muted)}.testimonial-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem}.testimonial-count{margin:0;font-size:.68rem;font-weight:700;letter-spacing:.08em}.testimonial-section .review-link{float:none;margin:0;padding-bottom:.25rem;border-bottom:1px solid;font-size:.75rem;font-weight:700}@keyframes testimonial-in{from{opacity:0;transform:translateY(.75rem)}to{opacity:1;transform:none}}

@media(min-width:651px) and (max-width:900px){.hero{min-height:auto}.hero-title-wrap{flex:none;padding:6rem 0 4rem}.hero-bottom{display:block}.hero-bottom>p{max-width:42rem}.hero-index{margin-top:4rem}}
@media(max-width:650px){.hero{min-height:auto}.hero-details{margin-top:2rem}.hero-details div{grid-template-columns:4.5rem 1fr}.testimonial-head{align-items:flex-start}.testimonial-head h2{font-size:clamp(2.5rem,12vw,4rem)}.testimonial-controls{padding-top:1.25rem}.testimonial-controls button{width:2.7rem;height:2.7rem}.testimonial-stage{min-height:29rem;padding:3.5rem 0}.testimonial-section .testimonial-slide blockquote{font-size:clamp(2rem,9vw,3.25rem)}.testimonial-section .quote-credit{display:grid;gap:.2rem}.testimonial-footer{align-items:flex-start;flex-direction:column}.testimonial-section .review-link{margin-top:0}}

/* Accessibility and legibility */
:root{--accent-on-dark:#8eacff;--control-line:#777777}#main-content:focus{outline:0}:focus-visible{outline-width:3px;outline-offset:4px}.primary-nav{font-size:.9rem}.eyebrow{font-size:.78rem}.nav-cta span,.primary-nav .nav-cta.active span,.form-footer button span{color:var(--accent-on-dark)}.hero h1 em{margin-top:.3em;font-size:.62em;line-height:1.04}.hero-bottom>p{font-size:clamp(1.125rem,1.2vw,1.35rem);line-height:1.6}.hero-details{gap:1.1rem;margin-top:2.25rem}.hero-details div{grid-template-columns:6rem 1fr;gap:1.1rem}.hero-details dt{font-size:.75rem}.hero-details dd{font-size:.9rem;line-height:1.55}.hero-bottom .text-link{margin-top:2.4rem}.text-link{font-size:.875rem;white-space:normal}.hero-index{font-size:.75rem}.proof-bar span{font-size:.85rem}.project-number,.project-info ul,.project-link{font-size:.8rem}.project-summary{font-size:.95rem;line-height:1.6}.more-work>p{font-size:.8rem}.more-work>div a{min-height:5.25rem}.more-work small{font-size:.95rem;line-height:1.45}.practice-grid span{color:var(--accent-on-dark);font-size:.78rem}.practice-grid p{font-size:1rem;line-height:1.65}.practice-grid small{color:#aaa;font-size:.85rem;line-height:1.55}.experience-list span,.experience-list p{font-size:.875rem;line-height:1.55}.contact-direct{font-size:.9rem}.project-form label{font-size:.8rem}.project-form input,.project-form select,.project-form textarea{min-height:3.25rem;padding:1rem 1.1rem;border:1px solid transparent;background:#f5f5f5}.project-form textarea{min-height:9rem}.project-form input::placeholder,.project-form textarea::placeholder{color:var(--muted);opacity:1}.project-form select:required:invalid{color:var(--muted)}.project-form input:focus-visible,.project-form select:focus-visible,.project-form textarea:focus-visible{border-color:transparent;background:#f5f5f5;outline:3px solid var(--accent);outline-offset:2px}.form-footer p{font-size:.8rem;line-height:1.5}.form-footer button{display:inline-flex;align-items:center;justify-content:space-between;min-height:2.75rem;font-size:.875rem;line-height:1}.site-footer p,.site-footer nav{font-size:.82rem;line-height:1.55}.testimonial-source{font-size:.78rem}.testimonial-section .quote-credit{font-size:.875rem}.testimonial-count{font-size:.8rem}.testimonial-section .review-link{font-size:.85rem}.testimonial-controls button{min-width:3rem;min-height:3rem}.practice-section :focus-visible,.proof-bar :focus-visible,.site-footer :focus-visible,.nav-cta:focus-visible{outline-color:var(--accent-on-dark)}
@media(min-width:901px){.hero h1{max-width:11ch;font-size:clamp(4.6rem,6.15vw,7.7rem);line-height:.91}.hero-bottom{max-width:35rem}}
@media(max-width:650px){.hero h1{font-size:clamp(3.4rem,14.5vw,5.25rem);line-height:.92}.hero h1 em{margin-top:.34em;font-size:.66em}.hero-bottom>p{font-size:1.1rem}.hero-details dd{font-size:.9rem}.hero-index{font-size:.68rem}}
@media(max-width:430px){.hero-details div{grid-template-columns:1fr;gap:.25rem}.hero-index{grid-template-columns:1fr auto 1fr}.hero-index span:nth-of-type(4),.hero-index b:nth-of-type(3){display:none}.testimonial-head{display:block}.testimonial-controls{padding-top:2rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important}}


/* Reduced content density */
.proof-bar{grid-template-columns:repeat(3,1fr)}.project-info{grid-template-columns:minmax(12rem,1fr) minmax(18rem,1.35fr) auto;align-items:start}.project-info>div{display:block}.more-work>div a{grid-template-columns:1fr auto;min-height:4.75rem}.practice-grid article{min-height:18rem}.practice-grid h3{margin:1rem 0 1.2rem}
@media(min-width:901px){.hero{grid-template-rows:auto minmax(0,1fr)}.hero-title-wrap,.hero-bottom{grid-row:2}.hero-bottom{align-self:center}}
@media(max-width:900px){.project-info{grid-template-columns:1fr auto}.project-summary{grid-column:1/-1}.proof-bar{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.proof-bar{grid-template-columns:1fr}.more-work>div a{grid-template-columns:1fr auto}.practice-grid article{min-height:0}.practice-grid h3{margin:.5rem 0 1rem}}

.site-footer nav{flex-wrap:wrap}
.services-enquiry-link{margin:1.5rem 0}

/* Personal identity and a calmer editorial rhythm. */
.brand-logo{width:auto;gap:0;height:2.6rem;transition:height .25s,gap .2s}
.brand-logo img{width:2rem;flex:none;transition:width .25s}
.site-header:not(.scrolled) .brand-logo{height:3.5rem}
.site-header:not(.scrolled) .brand-logo img{width:2.7rem}
.brand-name{visibility:hidden;max-width:0;overflow:hidden;opacity:0;transform:translateX(-.4rem);white-space:nowrap;font-size:.9rem;font-weight:700;letter-spacing:-.035em;line-height:1.25;transition:max-width .2s,opacity .15s,transform .2s,visibility 0s .2s}
.brand-name small{display:block;margin-top:.2rem;color:var(--muted);font-size:.65rem;font-weight:500;letter-spacing:0}
.site-header.scrolled .brand-logo{gap:.85rem}
.site-header.scrolled .brand-name{visibility:visible;max-width:12rem;opacity:1;transform:none;transition-delay:.1s}
.hero{width:min(100%,96rem);margin:auto;min-height:42rem;padding-top:5rem;padding-bottom:4rem}
.hero-top{align-items:center;padding-bottom:1.5rem;border-bottom:1px solid var(--line)}
.hero-location{margin:0;color:var(--muted);font-size:.78rem}
.hero-location{display:flex;align-items:center;gap:.4rem}
.hero-location .icon{width:.9rem;height:.9rem;opacity:.75}
.hero h1{max-width:11ch;font-size:clamp(4.5rem,7.1vw,8.5rem);font-weight:500;line-height:.97}
.hero h1 em{font-family:Georgia,'Times New Roman',serif;font-size:.78em;font-weight:400;font-style:italic;letter-spacing:-.065em;line-height:1.05}
.hero-bottom{border-left:2px solid var(--accent);padding:0 0 0 2rem}
.hero-bottom .hero-intro{font-size:clamp(1.15rem,1.45vw,1.45rem);line-height:1.6}
.hero-bottom .hero-note{margin-top:1.4rem;color:var(--muted);font-size:1rem;line-height:1.65;letter-spacing:0}
.hero-actions,.about-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1.25rem 1.7rem;margin-top:2rem}
.hero-actions .text-link{margin:0}
.button-primary{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;min-height:3rem;padding:.9rem 1.2rem;background:var(--ink);color:#fff;font-size:.875rem;font-weight:700;border:1px solid var(--ink)}
.button-primary span{color:var(--accent-on-dark)}
.button-primary:hover,.form-footer button:hover{background:#333333}
.proof-bar{background:var(--surface-soft);color:var(--ink)}
.proof-bar p{min-height:0;padding:1.8rem var(--pad)}
.proof-bar span{max-width:none;margin-top:.5rem;color:var(--muted)}
.work-section,.about-section,.contact-section{padding-top:clamp(4.5rem,7vw,7rem);padding-bottom:clamp(4.5rem,7vw,7rem)}
.section-heading{margin-bottom:3rem}
.section-heading h2,.about-lead h2,.contact-copy h2{font-size:clamp(2.8rem,4.6vw,5rem);line-height:1.02}
.project-featured .project-visual{min-height:clamp(28rem,44vw,43rem)}
.project-half .project-visual{min-height:clamp(24rem,34vw,34rem)}
.project-info{padding-top:1.25rem;gap:1rem 2rem;border-top:0}
.project-role{margin:0 0 .5rem;color:var(--accent);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.project-half .project-info,.project-featured .project-info{grid-template-columns:1fr auto}
.project-half .project-summary,.project-featured .project-summary{grid-column:1/-1;grid-row:2}
.project-half .project-link,.project-featured .project-link{grid-column:2;grid-row:1}
.project-link{padding-top:.2rem}
.project-context{margin-top:1.5rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.project-context summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:3.5rem;padding:.8rem 0;font-size:.85rem;font-weight:600;cursor:pointer;list-style:none}
.project-context summary::-webkit-details-marker{display:none}
.project-context summary span{font-size:1.35rem;color:var(--accent);transition:transform .2s}
.project-context[open] summary span{transform:rotate(45deg)}
.project-context>div{max-width:48rem;padding:0 0 1.5rem}
.project-context h4{margin:.5rem 0 .75rem;font-size:1.25rem;letter-spacing:-.025em}
.project-context p{color:var(--muted);font-size:.95rem;line-height:1.7}
.project-context p strong{display:block;margin-bottom:.35rem;color:var(--ink);font-size:.8rem}
.project .project-context .project-link{display:inline-flex;align-items:center;gap:.75rem;min-height:3rem;margin-top:.75rem;padding:.85rem 1.1rem;border:1px solid var(--ink);background:var(--ink);color:#fff;transition:background .2s,border-color .2s}
.project-context .project-link .icon{color:var(--accent-on-dark)}
.project-context .project-link:hover{background:#333;border-color:#333}
.practice-section{background:var(--ink)}
.practice-intro h2{font-size:clamp(3rem,5vw,5.5rem);line-height:1.02}
.practice-grid article{min-height:0}
.about-section{row-gap:clamp(3rem,5vw,5rem);align-items:center}
.about-avatar{display:block;flex:none;width:56px;height:56px;overflow:hidden;border-radius:50%}
.about-avatar img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 35%;transform:scale(1.3);transform-origin:50% 40%}
.about-section .about-copy{padding-top:0}
.about-copy>p{font-size:1.15rem;line-height:1.75}
.about-copy .about-actions{flex-direction:row;flex-wrap:nowrap;align-items:center;gap:1rem;margin-top:1.75rem}
.about-profile-link{display:inline-flex;align-items:center;gap:1rem;max-width:100%;border-radius:3px;font-size:.875rem;font-weight:600;line-height:1.45}
.about-profile-label{display:flex;align-items:center;gap:1rem;min-width:0;padding:.35rem 0;border-bottom:1px solid var(--line);transition:border-color .2s,color .2s}
.about-profile-label .icon{flex:none;color:var(--accent);transition:transform .2s}
.about-profile-link:hover .about-profile-label,.about-profile-link:focus-visible .about-profile-label{color:var(--accent);border-color:var(--accent)}
.about-profile-link:hover .icon,.about-profile-link:focus-visible .icon{transform:translate(2px,-2px)}
.about-profile-link:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
.about-section .experience-list{margin-top:0}
.voices-section{padding-top:4rem;padding-bottom:5rem;border-top:1px solid var(--line)}
.voices-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,7rem)}
.voices-grid figure{display:flex;flex-direction:column;justify-content:space-between;margin:0;padding-top:2rem;border-top:2px solid var(--accent)}
.voices-grid blockquote{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.6rem,2.5vw,2.5rem);letter-spacing:-.035em;line-height:1.3}
.voices-grid figcaption{margin-top:2rem;font-size:.85rem;font-weight:700}
.voices-grid figcaption span{display:block;margin-top:.3rem;color:var(--muted);font-size:.8rem;font-weight:400}
.contact-section{border-top:1px solid var(--line)}
.contact-copy h2{max-width:15ch}
.contact-direct a{overflow-wrap:anywhere}
.project-form input,.project-form select,.project-form textarea{border-color:#cccccc}
.project-form label span{color:var(--accent)}
.work-selection{padding-bottom:clamp(4rem,8vw,8rem)}
.reveal{opacity:1;transform:none}
.reveal.in-view{animation:content-arrive .6s var(--ease) both}
@keyframes content-arrive{from{opacity:.65;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(min-width:901px){.hero{grid-template-columns:minmax(0,1.3fr) minmax(19rem,.7fr);gap:2rem clamp(3rem,5vw,6rem);grid-template-rows:auto 1fr}.hero-title-wrap{padding:2rem 0}.hero-bottom{padding:0 0 0 2rem}.hero-top{grid-column:1/-1}}
@media(max-width:900px){.hero{min-height:0;padding-top:3.5rem}.hero-title-wrap{padding:3.5rem 0 3rem}.hero h1{max-width:13ch}.hero-bottom{max-width:40rem}.hero-location{max-width:10rem;text-align:right}.project-info{grid-template-columns:1fr auto}.project-summary{grid-column:1/-1;grid-row:2}.project-link{grid-column:2;grid-row:1}.primary-nav .nav-cta{color:#fff}.menu-toggle{min-width:3rem;min-height:2.75rem}}
@media(max-width:650px){.brand-name{font-size:.85rem}.hero{padding-top:2.5rem;padding-bottom:3rem}.hero-top{align-items:flex-start;gap:1rem}.hero-top .eyebrow{font-size:.65rem;letter-spacing:.09em}.hero-location{font-size:.65rem;max-width:6rem}.hero h1{font-size:clamp(3.3rem,14vw,5.5rem)}.hero h1 em{font-size:.8em}.hero-bottom{padding-left:1.2rem}.hero-actions{gap:1.2rem}.hero-actions .button-primary{width:auto}.hero-actions .text-link{margin:0}.proof-bar p{padding:1.2rem var(--pad)}.proof-bar strong{font-size:1rem}.proof-bar span{font-size:.8rem}.voices-grid{grid-template-columns:1fr;gap:2.5rem}.project-role{max-width:22ch;font-size:.62rem}.project-link{font-size:.72rem}.project-info{gap:1rem}.project-visual,.project-half .project-visual{min-height:26rem}.about-actions{align-items:flex-start;flex-direction:column}.voices-section{padding-top:3rem;padding-bottom:3rem}.site-footer{grid-template-columns:1fr}.hero-intro,.hero-note{overflow-wrap:break-word}}
.visual-caption{position:absolute;z-index:3;right:1rem;bottom:1rem;padding:.3rem .6rem;background:rgba(255,255,255,.95);color:var(--ink);font-size:.6rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;pointer-events:none}

/* Project cover series: show the full composition at every viewport size. */
.project .project-artwork {
  min-height: 0;
  aspect-ratio: 16 / 9;
  background: #507af2;
}
.project-artwork img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.project-artwork picture{display:block;width:100%;height:100%}
.project a:hover .project-artwork > img { transform: none; }
.project a:hover .project-artwork > picture { transform: none; }

/* Cobalt feature sections. */
.voices-section{width:min(calc(100% - var(--pad) * 2),96rem);margin:0 auto;background:var(--accent);color:#fff;border-top:0;padding:clamp(2rem,4.5vw,4.5rem) clamp(1.25rem,4vw,4rem)}
.voices-section .eyebrow,.voices-section .section-heading>p,.voices-grid figcaption span,
.testimonial-section .eyebrow,.testimonial-section .testimonial-source,.testimonial-section .quote-credit span{color:#fff}
.voices-grid figure{border-top-color:rgba(255,255,255,.45)}
.testimonial-controls button{border-color:rgba(255,255,255,.65);color:#fff}
.testimonial-controls button:hover,.testimonial-controls button:focus-visible{background:#fff;color:var(--accent)}
.testimonial-section :focus-visible,.voices-section :focus-visible{outline-color:#fff}

/* A sharper landing introduction, with a small signature detail. */
.hero-title-wrap{position:relative;flex-direction:column;align-items:flex-start;justify-content:center;gap:1.6rem}
.hero-stamp{display:inline-block;padding:.5rem .8rem;border:1px solid var(--accent);color:var(--accent);font-size:.7rem;font-weight:700;letter-spacing:.08em;line-height:1.2;text-transform:uppercase;transform:rotate(-5deg)}
.hero h1{max-width:none;font-size:clamp(3.6rem,6.4vw,7.6rem);font-weight:600;line-height:1.02;letter-spacing:-.07em}
.hero h1 em{margin-top:.12em;color:var(--accent);font-family:Figtree,Arial,sans-serif;font-size:.55em;font-style:normal;font-weight:500;line-height:1.08;letter-spacing:-.065em}
.hero-actions .button-primary{background:var(--accent);border-color:var(--accent);transition:background .2s,border-color .2s}
.hero-actions .button-primary span{color:#fff}
.hero-actions .button-primary:hover{background:var(--ink);border-color:var(--ink)}
@media(max-width:900px){.hero-title-wrap{gap:1.5rem}.hero h1{font-size:clamp(3.6rem,9.5vw,6.5rem)}}
@media(max-width:650px){.hero-title-wrap{padding-top:2.5rem;gap:1.3rem}.hero h1{font-size:clamp(2.6rem,11vw,4.5rem)}.hero h1 em{font-size:.55em}.hero-stamp{font-size:.65rem}}

/* Room for every voice, with padding relative to the panel. */
.voices-section .section-heading{grid-template-columns:minmax(0,1fr);gap:1.25rem;margin-bottom:clamp(2rem,4vw,4rem)}
.voices-section .section-heading h2{font-size:clamp(2.3rem,4vw,4.5rem);line-height:1.06}
.voices-section .section-heading>p{max-width:40rem;margin:0;font-size:clamp(1rem,1.2vw,1.125rem);line-height:1.6;text-wrap:pretty}
.voices-grid{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(1.5rem,3vw,3rem);row-gap:3rem}
.voices-grid figure{min-width:0;padding-top:1.5rem}
.voices-grid blockquote{font-size:clamp(1.25rem,1.55vw,1.65rem);line-height:1.45;letter-spacing:-.025em}
.voices-grid figcaption{margin-top:1.75rem;line-height:1.5}
.voices-footer{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-top:3rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.45)}
.voices-footer p{margin:0;font-size:.85rem}
.voices-footer .text-link{margin-left:auto;font-size:.85rem}
.voices-footer .text-link span{color:#fff}
@media(max-width:1100px){.voices-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.voices-section .section-heading{grid-template-columns:1fr;gap:1rem}.voices-grid{grid-template-columns:1fr;row-gap:2rem}.voices-footer{align-items:flex-start;flex-direction:column}.voices-grid blockquote{font-size:1.35rem}}

/* Let the headline lead without an extra label row. */
.hero{min-height:clamp(42rem,80svh,54rem);padding-top:clamp(5rem,8vw,8rem);padding-bottom:clamp(5rem,8vw,8rem)}
.hero-title-wrap{padding:0}
.hero-bottom{border-left:0;padding:0;max-width:31rem}
.hero-bottom .hero-location{max-width:none;margin:2rem 0 0;color:var(--muted);font-size:.75rem;line-height:1.5;letter-spacing:.015em;text-align:left}
.hero-actions{gap:1.5rem 2rem;margin-top:2rem}
.hero-actions .button-primary{min-height:3.3rem;padding:1rem 1.35rem}
@media(min-width:901px){.hero{grid-template-rows:1fr;align-items:center;column-gap:clamp(3rem,5vw,6rem)}.hero-title-wrap,.hero-bottom{grid-row:1}.hero-bottom{padding:0}}
@media(max-width:900px){.hero{min-height:0;gap:2.5rem}.hero-title-wrap{padding:0}.hero-bottom{max-width:38rem}}
@media(max-width:650px){.hero{padding-top:4.5rem;padding-bottom:4.5rem;gap:2.5rem}.hero-bottom{padding:0}.hero-bottom .hero-intro{font-size:1.1rem}.hero-bottom .hero-note{margin-top:1rem}.hero-actions{gap:1.25rem}.hero-bottom .hero-location{margin-top:1.5rem}}

.hero h1 em{margin-top:.35em}

/* Match the square Cannections and Sound Sphere covers. */
.project .project-artwork-cannections,
.project .project-artwork-soundsphere,
.project-artwork-cannections img,
.project-artwork-soundsphere img{aspect-ratio:1 / 1}

/* Field values should not inherit the bold weight of their labels. */
.project-form input,
.project-form select,
.project-form textarea {
  font-weight: 400;
}

/* Custom Lucide dropdown treatment shared by every project form. */
.project-form .select-control { position: relative; display: block; margin-top: .55rem; color: var(--ink); }
.project-form .select-control select { -webkit-appearance: none; -moz-appearance: none; appearance: none; width: 100%; margin-top: 0; padding-right: 3.25rem; background-image: none; }
.project-form .select-control .icon { position: absolute; top: 50%; right: 1.1rem; width: 1.15rem; height: 1.15rem; color: var(--ink); transform: translateY(-50%); pointer-events: none; }

/* Keep the landing introduction in one readable column on smaller screens. */
@media (max-width: 900px) {
  .hero-bottom { display: block; width: 100%; }
}

@media (max-width: 650px) {
  .hero { padding-top: 3.5rem; padding-bottom: 3.5rem; gap: 2rem; }
  .hero h1 {
    font-size: clamp(2.2rem, 9.8vw, 3.8rem);
    line-height: 1.1;
    letter-spacing: -.045em;
    overflow-wrap: break-word;
  }
  .hero h1 em { font-size: .62em; line-height: 1.2; letter-spacing: -.025em; }
  .hero-actions { align-items: center; gap: 1.25rem; }
  .hero-actions .text-link { margin: 0; }
  .section-heading h2,
  .about-lead h2,
  .contact-copy h2 {
    font-size: clamp(2rem, 8.5vw, 3rem);
    line-height: 1.12;
    letter-spacing: -.035em;
    overflow-wrap: break-word;
  }
  .project .project-info { grid-template-columns: minmax(0, 1fr); gap: .75rem; }
  .project .project-summary { grid-column: 1; grid-row: 2; }
  .project .project-link { grid-column: 1; grid-row: 3; text-align: left; }
  .project-context { border-top: 0; margin-top: 1rem; }
  .work-section .more-work { border-top: 0; }
  .project-context summary { gap: 1rem; }
  .proof-bar p { border: 0 !important; }
  .practice-grid article,
  .practice-grid article + article { border: 0; }
  .voices-grid figure { border-top: 0; padding-top: 0; }
  .voices-footer { border-top: 0; margin-top: 2rem; padding-top: 0; }
  .voices-footer .text-link { margin-left: 0; }
  .contact-section { border-top: 0; }
  .site-footer > div,
  .site-footer nav { border: 0; }
  .site-footer nav { flex-wrap: wrap; gap: 1rem 1.5rem; }
  .project-form input,
  .project-form select,
  .project-form textarea { font-size: 1rem; }
}

/* Three equally weighted projects on wide landing-page layouts. */
@media (min-width: 1200px) {
  .work-section .project-list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; align-items: start; }
  .work-section .project { display: flex; flex-direction: column; grid-column: auto; }
  .work-section .project > a { display: flex; flex-direction: column; }
  .work-section .project .project-artwork { aspect-ratio: 1; }
  .work-section .project-artwork img { aspect-ratio: 1; object-fit: contain; }
  .work-section .project-info { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto; gap: 1rem; padding-top: 1.5rem; }
  .work-section .project-info .project-title { min-height: 3.25rem; margin: 0; font-size: 1.35rem; line-height: 1.25; letter-spacing: -.035em; gap: .75rem; }
  .work-section .project-summary { grid-column: 1; grid-row: 2; margin: 0; }
  .work-section .project-link { grid-column: 1; grid-row: 3; justify-self: start; text-align: left; }
}

/* Kept outside the visual and keyboard flow; checked again on the server. */
.form-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

/* Project marks sit beside their titles in consistent app-style tiles. */
.project-info .project-title { display: flex; align-items: center; gap: .9rem; }
.project-title > span:last-child { min-width: 0; }
.project-app-icon {
  display: grid;
  place-items: center;
  flex: 0 0 3.5rem;
  width: 3.5rem;
  height: 3.5rem;
  padding: .65rem;
  box-sizing: border-box;
  border: 1px solid #e5e5e5;
  border-radius: .9rem;
  background: #fff;
}
.project-app-icon-padded { padding: .85rem; }
.project-app-icon img { display: block; width: 100%; height: 100%; object-fit: contain; }
@media (max-width: 650px) {
  .project-info .project-title { gap: .75rem; }
  .project-app-icon { flex-basis: 3rem; width: 3rem; height: 3rem; padding: .55rem; border-radius: .8rem; }
  .project-app-icon-padded { padding: .75rem; }
}

/* Review action shares the introduction's top row on wider screens. */
.voices-section .section-heading { grid-template-columns: minmax(0, 1fr) auto; }
.voices-section .section-heading > div { grid-column: 1; grid-row: 1; }
.voices-section .section-heading > p { grid-column: 1; grid-row: 2; }
.voices-review-button {
  grid-column: 2;
  grid-row: 1;
  align-self: start;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  padding: 1rem 1.25rem;
  background: #fff;
  color: #171717;
  border: 1px solid #fff;
  font-size: .875rem;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none;
}
.voices-review-button:hover { background: #f0f3ff; border-color: #f0f3ff; color: #171717; }
.voices-review-button .icon { color: var(--accent); transform: translateY(1px); }
@media (max-width: 900px) {
  .voices-section .section-heading { grid-template-columns: minmax(0, 1fr); }
  .voices-review-button { grid-column: 1; grid-row: 3; justify-self: start; margin-top: .25rem; }
}

/* Keep the proof points on the same content grid as the rest of the page. */
.proof-bar { display: block; }
.proof-bar-inner {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.proof-bar .proof-bar-inner p {
  min-width: 0;
  min-height: 0;
  padding: clamp(1.75rem, 2.5vw, 2.5rem) clamp(1.5rem, 3vw, 3rem);
  border: 0;
  border-left: 1px solid var(--line) !important;
}
.proof-bar .proof-bar-inner p:first-child {
  padding-left: 0;
  border-left: 0 !important;
}
.proof-bar .proof-bar-inner p:last-child { padding-right: 0; }
.proof-bar .proof-bar-inner strong {
  font-size: clamp(1.05rem, 1.35vw, 1.3rem);
  line-height: 1.2;
}
.proof-bar .proof-bar-inner span {
  max-width: 26ch;
  margin-top: .65rem;
  font-size: .82rem;
  line-height: 1.5;
}

@media (max-width: 650px) {
  .proof-bar-inner { grid-template-columns: minmax(0, 1fr); }
  .proof-bar .proof-bar-inner p,
  .proof-bar .proof-bar-inner p:first-child,
  .proof-bar .proof-bar-inner p:last-child {
    display: grid;
    grid-template-columns: minmax(8.5rem, .8fr) minmax(0, 1.2fr);
    align-items: baseline;
    gap: 1rem;
    padding: 1.25rem 0;
    border: 0 !important;
    border-top: 1px solid var(--line) !important;
  }
  .proof-bar .proof-bar-inner p:first-child { border-top: 0 !important; }
  .proof-bar .proof-bar-inner span { max-width: 24ch; margin-top: 0; }
}

/* Give selected-work covers a clear, tactile invitation to open the project. */
.work-section .project-artwork {
  isolation: isolate;
  transition: box-shadow .35s var(--ease);
}
.work-section .project-artwork picture {
  transition: transform .7s var(--ease), filter .35s var(--ease);
}
.work-section .project-artwork::after {
  z-index: 2;
  background: rgba(52, 88, 197, 0);
  border-color: rgba(21, 21, 21, .08);
  transition: background .35s var(--ease), border-color .35s var(--ease);
}

@media (hover: hover) and (pointer: fine) {
  .work-section .project:hover .project-artwork {
    box-shadow: 0 .65rem 1.5rem rgba(21, 21, 21, .08);
  }
  .work-section .project:hover .project-artwork picture {
    transform: scale(1.015);
    filter: saturate(1.01);
  }
  .work-section .project:hover .project-artwork::after {
    background: rgba(52, 88, 197, .035);
    border-color: rgba(52, 88, 197, .18);
  }
}

.work-section .project:focus-within .project-artwork {
  box-shadow: 0 .65rem 1.5rem rgba(21, 21, 21, .08);
}
.work-section .project:focus-within .project-artwork picture {
  transform: scale(1.015);
  filter: saturate(1.01);
}
.work-section .project:focus-within .project-artwork::after {
  background: rgba(52, 88, 197, .035);
  border-color: rgba(52, 88, 197, .18);
}

@media (prefers-reduced-motion: reduce) {
  .work-section .project-artwork,
  .work-section .project-artwork picture,
  .work-section .project-artwork::after { transition: none; }
  .work-section .project:hover .project-artwork picture,
  .work-section .project:focus-within .project-artwork picture { transform: none; }
}
