:root{color:#211414;font-synthesis:none;text-rendering:optimizelegibility;--ink:#211414;--paper:#fbf3f0;--paper-strong:#fffaf7;--rose:#c86d7a;--rose-line:#ecd1cf;--muted:#7d6060;--shadow:0 18px 54px #401f1f1c;--soft-shadow:0 10px 28px #401f1f14;--radius:16px;background:#fbf3f0;font-family:Georgia,Times New Roman,serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;color:var(--ink);background:radial-gradient(circle at 18% 0, #fff 0 22%, transparent 38%), var(--paper);margin:0;overflow-x:hidden}button{color:inherit;font:inherit}a{color:inherit;text-decoration:none}img,video{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.035em;font-weight:500;line-height:1}.section{padding:clamp(36px,5vw,70px) clamp(18px,4vw,52px);scroll-margin-top:76px}.eyebrow{color:var(--rose);letter-spacing:.16em;text-transform:uppercase;margin:0 0 12px;font-family:Arial,Helvetica,sans-serif;font-size:10px;font-weight:800;line-height:1.3}.site-header{z-index:40;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fbf3f0eb;border-bottom:1px solid #ecd1cfcc;justify-content:space-between;align-items:center;height:68px;padding:0 clamp(18px,4vw,52px);display:flex;position:sticky;top:0}.brand{align-items:center;gap:11px;line-height:1;display:inline-flex}.brand span{letter-spacing:-.08em;font-size:31px;font-weight:700}.brand small{letter-spacing:.42em;text-transform:uppercase;font-family:Arial,Helvetica,sans-serif;font-size:10px;font-weight:800}.main-nav{letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:clamp(22px,3.2vw,46px);font-family:Arial,Helvetica,sans-serif;font-size:10px;font-weight:800;display:flex}.main-nav a{border-bottom:1px solid #0000;padding:10px 0}.main-nav a:hover{border-color:currentColor}.menu-toggle{letter-spacing:.14em;text-transform:uppercase;background:0 0;border:0;font-family:Arial,Helvetica,sans-serif;font-size:10px;font-weight:800;display:none}.hero{border-bottom:1px solid var(--rose-line);min-height:270px;padding:clamp(44px,6vw,78px) clamp(18px,4vw,52px) clamp(34px,4.2vw,54px)}.hero h1{max-width:700px;margin:0;font-size:clamp(42px,7vw,84px)}.work{background:linear-gradient(#fffaf7,#fbf3f0 34%,#fffaf7)}.portfolio-nav{border-bottom:1px solid var(--rose-line);scrollbar-width:thin;gap:clamp(18px,3vw,40px);max-width:1280px;margin:0 auto 28px;padding:0 0 12px;display:flex;overflow-x:auto}.category-tab{color:var(--muted);cursor:pointer;letter-spacing:.13em;text-transform:uppercase;background:0 0;border:0;border-bottom:2px solid #0000;flex:none;padding:0 0 9px;font-family:Arial,Helvetica,sans-serif;font-size:10px;font-weight:800;line-height:1.2}.category-tab:hover,.category-tab:focus-visible{color:var(--ink);border-color:#2114145c;outline:0}.category-tab.active{color:var(--ink);border-color:var(--ink)}.portfolio-stack{gap:clamp(24px,4vw,54px);display:grid}.charlii-showcase,.project-showcase{max-width:1280px;box-shadow:var(--soft-shadow);background:#fffaf7bd;border:1px solid #ecd1cfe6;border-radius:24px;margin:0 auto;padding:clamp(16px,2.4vw,30px);position:relative;overflow:hidden}.charlii-showcase:before,.project-showcase:before{content:"";pointer-events:none;background-image:linear-gradient(#c86d7a0b 1px,#0000 1px),linear-gradient(90deg,#c86d7a0a 1px,#0000 1px);background-size:42px 42px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 40%);mask-image:linear-gradient(#000,#0000 40%)}.charlii-hero,.project-hero{z-index:1;border-bottom:1px solid #ecd1cfbf;grid-template-columns:minmax(250px,34%) minmax(0,1fr);align-items:start;gap:clamp(22px,4.5vw,62px);padding-bottom:clamp(18px,2.6vw,32px);display:grid;position:relative}.charlii-title h2,.project-copy h2{margin:0;font-size:clamp(28px,3.3vw,46px);line-height:1.04}.subtitle{color:var(--rose);margin:8px 0 18px;font-size:clamp(16px,1.6vw,23px);font-style:italic;line-height:1.12}.creative-panel{background:#ffffff85;border:1px solid #ecd1cfd6;border-radius:16px;gap:14px;margin-top:22px;padding:16px;display:grid}.creative-panel .eyebrow{color:var(--ink);margin-bottom:0}.direction-block{gap:6px;display:grid}.direction-block h3{color:var(--rose);letter-spacing:.14em;text-transform:uppercase;margin:0;font-family:Arial,Helvetica,sans-serif;font-size:9px;font-weight:800}.direction-block p,.direction-block li{color:var(--muted);letter-spacing:.01em;margin:0;font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:1.45}.direction-block ul{margin:0;padding-left:16px}.swatches{flex-wrap:wrap;gap:7px;display:flex}.swatches span{border:1px solid #21141424;border-radius:50%;width:22px;height:22px;box-shadow:inset 0 0 0 1px #ffffff38}.project-media-composition,.hero-composition{justify-content:center;align-items:flex-start;display:flex;position:relative}.project-primary,.hero-card{width:min(100%,780px)}.media-frame{border-radius:var(--radius);box-shadow:var(--soft-shadow);background:#fff;border:1px solid #ecd1cfc7;margin:0;overflow:hidden}.media-frame img,.media-frame video{object-fit:contain;background:#fff;width:100%;height:auto}.media-frame video{background:#0d0b0b}.media-frame figcaption{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;padding:8px 10px;font-family:Arial,Helvetica,sans-serif;font-size:9px;font-weight:800;line-height:1.35}.media-frame:hover img{transform:scale(1.008)}.media-frame img{transition:transform .55s}.media-video.media-wide video{aspect-ratio:16/9}.media-square img,.media-square video{aspect-ratio:1;object-fit:contain}.media-portrait img,.media-portrait video{aspect-ratio:9/16;object-fit:contain}.funnel-strip{z-index:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,2vw,24px);margin:16px 0 4px;display:grid;position:relative}.stage-label{border:1px solid var(--rose-line);background:#ffffff85;border-radius:13px;grid-template-columns:34px 1fr;align-items:center;gap:10px;padding:12px 14px;display:grid}.stage-label span{color:#fff;background:linear-gradient(135deg,#d27883,#b24d61);border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:17px;display:inline-flex}.stage-label strong{letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px;font-family:Arial,Helvetica,sans-serif;font-size:10px;display:block}.stage-label small{color:var(--muted);font-size:12px;line-height:1.35;display:block}.project-groups{z-index:1;gap:clamp(22px,3vw,38px);padding-top:clamp(20px,3vw,34px);display:grid;position:relative}.media-group{gap:13px;display:grid}.group-title{width:min(100%,1100px);color:var(--rose);letter-spacing:.16em;text-transform:uppercase;margin:0 auto;font-family:Arial,Helvetica,sans-serif;font-size:10px;font-weight:800}.media-grid{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:clamp(10px,1.4vw,16px);width:min(100%,1100px);margin:0 auto;animation:.32s both reveal-media;display:grid}.media-grid .media-frame{grid-column:span 4;justify-self:center;width:100%}.media-grid .media-wide,.media-grid .media-full-artwork{grid-column:2/-2;width:min(100%,980px)}.media-grid .media-square{grid-column:span 4}.media-grid .media-portrait{grid-column:span 3;max-width:360px}.media-grid .media-video{grid-column:span 6;width:100%}.theme-videos .media-grid{width:min(100%,980px)}.theme-videos .media-video{grid-column:span 6}.theme-pink .group-title,.theme-pink .view-more{color:#b95769}.theme-brown .group-title,.theme-brown .view-more{color:#7a4b2d}.view-more{color:var(--ink);cursor:pointer;letter-spacing:.14em;text-transform:uppercase;background:0 0;border:0;border-bottom:1px solid;justify-self:center;margin-top:4px;padding:8px 0;font-family:Arial,Helvetica,sans-serif;font-size:10px;font-weight:800}.view-more:hover,.view-more:focus-visible{color:var(--rose);outline:0}.about{border-top:1px solid var(--rose-line)}.about-layout,.contact-layout{grid-template-columns:minmax(0,1fr) minmax(260px,430px);align-items:end;gap:clamp(24px,7vw,100px);display:grid}.about h2,.contact h2{margin-bottom:0;font-size:clamp(26px,3.2vw,44px)}.contact{background:var(--paper-strong);border-top:1px solid var(--rose-line)}.contact-layout a{border-bottom:1px solid;align-items:center;gap:14px;padding-bottom:8px;font-size:clamp(18px,2vw,28px);display:inline-flex}footer{color:#fff;background:var(--ink);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:28px;min-height:86px;padding:24px clamp(18px,4vw,52px);font-family:Arial,Helvetica,sans-serif;font-size:9px;font-weight:800;display:flex}.footer-brand small{color:#ffffffa8}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}}@keyframes reveal-media{0%{opacity:.72;transform:translateY(8px)}}.charlii-showcase,.project-showcase,.media-group{animation:.45s both rise-in}@media (width<=980px){.charlii-hero,.project-hero,.about-layout,.contact-layout{grid-template-columns:1fr}.hero{min-height:auto}.funnel-strip{grid-template-columns:1fr;gap:8px}.media-grid .media-frame,.media-grid .media-square,.media-grid .media-portrait,.media-grid .media-video,.media-grid .media-wide,.media-grid .media-full-artwork{grid-column:span 6;max-width:none}.media-grid .media-wide,.media-grid .media-full-artwork{grid-column:1/-1}}@media (width<=680px){.section{padding:34px 14px}.site-header{height:62px;padding:0 14px}.brand span{font-size:27px}.brand small{letter-spacing:.32em;font-size:8px}.menu-toggle{z-index:2;display:block;position:relative}.main-nav{box-shadow:var(--soft-shadow);background:#fffaf7f7;flex-direction:column;align-items:flex-start;gap:14px;padding:72px 14px 22px;display:none;position:absolute;inset:0 0 auto}.main-nav.open{display:flex}.hero{padding:32px 14px 34px}.hero h1{font-size:clamp(38px,12vw,56px)}.portfolio-nav{gap:20px;margin-bottom:18px}.charlii-showcase,.project-showcase{border-radius:19px;margin-inline:-4px;padding:13px}.charlii-title h2,.project-copy h2{font-size:clamp(24px,8vw,34px)}.subtitle{font-size:18px}.creative-panel{gap:12px;padding:13px}.media-grid{grid-template-columns:1fr;gap:10px}.media-grid .media-frame,.media-grid .media-square,.media-grid .media-portrait,.media-grid .media-video,.media-grid .media-wide,.media-grid .media-full-artwork{grid-column:1/-1}.media-grid .media-portrait{max-width:min(100%,360px)}.theme-videos .media-video{grid-column:1/-1}footer{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
