/* Light lives in type and surfaces, with a quiet silver / graphite palette. */
:root{--radius:22px;--ink-light:#f4f5f2;--ink-middle:#d7dcd7;--ink-shade:#9caaa4}
.ink{background-image:linear-gradient(115deg,var(--ink-light) 5%,var(--ink-middle) 25%,#fff 42%,var(--ink-shade) 65%,var(--ink-light) 88%);background-size:220% 100%;background-position:15% 50%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;box-decoration-break:clone;-webkit-box-decoration-break:clone;transition:background-position 1.35s var(--ease),filter .8s}
.ink:hover,a:hover .ink,a:focus-visible .ink,button:hover .ink{background-position:95% 50%;filter:brightness(1.12)}
.about-text p,.project-meta,.project-title>p,.site-footer,.eyebrow,figcaption,.hero-role,.hero-location,.hero-scroll,.contact-heading{--ink-light:#c7cbc7;--ink-middle:#adb5ae;--ink-shade:#929a94}
.about-text .about-intro,.studio-role,.hero-wordmark,.closing-name,h2,h3,.brand,.contact-email{--ink-light:#f5f5ef;--ink-middle:#dce2dc;--ink-shade:#a4b0a8}
.hero-wordmark .ink{display:block;background-image:linear-gradient(155deg,#f6f6ee 8%,#bdc5bd 24%,#69776c 39%,#f5f6ef 54%,#8b978d 73%,#e9eee5 95%);background-size:115% 100%;background-position:35% 50%;filter:none}
.about-heading h2 .ink,.section-heading h2 .ink,.contact-email .ink{background-image:linear-gradient(120deg,#f5f6ef 5%,#c6cec4 25%,#fff 42%,#96a590 65%,#e6ebdf 88%);background-size:135% 100%}
.gradient-text.accent{--ink-light:#bdc6bf;--ink-middle:#8d9d91;--ink-shade:#d6dcd6}
.closing-name .ink{background-image:linear-gradient(155deg,#f3f3ed 5%,#acb5ad 33%,#747d76 60%,#dce1da 91%);background-size:160% 100%}
.skip-link .ink{-webkit-text-fill-color:#080808;background:none}.watch-film .ink{--ink-light:#fff;--ink-middle:#eee;--ink-shade:#c9d3cb}
.skip-intro>.ink,.skip-intro span>.ink{margin-left:0}
.ambient{background:radial-gradient(ellipse at 18% 30%,#17211b28,transparent 58%),radial-gradient(ellipse at 83% 64%,#d3d3b009,transparent 57%),linear-gradient(145deg,#111412,#050505 65%)}
.ambient::before{content:'';position:absolute;inset:-30%;background:radial-gradient(ellipse 36% 40% at 35% 40%,#9caaa414,transparent 70%),radial-gradient(ellipse 28% 48% at 75% 72%,#eae1cb07,transparent 76%);animation:environment-drift 26s ease-in-out infinite alternate;will-change:transform}
@keyframes environment-drift{from{transform:translate(-2%,-2%) rotate(-5deg)}to{transform:translate(3%,4%) rotate(6deg)}}
.hero-light{background:radial-gradient(ellipse 36% 64% at 46% 39%,#343a35 0%,#181c18 45%,#050505 92%)}
.hero-light::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 27% 56% at 52% 35%,#d9e2d30c,transparent 90%);opacity:.55;animation:hero-luminance 14s ease-in-out infinite alternate}
@keyframes hero-luminance{to{opacity:1;transform:translate(1%,1.5%)}}
.about{background:radial-gradient(ellipse 70% 30% at 25% 45%,#17201944,transparent),linear-gradient(#050505,#0c0e0c 60%,#080a08)}
.work{position:relative;background:radial-gradient(ellipse at 80% 45%,#1c281a25,transparent 66%)}
.contact{position:relative;background:radial-gradient(ellipse at 50% 100%,#34473720,transparent 70%)}
.about::before,.work::before,.contact::before{content:'';pointer-events:none;position:absolute;inset:0;background:radial-gradient(ellipse 550px 400px at var(--light-x,50%) var(--light-y,40%),#dfeadb08,transparent 78%);opacity:var(--light-on,0);transition:opacity 1.2s;z-index:0}
.about>.shell,.work>.section-heading,.work>.projects,.contact>*{position:relative;z-index:1}
.about-heading h2{line-height:1.09}.photo-frame{box-shadow:0 0 0 1px #f1f7ec0a,0 16px 55px #0003;transition:box-shadow 1s var(--ease),transform 1s var(--ease)}
.photo-frame::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;border:1px solid #ffffff12;background:radial-gradient(ellipse at var(--light-x,50%) var(--light-y,20%),#ffffff0a,transparent 62%);opacity:.55;transition:opacity .8s}
.photo-frame:hover{box-shadow:0 0 0 1px #e5ead42b,0 22px 70px #0005}.photo-frame:hover::after{opacity:1}.photo-frame:hover img,.project-link:hover img{transform:scale(1.024);filter:brightness(1.045) contrast(1.045)}
.about-portrait .photo-frame{mask-image:linear-gradient(#000 92%,#000d);border-radius:26px}.about-portrait img,.about-portrait .photo-frame:hover img{filter:none}
.process-portrait .photo-frame:hover img{filter:grayscale(1) brightness(1.045) contrast(1.14)}
.process-portrait .photo-frame{border-radius:18px}.project-info{transition:transform .85s var(--ease)}.project-link:hover .project-info{transform:translateY(-2px)}
.project-image{transform:perspective(1200px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));will-change:auto}.watch-film{border-radius:30px;backdrop-filter:blur(15px);background:linear-gradient(135deg,#161b16c9,#070907d4);padding:12px 18px}
.studio-story,.contact-panel,.contact-email{border-color:transparent;position:relative}.studio-story::before,.contact-panel::before,.contact-email::after{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,#ffffff00,#bac8b54a 25%,#ffffff70 49%,#a9bfa533 78%,transparent);background-size:180% 100%;transition:background-position 1.4s var(--ease)}
.contact-email::after{top:auto;bottom:0}.studio-story:hover::before,.contact-panel:hover::before,.contact-email:hover::after{background-position:100% 0}.contact-email>.gradient-text{transition:transform .8s var(--ease)}.contact-email:hover>.gradient-text{transform:translateX(3px)}
.brand .ink{letter-spacing:.005em}.brand:hover .ink{filter:brightness(1.18)}.client-names li{transition:transform .8s var(--ease)}.client-names li:hover{transform:translateY(-3px)}
.text-link::after,.site-header nav a::after{background:linear-gradient(90deg,transparent,#cbd6ca,#fff,transparent)}
@media(max-width:700px){:root{--radius:17px}.about-portrait .photo-frame{border-radius:20px}.process-portrait .photo-frame{border-radius:14px}.watch-film{padding:8px 12px}}
@media(prefers-reduced-motion:reduce){.ambient::before,.hero-light::after{animation:none}.project-image,.project-info,.contact-email>.gradient-text,.client-names li{transform:none!important}}
@media print{.ink{background:none;-webkit-text-fill-color:currentColor}}

/* Small social signatures share the biography's baseline and quiet silver tone. */
.social-icons{display:flex;align-items:center;gap:7px;width:max-content;max-width:100%}
.about-socials{margin:18px 0 0 -12px}
.contact-links.social-icons{padding-top:12px;margin:0 -12px 0 auto}
@media(max-width:700px){.contact-links.social-icons{margin-left:-12px;margin-right:0}}
:is(.social-icons a,.social-external){position:relative;display:grid;place-items:center;width:44px;height:44px;color:#a4ada6;border-radius:50%;transition:color .5s ease,transform .7s cubic-bezier(.22,1,.36,1)}
:is(.social-icons,.social-external) svg{display:block;width:18px;height:18px;position:relative;z-index:1;transition:filter .6s ease}
:is(.social-icons a,.social-external)::before{content:'';position:absolute;inset:4px;border-radius:50%;background:radial-gradient(ellipse,#dce8da12,transparent 72%);opacity:0;transform:scale(.8);transition:opacity .65s ease,transform .7s cubic-bezier(.22,1,.36,1)}
:is(.social-icons a,.social-external):hover,:is(.social-icons a,.social-external):focus-visible{color:#f3f2ea;transform:translateY(-2px)}
:is(.social-icons a,.social-external):hover::before,:is(.social-icons a,.social-external):focus-visible::before{opacity:1;transform:scale(1.2)}
:is(.social-icons a,.social-external):hover svg,:is(.social-icons a,.social-external):focus-visible svg{filter:drop-shadow(0 0 6px #e5e4dc20)}
:is(.social-icons a,.social-external):focus-visible{outline:1px solid #d4d8d0;outline-offset:-4px}
@media(prefers-reduced-motion:reduce){:is(.social-icons a,.social-external),:is(.social-icons a,.social-external)::before{transform:none!important}}

.folder-external.social-external{display:grid;place-items:center;width:44px;height:44px;padding:0;margin:13px auto 0;text-decoration:none}
