/* Portfolio V11: shared type, header and floating Work menu. */
:root{--ink:#202020;--copy:#414141;--muted:#666;--rule:#d3d3d3;--accent:#ab1e2f;--body-copy-size:15px;--body-copy-leading:1.78;--body-copy-tracking:.002em;--body-copy-mobile-leading:1.72;--site-gutter:clamp(20px,4.2vw,72px);--site-max-width:1536px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:Almarai,"Trebuchet MS",Arial,sans-serif;font-weight:300;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}button{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid #5b5b5b;outline-offset:5px}[hidden]{display:none!important}
.site-shell{width:min(100%,calc(var(--site-max-width) + 2 * var(--site-gutter)));padding-inline:var(--site-gutter);margin-inline:auto}.site-header{position:relative;z-index:10;margin-top:17px;border-block:1px solid var(--rule)}.site-header__inner{min-height:58px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px 34px}.site-header__intro{display:flex;gap:8px 18px;flex-wrap:wrap;align-items:baseline;min-width:0}.site-header__name{color:var(--accent);font-size:14px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}.site-header__name:hover{text-decoration:none;opacity:.85}.site-header__location{color:#5b5b5b;font-size:12px;line-height:1.5;letter-spacing:.018em}.site-header__actions{justify-self:end;display:flex;align-items:center;gap:24px;min-height:45px}.site-header__projects{display:flex;align-items:center;gap:22px;font-size:13px;letter-spacing:.015em}.site-header__about,.work-menu__trigger{font-weight:400}.site-header__about:hover,.work-menu__trigger:hover{color:#444}.site-header__contact{display:flex;align-items:center;gap:18px;font-size:12px;line-height:1.5;font-variant-numeric:tabular-nums}.contact-toggle,.contact-close,.work-menu__close{border:0;background:transparent;color:inherit;cursor:pointer;padding:7px}.contact-toggle{font-size:13px}.contact-close,.work-menu__close{font-size:22px;line-height:1}.work-menu__close{padding:4px 8px}
.work-menu{position:static}.work-menu__trigger{display:inline-flex;align-items:center;gap:8px;min-height:35px;list-style:none;cursor:pointer;user-select:none}.work-menu__trigger::-webkit-details-marker{display:none}.work-menu__trigger::after{content:"";width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-2px) rotate(45deg)}.work-menu[open] .work-menu__trigger::after{transform:translateY(1px) rotate(225deg)}.work-menu__panel{position:fixed;top:85px;left:50%;transform:translateX(-50%);width:min(810px,calc(100vw - 32px));padding:clamp(18px,2vw,28px);border:1px solid #dedede;background:#fff;box-shadow:0 14px 32px #00000018;z-index:30;max-height:calc(100dvh - 110px);overflow-y:auto;overscroll-behavior:contain}.work-menu__panel.is-positioned{transform:none}.work-menu__bar{display:flex;justify-content:space-between;align-items:center;margin:-8px 0 16px}.work-menu__handle{cursor:grab;user-select:none;touch-action:none;flex:1;font-size:12px;letter-spacing:.1em;color:#777;padding:9px 0}.work-menu__handle:active{cursor:grabbing}.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 15px}.work-grid__item{display:block;min-width:0}.work-grid__item:hover{text-decoration:none}.work-grid__thumb{display:block;overflow:hidden;width:100%;aspect-ratio:1.42;background:#f4f4f3}.work-grid__thumb img{width:100%;height:100%;display:block;object-fit:cover}.work-grid__item:hover .work-grid__thumb{outline:1px solid #777}.work-grid__label{display:block;margin-top:9px;font-size:12px;line-height:1.4;font-weight:400}.work-grid__item[aria-current=page] .work-grid__label{color:#444}
.site-footer{margin-top:clamp(70px,8vw,120px);padding:16px 0 38px;border-top:1px solid var(--rule);color:#666;font-size:12px}.skip-link{position:fixed;top:8px;left:20px;transform:translateY(-200%);z-index:100;background:white;padding:12px;border:1px solid #777}.skip-link:focus{transform:none}
@media(max-width:760px){.site-header{margin-top:11px}.site-header__inner{grid-template-columns:1fr;gap:8px;padding-block:12px}.site-header__actions{justify-self:start;min-height:32px}.site-header__intro{column-gap:10px}.site-header__contact{flex-wrap:wrap;gap:8px 14px}.work-menu__panel{top:115px;max-height:calc(100dvh - 140px)}.work-menu__handle{touch-action:auto;cursor:default}}
@media(max-width:610px){.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.work-menu__panel{padding:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Shared, understated back-to-top link. Added by work-menu.js on all pages. */
.back-to-top{position:fixed;right:clamp(16px,3vw,42px);bottom:clamp(18px,3vw,40px);z-index:40;display:grid;place-items:center;width:38px;height:38px;border:1px solid #929292;border-radius:50%;background:rgba(255,255,255,.96);color:#303030;box-shadow:0 2px 12px rgba(0,0,0,.045);cursor:pointer;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .22s ease,transform .22s ease,border-color .22s ease,color .22s ease}
.back-to-top.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}
.back-to-top:hover{color:#111;border-color:#555;background:#fff}
.back-to-top svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
@media(prefers-reduced-motion:reduce){.back-to-top{transition:none}}

/* V16: compact work palette, grouped in the same order as the homepage. */
.work-menu__panel{width:min(584px,calc(100vw - 32px));padding:18px 22px 22px;top:78px;max-height:calc(100dvh - 94px)}
.work-menu__bar{margin:-6px 0 9px}
.work-grid--collections{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px 14px}
.work-grid--recent{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 11px}
.work-grid__label{font-size:11px;margin-top:6px;line-height:1.35}
.work-grid__thumb{aspect-ratio:1.42}
.work-grid__placeholder{min-width:0;cursor:default}
.work-grid__thumb--placeholder{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;background:#f6f6f5;border:1px solid #dededb;color:#888}
.work-grid__thumb--placeholder>span{font-size:19px;font-weight:300;line-height:1}
.work-grid__thumb--placeholder small{font-size:9px;letter-spacing:.025em}
.work-menu__divider{display:flex;align-items:center;gap:12px;margin:20px 0 17px;color:#777;font-size:10px;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
.work-menu__divider>span:first-child,.work-menu__divider>span:last-child{flex:1;height:1px;background:#d5d5d5}
@media(max-width:760px){.work-menu__panel{top:100px;max-height:calc(100dvh - 116px)}}
@media(max-width:510px){.work-menu__panel{padding:16px 15px}.work-grid--collections,.work-grid--recent{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px}.work-grid__label{font-size:11px}.work-menu__divider{margin:23px 0 17px}}

/* Slightly stronger weight for the red TIM DADDIO header lettering, kept midway between the previous two tests. */
.site-header__name{-webkit-text-stroke:.18px currentColor}

/* Header language selector: EN live, ES intentionally unavailable until Spanish copy exists. */
.site-header__languages{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-size:11px;line-height:1.5;letter-spacing:.05em}
.site-header__language{font:inherit;line-height:inherit;letter-spacing:inherit}
.site-header__languages .is-current{font-weight:700;color:#333}
.site-header__language-separator{color:#aaa;font-weight:300}
.site-header__languages .is-pending{padding:0;border:0;background:none;color:#9b9b9b;opacity:1;cursor:default;-webkit-text-fill-color:#9b9b9b}
@media(max-width:760px){.site-header__actions{flex-wrap:wrap;row-gap:4px;column-gap:20px}}

/* V25: Contact shares the same understated hover treatment as About. */
.contact-toggle:hover {
  color: #444;
  text-decoration: underline;
  text-underline-offset: 3px;
}
