:root{--sb:0px;--menu-w:100%;--menu-pad-l:55px}@media (width>=1021px){:root{--sb:90px;--menu-w:320px;--menu-pad-l:55px}}@media (width>=1361px){:root{--sb:320px;--menu-w:320px}}@media (width>=1600px){:root{--sb:380px;--menu-w:380px;--menu-pad-l:75px}}@media (width<=1020px){html{scroll-padding-top:55px}}.accent{color:var(--coral)}.sidebar{display:none}@media (width>=1021px){.sidebar{height:100vh;width:var(--sb);background:var(--navy);z-index:40;display:block;position:fixed;top:0;left:0}}.bignum{display:none}@media (width>=1361px) and (height>=700px){.bignum{display:block;position:absolute;bottom:30px;left:55px;right:30px}.bignum-n{letter-spacing:-4px;color:#0000;-webkit-text-stroke:3px var(--coral-hover);font-size:124px;font-weight:800;line-height:1}.mouse{width:38px;height:60px;box-shadow:inset 0 0 0 3px var(--coral-hover);border-radius:25px;position:absolute;bottom:12px;right:0}.mouse span{background:var(--coral-hover);border-radius:4px;width:8px;height:8px;margin-left:-4px;animation:1.5s infinite kkScroll;position:absolute;top:10px;left:50%}}@media (width>=1600px) and (height>=700px){.bignum{left:75px}.bignum-n{font-size:150px}}@keyframes kkScroll{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(22px)}}.mbar-bg,.mbar{display:none}@media (width<=1020px){.mbar-bg{background:var(--navy);z-index:40;pointer-events:none;height:55px;transition:transform .35s;display:block;position:fixed;top:0;left:0;right:0;transform:translateY(-100%);box-shadow:0 1px #fff5e514}.mbar{z-index:41;pointer-events:none;opacity:0;justify-content:space-between;align-items:center;height:55px;padding:0 12px 0 68px;transition:opacity .3s;display:flex;position:fixed;top:0;left:0;right:0}.mbar-brand{color:var(--warm-white);visibility:hidden;align-items:center;gap:10px;margin-right:auto;font-size:15px;font-weight:700;line-height:1;display:flex}.mbar-brand img{width:38px;height:38px}.mbar-num{text-align:right;min-width:44px;color:var(--coral-hover);font-size:13px;font-weight:700}.mbar-num .of{color:var(--warm-white);font-weight:400}.past-hero .mbar-bg,.menu-open .mbar-bg{transform:translateY(0)}.past-hero .mbar,.menu-open .mbar{opacity:1}.past-hero .mbar-brand,.menu-open .mbar-brand{pointer-events:auto;visibility:visible}}.menu-toggle{z-index:45;cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:space-between;width:44px;height:44px;padding:10px 6px;display:flex;position:fixed;top:26px;left:26px}.menu-toggle span{background:var(--warm-white);height:3px;transition:all .3s;display:block}.menu-toggle span:first-child{width:26px}.menu-toggle span:nth-child(2){width:18px}.menu-toggle span:nth-child(3){width:32px}.menu-open .menu-toggle span:first-child{width:32px;transform:translateY(11px)rotate(45deg)}.menu-open .menu-toggle span:nth-child(2){opacity:0}.menu-open .menu-toggle span:nth-child(3){transform:translateY(-10px)rotate(-45deg)}@media (width<=1020px){.menu-toggle{background:var(--navy);border-radius:50%;padding:12px 8px;transition:background .35s;top:5.5px;left:12px}.past-hero .menu-toggle,.menu-open .menu-toggle{background:0 0}.menu-open .menu-toggle span:first-child{transform:translateY(8px)rotate(45deg)}.menu-open .menu-toggle span:nth-child(3){transform:translateY(-9px)rotate(-45deg)}}.menu{z-index:44;background:var(--coral);visibility:hidden;transition:transform .3s linear,visibility 0s linear .3s;position:fixed}.menu-open .menu{visibility:visible;transition:transform .3s linear,visibility}.menu ul{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.menu a{color:#fff;font-weight:700}@media (width>=1021px){.menu{height:100vh;width:var(--menu-w);padding:120px 40px 0 var(--menu-pad-l);top:0;left:0;overflow:auto;transform:translate(-100%)}.menu-open .menu{transform:translate(0)}.menu ul{gap:6px}.menu a{background:linear-gradient(var(--coral-hover), var(--coral-hover)) no-repeat 0 78%;background-size:0% 16px;padding:5px 0;font-size:28px;line-height:40px;transition:background-size .3s;display:inline-block}.menu a:hover,.menu a.is-current{color:#fff;background-size:100% 16px}}@media (width<=1020px){.menu{padding:20px 24px 28px;transition:transform .3s,visibility 0s linear .3s;top:55px;left:0;right:0;transform:translateY(-110%)}.menu-open .menu{transition:transform .3s,visibility;transform:translateY(0)}.menu a{border-bottom:1px solid #ffffff40;align-items:center;min-height:52px;font-size:26px;display:flex}.menu a:hover{color:#fff}}.content{margin-left:var(--sb)}.content section h2{color:var(--coral);margin:0;font-size:30px;font-weight:800;line-height:1}.hero{--pad-l:clamp(24px, calc((100vw - var(--sb)) * .12), 96px);--logo-size:clamp(84px, 9vw, 120px);--logo-top:clamp(28px, 6vh, 56px);flex-wrap:wrap;min-height:100vh;display:flex}.hero-text{background:var(--cream);max-width:100%;padding:max(clamp(56px, 9vh, 96px), calc(var(--logo-top) + var(--logo-size) + 28px)) clamp(24px, 8%, 72px) clamp(56px, 9vh, 96px) var(--pad-l);flex:510px;align-items:center;display:flex;position:relative}.hero-logo{top:var(--logo-top);left:calc(var(--pad-l) - 6px);width:var(--logo-size);height:auto;position:absolute}.hero-inner{max-width:420px}.welcome{color:var(--plum);margin:0;font-size:clamp(20px,2.2vw,28px);line-height:1.1}.hero h1{color:var(--coral);letter-spacing:-.01em;margin:30px 0 0;font-size:clamp(50px,7.4vw,100px);font-weight:800;line-height:.94}.hero h1 span{margin-top:.35em;font-size:.4em;font-weight:700;line-height:1;display:block}.hero-lead{max-width:370px;color:var(--text-cream);text-wrap:pretty;margin:34px 0 0}.hero-social{flex-wrap:wrap;gap:8px 28px;margin-top:44px;display:flex}.hero-social a{min-height:44px;color:var(--plum);letter-spacing:5px;align-items:center;font-size:12px;font-weight:500;display:inline-flex}.hero-social a:hover{color:var(--coral-hover)}.hero-photo{background:var(--placeholder);flex:999 340px;min-height:100vh;position:relative}.hero-photo img{object-fit:cover;object-position:50% 30%;width:100%;height:100%;position:absolute;inset:0}@media (width<=1020px){.hero{--logo-top:72px;min-height:auto}.hero-text{padding-top:calc(72px + var(--logo-size) + 28px)}}@media (width<=899px){.hero-photo{min-height:70vh}}.services,.portfolio,.resume,.contact{max-width:1300px;margin:0 auto;padding:10% 5% 0}.services{flex-wrap:wrap;align-items:center;gap:56px clamp(32px,5vw,80px);display:flex}.services-cards{flex:1.5 520px;order:-1;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:30px;min-width:0;display:grid}.service-card{background:var(--navy-mid);padding:clamp(28px,3vw,44px) 30px}.service-card img{width:56px;height:56px;margin-bottom:26px}.service-card h3{color:var(--coral);margin:0 0 14px;font-size:26px;font-weight:800;line-height:1.05}.service-card p{color:var(--cream);margin:0}.services-text{flex:340px;min-width:0}.services-text h2{margin-bottom:28px}.services-text p{color:var(--muted);margin:0 0 18px}.services-text p.lead{margin-bottom:22px;font-size:clamp(18px,1.6vw,22px);line-height:1.6}.services-text p.last{margin-bottom:34px}.portfolio-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 32px;margin-bottom:34px;display:flex}.filters{flex-wrap:wrap;gap:4px 22px;display:flex}.filters button{cursor:pointer;letter-spacing:.04em;min-height:40px;color:var(--warm-white);background:0 0;border:0;padding:0;font-size:13px;transition:color .2s}.filters button:hover{color:var(--coral)}.filters button[aria-pressed=true]{color:var(--coral);box-shadow:inset 0 -2px 0 var(--coral)}.filters .count{opacity:.6;margin-left:5px;font-size:11px}.grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:clamp(16px,2.4vw,30px);display:grid}.card{color:var(--warm-white);display:block}.card[hidden]{display:none}.card-media{aspect-ratio:3/2;background:var(--navy-dark);position:relative;overflow:hidden}.card-media img{object-fit:cover;width:100%;height:100%;transition:transform .6s}.card-panel{background:var(--coral);flex-direction:column;justify-content:flex-end;padding:24px 28px;transition:transform .3s;display:flex;position:absolute;inset:0;transform:translate(-101%)}.card-panel h3{color:#faefff;margin:0 0 8px;font-size:26px;font-weight:800;line-height:1.05}.card-panel h3 span{margin-top:4px;font-size:.72em;display:block}.card-panel p{color:var(--warm-white);align-items:center;gap:10px;margin:0;font-size:14px;line-height:1.4;display:flex}.dash{background:var(--warm-white);flex:none;width:26px;height:1px}.card-caption{display:none}@media (hover:hover){.card:hover .card-panel,.card:focus-visible .card-panel{transform:translate(0)}.card:hover img,.card:focus-visible img{transform:scale(1.04)}}@media (hover:none){.card-caption{padding-top:12px;display:block}.card-caption p{color:var(--muted);margin:2px 0 0;font-size:13px;line-height:1.5}.card-caption p.t{color:#faefff;margin:0;font-size:19px;font-weight:700;line-height:1.2}}.instagram{max-width:1300px;margin:0 auto;padding:clamp(60px,8vw,110px) 5% 0}.ig-head{flex-wrap:wrap;align-items:center;gap:14px 24px;margin-bottom:28px;display:flex}.ig-head img{flex:none;width:72px;height:72px}.ig-head-text{flex:300px;min-width:0}.ig-handle{color:var(--coral);font-size:22px;font-weight:700;line-height:1.2;display:block}.ig-bio{color:var(--coral);margin-top:4px;font-size:15px;line-height:1.5;display:block}.ig-head:hover .ig-handle,.ig-head:hover .ig-bio{color:#fff}.ig-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.ig-grid a{aspect-ratio:1;background:var(--navy-dark);display:block;overflow:hidden}.ig-grid img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.ig-grid a:hover img{transform:scale(1.05)}@media (width<=699px){.ig-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ig-grid a:nth-child(n+10){display:none}}.ig-follow{justify-content:center;margin-top:24px;display:flex}.ig-follow .btn-outline{min-height:48px;padding:0 28px;font-size:14px}.resume{flex-wrap:wrap;gap:56px clamp(32px,5vw,80px);display:flex}.resume .col{flex:440px;min-width:0}.resume h2{margin-bottom:44px}.timeline{margin:0;padding:0;list-style:none}.timeline li{color:var(--muted);grid-template-columns:52px 44px minmax(0,1fr);column-gap:clamp(12px,2vw,26px);transition:color .3s;display:grid}.timeline li:hover{color:#faefff}.tl-year{color:var(--coral);font-size:15px;font-weight:700;line-height:36px}.tl-mark{flex-direction:column;align-items:center;display:flex}.tl-mark .dot{border:3px solid var(--coral);border-radius:50%;flex:none;width:35px;height:35px}.tl-mark .line{background:var(--coral);flex:1;width:3px;min-height:24px;margin:10px 0}.timeline li:last-child .line{opacity:0}.timeline p{margin:0 0 30px;padding-top:3px;line-height:1.6}.timeline b{color:var(--text-navy)}.resume .col>p{color:var(--muted);margin:0 0 20px}.resume .col>p.lead{margin-bottom:30px;font-size:clamp(18px,1.6vw,22px);line-height:1.6}.resume .col>p:last-child{margin-bottom:0}.contact{flex-wrap:wrap;gap:56px clamp(32px,5vw,80px);padding-bottom:clamp(80px,10vw,140px);display:flex}.contact-info{flex:340px;min-width:0}.contact-info h2{margin-bottom:34px}.contact-info p{color:#fff;margin:0 0 18px}.contact-info p.hear{margin-bottom:26px}.signature{width:215px;height:auto;margin-bottom:34px}.contact dl{gap:4px;margin:0;display:grid}.contact dt{color:var(--coral);font-weight:700}.contact dd{color:#fff;margin:0 0 10px}.contact dd:last-child{margin:0}.contact dd a{color:#fff}.contact dd a:hover{color:var(--coral)}.contact-form-wrap{flex:1.5 420px;min-width:0}#contact-form{background:var(--coral);color:#fff;padding:clamp(26px,5vw,65px) clamp(22px,5vw,65px) clamp(22px,4vw,45px);position:relative}#contact-form .gotcha{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}#contact-form label{color:#fff;margin-bottom:28px;font-size:15px;line-height:25px;display:block}#contact-form input,#contact-form textarea{color:#fff;background:0 0;border:0;border-bottom:2px solid #fff;border-radius:0;outline:none;width:100%;margin-top:2px;padding:0;font-size:15px;display:block}#contact-form input{height:44px}#contact-form textarea{resize:vertical;margin-top:6px;padding:8px 0}#contact-form input:focus,#contact-form textarea:focus{border-bottom-color:var(--navy)}.field-error{color:var(--navy);font-size:13px;font-weight:600;display:block}.field-error:not(:empty){margin-top:6px}#contact-form button[type=submit]{color:#fff;letter-spacing:8px;cursor:pointer;background:0 0;border:2px solid #fff;width:100%;min-height:64px;margin-top:12px;font-size:14px;font-weight:700;transition:all .3s;display:block}#contact-form button[type=submit]:hover{color:var(--coral);background:#fff}#contact-form button[disabled]{opacity:.6;cursor:progress}.form-status{border:2px solid var(--navy);color:var(--navy);margin:20px 0 0;padding:12px 16px;font-size:14px;font-weight:600;line-height:1.5}.form-status.ok{color:#fff;border-color:#fff}.ov{z-index:200;background:var(--navy);overscroll-behavior:contain;position:fixed;inset:0;overflow-y:auto}.ov[hidden]{display:none}.ov-bar{z-index:2;backdrop-filter:blur(6px);background:#254254f5;border-bottom:1px solid #fff5e51a;justify-content:space-between;align-items:center;gap:16px;padding:10px clamp(14px,3vw,40px);display:flex;position:sticky;top:0}.ov-bar p{color:var(--warm-white);letter-spacing:.08em;margin:0;font-size:13px}.ov-bar .accent{font-weight:700}.ov-bar-btns{gap:6px;display:flex}.ov-circle{width:44px;height:44px;color:var(--warm-white);cursor:pointer;background:0 0;border:2px solid #fff5e54d;border-radius:50%;font-size:18px}.ov-circle:hover{border-color:var(--coral);color:var(--coral)}.ov-close{background:var(--coral);color:#fff;cursor:pointer;border:0;border-radius:50px;height:44px;margin-left:8px;padding:0 20px;font-size:14px;font-weight:600}.ov-close:hover{background:var(--coral-hover)}.ov-body{flex-wrap:wrap;align-items:flex-start;gap:36px clamp(28px,4vw,64px);max-width:1600px;margin:0 auto;padding:clamp(28px,4vw,56px) clamp(14px,3vw,40px) 64px;display:flex}.ov-info{flex:320px;min-width:0;max-width:460px}@media (width>=1100px){.ov-info{position:sticky;top:90px}}.ov-cats{color:var(--warm-white);letter-spacing:3px;text-transform:uppercase;margin:0 0 12px;font-size:12px;line-height:1.5}.ov-info h2{color:var(--coral);margin:0;font-size:clamp(36px,4.6vw,60px);font-weight:800;line-height:1}.ov-meta{color:var(--warm-white);margin:10px 0 0;font-size:18px}.ov-desc{color:var(--text-navy);text-wrap:pretty;margin:22px 0 0;line-height:1.75}.ov-desc:empty{display:none}.ov-credits{grid-template-columns:auto minmax(0,1fr);gap:10px 18px;margin:26px 0 0;font-size:14px;line-height:1.5;display:grid}.ov-credits dt{color:var(--coral);letter-spacing:2px;text-transform:uppercase;padding-top:2px;font-size:11px;font-weight:700}.ov-credits dd{color:var(--warm-white);margin:0}.ov-video-btn{min-height:50px;margin-top:28px;padding:0 28px;font-size:14px}.ov-video-btn[hidden]{display:none}.ov-page-link{color:var(--muted);text-underline-offset:3px;margin-top:22px;font-size:13px;text-decoration:underline;display:block}.ov-media{flex:3 520px;min-width:0}.ov-video{aspect-ratio:16/9;background:#000;margin-bottom:24px}.ov-video[hidden]{display:none}.ov-video iframe{border:0;width:100%;height:100%}.ov-media figure{margin:0}.ov-stage{background:var(--navy-dark);height:74vh;position:relative}@media (width<=699px){.ov-stage{height:62vh}}.ov-stage img{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.ov-img-btn{width:48px;height:48px;color:var(--warm-white);cursor:pointer;background:#254254cc;border:0;border-radius:50%;font-size:20px;position:absolute;top:50%;transform:translateY(-50%)}.ov-img-btn:hover{background:var(--coral)}.ov-img-btn.prev{left:12px}.ov-img-btn.next{right:12px}.ov-imgpos{color:var(--warm-white);background:#254254cc;padding:2px 10px;font-size:12px;line-height:22px;position:absolute;bottom:10px;right:12px}.ov.single .ov-img-btn,.ov.single .ov-imgpos,.ov.single .ov-thumbs{display:none}.ov-media figcaption{min-height:22px;color:var(--muted);margin-top:12px;font-size:13px;font-style:italic;line-height:1.6}.ov-thumbs{gap:10px;margin-top:16px;padding:4px 4px 6px;display:flex;overflow-x:auto}.ov-thumbs button{outline-offset:2px;background:var(--navy-dark);cursor:pointer;opacity:.55;border:0;outline:2px solid #0000;flex:none;width:84px;height:84px;padding:0;transition:opacity .2s}.ov-thumbs button[aria-current=true]{outline-color:var(--coral);opacity:1}.ov-thumbs img{object-fit:cover;width:100%;height:100%}.ov-pager{border-top:1px solid #fff5e51f;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:44px;padding-top:24px;display:flex}.ov-pager button{text-align:left;cursor:pointer;color:var(--warm-white);background:0 0;border:0;padding:0;font-size:18px;font-weight:700}.ov-pager button.right{text-align:right}.ov-pager button:hover{color:var(--coral)}.ov-pager .lbl{letter-spacing:2px;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:400;display:block}
