@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/font-0.woff2) format('woff2');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/font-1.woff2) format('woff2');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/font-2.woff2) format('woff2');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/font-3.woff2) format('woff2');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/font-4.woff2) format('woff2');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/font-5.woff2) format('woff2');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/font-6.woff2) format('woff2');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/font-7.woff2) format('woff2');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(assets/fonts/font-8.woff2) format('woff2');
}

:root{--paper:#f7f5ee;--ink:#20211f;--muted:#62655e;--orange:#ec633e;--line:#d9d9d0;--font:'DM Sans',Arial,sans-serif;--display:'Manrope',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;display:block}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:6px}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--orange);outline-offset:3px}::selection{background:var(--orange);color:var(--ink)}.container{width:min(1320px,calc(100% - 112px));margin-inline:auto}.skip-link{position:fixed;left:20px;top:-80px;background:var(--ink);color:#fff;padding:12px;z-index:200}.skip-link:focus{top:20px}.site-header{width:min(1320px,calc(100% - 112px));margin:auto;display:flex;justify-content:space-between;align-items:center;height:108px;border-bottom:1px solid var(--line)}.brand{font-family:var(--display);font-size:36px;line-height:1;font-weight:800;letter-spacing:-2px}.brand span{font-size:14px;letter-spacing:0;color:var(--orange);vertical-align:top;margin-left:4px}.site-header nav{display:flex;align-items:center;gap:42px;font-weight:550;font-size:14px}.site-header nav a{transition:color .2s}.site-header nav a:hover{color:var(--orange)}.nav-cta{border:1px solid var(--ink);padding:12px 23px;border-radius:100px;display:flex;gap:28px}.menu-toggle{display:none}.hero{padding-top:35px}.hero-topline,.section-top{display:flex;justify-content:space-between;gap:20px;align-items:center}.eyebrow,.hero-location{font-size:10px;letter-spacing:1.8px;font-weight:650;line-height:1.6}.hero-topline .eyebrow{display:flex;align-items:center;gap:10px}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 4px #ec633e13}.hero-location{letter-spacing:1px;font-size:9px;color:var(--muted)}.hero-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:56px;padding:58px 0 44px;align-items:center}.hero h1{font-family:var(--display);font-size:clamp(52px,5.8vw,88px);font-weight:750;line-height:1.08;letter-spacing:-5px;margin:0 0 31px}.accent-word{position:relative;color:var(--orange);white-space:nowrap}.accent-word svg{position:absolute;left:0;bottom:-13px;width:100%;height:23px;fill:none;stroke:var(--orange);stroke-width:3;stroke-linecap:round}.hero-intro{display:flex;gap:19px;max-width:470px;align-items:flex-start;margin-top:45px}.hero-intro p{font-size:15px;margin:0;color:var(--muted);line-height:1.75}.intro-line{width:35px;height:1px;background:var(--muted);flex:none;margin-top:13px}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;border-radius:100px;min-height:52px;padding:14px 25px;border:1px solid transparent;font-weight:550;font-size:13px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.dark{background:var(--ink);color:var(--paper)}.dark:hover{background:#3c3d37}.outline{background:transparent;border-color:var(--ink)}.outline:hover{background:var(--ink);color:var(--paper)}.text-link{font-size:13px;font-weight:550;display:inline-flex;gap:15px;align-items:center;border-bottom:1px solid var(--ink);padding-bottom:4px}.text-link:hover{color:#bc4323}.portrait-panel{position:relative;background:#e8e8dd;border-radius:8px;overflow:hidden;min-height:440px;aspect-ratio:1/1.13}.portrait-label{position:absolute;inset:24px 25px auto;z-index:2;display:flex;justify-content:space-between;align-items:flex-start}.portrait-label>span{font-size:9px;letter-spacing:1.2px;max-width:135px;line-height:1.5}.asterisk{width:48px;height:48px;color:var(--orange)}.hero-portrait{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:50% 26%;filter:grayscale(100%);mix-blend-mode:multiply}.portrait-label{color:#f8f5ea;text-shadow:0 1px 10px #000}.portrait-label .asterisk{text-shadow:none}.portrait-bottom{position:absolute;inset:auto 0 0;background:var(--orange);padding:18px 25px;display:flex;justify-content:space-between;align-items:center}.portrait-bottom>span{font-size:11px;letter-spacing:1.2px;font-weight:650;line-height:1.6}.portrait-bottom small{font-size:10px;letter-spacing:0;font-weight:400}.portrait-bottom a{width:38px;height:38px;border:1px solid #20211f70;border-radius:50%;display:grid;place-items:center;font-size:21px}.hero-footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:20px 0 27px}.hero-footer p{font-size:12px;color:var(--muted);margin:0}.hero-footer a{font-size:9px;font-weight:650;letter-spacing:1.4px;display:flex;align-items:center;gap:22px}.hero-footer a span{font-size:20px;font-weight:400}.expertise-strip{background:var(--orange);padding:21px 0;overflow:hidden}.expertise-strip>div{display:flex;gap:38px;align-items:center;justify-content:center;white-space:nowrap;font-size:12px;letter-spacing:1.2px;font-weight:700}.expertise-strip span{font-size:24px;line-height:1}.section{padding-top:100px;padding-bottom:100px;scroll-margin-top:0}.section-note{font-size:12px;color:var(--muted)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin:38px 0 40px}h2{font-family:var(--display);font-size:clamp(40px,4.5vw,64px);font-weight:650;letter-spacing:-3px;line-height:1.1;margin:0}h2 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-2.5px}h3{font-family:var(--display)}.section-heading>p{margin:0 0 5px;color:var(--muted);font-size:14px;line-height:1.8}.gallery-controls{display:flex;gap:20px;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:30px}.filters{display:flex;gap:8px;flex-wrap:wrap}.filters button{background:transparent;border:1px solid transparent;padding:8px 18px;border-radius:30px;font-size:12px;color:var(--muted)}.filters button.active{background:var(--ink);color:var(--paper)}.filters button:hover:not(.active){border-color:var(--line);color:var(--ink)}.project-count{font-size:11px;color:var(--muted);white-space:nowrap}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 30px}.project-card{min-width:0}.project-preview{width:100%;border:0;padding:0;display:block;text-align:left;background:#e8e8de;position:relative;aspect-ratio:1.35;overflow:hidden;border-radius:6px}.project-preview img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .65s cubic-bezier(.2,.7,.3,1)}.project-preview:hover img{transform:scale(1.035)}.project-preview .project-arrow{position:absolute;right:19px;bottom:19px;width:43px;height:43px;border-radius:50%;background:var(--paper);display:grid;place-items:center;font-size:23px;box-shadow:0 2px 12px #0001;transition:background .2s}.project-preview:hover .project-arrow{background:var(--orange)}.project-info{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-top:17px}.project-info h3{font-size:19px;letter-spacing:-.5px;margin:0;font-weight:650;line-height:1.4}.project-category{font-size:10px;letter-spacing:.3px;color:var(--muted);border:1px solid var(--line);padding:5px 11px;border-radius:20px;white-space:nowrap}.gallery-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid var(--line);margin-top:40px;padding-top:25px}.gallery-bottom>span{font-size:12px;color:var(--muted)}.gallery-status:empty{display:none}.gallery-status{font-size:14px}.about-section{background:var(--ink);color:var(--paper)}.about-section .section-note{color:#b5b6aa}.about-section .eyebrow{color:var(--orange)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;margin-top:50px}.about-grid h2{font-size:clamp(40px,4.1vw,59px)}.about-grid h2 em{color:#d7d6bf}.about-signature{font-family:Georgia,serif;font-style:italic;font-size:28px;margin-top:45px;display:flex;gap:30px}.about-signature span{font-family:var(--font);color:var(--orange);font-style:normal}.about-copy p{color:#b8bab1;font-size:14px;margin:0 0 23px;line-height:1.85}.about-copy p.lead{font-size:23px;color:var(--paper);line-height:1.5;letter-spacing:-.3px}.about-copy .text-link{color:var(--paper);border-color:#85877b;margin-top:7px}.stats{display:grid;grid-template-columns:1fr 1fr 1fr 1.2fr;margin-top:62px;border-top:1px solid #ffffff29;padding-top:33px}.stats>div{border-right:1px solid #ffffff29;padding:0 28px}.stats>div:first-child{padding-left:0}.stats>div:last-child{border:0}.stats strong{font-family:var(--display);font-size:51px;letter-spacing:-2px;line-height:1.3;display:block;font-weight:500}.stats strong span{color:var(--orange)}.stats>div>span{font-size:11px;color:#b8bab1}.stat-note{display:flex;align-items:center;gap:25px}.stat-note .asterisk{width:48px;flex:none}.stat-note p{font-size:16px;line-height:1.5;color:#d7d6bf}.services-list{border-top:1px solid var(--ink)}.services-list details{border-bottom:1px solid var(--line);padding:25px 0}.services-list summary{display:flex;align-items:center;gap:30px;list-style:none;cursor:pointer}.services-list summary::-webkit-details-marker{display:none}.service-number{font-size:11px;color:var(--muted);width:45px}.services-list h3{font-size:29px;font-weight:550;letter-spacing:-1px;margin:0;line-height:1.4}.service-toggle{margin-left:auto;border:1px solid var(--line);border-radius:50%;height:37px;width:37px;display:grid;place-items:center;font-size:22px;transition:transform .3s;flex:none}.services-list details[open] .service-toggle{transform:rotate(45deg);background:var(--orange);border-color:var(--orange)}.service-body{margin:17px 0 0 75px;max-width:620px}.service-body p{font-size:14px;color:var(--muted);margin:0 0 20px;line-height:1.8}.tags{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:20px}.tags span{font-size:10px;border:1px solid var(--line);padding:5px 12px;border-radius:30px}.service-body .text-link{font-size:12px}.process-section{background:#eeeee5}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:55px}.process-grid article{border-top:1px solid var(--ink);padding:25px 25px 0 0;margin-right:24px}.process-grid article:last-child{margin-right:0}.process-grid article>span{font-size:9px;font-weight:650;letter-spacing:1.2px;color:#a84226}.process-grid h3{font-size:23px;font-weight:600;letter-spacing:-.8px;line-height:1.35;margin:25px 0 15px}.process-grid p{font-size:13px;color:var(--muted);line-height:1.8;margin:0}.promise{display:flex;align-items:center;gap:30px;border-top:1px solid var(--line);margin-top:50px;padding-top:30px}.promise>span{font-size:50px;color:var(--orange);line-height:1}.promise p{font-size:15px;color:var(--muted);line-height:1.7;margin:0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;margin-top:50px}.contact-grid h2{font-size:clamp(45px,5.4vw,78px);position:relative;max-width:430px}.contact-grid h2 em{color:var(--orange)}.contact-star{position:absolute;right:10px;top:50px;font-size:90px;color:var(--orange);font-family:var(--font);font-weight:400}.contact-intro{font-size:14px;color:var(--muted);margin:25px 0}.contact-email{font-size:clamp(16px,1.7vw,23px);letter-spacing:-.5px;border-bottom:1px solid var(--ink);padding-bottom:8px}.contact-options{display:flex;flex-wrap:wrap;gap:20px;margin-top:25px;font-size:11px;color:var(--muted)}.contact-options a:hover{text-decoration:underline}.contact-grid form{padding-top:6px}.contact-grid label{display:block;font-size:11px;font-weight:550;margin-bottom:25px}.contact-grid input,.contact-grid select,.contact-grid textarea{width:100%;display:block;background:transparent;border:0;border-bottom:1px solid #bdbfb3;border-radius:0;padding:13px 0;color:var(--ink);font-size:13px;margin-top:5px}.contact-grid textarea{resize:vertical;min-height:110px}.contact-grid input::placeholder,.contact-grid textarea::placeholder{color:#83877c}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:25px}.contact-grid form .button{width:100%;margin-top:5px}.form-note{font-size:10px;color:var(--muted);margin-top:14px}.contact-grid form #form-status{font-size:12px;background:#e9ecdf;padding:12px;border-radius:5px}.contact-grid form #draft-download{font-size:12px;text-decoration:underline}footer{border-top:1px solid var(--line);padding-top:36px;padding-bottom:24px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-top p{font-size:12px;color:var(--muted);margin:0}.social-links{display:flex;gap:23px;font-size:11px}.social-links a:hover{color:#bc4323}.footer-bottom{display:flex;align-items:center;gap:25px;font-size:9px;color:var(--muted);margin-top:35px;border-top:1px solid var(--line);padding-top:22px}.footer-bottom>a:last-child{margin-left:auto;font-size:9px;letter-spacing:1px;color:var(--ink)}dialog{border:0;border-radius:12px;background:var(--paper);color:var(--ink);padding:25px;width:min(900px,calc(100% - 36px));max-height:90vh;overflow:auto}dialog::backdrop{background:#171812c9;backdrop-filter:blur(6px)}.dialog-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:20px}.dialog-heading h2{font-size:28px;letter-spacing:-1px;line-height:1.3;margin-top:8px}.icon-button{border:1px solid var(--line);background:var(--paper);height:40px;width:40px;border-radius:50%;font-size:26px;flex:none;position:sticky;top:0}.dialog-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px}.dialog-bottom>span{font-size:11px;color:var(--muted)}#dialog-image{width:100%;height:auto;border-radius:5px}.reveal{opacity:1;transform:none}.js-motion .reveal{opacity:0;transform:translateY(20px);transition:opacity .6s,transform .6s}.js-motion .reveal.visible{opacity:1;transform:none}.hero-copy{animation:enter .8s both}.portrait-panel{animation:enter .8s .1s both}@keyframes enter{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}[hidden]{display:none!important}
@media(min-width:1500px){.hero h1{font-size:88px}.hero-grid{padding:68px 0 50px}.portrait-panel{min-height:500px}}
@media(max-width:1100px){.container,.site-header{width:calc(100% - 64px)}.hero-grid{gap:35px}.hero h1{letter-spacing:-3px}.hero-actions{gap:20px;flex-wrap:wrap}.hero-location{font-size:8px}.portrait-panel{min-height:380px}.about-grid,.contact-grid{gap:55px}.stats>div{padding:0 20px}.stat-note{gap:15px}.stat-note p{font-size:14px}.contact-star{font-size:65px;right:0}.expertise-strip>div{gap:28px;font-size:10px}}
@media(max-width:800px){.container,.site-header{width:calc(100% - 40px)}.site-header{height:85px}.site-header nav{gap:24px;font-size:12px}.brand{font-size:31px}.hero-topline{align-items:flex-start}.hero-location{max-width:140px;text-align:right}.hero-grid{grid-template-columns:1.3fr 1fr;gap:25px;padding-top:40px}.hero h1{font-size:48px;letter-spacing:-2.8px}.hero-intro{margin-top:32px;gap:12px}.hero-intro p{font-size:13px}.intro-line{width:20px}.portrait-panel{min-height:340px}.portrait-label{inset:18px}.portrait-label>span{font-size:8px;max-width:90px}.portrait-label .asterisk{width:32px;height:32px}.portrait-bottom{padding:14px 18px}.portrait-bottom>span{font-size:9px}.portrait-bottom small{font-size:8px}.hero-actions .text-link{font-size:12px}.hero-actions .button{font-size:12px;padding:12px 20px}.eyebrow{font-size:9px}.section{padding:75px 0}.section-note{font-size:10px}.section-heading{gap:25px}.section-heading>p{font-size:12px}.about-grid{gap:35px}.about-copy p.lead{font-size:20px}.about-copy p{font-size:13px}.stats{grid-template-columns:repeat(3,1fr)}.stats .stat-note{display:none}.stats>div:nth-child(3){border:0}.stats strong{font-size:44px}.project-grid{gap:30px 20px}.project-info{display:block}.project-info h3{font-size:17px;margin-bottom:8px}.project-category{display:inline-block;font-size:9px}.gallery-controls{align-items:flex-start;gap:10px}.filters{gap:5px}.filters button{padding:7px 12px;font-size:10px}.project-count{font-size:9px;padding-top:9px}.process-grid{grid-template-columns:1fr 1fr;gap:35px 20px}.process-grid article{margin:0}.process-grid article:last-child{margin:0}.contact-grid{gap:35px}.contact-grid h2{font-size:55px}.contact-star{font-size:55px;top:43px;right:0}.field-row{grid-template-columns:1fr;gap:0}.contact-options{gap:14px}.contact-email{font-size:16px}.contact-grid form{padding:0}.contact-grid label{margin-bottom:18px}.social-links{gap:12px;font-size:10px}}
@media(max-width:600px){html{scroll-padding-top:30px}.site-header{height:78px;position:relative}.menu-toggle{display:flex;flex-direction:column;gap:6px;justify-content:center;align-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:transparent}.menu-toggle span{height:1px;background:var(--ink);width:16px}.site-header nav{display:none;position:absolute;left:0;right:0;top:77px;background:var(--paper);z-index:10;border:1px solid var(--line);padding:22px;box-shadow:0 10px 15px #20211f0a;border-radius:0 0 8px 8px;gap:16px}.site-header nav.open{display:flex;align-items:stretch;flex-direction:column}.site-header nav a{font-size:15px;padding:5px}.site-header nav .nav-cta{padding:12px 20px;justify-content:space-between}.hero{padding-top:26px}.hero-location{display:none}.hero-grid{grid-template-columns:1fr;gap:35px;padding-top:30px;padding-bottom:28px}.hero h1{font-size:clamp(44px,11.3vw,65px);letter-spacing:-2.6px;line-height:1.12;margin-bottom:20px}.hero-intro{max-width:390px;margin-top:30px}.hero-intro p{font-size:14px}.hero-actions{margin-top:23px;gap:22px}.hero-actions .button{min-height:48px}.portrait-panel{aspect-ratio:1.15;min-height:0;max-width:100%}.hero-portrait{object-position:50% 28%}.portrait-label{inset:22px}.portrait-label>span{font-size:9px;max-width:130px}.portrait-label .asterisk{width:43px;height:43px}.portrait-bottom{padding:16px 22px}.portrait-bottom>span{font-size:10px}.portrait-bottom small{font-size:9px}.hero-footer p{font-size:10px}.hero-footer a{font-size:8px;letter-spacing:.8px;gap:10px}.hero-footer{padding:17px 0 22px}.expertise-strip{padding:17px 20px}.expertise-strip>div{justify-content:flex-start;gap:25px}.section{padding:62px 0}.section-top{gap:12px}.section-note{max-width:140px;text-align:right;font-size:9px}.section-heading{flex-direction:column;align-items:flex-start;gap:22px;margin-top:30px;margin-bottom:30px}h2{font-size:43px;letter-spacing:-2px}h2 em{letter-spacing:-1.5px}.section-heading>p{font-size:13px}.section-heading>p br{display:none}.gallery-controls{flex-direction:column;gap:10px;padding-bottom:18px;margin-bottom:22px}.filters{gap:4px}.filters button{padding:7px 11px;font-size:10px}.project-count{padding:0}.project-grid{grid-template-columns:1fr;gap:30px}.project-preview{aspect-ratio:1.4}.project-info{display:flex;padding-top:14px;align-items:flex-start}.project-info h3{font-size:18px;max-width:70%;margin:0}.project-category{flex:none;font-size:9px;margin-top:1px}.gallery-bottom{align-items:flex-start;flex-direction:column;margin-top:28px;gap:16px}.gallery-bottom>span{font-size:11px}.about-grid{grid-template-columns:1fr;gap:30px;margin-top:32px}.about-grid h2{font-size:44px}.about-signature{font-size:24px;margin-top:26px}.about-copy p.lead{font-size:21px}.about-copy p{font-size:14px}.stats{margin-top:36px;padding-top:25px}.stats>div{padding:0 12px}.stats strong{font-size:34px;letter-spacing:-1.5px}.stats>div>span{font-size:9px;display:block;max-width:80px}.services-list h3{font-size:21px;letter-spacing:-.6px;max-width:240px}.services-list summary{gap:12px}.service-number{width:20px;font-size:10px;flex:none}.service-toggle{height:31px;width:31px;font-size:20px}.service-body{margin-left:32px}.service-body p{font-size:13px}.services-list details{padding:20px 0}.tags{gap:6px}.tags span{font-size:9px;padding:4px 9px}.process-grid{gap:30px 22px;margin-top:35px}.process-grid article{padding:18px 0 0}.process-grid article>span{font-size:8px;letter-spacing:.7px}.process-grid h3{font-size:21px;margin-top:18px}.process-grid p{font-size:12px}.promise{gap:20px;margin-top:32px;padding-top:25px}.promise p{font-size:13px}.promise>span{font-size:43px}.contact-grid{grid-template-columns:1fr;gap:40px;margin-top:34px}.contact-grid h2{font-size:65px;max-width:340px;letter-spacing:-3px}.contact-star{font-size:85px;top:30px;right:18px}.contact-intro{font-size:14px}.contact-email{font-size:22px}.contact-options{font-size:12px;gap:20px}.field-row{grid-template-columns:1fr 1fr;gap:20px}.contact-grid label{font-size:12px;margin-bottom:24px}.contact-grid input,.contact-grid textarea,.contact-grid select{font-size:14px}.contact-grid form .button{min-height:55px;font-size:14px}.form-note{font-size:11px}.footer-top{align-items:flex-start;flex-wrap:wrap;gap:24px}.footer-top .brand{font-size:31px}.footer-top p{font-size:11px;text-align:right}.social-links{width:100%;font-size:12px;gap:25px}.footer-bottom{font-size:9px;gap:16px;margin-top:28px}.footer-bottom>a:last-child{font-size:8px;letter-spacing:.6px}.dialog-heading h2{font-size:23px}.dialog-bottom{flex-direction:column;align-items:flex-start}.dialog-bottom .button{align-self:stretch}dialog{padding:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}}

.portrait-label>span{background:#20211fcc;padding:7px 9px;border-radius:3px;color:#fff;text-shadow:none;max-width:155px}.contact-grid form #draft-open{font-size:12px;margin-right:16px;margin-bottom:10px}
.contact-grid label[for="service-select"]{margin-bottom:0}.contact-grid #service-select{margin-bottom:25px}
/* Finite entrance motion and deliberate hover feedback. */
.scroll-progress{position:fixed;inset:0 0 auto;height:3px;background:var(--orange);transform:scaleX(0);transform-origin:left;z-index:100;pointer-events:none}
.site-header nav a.current{color:#bc4323}.button:disabled{opacity:.65;cursor:wait;transform:none}.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.form-fallback{font-size:12px;color:var(--muted)}.form-fallback a{text-decoration:underline;text-underline-offset:3px}#form-status[data-state="error"]{background:#fbe7df;color:#8d301b}#form-status[data-state="success"]{background:#e6eedf;color:#31472c}
.project-card{animation:card-enter .65s cubic-bezier(.2,.7,.3,1) var(--card-delay,0ms) both}.project-arrow{transition:background .25s,transform .25s}.project-preview:hover .project-arrow{transform:rotate(45deg)}.portrait-panel{box-shadow:0 12px 40px #20211f08;transition:box-shadow .4s}.portrait-panel:hover{box-shadow:0 22px 50px #20211f18}.portrait-label .asterisk{animation:star-enter 1.2s .3s both}.asterisk{transition:transform .6s}.stat-note:hover .asterisk{transform:rotate(90deg)}.contact-star{transition:transform .6s}.contact-grid h2:hover .contact-star{transform:rotate(90deg)}.accent-word svg path{stroke-dasharray:630;stroke-dashoffset:0;animation:draw-line 1s .45s both}.service-toggle{transition:transform .3s,background .3s}.text-link{transition:color .2s}.hero-footer a:hover span{transform:translateY(4px)}.hero-footer a span{transition:transform .25s}
@keyframes card-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes star-enter{from{opacity:0;transform:rotate(-90deg) scale(.7)}to{opacity:1;transform:rotate(0) scale(1)}}@keyframes draw-line{from{stroke-dashoffset:630}to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.project-card,.portrait-label .asterisk,.accent-word svg path{animation:none!important}.scroll-progress{display:none}.project-preview:hover img,.project-preview:hover .project-arrow,.stat-note:hover .asterisk,.contact-grid h2:hover .contact-star{transform:none}}

/* Reserve gallery and image space before enhancement; preserve the existing layout. */
.js #project-grid[data-initial] .project-card:nth-child(n+7){display:none}.project-count{min-width:100px}.breadcrumbs{font-size:13px;color:var(--muted);margin-bottom:24px}.breadcrumbs a{text-decoration:underline;text-underline-offset:3px}.project-info h3 a:hover{text-decoration:underline;text-underline-offset:4px}
.hero-copy,.portrait-panel{animation:none}.portrait-label .asterisk{animation:none}


/* Clear download and contact actions, with the existing color palette. */
.about-copy .resume-download{color:var(--paper);background:#ffffff10;border:1px solid #b3b7a6;border-radius:999px;padding:12px 20px;font-size:15px;font-weight:700;min-height:48px;margin-top:18px;transition:background .2s,border-color .2s}
.about-copy .resume-download:hover{background:#ffffff20;color:#fff;border-color:var(--orange)}
.portrait-bottom a.hero-resume-download{width:auto;min-width:106px;height:48px;border:2px solid var(--ink);background:var(--ink);color:var(--paper);border-radius:999px;display:flex;align-items:center;justify-content:center;gap:10px;padding:0 17px;font-weight:750;box-shadow:0 3px 0 #20211f24;transition:background .2s,color .2s,transform .2s}
.hero-resume-download .resume-label{font-size:13px;letter-spacing:.2px}.hero-resume-download>span:first-child{font-size:26px;line-height:1}
.portrait-bottom a.hero-resume-download:hover{background:var(--paper);color:var(--ink);transform:translateY(-2px)}
.contact-options{gap:12px;margin-top:26px}.contact-options a{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 18px;border:1px solid var(--ink);border-radius:999px;font-size:14px;font-weight:700;color:var(--ink);background:#fff9;transition:background .2s,color .2s,transform .2s}
.contact-options a:first-child{background:var(--ink);color:var(--paper)}.contact-options a:hover{background:var(--orange);color:var(--ink);text-decoration:none;transform:translateY(-2px)}
.dialog-actions{display:flex;justify-content:flex-end;margin:0 0 20px}.dialog-actions .button{min-height:48px}.dialog-heading{margin-bottom:14px}
@media(max-width:640px){.portrait-bottom a.hero-resume-download{min-width:98px;height:46px;padding-inline:14px}.contact-options{flex-direction:column;align-items:flex-start}.contact-options a{width:min(100%,260px)}.dialog-actions{justify-content:flex-start}.dialog-actions .button{width:100%;justify-content:space-between}}
@media(prefers-reduced-motion:reduce){.portrait-bottom a.hero-resume-download:hover,.contact-options a:hover{transform:none}}
