@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&display=swap');
:root{--ink:#14202b;--navy:#0d2b45;--blue:#174f7a;--silver:#aeb8c2;--mist:#eef2f5;--paper:#f8f7f3;--white:#fff;--muted:#596977;--border:#dae0e5;--radius:12px;--max:1280px;color-scheme:light;font-family:'DM Sans',ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img,video{display:block;width:100%;object-fit:cover}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,video:focus-visible{outline:3px solid #2874ae;outline-offset:5px}::selection{background:#b6d4e9;color:var(--navy)}.container{width:min(calc(100% - 96px),var(--max));margin-inline:auto}.skip-link{position:fixed;top:-80px;left:20px;z-index:100;background:var(--navy);color:white;padding:12px 20px}.skip-link:focus{top:10px}.header{position:sticky;top:0;z-index:30;background:rgba(248,247,243,.94);backdrop-filter:blur(18px);border-bottom:1px solid var(--border)}.nav{height:86px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{font-weight:700;font-size:1.6rem;letter-spacing:-.075em;line-height:1.2;white-space:nowrap}.brand>span{color:var(--blue);font-weight:450}.brand .brand-dot{font-weight:700}.nav-links{display:flex;gap:32px;font-size:.875rem;font-weight:500;color:var(--muted)}.nav-links a:hover{color:var(--navy)}.button{display:inline-flex;align-items:center;justify-content:center;gap:32px;background:var(--navy);color:var(--white);border:1px solid var(--navy);border-radius:8px;padding:14px 20px;min-height:50px;font-size:.875rem;font-weight:550;box-shadow:0 2px 3px #0d2b4510;transition:background .2s,transform .2s}.button:hover{background:var(--blue);transform:translateY(-2px)}.button span{font-size:1.25rem;line-height:1}.button-small{min-height:42px;padding:9px 15px;gap:22px}.menu-button,.mobile-contact{display:none}.hero{padding-top:28px}.hero-topline{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.eyebrow{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;line-height:1.6}.hero-topline .eyebrow{display:flex;align-items:center;gap:9px;color:var(--muted)}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--blue)}.quiet-label{font-size:.75rem;color:var(--muted)}.hero-grid{display:grid;grid-template-columns:1.02fr 1fr;gap:48px}.hero-copy{padding:34px 0 12px;display:flex;flex-direction:column;justify-content:space-between;gap:40px}.badge{display:inline-flex;font-size:.75rem;font-weight:500;background:var(--mist);color:var(--blue);border:1px solid #d8e2e9;border-radius:5px;padding:4px 10px}h1,h2,h3,p,figure{margin:0}h1{font-size:clamp(3.25rem,5.9vw,5.5rem);font-weight:550;line-height:1.04;letter-spacing:-.065em;margin:24px 0}h1>span{color:var(--blue)}.hero-copy>div>p{max-width:440px;color:var(--muted);line-height:1.8;font-size:1rem}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:32px}.text-link{font-size:.875rem;font-weight:550;display:inline-flex;align-items:center;gap:12px;min-height:44px}.text-link:hover{color:var(--blue)}.hero-note{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:.875rem;line-height:1.5}.hero-note strong{font-weight:450;color:var(--navy)}.note-mark{font-size:2rem;color:var(--silver)}.hero-art{position:relative;border-radius:var(--radius);overflow:hidden;background:#e1e0d9;min-width:0}.hero-art>img{height:560px;object-position:50% 50%}.hero-art-top{position:absolute;top:20px;left:20px;right:20px;display:flex;align-items:center;justify-content:space-between;z-index:1}.image-tag{background:#fffffff0;padding:5px 10px;border-radius:5px;font-size:.75rem;font-weight:500}.image-number{font-size:.75rem;background:#ffffffd9;padding:5px 10px;border-radius:5px;font-variant-numeric:tabular-nums}.hero-art figcaption{position:absolute;bottom:16px;left:16px;right:16px;display:flex;justify-content:space-between;align-items:center;gap:16px;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);padding:17px 20px;border:1px solid #ffffff80;border-radius:8px}.hero-art figcaption strong{display:block;font-size:1.25rem;font-weight:550;letter-spacing:-.025em}.hero-art figcaption .eyebrow{font-size:.75rem;color:var(--muted);letter-spacing:.06em}.round-link{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border:1px solid var(--border);border-radius:7px;font-size:1.3rem;background:white}.round-link:hover{background:var(--navy);color:white}.discipline-strip{display:flex;justify-content:space-between;align-items:center;gap:22px;border-bottom:1px solid var(--border);padding:34px 0;color:var(--muted)}.discipline-strip>.eyebrow{font-size:.6875rem;letter-spacing:.06em}.discipline-strip>span:not(.eyebrow){font-size:.875rem;font-weight:500;color:var(--navy)}.work-section{padding-top:92px;padding-bottom:100px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:36px}.section-kicker{display:block;color:var(--blue);margin-bottom:20px}h2{font-size:clamp(2.25rem,3.5vw,3.5rem);line-height:1.12;font-weight:550;letter-spacing:-.05em}.section-heading h2>span{color:#72808c}.section-heading>p{font-size:.9375rem;line-height:1.8;color:var(--muted);padding-bottom:4px;max-width:360px}.project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.project{background:white;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;min-width:0;transition:box-shadow .25s,transform .25s}.project:hover{box-shadow:0 12px 30px #0d2b450b;transform:translateY(-3px)}.project-featured{grid-column:span 2}.project-media{height:275px;background:var(--mist);position:relative;overflow:hidden}.project-featured .project-media{height:370px}.project-media img{height:100%;transition:transform .5s}.project:hover .project-media img{transform:scale(1.025)}.project-media video{height:100%;object-fit:contain;background:#14202b}.media-label{position:absolute;top:14px;left:14px;font-size:.75rem;background:#fffffff0;border-radius:5px;padding:4px 10px;pointer-events:none}.project-info{padding:20px}.project-category{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.75rem;color:var(--blue);margin-bottom:10px}.project-category>span:last-child{color:#70808e;font-variant-numeric:tabular-nums}.project h3{font-size:1.125rem;font-weight:550;letter-spacing:-.025em;line-height:1.35}.project-featured h3{font-size:1.45rem}.project-info>p{font-size:.875rem;color:var(--muted);margin-top:9px;line-height:1.65}.approach-section{background:var(--navy);color:white;padding:88px 0}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:95px}.approach-intro .section-kicker{color:#abc2d3}.approach-intro h2{font-size:clamp(2.25rem,3.5vw,3.5rem)}.approach-intro h2>span{color:#9bb6cc}.approach-intro>p{color:#c1cdd7;max-width:380px;line-height:1.8;margin-top:26px}.approach-footnote{display:flex;align-items:center;gap:15px;margin-top:70px;font-size:.875rem;color:#c1cdd7}.approach-footnote>span{display:grid;place-items:center;border:1px solid #ffffff30;border-radius:7px;width:40px;height:40px;font-size:1.25rem}.step{display:grid;grid-template-columns:32px 1fr 20px;gap:20px;padding:24px 0;border-top:1px solid #ffffff24}.step:last-child{border-bottom:1px solid #ffffff24}.step-number{font-size:.75rem;color:#a1bbce;padding-top:4px}.step h3{font-size:1.125rem;font-weight:500;letter-spacing:-.02em}.step p{font-size:.875rem;line-height:1.8;color:#c1cdd7;margin-top:7px;max-width:360px}.step-arrow{color:#a1bbce;font-size:1.2rem}.about-section{display:grid;grid-template-columns:1fr 1.1fr;gap:100px;padding-top:100px;padding-bottom:100px}.founder{display:flex;gap:13px;align-items:center;margin-top:32px}.monogram{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--border);background:var(--mist);border-radius:50%;font-size:.875rem;font-weight:550}.founder strong{font-size:.875rem;font-weight:550;display:block}.founder>div>span{display:block;font-size:.75rem;color:var(--muted)}.about-copy{padding-top:35px}.about-lead{font-size:1.375rem;line-height:1.5;font-weight:500;letter-spacing:-.025em}.about-copy>p:not(.about-lead){color:var(--muted);margin-top:22px;line-height:1.8}.skill-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.skill-tags>span{font-size:.75rem;border:1px solid var(--border);border-radius:5px;padding:4px 9px;background:#ffffff80;color:var(--muted)}blockquote{margin:30px 0 0;padding:17px 0 0;border-top:1px solid var(--border);font-size:1rem;color:var(--blue)}.contact-section{padding-bottom:70px}.contact-panel{background:var(--mist);border:1px solid var(--border);border-radius:var(--radius);padding:56px 60px;display:flex;align-items:flex-end;justify-content:space-between;gap:35px}.contact-panel h2{font-size:clamp(2.75rem,5vw,4.75rem);letter-spacing:-.06em}.contact-panel h2>span{color:var(--blue)}.contact-panel p{margin-top:24px;color:var(--muted);font-size:.9375rem;line-height:1.8}.contact-actions{display:flex;flex-direction:column;gap:16px;align-items:center;padding-bottom:4px}.email-link{font-size:.875rem;color:var(--muted);text-decoration:underline;text-underline-offset:4px}.footer{border-top:1px solid var(--border);padding-top:30px;padding-bottom:36px;display:flex;justify-content:space-between;align-items:center;gap:25px}.footer .brand{font-size:1.25rem}.footer p{font-size:.75rem;color:var(--muted);margin-top:8px}.footer>span,.footer-end{font-size:.75rem;color:var(--muted)}.footer-end{display:flex;flex-direction:column;gap:8px;align-items:flex-end}.footer-end a{color:var(--navy)}
@media(min-width:1500px){.hero-art>img{height:600px}}
@media(max-width:1100px){.container{width:calc(100% - 56px)}.hero-grid{gap:28px}.hero-copy{padding-top:20px}.hero-art>img{height:540px}.hero-actions{gap:14px}.discipline-strip{gap:15px;flex-wrap:wrap}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-featured{grid-column:span 1}.project-featured .project-media{height:310px}.project-media{height:310px}.approach-grid{gap:45px}.about-section{gap:55px}.contact-panel{padding:44px}.nav-links{gap:22px}}
@media(max-width:760px){html{scroll-padding-top:85px}.container{width:calc(100% - 40px)}.nav{height:72px;gap:15px}.brand{font-size:1.45rem}.nav-contact{margin-left:auto}.menu-button{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:44px;height:44px;border:1px solid var(--border);border-radius:7px;background:transparent}.menu-button>span{width:18px;height:1.5px;background:var(--navy);transition:transform .2s}.menu-button[aria-expanded=true]>span:first-child{transform:translateY(3.75px) rotate(45deg)}.menu-button[aria-expanded=true]>span:last-child{transform:translateY(-3.75px) rotate(-45deg)}.nav-links{display:none;position:absolute;top:72px;left:0;right:0;background:var(--paper);padding:18px 20px 24px;border-bottom:1px solid var(--border);box-shadow:0 12px 20px #14202b0a}.nav-links.is-open{display:flex;flex-direction:column;gap:0}.nav-links a{padding:12px 0;font-size:1rem}.nav-links .mobile-contact{display:block;color:var(--blue)}.hero{padding-top:22px}.hero-topline{margin-bottom:18px}.quiet-label{display:none}.hero-grid{grid-template-columns:1fr;gap:30px}.hero-copy{padding-top:8px;gap:26px}h1{font-size:clamp(3.5rem,10vw,5rem);margin:20px 0}.hero-copy>div>p{max-width:490px}.hero-note{font-size:.8125rem}.hero-art>img{height:480px;object-position:center 46%}.discipline-strip{justify-content:flex-start;gap:18px 26px;padding:25px 0}.discipline-strip>.eyebrow{flex-basis:100%}.discipline-strip>.eyebrow br{display:none}.discipline-strip>span:not(.eyebrow){font-size:.8125rem}.work-section{padding-top:62px;padding-bottom:64px}.section-heading{display:block;margin-bottom:28px}.section-heading>p{margin-top:22px}.section-heading>p br{display:none}.section-heading h2{font-size:2.5rem}.project-grid{gap:18px}.project-media,.project-featured .project-media{height:260px}.project-info{padding:16px}.project-featured h3{font-size:1.125rem}.approach-section{padding:60px 0}.approach-grid{grid-template-columns:1fr;gap:36px}.approach-footnote{margin-top:28px}.step p{max-width:none}.about-section{grid-template-columns:1fr;gap:0;padding-top:62px;padding-bottom:62px}.about-copy{padding-top:30px}.about-lead{font-size:1.25rem}.contact-panel{padding:32px;display:block}.contact-actions{align-items:flex-start;margin-top:30px}.contact-section{padding-bottom:48px}.footer{flex-wrap:wrap;align-items:flex-start}.footer-end{align-items:flex-start;flex-basis:100%;flex-direction:row;justify-content:space-between}}
@media(max-width:480px){.nav-contact{display:none}.menu-button{margin-left:auto}.hero-actions{gap:12px}.hero-actions .button{gap:16px;padding:13px 15px}.text-link{font-size:.8125rem}.hero-art>img{height:410px}.hero-art figcaption{padding:13px;left:12px;right:12px;bottom:12px}.hero-art figcaption strong{font-size:1.125rem}.hero-art figcaption .eyebrow{font-size:.6875rem}.project-grid{grid-template-columns:1fr}.project-media,.project-featured .project-media{height:330px}.project-info{padding:20px}.project h3,.project-featured h3{font-size:1.25rem}.contact-panel{padding:28px 22px}.section-kicker{letter-spacing:.065em}.footer>span{flex-basis:100%}.footer-end{flex-wrap:wrap;gap:16px}}
.contact-panel h2 a>span{color:var(--blue)}.contact-panel h2 a:hover{color:var(--blue)}.inquiry-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;padding-top:10px;padding-bottom:90px;scroll-margin-top:30px}.inquiry-intro{padding-top:24px}.inquiry-intro>p{max-width:350px;margin-top:24px;color:var(--muted);line-height:1.8}.inquiry-note{display:flex;gap:14px;align-items:center;margin-top:32px;font-size:.875rem;color:var(--muted)}.inquiry-note>span:first-child{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border:1px solid var(--border);border-radius:7px;color:var(--blue);font-size:1.25rem}.inquiry-form{padding:32px;background:white;border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 18px #0d2b4505;min-width:0}.form-heading{margin-bottom:26px}.form-heading h3{font-size:1.25rem;letter-spacing:-.025em;font-weight:550}.form-heading p{font-size:.8125rem;color:var(--muted);margin-top:5px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-field{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;min-width:0}.form-field label{font-size:.875rem;font-weight:500;line-height:1.5}.optional-label{color:var(--muted);font-weight:400;font-size:.75rem}.form-field input,.form-field select,.form-field textarea{font:inherit;font-size:1rem;color:var(--ink);width:100%;min-width:0;border:1px solid #cbd5de;border-radius:7px;padding:11px 12px;background:white;box-shadow:0 1px 2px #14202b04;transition:border-color .2s,box-shadow .2s}.form-field input,.form-field select{min-height:46px}.form-field textarea{resize:vertical;min-height:150px}.form-field input::placeholder,.form-field textarea::placeholder{color:#70808c}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid #174f7a;outline-offset:2px;border-color:var(--blue);box-shadow:0 0 0 5px #174f7a0a}.form-submit-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.form-submit-row p{max-width:235px;font-size:.75rem;line-height:1.65;color:var(--muted)}.form-submit-row .button{flex-shrink:0;cursor:pointer}.form-submit-row .button:disabled{opacity:.65;cursor:wait;transform:none}.form-status:empty{display:none}.form-status{padding:12px 14px;margin-top:20px;border:1px solid var(--border);background:var(--mist);color:var(--navy);border-radius:7px;font-size:.875rem}.form-status[data-error=true]{border-color:#dcb4b4;background:#fff6f6;color:#8c2727}
@media(max-width:1100px){.inquiry-section{gap:35px;grid-template-columns:.75fr 1.25fr}.inquiry-form{padding:25px}.form-row{gap:15px}.form-submit-row{align-items:flex-start;flex-direction:column}}
@media(max-width:760px){.inquiry-section{grid-template-columns:1fr;gap:30px;padding-bottom:60px}.inquiry-intro{padding-top:0}.inquiry-intro>p{max-width:500px}.inquiry-note{margin-top:20px}.form-submit-row{flex-direction:row;align-items:center}}
@media(max-width:480px){.inquiry-form{padding:22px}.form-row{grid-template-columns:1fr;gap:0}.form-submit-row{flex-direction:column;align-items:stretch}.form-submit-row p{max-width:none}.form-submit-row .button{width:100%}}
.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
/* Quiet, tactile transitions in the original Above&Biondo palette. */
.button{transition:background .25s ease,transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease}
.button>span,.text-link>span{display:inline-block;transition:transform .35s cubic-bezier(.22,1,.36,1)}
.round-link{transition:background .25s ease,color .25s ease,transform .35s cubic-bezier(.22,1,.36,1)}
.nav-links>a,.text-link,.footer-end>a{position:relative;width:fit-content}
.nav-links>a::after,.text-link::after,.footer-end>a::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .4s cubic-bezier(.22,1,.36,1)}
.text-link::after{bottom:6px}
.nav-links>a:focus-visible::after,.text-link:focus-visible::after,.footer-end>a:focus-visible::after{transform:scaleX(1);transform-origin:left}
.project{transition:box-shadow .4s ease,border-color .4s ease,transform .5s cubic-bezier(.22,1,.36,1)}
.project-media img,.hero-art>img{transition:transform 1.1s cubic-bezier(.22,1,.36,1)}
.project-info{padding-top:23px;padding-bottom:24px}
.project-category{margin-bottom:12px}
@media(hover:hover) and (pointer:fine){
  .button:hover:not(:disabled){box-shadow:0 7px 18px #0d2b4518}
  .button:hover:not(:disabled)>span{transform:translate(2px,-2px)}
  .text-link:hover>span{transform:translateX(4px)}
  .nav-links>a:hover::after,.text-link:hover::after,.footer-end>a:hover::after{transform:scaleX(1);transform-origin:left}
  .round-link:hover{transform:translateY(-2px)}
  .project:hover{transform:translateY(-4px);border-color:#b9c7d2;box-shadow:0 16px 36px #0d2b450c}
  .project:hover .project-media img{transform:scale(1.045)}
  .hero-art:hover>img{transform:scale(1.025)}
}
@media(hover:none){.project:hover,.project:hover .project-media img,.button:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.project:hover,.project:hover .project-media img,.hero-art:hover>img,.button:hover,.button:hover>span,.text-link:hover>span,.round-link:hover{transform:none!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Lighter compositing and steady touch interaction on mobile. */
@media(max-width:760px),(pointer:coarse){
  .header{backdrop-filter:none;background:rgba(248,247,243,.98)}
  .hero-art figcaption{backdrop-filter:none;background:rgba(255,255,255,.97)}
  .project:hover,.project:hover .project-media img,.hero-art:hover>img,.button:hover,.button:hover>span,.text-link:hover>span,.round-link:hover{transform:none}
}
