body.landing-page{background:#efefed;color:#202322;overflow:hidden}body.landing-page>.header,body.landing-page>.footer{display:none!important}body.landing-page #main{margin:0;padding:0;max-width:none}.daily-home{height:100svh;min-height:540px;position:relative;overflow:hidden;isolation:isolate;font-family:Arial,Helvetica,sans-serif;color:#202322;background:#efefed}.daily-scene{position:absolute;inset:0;touch-action:none;--x:50%;--y:50%;--radius:280px}.daily-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}.daily-final{opacity:0;transition:opacity .5s ease;-webkit-mask-image:radial-gradient(circle var(--radius) at var(--x) var(--y),#000 0%,#000 60%,transparent 100%);mask-image:radial-gradient(circle var(--radius) at var(--x) var(--y),#000 0%,#000 60%,transparent 100%)}.daily-scene.is-active.is-ready .daily-final{opacity:1}.daily-scene.is-pinned.is-ready .daily-final{opacity:1;-webkit-mask-image:none;mask-image:none}.daily-wash{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#f7f7f3e8,transparent 30%,transparent 70%,#f7f7f3ed)}.daily-header{position:absolute;z-index:3;top:0;left:0;width:100%;padding:36px 4.2%;display:flex;align-items:center;justify-content:space-between;gap:35px;pointer-events:none}.daily-header a{pointer-events:auto;color:#202322;text-decoration:none}.daily-logo{display:block;width:270px;max-width:40vw;height:auto;filter:brightness(0)}.daily-nav{display:flex;gap:40px;align-items:center}.daily-nav a{font-size:21px;font-weight:400;padding:12px 0;border-bottom:1px solid transparent;line-height:1.25;letter-spacing:-.015em;transition:border-color .2s}.daily-nav a:hover{border-color:currentColor}.daily-project{position:absolute;left:4.2%;bottom:43px;max-width:54%;pointer-events:none}.daily-project .daily-eyebrow{font-size:10px;letter-spacing:.2em;text-transform:uppercase;margin:0 0 10px;opacity:.65;line-height:1.5}.daily-project h1{font-size:clamp(21px,2vw,29px);font-weight:400;letter-spacing:-.03em;line-height:1.15;margin:0 0 9px;max-width:600px}.daily-project a{pointer-events:auto;color:inherit;text-decoration:none}.daily-project a:hover{text-decoration:underline;text-underline-offset:5px}.daily-credit{font-size:12px;margin:0;opacity:.7;line-height:1.5}.daily-controls{position:absolute;right:4.2%;bottom:38px;display:flex;flex-direction:column;align-items:flex-end;gap:14px}.daily-hint{font-size:11px;margin:0;letter-spacing:.025em;color:#343a35}.daily-toggle{font-family:inherit;font-size:12px;color:#252b27;background:#ffffffc9;border:1px solid #c7cbc5;border-radius:30px;padding:12px 22px;min-height:44px;backdrop-filter:blur(14px);cursor:pointer;line-height:1.3;box-shadow:none}.daily-toggle:hover{background:#fff}.daily-toggle[aria-pressed=true]{background:#252b27;color:#fff;border-color:#252b27}.daily-home a:focus-visible,.daily-home button:focus-visible{outline:2px solid #202322;outline-offset:6px}.daily-cursor{position:absolute;left:var(--x);top:var(--y);width:13px;height:13px;border:1px solid white;box-shadow:0 0 0 1px #0003;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;opacity:0}.daily-scene.is-active.is-ready:not(.is-pinned) .daily-cursor{opacity:.85}.daily-scene.is-active.is-ready:not(.is-pinned){cursor:none}.daily-status{position:absolute;inset:0;display:grid;place-items:center;font-size:12px;background:#efefed;letter-spacing:.06em}.daily-status[hidden]{display:none}@media(max-width:760px){.daily-header{padding:28px 5%;gap:20px;align-items:center;flex-wrap:wrap}.daily-logo{width:220px;max-width:51vw}.daily-nav{gap:22px}.daily-nav a{font-size:18px;padding:11px 0}.daily-project{left:5%;bottom:136px;max-width:88%}.daily-project h1{font-size:25px}.daily-controls{left:5%;right:5%;bottom:30px;align-items:flex-start;gap:10px}.daily-scene{--radius:190px}.daily-layer{object-position:var(--mobile-position,center)}.daily-wash{background:linear-gradient(180deg,#f7f7f3e8,transparent 32%,transparent 52%,#f7f7f3f2)}.daily-hint{font-size:11px}.daily-home{min-height:610px}}@media(max-width:540px){.daily-header{gap:7px}.daily-logo{width:215px;max-width:67vw}.daily-nav{margin-left:auto;gap:25px;width:100%;justify-content:flex-end}.daily-nav a{font-size:18px}.daily-project h1{font-size:23px}}@media(prefers-reduced-motion:reduce){.daily-final,.daily-nav a{transition:none}}

/* Colour identity and animated accents */
.daily-logo{width:320px;max-width:43vw;filter:drop-shadow(0 1px 2px #182e4599) drop-shadow(0 0 8px #182e4533)}
.daily-nav a,.daily-project h1 a,.daily-toggle{position:relative}
.daily-nav a{border-bottom:0;transition:color .25s ease}
.daily-nav a::after,.daily-project h1 a::after,.daily-toggle::after{content:"";position:absolute;left:0;right:0;bottom:3px;height:3px;border-radius:3px;background:linear-gradient(90deg,#246baf,#20bfd0,#7859d9);transform:scaleX(0);transform-origin:left;transition:transform .32s cubic-bezier(.2,.7,.2,1)}
.daily-nav a:hover,.daily-nav a:focus-visible{color:#246baf}
.daily-nav a:hover::after,.daily-nav a:focus-visible::after,.daily-project h1 a:hover::after,.daily-project h1 a:focus-visible::after,.daily-toggle:hover::after,.daily-toggle:focus-visible::after{transform:scaleX(1)}
.daily-project h1 a{display:inline-block;padding-bottom:5px}
.daily-project a:hover{text-decoration:none}
.daily-toggle{transition:border-color .25s,background .25s,box-shadow .25s}
.daily-toggle::after{left:22px;right:22px;bottom:6px;height:2px}
.daily-toggle:hover{border-color:#246baf;box-shadow:0 4px 16px #246baf18}
@media(max-width:760px){.daily-logo{width:260px;max-width:55vw}}
@media(max-width:540px){.daily-logo{width:250px;max-width:72vw}}
@media(prefers-reduced-motion:reduce){.daily-nav a,.daily-nav a::after,.daily-project h1 a::after,.daily-toggle,.daily-toggle::after{transition:none}}

/* Translucent header with the supplied graphite and blue identity. */
.daily-header{top:22px;left:3%;width:94%;padding:16px 26px;gap:24px;background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.85);border-radius:18px;box-shadow:0 8px 30px rgba(24,40,55,.07);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.daily-logo{width:350px;max-width:43vw;filter:none}
@media(max-width:760px){.daily-header{top:16px;left:4%;width:92%;padding:14px 20px;gap:12px}.daily-logo{width:290px;max-width:51vw}.daily-nav{gap:22px}}
@media(max-width:540px){.daily-header{padding:14px 18px;gap:8px;border-radius:15px}.daily-logo{width:280px;max-width:73vw}.daily-nav{width:100%;gap:25px;justify-content:flex-end}}

/* Softer glass and navigation inset. */
.daily-header{background:rgba(255,255,255,.48);border-color:rgba(255,255,255,.62)}
.daily-nav{margin-right:28px}
@media(max-width:760px){.daily-nav{margin-right:14px}}
@media(max-width:540px){.daily-nav{margin-right:8px}}

/* macOS-inspired frosted glass menu surface. */
.daily-header{background:linear-gradient(135deg,rgba(255,255,255,.28),rgba(245,248,252,.13));border:1px solid rgba(255,255,255,.58);border-radius:20px;box-shadow:inset 0 1px 0 rgba(255,255,255,.8),inset 0 -1px 0 rgba(255,255,255,.2),0 8px 26px rgba(27,40,55,.12),0 1px 3px rgba(27,40,55,.06);backdrop-filter:blur(24px) saturate(165%);-webkit-backdrop-filter:blur(24px) saturate(165%);padding-top:10px;padding-bottom:10px}
.daily-nav a{border-radius:7px;padding:10px 8px;transition:background .2s,color .2s}
.daily-nav a:hover,.daily-nav a:focus-visible{background:rgba(255,255,255,.34)}
.daily-nav a::after{left:8px;right:8px}
.daily-nav{gap:24px}
@media(max-width:760px){.daily-header{padding-top:10px;padding-bottom:10px}.daily-nav{gap:12px}}
@media(max-width:540px){.daily-header{border-radius:17px}.daily-nav{gap:16px}}
@media(prefers-reduced-transparency:reduce){.daily-header{background:rgba(247,248,250,.94)}}

/* Clear glass: allow the actual scene to show through the header. */
.daily-wash{background:linear-gradient(180deg,transparent 0%,transparent 70%,#f7f7f3ed 100%)}
.daily-header{background:rgba(255,255,255,.10);backdrop-filter:blur(8px) saturate(155%);-webkit-backdrop-filter:blur(8px) saturate(155%);border:1px solid rgba(255,255,255,.65);box-shadow:inset 0 1px 0 #ffffffb3,0 5px 20px #1828371a}
@media(max-width:760px){.daily-wash{background:linear-gradient(180deg,transparent 0%,transparent 52%,#f7f7f3f2 100%)}}
@media(prefers-reduced-transparency:reduce){.daily-header{background:rgba(247,248,250,.94)}}

/* Shared navigation across all portfolio routes. */
body>.site-header{position:sticky;z-index:10;top:22px;left:auto;width:94%;margin:22px auto 0;font-family:Arial,Helvetica,sans-serif;color:#202322;background-color:rgba(245,247,250,.72)}
body.landing-page>.site-header{display:none!important}
body.inner-page #main{padding-top:28px}
.site-header a:focus-visible{outline:2px solid #246baf;outline-offset:5px}
@media(max-width:760px){body>.site-header{top:16px;width:92%;margin-top:16px}}
@media(max-width:540px){body>.site-header{top:12px}}

/* Responsive layout shared by the homepage and every inner route. */
.daily-header,.site-header{box-sizing:border-box}
.daily-header>a{min-width:0;flex-shrink:1}
.daily-nav{flex-shrink:0}
#main:focus{outline:none}
@media(max-width:900px){
.daily-header,body>.site-header{width:calc(100% - 32px);left:16px;right:16px;top:16px;padding:12px 18px;gap:12px}
body>.site-header{left:auto;right:auto;margin:16px auto 0}
.daily-logo{width:280px;max-width:100%;height:auto}
.daily-nav{gap:12px;margin:0;width:auto}
.daily-nav a{font-size:18px;min-height:44px;display:flex;align-items:center;justify-content:center;white-space:nowrap}
.about-layout,.about-hero,.inner-page .contact,.project-heading{grid-template-columns:minmax(0,1fr)}
.about-profile,.contact-heading{position:relative;top:auto}
}
@media(max-width:600px){
:root{--gutter:20px}
html{scroll-padding-top:150px}
.daily-header,body>.site-header{width:calc(100% - 24px);left:12px;right:12px;top:12px;padding:10px 14px 8px;display:grid;grid-template-columns:minmax(0,1fr);gap:4px;border-radius:18px}
body>.site-header{left:auto;right:auto;margin:12px auto 0}
.daily-header>a{display:flex;justify-content:center;width:100%}
.daily-logo{width:230px;max-width:85%;height:auto}
.daily-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;width:100%;max-width:none;margin:0;overflow:visible}
.daily-nav a{font-size:16px;line-height:1.2;padding:10px 6px;min-width:0;min-height:44px}
body.inner-page #main{padding-top:8px}
.inner-page .projects-section,.inner-page .about,.inner-page .contact{padding-top:32px;padding-bottom:48px;min-height:0}
.grid,.inner-page .projects-section .grid{grid-template-columns:minmax(0,1fr);gap:22px}
.section-heading,.filters,.intro-top,.intro-bottom,.hero-caption,.project-bottom{flex-wrap:wrap;gap:16px}
.search{width:100%;min-width:0}.search input{width:100%;min-width:0;font-size:16px}
.project-heading{grid-template-columns:minmax(0,1fr);gap:22px}
.project-heading h1{font-size:clamp(28px,8vw,42px);overflow-wrap:anywhere}
.project-info,.project-description,.card-meta,.contact-body,.contact-card,.about-content,.about-card{min-width:0;max-width:100%}
.project-page video,.project-page iframe,.gallery-item img{max-width:100%}
.project-page iframe{width:100%}.gallery-item{margin-left:0;margin-right:0}
.about-profile{display:block}.about-hero{gap:24px}.about-hero h2,.contact-heading h2{font-size:clamp(42px,12vw,64px)}
.about-tools .software,.contact-details,.contact-form .form-row,.inner-page .about .experience-item,.inner-page .about .resume-extra{grid-template-columns:minmax(0,1fr)}
.contact-form input,.contact-form textarea{font-size:16px;min-width:0}
.contact-form,.social-block,.about-story,.about-tools{padding:22px 18px}
.contact-link,.direct-email,.biography,.resume-source{overflow-wrap:anywhere}
.footer{display:flex;flex-wrap:wrap;gap:18px;padding:24px var(--gutter)}
body.landing-page{overflow:auto}
.daily-home{height:100svh;min-height:560px}
.daily-project{left:20px;right:20px;bottom:calc(124px + env(safe-area-inset-bottom));max-width:none}
.daily-project h1{font-size:24px}.daily-controls{left:20px;right:20px;bottom:calc(22px + env(safe-area-inset-bottom));align-items:flex-start}
.daily-toggle{min-height:44px}.daily-layer{object-position:var(--mobile-position,center)}
.lightbox-top,.lightbox-bottom{gap:8px;flex-wrap:wrap}.lightbox-top>span{min-width:0;max-width:75%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
@media(max-height:500px) and (orientation:landscape){
body.landing-page{overflow:auto}.daily-home{min-height:500px}.daily-header,body>.site-header{position:absolute;top:10px;grid-template-columns:minmax(0,1fr) auto;display:flex;flex-wrap:nowrap;padding:8px 16px}.daily-logo{width:210px;max-width:100%}.daily-nav{display:flex;width:auto;gap:8px}.daily-nav a{font-size:15px}.daily-project{bottom:28px;max-width:50%}.daily-controls{left:auto;right:20px;bottom:24px}.inner-page #main{padding-top:110px!important}
}

/* Neutral glass inherits the scene rather than a white fill. */
.daily-header,body>.site-header{background:transparent;background-color:transparent;backdrop-filter:blur(12px) saturate(135%);-webkit-backdrop-filter:blur(12px) saturate(135%);border-color:rgba(150,160,175,.25);box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 6px 22px rgba(0,0,0,.12)}
body>.site-header{color:#f3f4f6}
body>.site-header a{color:#f3f4f6}
body>.site-header .daily-logo{content:url("assets/bchaves3d-logo.png");filter:none}
body>.site-header .daily-nav a:hover,body>.site-header .daily-nav a:focus-visible{color:#9dc8ff;background:rgba(255,255,255,.06)}
@media(prefers-reduced-transparency:reduce){.daily-header{background:#efefed}body>.site-header{background:#17191d}}
