@import url('fonts.css');
:root{color-scheme:dark;--bg:#101418;--surface:#171c22;--surface2:#1c232c;--text:#f2f3f3;--muted:#a4adb7;--line:#ffffff1b;--blue:#b7d5ff;--accent:#b7d5ff;--button-text:#142237;--nav:#171d23e8;--serif:Georgia,'Times New Roman',serif;--font:'DM Sans',Arial,sans-serif;--display:'Manrope',Arial,sans-serif}
:root[data-theme=light]{color-scheme:light;--bg:#f6f7f9;--surface:#fff;--surface2:#e9edf3;--text:#182331;--muted:#5b6776;--line:#172c4724;--blue:#245ca2;--accent:#255caa;--button-text:#fff;--nav:#fffffff0}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 var(--font);transition:background .3s,color .3s}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{color:inherit}button,a{touch-action:manipulation}button{cursor:pointer}img{display:block;max-width:100%}video{display:block;max-width:100%}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:6px}.skip{position:fixed;top:10px;left:10px;padding:10px 20px;background:var(--accent);color:var(--button-text);z-index:1000;transform:translateY(-180%)}.skip:focus{transform:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--display);font-weight:500}h1{font-size:clamp(48px,5vw,78px);line-height:1.13;letter-spacing:-3.5px;margin-bottom:25px}h2{font-size:clamp(36px,3.8vw,56px);line-height:1.18;letter-spacing:-2px;margin-bottom:26px}h3{line-height:1.35;letter-spacing:-.6px}em{font-family:var(--serif);font-weight:400;color:var(--blue);letter-spacing:-1.8px}.section{padding:100px max(6.5vw,24px);max-width:1680px;margin:auto}.eyebrow{font-size:10px;letter-spacing:2.4px;font-weight:600;display:flex;gap:9px;align-items:center;margin-bottom:30px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:100%;background:#99c9ad;box-shadow:0 0 0 4px #99c9ad0d;flex-shrink:0}.header{position:relative;z-index:20;margin:26px auto 0;width:87%;max-width:1460px;display:flex;align-items:center;justify-content:space-between;height:74px;border-bottom:1px solid var(--line);padding-bottom:18px;gap:30px}.wordmark{font-family:var(--display);font-size:24px;letter-spacing:-1.1px;font-weight:750;white-space:nowrap}.wordmark span{font-weight:400}.wordmark i{color:var(--blue);font-style:normal}.header nav{display:flex;align-items:center;gap:6px;background:var(--nav);padding:5px;border-radius:40px;border:1px solid var(--line)}.header nav a{font-size:12px;line-height:1.2;padding:11px 20px;border-radius:30px;color:var(--muted);transition:background .2s,color .2s}.header nav a:hover,.header nav a[aria-current=page]{background:var(--surface2);color:var(--text)}.theme{height:40px;width:40px;display:grid;place-items:center;background:transparent;border:1px solid var(--line);border-radius:100%;transition:background .2s,transform .3s}.theme svg{width:19px;height:19px}.theme:hover{background:var(--surface2);transform:rotate(25deg)}.menu{display:none}.hero{padding:100px 6.5vw 0;max-width:1680px;min-height:740px;margin:auto;display:grid;grid-template-columns:1.12fr .88fr;position:relative;align-items:center;column-gap:35px;overflow:hidden}.hero-copy{z-index:2;padding-bottom:80px}.hero .eyebrow{margin-bottom:28px}.hello{font-size:17px;color:var(--muted);margin-bottom:17px}.hero h1{font-size:clamp(45px,4.65vw,73px);letter-spacing:-3.2px;white-space:nowrap}.hero h1 em{letter-spacing:-2.8px}.hero-desc{font-size:16px;max-width:390px;color:var(--muted);line-height:1.8}.disciplines{font-size:11px;color:var(--muted);margin:20px 0 30px;display:flex;gap:9px;align-items:center;flex-wrap:wrap}.disciplines b{color:var(--blue);font-weight:400}.actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:28px;padding:14px 22px;background:var(--accent);border:1px solid transparent;border-radius:6px;color:var(--button-text);font-size:12px;font-weight:600;line-height:1.4;min-height:48px;transition:transform .22s,box-shadow .22s,background .22s}.button:hover{transform:translateY(-3px);box-shadow:0 8px 26px #74a7ed22}.button span{font-size:20px;font-weight:400;line-height:1;transition:transform .22s}.button:hover span{transform:translate(2px,-2px)}.button.secondary{background:transparent;border-color:var(--line);color:var(--text)}.button.secondary:hover{background:var(--surface2)}.portrait-composition{position:relative;min-height:500px;height:100%;max-height:560px;display:grid;place-items:center}.portrait-wrap{width:83%;max-width:420px;aspect-ratio:4/4.6;border-radius:180px 180px 100px 100px;overflow:hidden;position:relative;z-index:1;background:#232a33;border:1px solid #ffffff1a;transform:rotate(3deg);box-shadow:0 25px 80px #0003}.portrait-wrap img{width:100%;height:100%;object-fit:cover;object-position:51% 20%;transform:rotate(-3deg) scale(1.06);filter:saturate(.63)}.portrait-wrap:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#11243d45,transparent 45%);pointer-events:none}.orbit{position:absolute;border:1px solid #b7d5ff42;border-radius:50%;width:110%;height:61%;transform:rotate(-27deg);z-index:2;pointer-events:none}.orbit-two{width:105%;height:68%;transform:rotate(26deg);border-color:#b7d5ff14;z-index:0}.orbit-marker{position:absolute;top:47px;right:12%;font-size:47px;color:var(--blue);z-index:3}.portrait-caption{font-size:9px;letter-spacing:1.8px;line-height:1.8;position:absolute;z-index:3;bottom:78px;left:-4%;background:var(--bg);padding:12px 14px;border:1px solid var(--line);border-radius:5px;transform:rotate(-5deg)}.portrait-name{position:absolute;bottom:30px;right:0;font-size:9px;letter-spacing:2px;color:var(--muted)}.hero-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:24px 0;font-size:9px;letter-spacing:1.5px;color:var(--muted);grid-column:1/-1;width:100%}.hero-bottom a{color:var(--text)}.section-heading{display:flex;justify-content:space-between;gap:32px;align-items:end;margin-bottom:40px}.section-heading .eyebrow{margin-bottom:18px}.section-heading h2{margin-bottom:0}.section-heading>p{font-size:13px;color:var(--muted);line-height:1.8;margin-bottom:0}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px 28px}.card-fixly{grid-column:1/-1}.project-art{height:330px;border-radius:12px;overflow:hidden;position:relative;background:#d9e5f4;isolation:isolate;transition:box-shadow .3s}.project-card:hover .project-art{box-shadow:0 12px 50px #0002}.art-label{position:absolute;top:26px;left:28px;font-size:9px;font-weight:600;letter-spacing:2px;color:#375779;z-index:2}.card-open{position:absolute;right:22px;bottom:22px;background:#ffffffdf;width:40px;height:40px;display:grid;place-items:center;color:#172c47;border-radius:100%;font-size:22px;transition:transform .3s,background .3s;z-index:4}.project-card:hover .card-open{transform:rotate(45deg);background:#fff}.fixly-art{height:440px;background:#e9e6df;color:#292e35;display:grid;grid-template-columns:.85fr 1.15fr;align-items:center}.fixly-art .art-label{color:#6c6d6c}.fixly-title{padding-left:7%;font-family:var(--display);font-size:clamp(27px,3vw,45px);line-height:1.18;letter-spacing:-1.8px;z-index:2}.fixly-title em{color:#6e826e}.card-video{width:100%;height:82%;object-fit:contain;position:relative;background:transparent;padding:20px 32px 20px 0}.art-foot{position:absolute;bottom:28px;left:28px;font-size:8px;letter-spacing:2px;color:#676d69}.pos-art{padding:74px 30px 35px;background:#dce8f8}.pos-art>img{border-radius:5px;box-shadow:0 18px 30px #23466a30;transform:rotate(-3deg);width:100%;height:auto;transition:transform .5s}.project-card:hover .pos-art>img{transform:rotate(-1deg) scale(1.035)}.web-art{background:#e5edf9}.web-art>img{width:100%;height:100%;object-fit:cover;opacity:.85;transition:transform .5s}.web-art .art-label{background:#fff9;padding:6px 10px;border-radius:4px;left:20px;top:20px}.project-card:hover .web-art>img{transform:scale(1.04)}.web-address{position:absolute;bottom:24px;left:25px;color:#133158;background:#ffffffe3;padding:7px 13px;border-radius:4px;font-size:11px}.card-copy{padding:20px 2px 0;display:flex;align-items:start;justify-content:space-between;gap:12px}.card-copy h3{font-size:21px;margin-bottom:6px}.card-copy p{font-size:12px;color:var(--muted);margin-bottom:0}.card-copy>span{font-size:8px;letter-spacing:1.1px;color:var(--muted);padding-top:8px;text-align:right}.about-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1.7fr .7fr;gap:10px 70px}.about-strip>.eyebrow{grid-column:1/-1}.about-strip>div>p{max-width:550px;color:var(--muted);font-size:15px;margin-bottom:28px}.small-note{align-self:end;padding:30px 0 0 30px;border-left:1px solid var(--line);margin-bottom:5px}.small-note span{font-size:9px;letter-spacing:1.3px;color:var(--blue)}.small-note p{font-size:13px!important;margin:15px 0!important}.contact{display:grid;grid-template-columns:1.2fr .8fr;gap:9%;padding-top:115px;padding-bottom:100px;scroll-margin-top:20px}.contact h2{font-size:clamp(36px,3.5vw,52px)}.contact-intro>p:not(.eyebrow):not(.location){font-size:14px;color:var(--muted);line-height:1.8}.email-link{display:inline-block;font-size:clamp(17px,2vw,24px);border-bottom:1px solid var(--line);padding-bottom:8px;margin:10px 0 24px;letter-spacing:-.5px}.contact-links{display:flex;gap:19px;flex-wrap:wrap;font-size:11px;color:var(--muted)}.contact-links a:hover{color:var(--blue)}.location{font-size:8px;letter-spacing:1.7px;color:var(--muted);margin-top:35px;margin-bottom:0}.contact-form{align-self:center;border:1px solid var(--line);padding:35px;border-radius:12px;background:var(--surface)}.contact-form label{font-size:10px;letter-spacing:.8px;display:block;color:var(--muted);margin:0 0 14px}.contact-form input:not([type=hidden]),.contact-form textarea{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);padding:0 0 16px;color:var(--text);font-size:13px;border-radius:0;resize:vertical}.contact-form small{font-size:10px;display:block;color:var(--muted);margin:8px 0 30px}.contact-form textarea{min-height:105px}.contact-form>.button{margin-top:25px;width:100%}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--muted);opacity:.8}.honeypot{display:none}.form-status{font-size:12px;color:var(--muted);margin:15px 0 0}.form-status:empty{display:none}.footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px;padding:30px 6.5vw;max-width:1680px;margin:auto}.footer .wordmark{font-size:18px}.footer p,.footer>span,.footer>a:last-of-type{font-size:9px;color:var(--muted);margin:0}.page-intro{padding-top:100px;padding-bottom:55px}.page-intro h1{font-size:clamp(48px,5.5vw,84px)}.lead{font-size:20px;line-height:1.8;max-width:720px;color:var(--muted);letter-spacing:-.3px}.about-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:9%;padding-top:20px}.about-portrait img{border-radius:10px;filter:saturate(.65);aspect-ratio:4/5;object-fit:cover}.about-portrait>span{display:block;font-size:9px;letter-spacing:2px;color:var(--muted);margin-top:20px}.about-story{align-self:center}.about-story h2{font-size:42px}.about-story>p:not(.eyebrow){font-size:14px;color:var(--muted)}.inline-meta{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.inline-meta span{font-size:10px;border:1px solid var(--line);padding:7px 11px;border-radius:4px}.services{border-top:1px solid var(--line)}.service-list article{display:grid;grid-template-columns:50px 1fr 1fr;gap:24px;border-top:1px solid var(--line);padding:30px 0}.service-list article>span{font-size:11px;color:var(--blue)}.service-list h3{font-size:23px;margin:0}.service-list p{font-size:13px;color:var(--muted);margin:0;max-width:430px}.toolkit{display:grid;grid-template-columns:1.3fr .7fr;gap:15%;background:var(--surface)}.tool-tags{display:flex;gap:10px;flex-wrap:wrap;max-width:550px}.tool-tags span{border:1px solid var(--line);padding:9px 15px;font-size:12px;border-radius:6px}.languages{margin:0}.languages>div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:11px 0;font-size:13px}.languages dd{color:var(--muted);margin:0}.certificate{font-size:11px;color:var(--muted);margin-top:25px}.compact-cta{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line)}.compact-cta h2{margin:0}.projects-page{padding-top:10px}.case-intro{padding-top:60px;padding-bottom:30px}.back-link{display:inline-block;font-size:12px;color:var(--muted);margin-bottom:55px}.back-link:hover{color:var(--blue)}.case-intro h1{font-size:clamp(48px,5.7vw,87px)}.case-summary{padding-top:0;padding-bottom:65px}.case-summary .lead{max-width:820px}.project-meta{display:grid;grid-template-columns:repeat(4,1fr);margin:40px 0;gap:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 0}.project-meta dt{color:var(--muted);font-size:10px;letter-spacing:1px;margin-bottom:8px;text-transform:uppercase}.project-meta dd{margin:0;font-size:13px}.case-video{padding-top:0}.case-video video{width:100%;border:1px solid var(--line);border-radius:10px;max-height:690px;background:var(--surface)}.caption,figcaption{font-size:11px;color:var(--muted);margin:15px 0 0;line-height:1.7}.case-text{border-top:1px solid var(--line)}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:9%}.two-columns p,.measure{color:var(--muted);font-size:15px;line-height:1.9}.measure{max-width:710px}.process{background:var(--surface)}.process-list{margin-top:45px}.process-list article{display:grid;grid-template-columns:70px 1fr;border-top:1px solid var(--line);padding:25px 0;gap:25px}.process-list article>span{font-size:12px;color:var(--blue)}.process-list h3{font-size:22px;margin-bottom:10px}.process-list p{max-width:800px;color:var(--muted);font-size:14px;margin-bottom:0}.insight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin:45px 0}.insight-grid article{border-top:1px solid var(--line);padding-top:25px}.insight-grid h3{font-size:20px}.insight-grid p{font-size:14px;color:var(--muted)}.case-resources{background:var(--surface)}.case-resources>p:not(.eyebrow):not(.caption){max-width:650px;color:var(--muted);font-size:15px}.resource-links{margin-top:35px}.resource-links a{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:22px 0;font-size:15px;gap:25px}.resource-links a:hover{color:var(--blue)}.next-project>a:first-of-type h2{display:flex;justify-content:space-between;gap:20px;padding:25px 0 35px;border-bottom:1px solid var(--line)}.next-project>a:first-of-type:hover{color:var(--blue)}.text-link{font-size:13px;color:var(--muted)}.case-image{margin:45px 0}.zoom-image{padding:0;border:0;background:var(--surface2);position:relative;width:100%;border-radius:10px;overflow:hidden}.zoom-image img{width:100%;transition:transform .4s}.zoom-image:hover img{transform:scale(1.015)}.zoom-image>span{position:absolute;bottom:18px;right:18px;padding:7px 13px;background:#152535e8;border-radius:4px;color:#fff;font-size:11px}.media-section{padding-top:0;padding-bottom:50px}.media-section .case-image{margin-top:0}.website-brand{padding-top:0;position:relative}.website-brand img{width:100%;max-height:600px;object-fit:contain;background:#eaf2ff;border-radius:10px}.website-brand>span{font-size:10px;letter-spacing:1.3px;color:var(--muted);display:block;margin-top:15px}.lightbox{border:1px solid var(--line);padding:60px 20px 20px;background:var(--surface);color:var(--text);border-radius:10px;width:95vw;max-width:1500px;max-height:94vh}.lightbox::backdrop{background:#000d;backdrop-filter:blur(7px)}.lightbox>img{width:100%;max-height:76vh;object-fit:contain}.lightbox>p{font-size:12px;color:var(--muted);margin:12px 0 0}.close-lightbox{position:absolute;top:12px;right:20px;background:transparent;border:1px solid var(--line);border-radius:5px;padding:5px 15px;font-size:12px}.thanks{min-height:70vh;padding-top:130px}.thanks .button{margin-top:25px}
@media(min-width:1600px){.hero{padding-left:100px;padding-right:100px}.section{padding-left:100px;padding-right:100px}}
@media(max-width:1100px){.hero{min-height:680px;column-gap:10px;padding-top:75px}.hero h1{font-size:4.8vw}.portrait-composition{min-height:440px}.portrait-wrap{width:86%}.hero-copy{padding-bottom:50px}.hero-desc{max-width:320px;font-size:14px}.hero .eyebrow{font-size:8px;letter-spacing:1.7px}.portrait-caption{left:0;bottom:60px;font-size:8px}.section{padding-top:75px;padding-bottom:75px}.card-copy{flex-direction:column;gap:3px}.card-copy>span{text-align:left;padding-top:0}.project-art{height:290px}.fixly-art{height:360px}.header nav a{padding:10px 14px}.contact{gap:6%}.contact-form{padding:25px}.about-story h2{font-size:35px}.about-layout{gap:6%}}
@media(max-width:760px){h1{letter-spacing:-2px}.header{width:88%;height:64px;margin-top:15px;gap:15px}.wordmark{font-size:21px}.header nav{display:none;position:absolute;top:63px;left:0;width:100%;padding:12px;border-radius:10px;box-shadow:0 20px 30px #0003;background:var(--surface)}.header nav.open{display:flex;flex-direction:column;align-items:stretch}.header nav a{padding:15px}.theme{margin-left:auto;width:36px;height:36px}.menu{display:flex;align-items:center;gap:12px;background:transparent;border:0;font-size:11px;padding:9px 0}.menu>span{font-size:20px}.hero{padding:55px 6% 0;grid-template-columns:1fr;min-height:auto;overflow:hidden}.hero-copy{padding-bottom:0}.hero h1{font-size:clamp(39px,7.5vw,57px);white-space:normal;letter-spacing:-2px}.hero h1 em{letter-spacing:-2px}.hero .eyebrow{font-size:8px;margin-bottom:24px}.hello{font-size:15px;margin-bottom:16px}.hero-desc{max-width:420px;font-size:14px}.disciplines{font-size:10px;gap:7px;margin:20px 0 26px}.button{padding:13px 17px;gap:20px;font-size:11px}.portrait-composition{min-height:425px;height:425px;margin-top:40px;max-width:440px;width:90%;justify-self:center}.portrait-wrap{height:370px;width:310px;max-width:90%}.orbit{width:110%;height:54%}.orbit-two{height:60%;width:104%}.orbit-marker{top:16px;right:10%;font-size:35px}.portrait-caption{bottom:55px;left:-3%}.portrait-name{bottom:10px;right:0}.hero-bottom{padding:20px 0;margin-top:20px;font-size:7px;letter-spacing:1px;gap:20px}.hero-bottom>span{max-width:160px}.hero-bottom>a{white-space:nowrap}.section{padding:60px 6%}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:18px;font-size:12px}.section h2{font-size:36px;letter-spacing:-1.5px}.eyebrow{font-size:8px;letter-spacing:1.9px;margin-bottom:20px}.project-grid{grid-template-columns:1fr;gap:35px}.card-fixly{grid-column:auto}.project-art{height:300px}.fixly-art{height:380px;display:block}.fixly-title{position:absolute;top:60px;left:0;padding-left:25px;font-size:28px;letter-spacing:-1px}.card-video{position:absolute;right:0;bottom:30px;height:53%;width:100%;padding:0 30px;object-fit:contain}.art-label{top:22px;left:25px;font-size:8px}.art-foot{font-size:7px;bottom:18px;left:25px}.card-copy{padding-top:15px;gap:5px}.card-copy h3{font-size:21px}.card-copy>span{font-size:8px}.pos-art{padding:75px 20px 25px}.card-open{width:34px;height:34px;right:16px;bottom:16px}.about-strip{grid-template-columns:1fr;gap:10px}.about-strip>.eyebrow{grid-column:auto}.about-strip>div>p{font-size:14px}.small-note{display:none}.contact{grid-template-columns:1fr;gap:40px}.contact h2{font-size:36px}.contact-form{padding:28px 24px}.email-link{font-size:20px}.contact-links{gap:16px}.footer{display:grid;grid-template-columns:1fr 1fr;padding:25px 6%;gap:15px}.footer>p{grid-column:2;grid-row:1;text-align:right;font-size:8px}.footer>a:last-of-type{text-align:right}.footer .wordmark{font-size:19px}.page-intro{padding-top:65px;padding-bottom:30px}.page-intro h1{font-size:44px;letter-spacing:-2px}.lead{font-size:17px}.about-layout{grid-template-columns:1fr;gap:40px;padding-top:10px}.about-portrait{max-width:380px}.about-portrait img{aspect-ratio:1/1}.about-story h2{font-size:36px}.service-list article{grid-template-columns:30px 1fr;gap:10px 15px;padding:25px 0}.service-list h3{font-size:21px}.service-list p{grid-column:2;font-size:13px}.toolkit{grid-template-columns:1fr;gap:45px}.compact-cta{align-items:start;gap:25px;flex-direction:column}.compact-cta h2{font-size:36px}.projects-page{padding-top:0}.case-intro{padding-top:35px;padding-bottom:25px}.back-link{margin-bottom:35px}.case-intro h1{font-size:43px;letter-spacing:-2px}.case-summary{padding-top:0;padding-bottom:40px}.project-meta{grid-template-columns:1fr 1fr;gap:25px 20px;margin:30px 0}.project-meta dd{font-size:12px}.project-meta dt{font-size:9px}.case-video{padding-top:0}.two-columns{grid-template-columns:1fr;gap:0}.two-columns p{font-size:14px}.process-list article{grid-template-columns:27px 1fr;gap:12px}.process-list h3{font-size:21px}.process-list p{font-size:13px}.insight-grid{grid-template-columns:1fr;gap:15px;margin:30px 0}.case-image{margin:30px 0}.zoom-image{border-radius:6px}.zoom-image>span{font-size:8px;right:8px;bottom:8px;padding:4px 8px}.resource-links a{font-size:13px}.next-project h2{font-size:30px!important}.website-brand{padding-top:0}.media-section{padding-top:0;padding-bottom:20px}.thanks{padding-top:100px}}
.phone-pair{display:flex;align-items:center;justify-content:center;gap:18px;height:100%;padding:65px 50px 45px 25px;perspective:900px}.phone-pair img{height:100%;max-height:330px;width:auto;max-width:46%;object-fit:contain;border-radius:18px;box-shadow:0 20px 35px #343e3526;transition:transform .5s}.phone-pair img:first-child{transform:translateY(12px) rotate(-6deg)}.phone-pair img:last-child{transform:translateY(-12px) rotate(6deg)}.project-card:hover .phone-pair img:first-child{transform:translateY(4px) rotate(-3deg)}.project-card:hover .phone-pair img:last-child{transform:translateY(-6px) rotate(3deg)}.web-art{padding:65px 24px 40px}.web-art>img{height:auto;max-height:100%;border-radius:5px;box-shadow:0 15px 25px #193f6825;object-fit:contain;opacity:1;transform:rotate(3deg)}.project-card:hover .web-art>img{transform:rotate(1deg) scale(1.025)}.website-brand .case-image{margin:0}.website-brand img{max-height:none;object-fit:contain}.system-board{max-width:850px;margin:auto}.case-gallery-intro{max-width:700px;color:var(--muted);font-size:14px}.lightbox-tools{position:absolute;left:20px;top:12px;display:flex;align-items:center;gap:16px}.original-image{font-size:11px;color:var(--blue)}.zoom-toggle{background:transparent;border:1px solid var(--line);border-radius:5px;padding:5px 12px;font-size:11px}.lightbox.zoomed{overflow:auto}.lightbox.zoomed>img{width:200%;max-width:none;max-height:none}.lightbox.zoomed>.close-lightbox{position:sticky;top:0;float:right;background:var(--surface);z-index:1}.lightbox.zoomed>.lightbox-tools{position:sticky;top:0;background:var(--surface);z-index:1;padding:10px;display:inline-flex;margin-top:-40px}.case-video video{poster:none}
@media(max-width:1100px) and (min-width:761px){.phone-pair{padding:65px 35px 40px 20px;gap:10px}.phone-pair img{max-height:260px;border-radius:10px}.web-art{padding-top:80px}}
@media(max-width:760px){.fixly-art{height:440px}.phone-pair{position:absolute;top:145px;left:0;width:100%;height:260px;padding:10px 35px 20px;gap:20px}.phone-pair img{max-height:230px;border-radius:12px}.web-art{padding:65px 20px 40px}.lightbox{padding:100px 12px 15px}.lightbox-tools{top:52px;left:14px;gap:10px}.lightbox.zoomed>.lightbox-tools{margin-top:-50px}.original-image,.zoom-toggle{font-size:10px}.zoom-image>span{position:relative;display:block;bottom:auto;right:auto;border-radius:0;font-size:10px;padding:8px 12px;background:var(--surface2);color:var(--text)}.lightbox.zoomed>img{width:300%}}
.case-jumps{display:flex;flex-wrap:wrap;gap:12px;padding:0 6.5vw 40px;max-width:1680px;margin:auto}.case-jumps a{font-size:11px;border:1px solid var(--line);padding:8px 15px;border-radius:30px;color:var(--muted);transition:background .2s}.case-jumps a:hover{background:var(--surface2);color:var(--text)}.case-image{scroll-margin-top:30px}.zoom-image img{height:auto}.case-video video{height:auto;aspect-ratio:16/9}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}


/* Portfolio refinement — 2026-11-01
   Warm editorial light theme, quieter CTAs and clearly interactive contact fields. */
:root[data-theme=light]{
  --bg:#F7F5F0;
  --surface:#FFFEFB;
  --surface2:#EFEBE4;
  --text:#292D2B;
  --muted:#646A66;
  --line:#514C4226;
  --nav:#FFFEFBEF;
}
:root[data-theme=light] body{
  background:radial-gradient(ellipse 65% 42% at 88% 8%,#EFE9DF77 0%,transparent 78%),var(--bg);
}
:root[data-theme=light] .contact-form{
  box-shadow:0 16px 45px #4C42300A;
}
.button{
  justify-content:center;
  gap:0;
  font-size:14px;
  font-weight:600;
  padding:15px 25px;
  transition:background-color .28s ease,border-color .28s ease,color .28s ease,transform .28s ease,box-shadow .28s ease;
}
.button:hover{
  transform:translateY(-2px);
  background:#D2E3FF;
  box-shadow:0 10px 24px #74A7ED22;
}
.button.secondary:hover{
  background:var(--surface2);
  border-color:var(--muted);
}
:root[data-theme=light] .button:hover{
  background:#194C88;
  color:#fff;
}
:root[data-theme=light] .button.secondary:hover{
  background:#EAE5DC;
  color:var(--text);
}
.contact-links a{
  text-decoration:underline;
  text-decoration-color:transparent;
  text-underline-offset:5px;
  transition:color .25s ease,text-decoration-color .25s ease;
}
.contact-links a:hover{
  text-decoration-color:currentColor;
}
.contact-form{
  border-color:#82909B50;
}
.contact-form label{
  margin-bottom:9px;
}
.contact-form input:not([type=hidden]),
.contact-form textarea{
  display:block;
  background:var(--bg);
  border:1px solid #83919F88;
  border-radius:7px;
  padding:13px 15px;
  color:var(--text);
  font-size:14px;
  line-height:1.5;
  transition:border-color .22s ease,box-shadow .22s ease,background-color .22s ease;
}
.contact-form textarea{
  min-height:120px;
}
.contact-form input:not([type=hidden]):focus,
.contact-form textarea:focus{
  outline:none;
  border-color:var(--blue);
  box-shadow:0 0 0 3px #B7D5FF2C;
  background:var(--surface);
}
.contact-form input::placeholder,
.contact-form textarea::placeholder{
  color:var(--muted);
  opacity:.57;
  font-weight:400;
}
.contact-form small{
  margin:8px 0 25px;
}
.contact-form>.button{
  margin-top:22px;
}
:root[data-theme=light] .contact-form input:not([type=hidden]),
:root[data-theme=light] .contact-form textarea{
  background:#FAF8F4;
  border-color:#8A85796E;
}
:root[data-theme=light] .contact-form input:not([type=hidden]):focus,
:root[data-theme=light] .contact-form textarea:focus{
  background:#FFF;
  border-color:#8A7A64;
  box-shadow:0 0 0 3px #8A7A641A;
}
@media(max-width:760px){
  .button{font-size:13px;padding:14px 19px}
  .contact-form input:not([type=hidden]),.contact-form textarea{font-size:16px}
}

/* Portfolio portraits — 2026-11-01 */
.portrait-wrap{transition:box-shadow .45s ease,border-color .45s ease,transform .45s ease}
.portrait-wrap img{transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .45s ease}
.portrait-composition .orbit{border-color:#B7D5FF70;transition:border-color .45s ease,opacity .45s ease}
.portrait-composition .orbit-two{border-color:#B7D5FF36}
.portrait-composition:hover .portrait-wrap{border-color:#B7D5FFAA;box-shadow:0 28px 86px #0004,0 0 0 5px #B7D5FF13}
.portrait-composition:hover .portrait-wrap img{transform:rotate(-3deg) scale(1.105);filter:saturate(.78) brightness(1.035)}
.portrait-composition:hover .orbit{border-color:#B7D5FFBB}
.portrait-composition:hover .orbit-two{border-color:#B7D5FF78}
:root[data-theme=light] .portrait-composition .orbit{border-color:#77736C66}
:root[data-theme=light] .portrait-composition .orbit-two{border-color:#77736C38}
:root[data-theme=light] .portrait-composition:hover .orbit{border-color:#68635C9C}
:root[data-theme=light] .portrait-composition:hover .orbit-two{border-color:#68635C70}
:root[data-theme=light] .portrait-composition:hover .portrait-wrap{border-color:#888078A8;box-shadow:0 25px 75px #433B321F,0 0 0 5px #9D918417}

/* About: smaller editorial portrait, same existing image */
.about-layout{grid-template-columns:minmax(0,290px) minmax(0,1fr);gap:clamp(36px,7vw,105px);align-items:center}
.about-portrait{width:100%;max-width:290px;justify-self:center;margin-inline:auto}
.about-portrait img{display:block;width:100%;max-width:290px;aspect-ratio:4/4.8;object-fit:cover;object-position:50% 24%;border-radius:16px;filter:saturate(.7);border:1px solid var(--line);box-shadow:0 18px 48px #0000001C;transition:transform .45s ease,box-shadow .45s ease,filter .45s ease}
.about-portrait:hover img{transform:translateY(-3px);box-shadow:0 23px 55px #00000028;filter:saturate(.83)}
.about-portrait>span{text-align:center;margin-top:17px;letter-spacing:1.7px}
:root[data-theme=light] .about-portrait img{border-color:#9C92824D;box-shadow:0 18px 42px #554A381B}

/* About: clear informational labels, not button-like controls */
.inline-meta{gap:10px;margin-top:25px}
.inline-meta span{display:inline-flex;align-items:center;border:0;border-radius:3px;padding:7px 0;background:transparent;color:var(--muted);font-weight:500;font-size:10px;letter-spacing:.55px;cursor:default}
.inline-meta span+span:before{content:"·";margin-right:10px;color:var(--muted);opacity:.7;font-size:17px;line-height:0}
@media(max-width:760px){
  .about-layout{grid-template-columns:minmax(0,1fr);gap:28px}
  .about-portrait{max-width:260px}
  .about-portrait img{max-width:260px;aspect-ratio:4/4.8}
}
@media(prefers-reduced-motion:reduce){
  .portrait-wrap,.portrait-wrap img,.portrait-composition .orbit,.about-portrait img{transition:none}
  .portrait-composition:hover .portrait-wrap img{transform:rotate(-3deg) scale(1.06)}
  .about-portrait:hover img{transform:none}
}