/* One shared frosted control, based on Explore the breakdowns. */
:root {
  --glass-fill: #ffffff12;
  --glass-hover: #ffffff22;
  --glass-border: #ffffff36;
  --glass-text: #f1f1ef;
  --label-silver: #c5c4bf;
}
.primary-link, .secondary-link, .outline-button, .submit-button, a.button, a.estimate, .header-contact {
  border-radius:999px; min-height:46px; padding:13px 24px;
  display:inline-flex; align-items:center; justify-content:center; gap:16px;
  font-weight:600; letter-spacing:-.01em; line-height:1.4; text-transform:none;
  background:var(--glass-fill); color:var(--glass-text); border:1px solid var(--glass-border);
  -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px);
  box-shadow:inset 0 1px 0 #ffffff38,0 5px 18px #00000018;
  transition:transform .2s ease,background .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.hero-actions .primary-link, .hero-actions .secondary-link { padding:13px 22px; gap:16px; font-size:12px; }
.hero-actions { align-items:center; gap:14px; }
.submit-button { width:100%; --glass-fill:#ffffff55; --glass-hover:#ffffff8c; --glass-text:#182125; --glass-border:#65727766; }
.submit-button:disabled { opacity:.7; cursor:wait; }
.primary-link:focus-visible,.secondary-link:focus-visible,.outline-button:focus-visible,.submit-button:focus-visible,a.button:focus-visible,a.estimate:focus-visible { outline:2px solid #b6d8e9; outline-offset:4px; }
.contact .submit-button:focus-visible { outline-color:#324952; }
@media(hover:hover) {
  .primary-link:hover,.secondary-link:hover,.outline-button:hover,.submit-button:not(:disabled):hover,a.button:hover,a.estimate:hover,.header-contact:hover {
    background:var(--glass-hover); color:var(--glass-text); border-color:#ffffff66; transform:translateY(-2px);
    box-shadow:inset 0 1px 0 #ffffff50,0 8px 25px #00000028;
  }
  .contact .submit-button:hover { border-color:#65727799; }
}
.primary-link:active,.secondary-link:active,.submit-button:not(:disabled):active,a.button:active { transform:scale(.98); }
.menu-toggle, .dialog-close { border-radius:50%; }
.date-help { display:block; font-size:11px; color:#4a6574; margin:-16px 0 23px; font-weight:400; }
input[type=date] { color-scheme:light; }
#form-status:not(:empty) { padding:16px 18px; border-radius:16px; line-height:1.6; background:#ffffff70; border:1px solid #8faab7; }
#form-status[data-state=success] { background:#e6f6ed; border-color:#79b79b; color:#14583b; }
#form-status[data-state=error] { background:#fff1eb; border-color:#d5a28b; color:#793719; }
.email-directory > div { border-radius:18px; }
/* Uniform full-bleed 2:3 posters inside understated glass cards. */
.team-experience { position:relative; isolation:isolate; }
.experience-grid { position:relative; gap:24px; }
.experience-card {
  position:relative; border:1px solid #ffffff29; border-radius:20px;
  padding:0; overflow:hidden; background:linear-gradient(150deg,#ffffff14,#ffffff05);
  -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px);
  box-shadow:inset 0 1px 0 #ffffff15,0 12px 32px #00000025;
  transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .35s,box-shadow .35s;
}
.experience-card::after { content:''; pointer-events:none; position:absolute; inset:0; border-radius:inherit; background:linear-gradient(125deg,#ffffff13,transparent 42%,#73cfff08); }
.experience-card .experience-poster-frame { aspect-ratio:2/3; border-radius:0; border:0; background:#111315; }
.experience-card .experience-poster { width:100%; height:100%; object-fit:cover; object-position:center; transition:filter .35s ease; }
.experience-card figcaption { padding:16px 16px 14px; }
.experience-card h4 { font-weight:500; letter-spacing:-.01em; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .experience-card:hover { transform:translateY(-7px); border-color:#a5ddff73; box-shadow:inset 0 1px 0 #ffffff38,0 20px 45px #00000048,0 0 25px #6dbfe212; }
  .experience-card:hover .experience-poster { filter:brightness(1.07); }
}
@keyframes gallery-in { from { opacity:.65; transform:translateY(20px); } to { opacity:1; transform:translateY(0); } }
.gallery-arrival { animation:gallery-in .7s cubic-bezier(.2,.7,.2,1) backwards; }
.gallery-arrival:nth-child(4n+2) { animation-delay:.06s; }
.gallery-arrival:nth-child(4n+3) { animation-delay:.12s; }
.gallery-arrival:nth-child(4n+4) { animation-delay:.18s; }
@media(max-width:600px) { .experience-grid { gap:16px 12px; } .experience-card { padding:0; border-radius:16px; } .experience-card .experience-poster-frame { border-radius:0; } .experience-card figcaption { padding:12px; } }
@media(prefers-reduced-motion:reduce) { .experience-card, .experience-poster, .primary-link, .secondary-link, .outline-button, .submit-button, a.button, a.estimate { animation:none!important; transition:none!important; transform:none!important; } }

/* Neutral section labels; the blue accent belongs to the hero marker. */
body .eyebrow,body .section-heading .eyebrow,body .case-copy .eyebrow,
body .experience-project-heading .eyebrow,body .brief-card>.eyebrow,
body .faq-section .eyebrow,body .experience-heading .eyebrow { color:var(--label-silver); }
body .contact .eyebrow { color:#505b60; }
.hero .eyebrow { pointer-events:auto; }
.hero .crosshair {
  display:inline-block; flex:0 0 auto; width:auto; height:auto; padding:0;
  border:0; border-radius:0; background:none; box-shadow:none;
  -webkit-backdrop-filter:none; backdrop-filter:none;
  color:#e2e5e3; font-size:25px; line-height:1; font-weight:300;
  transition:transform .4s ease,color .4s ease,text-shadow .4s ease;
}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
 .hero .eyebrow:hover .crosshair { transform:rotate(90deg); color:#fff; text-shadow:0 0 12px #ffffff66; }
}
/* Shared left and right edges for the experience heading, copy and portraits. */
.studio-team { background:#171b1e; border-color:#ffffff16; }
.studio-team .team-section-label { justify-content:flex-start; gap:20px; margin-bottom:28px; }
.studio-team .team-section-label .minor-label { display:block; color:#959995; letter-spacing:1.4px; font-size:9px; }
.team-opening { margin-bottom:36px; }
.team-opening h2 { margin:0; font:500 clamp(38px,4vw,58px)/1.08 var(--display); letter-spacing:-.015em; }
.team-opening h2 span { color:#a8aaa7; }
.studio-team .studio-team-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,456px); align-items:start; gap:clamp(32px,5vw,76px); }
.studio-team-copy h3 { margin:0 0 13px; font:500 clamp(28px,2.7vw,38px)/1.15 var(--display); letter-spacing:-.01em; }
.studio-team .team-lead-intro { font-size:14px; color:#e0e1dd; line-height:1.65; margin:0 0 18px; max-width:52ch; }
.studio-team .experience-copy p { font-size:13px; line-height:1.75; color:#b5b8b8; margin:0 0 12px; max-width:62ch; }
.studio-team-copy .text-link { margin-top:8px; font-size:12px; color:#dedfdc; }
.studio-team .team-portraits { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; width:100%; max-width:none; margin:0; justify-self:stretch; align-items:start; }
.studio-team .team-portrait { min-width:0; margin:0; }
.studio-team .team-portrait img { display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; object-position:50% 20%; border:1px solid #ffffff26; border-radius:16px; background:#25282a; }
.studio-team .team-portrait figcaption { padding:13px 0 0; }
.studio-team .team-portrait strong { font-size:15px; line-height:1.45; }
.studio-team .team-portrait figcaption span { font-size:11px; color:#a8adaa; }
.studio-team .team-portrait .team-email { font-size:11px; color:#c3c9c7; text-decoration-color:#646f70; margin-top:6px; }
.studio-team .team-experience { margin-top:42px; padding-top:36px; border-top:1px solid #ffffff1f; }
.experience-medium { color:#a9adaa; }
.experience-medium span { color:#727976; }
.experience-credit-note { color:#a9adaa; }
/* A frosted estimate panel with calm, consistent curves. */
.delivery-section { background:radial-gradient(ellipse at 88% 48%,#ffffff07,transparent 48%),#14191c; }
.delivery-section .brief-card {
  background:linear-gradient(145deg,#ffffff0e,#ffffff04);
  border:1px solid #ffffff26; border-radius:24px; padding:clamp(24px,3vw,36px);
  -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px);
  box-shadow:inset 0 1px 0 #ffffff15,0 16px 42px #00000020;
}
.brief-card li { border-bottom-color:#ffffff1c; }
.brief-card li:before { color:#b7bebc; }
.brief-card li span,.brief-card>p:not(.eyebrow) { color:#b6bfbe; }
.brief-card .primary-link { margin-top:18px; }
@media(max-width:1000px) {
 .studio-team .studio-team-layout { grid-template-columns:minmax(0,1fr) minmax(0,380px); gap:30px; }
 .studio-team .team-portraits { gap:16px; }
}
@media(max-width:800px) {
 .studio-team .studio-team-layout { grid-template-columns:1fr; gap:26px; }
 .studio-team .team-portraits { max-width:456px; justify-self:start; }
 .studio-team .experience-copy p { max-width:70ch; }
 .team-opening { margin-bottom:28px; }
}
@media(max-width:480px) {
 .studio-team .team-section-label { flex-direction:column; align-items:flex-start; gap:9px; margin-bottom:22px; }
 .studio-team .team-portraits { gap:14px; }
 .studio-team .team-portrait img { border-radius:12px; }
 .studio-team .team-portrait strong { font-size:14px; }
 .studio-team .team-portrait .team-email { font-size:10px; }
 .studio-team .team-experience { margin-top:32px; padding-top:28px; }
 .delivery-section .brief-card { border-radius:20px; }
 .hero-actions { align-items:stretch; }
 .hero-actions .primary-link,.hero-actions .secondary-link { padding:13px 18px; }
}
@media(prefers-reduced-transparency:reduce) {
 .primary-link,.secondary-link,.outline-button,a.button,.delivery-section .brief-card { background:#262b2e; backdrop-filter:none; }
 .contact .submit-button { background:#edf0ee; }
}

.contact h2 span { color:#536168; }

/* Selected work: a single glass surface from image to action. */
.case-section { background:radial-gradient(ellipse at 4% 35%,#b5cbd30a,transparent 50%),#0e1316; }
.case-grid { gap:28px; align-items:stretch; }
.case-card { display:flex; flex-direction:column; padding:10px; border:1px solid #ffffff22; border-radius:24px; background:linear-gradient(145deg,#ffffff0c,#ffffff03); box-shadow:inset 0 1px 0 #ffffff12,0 18px 40px #0002; -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); transition:border-color .3s ease,box-shadow .3s ease,transform .3s ease; }
.case-card .case-image { border-radius:16px; isolation:isolate; }
.case-card .case-image::after { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,#0004,transparent 30%,transparent 65%,#0006); }
.case-card .case-image img { transform:none; transition:transform .6s cubic-bezier(.2,.7,.2,1); }
.case-card .case-number { z-index:1; left:16px; top:16px; display:flex; align-items:center; justify-content:center; min-width:34px; height:30px; padding:0 10px; border:1px solid #ffffff50; border-radius:999px; font:10px/1 var(--font); background:#10161880; -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); }
.case-card .case-open { display:none; }
.case-card .case-copy { display:flex; flex-direction:column; flex:1; padding:24px 18px 18px; border:0; }
.case-card .case-copy .eyebrow { font-size:9px; letter-spacing:1.3px; color:#abaeaa; }
.case-card .case-copy h3 { font:500 clamp(29px,2.7vw,40px)/1.12 var(--display); letter-spacing:-.015em; margin:14px 0 12px; max-width:22ch; }
.case-card .case-copy>p:not(.eyebrow) { margin:0 0 24px; color:#b6bfbe; font-size:13px; line-height:1.8; max-width:52ch; }
.case-card .breakdown-link { align-self:flex-start; margin-top:auto; padding:12px 19px; min-height:44px; font-size:12px; gap:26px; }
.case-card:focus-within { border-color:#ffffff65; box-shadow:inset 0 1px 0 #ffffff25,0 18px 42px #0004; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
 .case-card:hover { transform:translateY(-4px); border-color:#ffffff48; box-shadow:inset 0 1px 0 #ffffff25,0 22px 45px #0004; }
 .case-card:hover .case-image img { transform:scale(1.035); }
}
/* Two complementary capabilities, with quiet technical illustrations. */
.expertise { background:radial-gradient(ellipse at 95% 60%,#d8e8e708,transparent 55%),#131719; }
.service-grid { gap:24px; }
.service-grid article { display:flex; flex-direction:column; position:relative; padding:clamp(26px,3.1vw,42px); border-radius:24px; background:linear-gradient(145deg,#ffffff0c,#ffffff03); border:1px solid #ffffff22; box-shadow:inset 0 1px 0 #ffffff12; -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); }
.service-card-top { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:72px; }
.service-grid .service-index { color:#aeb7b5; font:11px/1.3 var(--font); letter-spacing:.08em; }
.service-diagram { width:112px; height:72px; }
.service-diagram svg { display:block; width:100%; height:100%; stroke:#b3c9c8; stroke-width:1.2; stroke-linecap:round; stroke-linejoin:round; }
.service-diagram .diagram-guide { stroke:#667979; stroke-dasharray:3 5; opacity:.65; }
.service-diagram .diagram-joints { fill:#171f21; stroke:#c8dbd8; }
.service-grid h3 { font:500 clamp(34px,3.2vw,46px)/1.07 var(--display); letter-spacing:-.01em; margin:22px 0 18px; }
.service-grid p { max-width:50ch; margin:0 0 20px; color:#bdc4c2; }
.service-grid ul { list-style:none; padding:0; margin:0 0 28px; }
.service-grid li { padding:12px 0 12px 20px; position:relative; border-top:1px solid #ffffff16; color:#aeb9b6; }
.service-grid li::before { content:''; position:absolute; left:1px; top:22px; width:4px; height:4px; border-radius:50%; background:#99aaa7; }
.service-grid .service-link { align-self:flex-start; margin-top:auto; padding:12px 18px; font-size:12px; min-height:44px; }
/* Poster labels: centered titles and aligned year baselines. */
.experience-card figcaption { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; text-align:center; min-height:99px; padding:16px 12px; }
.experience-card h4 { display:flex; align-items:center; justify-content:center; min-height:2.8em; width:100%; margin:0; line-height:1.4; font-size:14px; font-weight:500; }
.experience-card .project-year { color:#a9b2ae; font-size:11px; line-height:1.4; font-variant-numeric:tabular-nums; letter-spacing:.06em; }
/* A single aligned footer row, wrapping deliberately on smaller screens. */
.mega-footer.compact-footer { padding:28px 6%; }
.mega-footer.compact-footer .footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:24px; width:100%; border:0; padding:0; letter-spacing:0; font-size:11px; }
.compact-footer .footer-bottom .footer-identity { display:flex; flex-wrap:wrap; gap:10px 20px; align-items:center; font-size:11px; color:#919b99; }
.compact-footer .footer-motto { color:#717e7b; }
.compact-footer .footer-actions { display:flex; align-items:center; justify-content:flex-end; gap:26px; flex-wrap:wrap; }
.compact-footer .footer-actions a,.compact-footer .footer-actions button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; margin:0; padding:0; border:0; background:none; font:500 11px/1.4 var(--font); color:#c7ceca; letter-spacing:0; }
.compact-footer .footer-actions a:hover,.compact-footer .footer-actions button:hover { color:#fff; }
@media(max-width:1000px) { .compact-footer .footer-motto { display:none; } }
@media(max-width:767px) {
 .case-grid { grid-template-columns:1fr; gap:24px; }
 .case-card .case-copy { padding:21px 13px 15px; }
 .case-card .case-copy h3 { font-size:34px; }
 .service-grid { grid-template-columns:1fr; gap:20px; }
 .service-grid article { padding:26px; }
 .mega-footer.compact-footer .footer-bottom { flex-direction:column; align-items:flex-start; gap:8px; }
 .compact-footer .footer-actions { justify-content:flex-start; column-gap:24px; row-gap:0; }
}
@media(max-width:480px) {
 .case-card,.service-grid article { border-radius:20px; }
 .case-card .case-image { border-radius:13px; }
 .experience-card figcaption { padding:12px 8px; min-height:94px; }
 .experience-card h4 { font-size:12px; }
 .experience-card .project-year { font-size:10px; }
 .compact-footer .footer-actions { width:100%; column-gap:22px; }
 .compact-footer .footer-actions>a:first-child { flex-basis:100%; justify-content:flex-start; }
}
@media(prefers-reduced-motion:reduce) { .hero .crosshair,.case-card,.case-card .case-image img { transition:none; transform:none!important; } }
@media(prefers-reduced-transparency:reduce) { .case-card,.service-grid article { background:#1b2225; backdrop-filter:none; -webkit-backdrop-filter:none; } }
