:root{--bg:#090a0c;--panel:#111316;--panel-2:#171a1f;--line:#2a2d32;--muted:#969ba4;--soft:#c9cbd0;--white:#f4f4ef;--accent:#c5f86c;--accent-dark:#8fb83d;--mono:'DM Mono',ui-monospace,SFMono-Regular,Consolas,monospace;--sans:'Manrope',Inter,Arial,sans-serif;--page:1240px;--pad:clamp(22px,5vw,76px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--bg);color:var(--white);font-family:var(--sans);font-size:14px;line-height:1.6;overflow-x:hidden}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}.noise{pointer-events:none;position:fixed;inset:0;z-index:20;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E")}.section-wrap{width:min(var(--page),100%);padding-inline:var(--pad);margin-inline:auto}.site-header{height:82px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.08);position:relative;z-index:30;background:rgba(9,10,12,.84);backdrop-filter:blur(14px)}.brand{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:800;letter-spacing:.13em;white-space:nowrap}.brand-slash{color:var(--accent);padding-inline:2px}.brand-mark{height:21px;width:22px;display:flex;gap:3px;align-items:flex-end}.brand-mark i{display:block;width:5px;background:var(--accent);border-radius:1px}.brand-mark i:nth-child(1){height:11px}.brand-mark i:nth-child(2){height:17px}.brand-mark i:nth-child(3){height:21px}.main-nav{display:flex;align-items:center;gap:clamp(22px,3.4vw,50px);margin-left:5%}.main-nav a,.language-toggle,.contact-pill{font-size:11px;letter-spacing:.04em}.main-nav a{color:#a9adb4;transition:color .2s}.main-nav a:hover{color:var(--accent)}.header-actions{display:flex;align-items:center;gap:20px}.language-toggle{border:0;background:transparent;padding:9px 0;cursor:pointer;color:#a8adb4}.language-toggle span{color:#565b63;padding-inline:3px}.language-toggle:hover{color:var(--accent)}.contact-pill{border:1px solid #41454b;border-radius:999px;padding:10px 15px 10px 17px;display:flex;gap:20px;align-items:center;transition:background .2s,border-color .2s;color:var(--white)}.contact-pill:hover{background:var(--accent);border-color:var(--accent);color:#0b0d0b}.menu-toggle{display:none;background:none;border:0;padding:7px}.menu-toggle span{display:block;width:22px;height:1px;background:var(--white);margin:5px}
.hero{min-height:690px;padding-top:clamp(64px,8vw,116px);padding-bottom:28px;display:grid;grid-template-columns:1.04fr .96fr;column-gap:clamp(34px,6vw,94px);position:relative;align-items:center}.hero-copy{position:relative;z-index:2;padding-bottom:38px}.eyebrow,.section-kicker,.visual-topline,.visual-bottomline,.visual-caption,.hero-note,.hero-foot,.work-count,.project-number,.project-category,.project-footer,.work-bottom,.process-number,.skill-tags,.about-bottom,.contact-foot,.modal-kicker,.modal-category,.modal-placeholder-help,.site-footer,.edit-mode-toggle{font-family:var(--mono);font-size:9px;letter-spacing:.11em}.eyebrow{display:flex;align-items:center;gap:10px;color:#a3a8b0;margin-bottom:30px}.status-dot,.edit-mode-dot{width:6px;height:6px;background:var(--accent);border-radius:50%;display:inline-block;box-shadow:0 0 12px rgba(197,248,108,.55)}.eyebrow-line{height:1px;width:38px;background:#454a50}.eyebrow-index{color:#6b7078}.hero h1{font-size:clamp(60px,8.3vw,116px);line-height:.88;letter-spacing:-.09em;margin:0;font-weight:800;max-width:690px}.hero-line-two{color:var(--accent)}.hero-period{color:var(--white)}.hero-cn{font-size:clamp(19px,2vw,26px);font-weight:600;letter-spacing:-.04em;margin:24px 0 9px}.hero-description{color:#a7abb2;max-width:400px;font-size:13px;line-height:1.9;margin:0}.hero-cta-row{display:flex;align-items:center;gap:22px;margin-top:30px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;padding:14px 16px 14px 19px;font-size:11px;font-weight:700;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.button-primary{background:var(--accent);color:#10120d;border-radius:2px}.button-arrow{font-size:17px;line-height:1}.hero-note{color:#6f747c;font-size:8px}.hero-visual{width:100%;max-width:520px;justify-self:end;position:relative;transform:translateY(8px)}.visual-topline{display:flex;justify-content:space-between;color:#8c929b;margin-bottom:10px}.visual-topline b{color:var(--accent);font-size:7px;margin-left:4px}.showreel-frame{border:1px solid #30343b;background:#101216;width:100%;aspect-ratio:1.13/1;position:relative;display:block;overflow:hidden;cursor:pointer;color:var(--white);text-align:left;padding:0;isolation:isolate}.showreel-grid{position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(120deg,transparent 5%,black 45%,transparent 100%)}.showreel-frame:before{content:"";position:absolute;width:72%;aspect-ratio:1;border-radius:50%;left:12%;top:12%;background:radial-gradient(circle at 35% 32%,#c9ff8b 0,#72963c 8%,#25351a 22%,#0d110e 46%,transparent 68%);filter:blur(1px);opacity:.9}.showreel-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(125deg,transparent 0 38%,rgba(197,248,108,.08) 38.2%,transparent 38.7% 58%,rgba(255,255,255,.04) 58.2%,transparent 58.7%);pointer-events:none}.showreel-scan{position:absolute;inset:12% 7%;border:1px solid rgba(197,248,108,.3);clip-path:polygon(0 0,100% 0,100% 88%,82% 88%,82% 100%,0 100%)}.showreel-orbit{position:absolute;border:1px solid rgba(197,248,108,.3);border-radius:50%;transform:rotate(-28deg)}.orbit-one{width:95%;height:42%;left:2%;top:25%}.orbit-two{width:80%;height:30%;left:8%;top:31%;border-color:rgba(255,255,255,.17)}.showreel-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.core-label{font-family:var(--mono);font-size:clamp(19px,2.4vw,30px);line-height:.94;font-weight:500;letter-spacing:-.08em;color:#f3f5eb;text-shadow:0 2px 25px #000}.core-ring{width:49px;height:49px;border:1px solid var(--accent);border-radius:50%;display:grid;place-items:center;background:rgba(10,12,9,.4);color:var(--accent);font-size:13px;transition:transform .3s,background .3s}.showreel-frame:hover .core-ring{transform:scale(1.1);background:var(--accent);color:#0b0d09}.core-caption{font-family:var(--mono);font-size:7px;letter-spacing:.16em;color:#aeb5a6}.visual-side-label{position:absolute;right:15px;top:48%;writing-mode:vertical-rl;color:#6f786a;font-family:var(--mono);font-size:8px;letter-spacing:.15em}.visual-bottomline{position:absolute;left:16px;right:16px;bottom:14px;display:flex;justify-content:space-between;color:#a0a59c;font-size:8px}.visual-bottomline b{color:var(--accent);font-size:14px;margin-left:7px}.visual-caption{display:flex;justify-content:space-between;color:#777d85;margin-top:10px;font-size:8px;letter-spacing:.04em}.visual-caption span:last-child{color:#555a61}.hero-foot{position:absolute;bottom:24px;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;align-items:center;color:#737981;font-size:8px}.hero-foot b{color:#d7d9d4;font-weight:400}.hero-foot-center{display:flex;align-items:center;gap:10px}.scroll-line{width:32px;height:1px;background:var(--accent)}
.work-section{padding-top:125px;padding-bottom:110px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px}.section-kicker{color:#858b93;margin:0 0 19px}.section-kicker span:first-child{color:var(--accent)}.section-heading h2,.approach-left h2,.about-content h2,.contact-inner h2{font-size:clamp(43px,6vw,72px);line-height:.99;letter-spacing:-.075em;margin:0;font-weight:700}.section-heading h2 em,.approach-left h2 em,.about-content h2 em,.contact-inner h2 em{font-style:normal;color:var(--accent)}.section-intro{max-width:330px;color:#989da5;font-size:12px;line-height:1.9;margin:0 0 4px}.work-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:43px;padding:15px 0}.filter-list{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.filter-button{border:1px solid transparent;background:transparent;color:#858b93;padding:8px 11px;font-size:10px;cursor:pointer;transition:all .2s}.filter-button:hover{color:var(--white)}.filter-button.active{border-color:#464b51;color:var(--white);background:#141619}.filter-button span{color:var(--accent);font-family:var(--mono);font-size:9px;margin-left:5px}.work-count{color:#666d76;white-space:nowrap;font-size:8px}.work-count #visibleCount{color:var(--accent)}.count-slash{padding:0 7px;color:#42464c}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 20px;margin-top:25px}.project-card{min-width:0;animation:cardIn .55s both}.project-art-shell{position:relative;min-width:0}.project-card[hidden]{display:none}@keyframes cardIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.project-open{width:100%;border:0;padding:0;background:transparent;text-align:left;cursor:pointer;display:block}.project-art{position:relative;display:block;aspect-ratio:9/16;overflow:hidden;background:#15181c;border:1px solid #292d33;isolation:isolate;transition:border-color .3s,transform .3s}.project-open:hover .project-art{border-color:#788c55;transform:translateY(-3px)}.project-art:before,.project-art:after{content:"";position:absolute;pointer-events:none}.project-art:before{inset:0;background:linear-gradient(135deg,rgba(255,255,255,.05),transparent 40%,rgba(0,0,0,.28))}.art-grid{position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:30px 30px;opacity:.25}.art-meta{position:absolute;left:13px;right:13px;top:12px;display:flex;justify-content:space-between;z-index:4;font-family:var(--mono);font-size:7px;letter-spacing:.13em;color:rgba(244,244,239,.72)}.art-index{color:var(--accent)}.art-word{position:absolute;z-index:3;left:7%;bottom:13%;font-size:clamp(26px,3.5vw,49px);line-height:.85;font-weight:800;letter-spacing:-.09em;color:#f2f4ed}.art-word em{font-style:normal;color:var(--accent)}.art-sub{position:absolute;z-index:3;left:8%;bottom:7%;font-family:var(--mono);font-size:7px;letter-spacing:.12em;color:rgba(244,244,239,.6)}.art-orb{position:absolute;width:54%;aspect-ratio:1;border-radius:50%;right:9%;top:19%;background:radial-gradient(circle at 34% 27%,#efffcf 0,#b8ed6a 5%,#4c682a 18%,#182119 42%,#090c0b 66%);box-shadow:0 0 60px rgba(197,248,108,.12);z-index:1}.art-orb:after{content:"";position:absolute;inset:-10%;border:1px solid rgba(197,248,108,.6);border-radius:50%;transform:rotate(-24deg) scaleY(.34)}.art-phone{position:absolute;width:30%;height:70%;right:17%;top:16%;border:2px solid #686e77;border-radius:16px;background:linear-gradient(145deg,#2d3339,#0b0d0f);box-shadow:0 18px 30px #000;transform:rotate(7deg);z-index:2}.art-phone:before{content:"";position:absolute;inset:6px;border-radius:10px;background:radial-gradient(circle at 50% 25%,#9bb77c,transparent 20%),linear-gradient(155deg,#33443b,#111715 58%,#262b30)}.art-phone:after{content:"";position:absolute;width:22%;height:3px;top:4px;left:39%;background:#555;border-radius:9px}.art-frame{position:absolute;inset:18% 13% 19% 33%;border:1px solid rgba(197,248,108,.65);transform:skewY(-8deg);z-index:1}.art-beam{position:absolute;width:130%;height:35%;left:-15%;top:30%;background:linear-gradient(90deg,transparent,rgba(197,248,108,.2),transparent);transform:rotate(-24deg);z-index:1}.art-type{position:absolute;right:8%;top:20%;font-weight:800;font-size:clamp(28px,4vw,58px);letter-spacing:-.1em;line-height:.8;text-align:right;color:#f4f4ef;z-index:2}.art-type span{color:var(--accent)}.art-wave{position:absolute;left:6%;right:6%;top:38%;height:25%;display:flex;align-items:center;justify-content:space-between;gap:3px;z-index:2}.art-wave i{display:block;width:3px;height:var(--h);background:var(--accent);opacity:var(--o,.75);border-radius:4px;box-shadow:0 0 8px rgba(197,248,108,.3)}.art-room{position:absolute;inset:18% 10% 18%;border:1px solid rgba(197,248,108,.35);perspective:250px;z-index:1}.art-room:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.5%,rgba(197,248,108,.4) 50%,transparent 50.5%),linear-gradient(transparent 49.5%,rgba(197,248,108,.4) 50%,transparent 50.5%);transform:rotateX(50deg) scale(1.2)}.art-room:after{content:"";position:absolute;left:25%;right:25%;top:15%;bottom:15%;border:1px solid rgba(197,248,108,.55);box-shadow:0 0 30px rgba(197,248,108,.08)}.art-red{position:absolute;width:65%;height:100%;right:-5%;top:0;background:linear-gradient(130deg,#e06443,#5a201e 47%,transparent 48%);clip-path:polygon(40% 0,100% 0,100% 100%,0 100%);opacity:.8}.art-filmstrip{position:absolute;inset:20% 6%;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;transform:rotate(-7deg);z-index:1}.art-filmstrip span{border:1px solid rgba(255,255,255,.18);background:linear-gradient(155deg,#4d6251,#121817 55%,#4a5247)}.art-filmstrip span:nth-child(2){background:linear-gradient(145deg,#a3b98a,#263329 52%,#0d0f0e)}.art-filmstrip span:nth-child(3){background:linear-gradient(145deg,#62666c,#1a1b1e 55%,#7d827b)}.art-macro{position:absolute;right:10%;top:15%;width:54%;aspect-ratio:1;border-radius:50%;border:12px solid #383f3e;background:radial-gradient(circle,#090b0a 0 20%,#60705a 21% 24%,#121714 26% 43%,#9fb789 45% 47%,#1b211c 49%);box-shadow:inset 0 0 30px #000,0 0 0 2px #5b6658,0 0 0 9px #151916;z-index:2}.art-macro:after{content:"";position:absolute;inset:17%;border:1px solid rgba(197,248,108,.65);border-radius:50%}.art-bars{position:absolute;inset:20% 7% 26%;display:flex;align-items:center;gap:5px;z-index:2}.art-bars i{width:100%;height:var(--h);background:linear-gradient(0deg,#536a31,var(--accent));opacity:.8;border-radius:2px}.art-duo{position:absolute;inset:20% 9% 20%;display:grid;grid-template-columns:1fr 1fr;gap:7px;z-index:1}.art-duo span:first-child{background:linear-gradient(145deg,#9ea8a2,#202927 55%,#111);border:1px solid rgba(255,255,255,.18)}.art-duo span:last-child{background:linear-gradient(145deg,#b1d77c,#33472a 42%,#0b100c);border:1px solid rgba(197,248,108,.5)}.art-horizon{position:absolute;inset:0;background:linear-gradient(180deg,#11151b 0%,#25312c 40%,#c0d28e 41%,#3b4834 43%,#0c0f0e 70%);opacity:.9}.art-horizon:after{content:"";position:absolute;inset:40% -20% -10%;background:repeating-linear-gradient(100deg,transparent 0 25px,rgba(197,248,108,.17) 26px 27px);transform:perspective(100px) rotateX(25deg)}.art-phone-row{position:absolute;right:8%;top:18%;display:flex;gap:7px;transform:rotate(8deg);z-index:2}.art-phone-row i{display:block;width:46px;height:91px;border:2px solid #737b7c;border-radius:8px;background:linear-gradient(145deg,#a9c87e,#26362a 55%,#101512);box-shadow:0 7px 16px #000}.art-phone-row i:nth-child(2){transform:translateY(-10px);background:linear-gradient(145deg,#777d86,#292d32 55%,#0b0c0e)}.art-phone-row i:nth-child(3){transform:translateY(7px);background:linear-gradient(145deg,#cf7b58,#48261e 55%,#0d0c0b)}.project-overlay{position:absolute;inset:0;z-index:5;background:rgba(6,8,7,.0);display:flex;align-items:center;justify-content:center;transition:background .25s}.project-play{width:44px;height:44px;border-radius:50%;border:1px solid rgba(197,248,108,.75);background:rgba(8,10,8,.52);display:grid;place-items:center;color:var(--accent);font-size:12px;opacity:0;transform:scale(.8);transition:all .25s}.project-open:hover .project-overlay{background:rgba(6,8,7,.25)}.project-open:hover .project-play{opacity:1;transform:scale(1)}.project-slot-label{position:absolute;right:12px;bottom:12px;z-index:4;font-family:var(--mono);font-size:7px;letter-spacing:.12em;color:#bec4b7;border:1px solid rgba(255,255,255,.17);background:rgba(7,9,8,.55);padding:5px 7px}.project-edit-upload{position:absolute;left:10px;bottom:10px;z-index:7;background:var(--accent);color:#10120d;border:0;padding:7px 9px;font-family:var(--mono);font-size:8px;cursor:pointer;display:none}.edit-mode .project-edit-upload{display:block}.edit-mode .project-slot-label{bottom:44px}.project-info{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-top:13px}.project-number{color:#626870;font-size:8px;min-width:28px;padding-top:4px}.project-title-wrap{flex:1;min-width:0}.project-title{font-size:14px;line-height:1.3;font-weight:600;letter-spacing:-.025em;margin:0 0 5px}.project-description{font-size:10px;color:#7f858d;line-height:1.6;margin:0;max-width:280px}.project-category{color:var(--accent);font-size:7px;white-space:nowrap;padding-top:4px}.project-footer{display:flex;justify-content:space-between;align-items:center;margin-top:11px;padding-top:9px;border-top:1px solid #24272b;color:#555c63;font-size:7px}.project-footer span:last-child{font-size:13px;color:#a2a7ae;transition:color .2s,transform .2s}.project-open:hover .project-footer span:last-child{color:var(--accent);transform:translate(2px,-2px)}.work-bottom{display:flex;justify-content:center;align-items:center;gap:20px;color:#71777e;font-size:8px;margin-top:60px;text-align:center}.work-bottom-line{height:1px;width:clamp(24px,8vw,90px);background:#30343a}
.approach-section{background:#111316;border-block:1px solid #22252a;padding:105px 0}.approach-inner{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,8vw,120px)}.approach-left h2{font-size:clamp(39px,5vw,63px)}.approach-copy{color:#969ca4;font-size:12px;line-height:2;max-width:360px;margin:26px 0 25px}.text-link{display:inline-flex;align-items:center;gap:25px;border-bottom:1px solid #5d6269;padding-bottom:9px;font-size:11px;color:var(--white)}.text-link span:last-child{color:var(--accent);font-size:16px;transition:transform .2s}.text-link:hover span:last-child{transform:translate(3px,-3px)}.process-list{border-top:1px solid #383c42}.process-item{display:grid;grid-template-columns:34px 1fr 22px;gap:15px;padding:23px 0;border-bottom:1px solid #383c42;align-items:start}.process-number{color:var(--accent);padding-top:4px}.process-item h3{font-size:16px;font-weight:600;letter-spacing:-.03em;margin:0 0 6px}.process-item p{font-size:11px;color:#9298a0;line-height:1.8;margin:0;max-width:400px}.process-symbol{color:#a9b1a0;font-size:21px;text-align:right}
.about-section{padding-top:110px;padding-bottom:45px}.about-top{display:flex;justify-content:space-between;align-items:flex-start}.about-asterisk{font-size:45px;line-height:1;color:var(--accent);font-weight:300}.about-content{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,8vw,120px);padding:35px 0 75px}.about-content h2{font-size:clamp(46px,6.7vw,82px)}.about-detail{max-width:430px;padding-top:5px}.about-detail>p:first-child{color:#a4a9b0;font-size:13px;line-height:2;margin:0 0 26px}.skill-tags{display:flex;gap:8px;flex-wrap:wrap}.skill-tags span{border:1px solid #34383e;color:#c0c4c9;padding:7px 9px;font-size:8px}.about-detail .about-edit-note{color:#646a72;font-size:10px;line-height:1.8;margin:23px 0 0}.about-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:16px;border-top:1px solid #2c3035;color:#686e76;font-size:8px}
.contact-section{background:var(--accent);color:#0d1009;padding:85px 0 30px}.contact-inner .section-kicker{color:#4d5b3b}.contact-inner .section-kicker span:first-child{color:#10140b}.contact-inner h2{font-size:clamp(52px,8vw,94px);line-height:.92}.contact-inner h2 em{color:#5a7537}.contact-inner>p:not(.section-kicker){color:#3e4a31;font-size:12px;margin:24px 0 28px}.contact-email{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid rgba(10,15,6,.45);padding:0 0 14px;font-size:clamp(16px,3vw,25px);font-weight:600;letter-spacing:-.04em;max-width:740px}.email-arrow{font-size:24px;font-weight:400;transition:transform .2s}.contact-email:hover .email-arrow{transform:translate(4px,-4px)}.contact-foot{display:flex;justify-content:space-between;gap:20px;margin-top:55px;font-size:8px;color:#475635}.contact-foot a{color:#17200e}.contact-foot a:hover{text-decoration:underline}.site-footer{min-height:72px;padding:15px var(--pad);display:flex;align-items:center;justify-content:space-between;gap:20px;color:#636971;font-size:8px}.footer-brand{color:var(--white);font-family:var(--sans);font-size:11px}.edit-mode-toggle{display:flex;align-items:center;gap:8px;border:0;background:transparent;color:#7e858d;cursor:pointer;font-size:8px;letter-spacing:.04em;padding:7px 0}.edit-mode-toggle:hover,.edit-mode .edit-mode-toggle{color:var(--accent)}.edit-mode-dot{width:5px;height:5px;background:#555b62;box-shadow:none}.edit-mode .edit-mode-dot{background:var(--accent);box-shadow:0 0 10px rgba(197,248,108,.6)}
.modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:24px}.modal.open{display:flex}.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.82);backdrop-filter:blur(12px)}.modal-dialog{position:relative;z-index:1;width:min(920px,100%);max-height:90vh;overflow:auto;background:#101216;border:1px solid #373b42;padding:clamp(17px,3vw,30px);box-shadow:0 30px 120px #000}.modal-close{position:absolute;right:12px;top:10px;z-index:5;width:38px;height:38px;border:1px solid #4a4f55;background:#0d0f12;color:var(--white);font-size:24px;cursor:pointer;line-height:1}.modal-close:hover{background:var(--accent);color:#0a0b09;border-color:var(--accent)}.modal-media{background:#070809;border:1px solid #2b2f35;aspect-ratio:16/9;display:grid;place-items:center;overflow:hidden;position:relative}.modal-media video{width:100%;height:100%;object-fit:contain;background:#000}.modal-empty{max-width:460px;text-align:center;padding:30px}.modal-empty-icon{width:54px;height:54px;border:1px solid var(--accent);color:var(--accent);border-radius:50%;display:grid;place-items:center;font-size:20px;margin:0 auto 18px}.modal-empty h3{font-size:22px;letter-spacing:-.04em;margin:0 0 9px}.modal-empty p{font-size:11px;line-height:1.8;color:#8f959d;margin:0 auto;max-width:350px}.modal-upload{display:inline-block;background:var(--accent);color:#10120d;padding:10px 14px;margin-top:18px;border:0;font-family:var(--mono);font-size:9px;letter-spacing:.06em;cursor:pointer}.modal-meta{display:flex;justify-content:space-between;gap:25px;align-items:flex-start;padding:20px 0 12px}.modal-kicker{color:var(--accent);font-size:8px;margin:0 0 7px}.modal-meta h2{font-size:clamp(22px,4vw,34px);line-height:1.1;letter-spacing:-.06em;margin:0 0 7px}.modal-meta p:last-child{color:#9da2aa;font-size:11px;line-height:1.7;margin:0;max-width:560px}.modal-category{color:#9298a0;white-space:nowrap;padding-top:4px}.modal-placeholder-help{display:flex;gap:10px;flex-wrap:wrap;border-top:1px solid #2a2d33;padding-top:13px;color:#6f757d;font-size:8px;line-height:1.8;letter-spacing:.02em}.modal-placeholder-help strong{color:#c1c5c9;font-weight:500}.toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%,20px);background:var(--accent);color:#0c1008;padding:11px 16px;font-size:11px;font-weight:600;z-index:200;opacity:0;pointer-events:none;transition:all .25s;box-shadow:0 10px 30px rgba(0,0,0,.35)}.toast.show{opacity:1;transform:translate(-50%,0)}.reveal{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:translateY(0)}
@media(min-width:1500px){.hero{min-height:760px}.hero h1{font-size:124px}.project-art{aspect-ratio:9/16}}
@media(max-width:980px){.main-nav{gap:20px;margin-left:0}.hero{grid-template-columns:1fr .85fr;column-gap:30px;min-height:640px}.hero h1{font-size:clamp(58px,8vw,85px)}.hero-description{max-width:340px}.hero-note{display:none}.work-toolbar{align-items:flex-start;flex-direction:column}.work-count{align-self:flex-end}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 18px}.approach-inner{gap:50px}.section-intro{max-width:280px}}
@media(max-width:700px){.site-header{height:68px}.main-nav{display:none;position:absolute;top:67px;left:0;right:0;background:#101216;padding:20px var(--pad);border-bottom:1px solid #30343a;flex-direction:column;align-items:flex-start;gap:18px}.main-nav.open{display:flex}.main-nav a{font-size:13px}.header-actions{gap:14px}.contact-pill{padding:8px 10px 8px 12px;gap:10px}.menu-toggle{display:block}.hero{display:flex;flex-direction:column;align-items:stretch;padding-top:63px;min-height:auto;padding-bottom:80px;gap:45px}.hero-copy{padding-bottom:0}.hero h1{font-size:clamp(65px,15vw,100px)}.eyebrow{margin-bottom:24px}.hero-description{max-width:430px}.hero-visual{width:100%;max-width:none;transform:none}.showreel-frame{aspect-ratio:1.12/1}.hero-foot{bottom:20px;left:var(--pad);right:var(--pad);font-size:7px}.hero-foot>span:last-child{display:none}.hero-foot-center{margin-left:auto}.work-section{padding-top:83px;padding-bottom:80px}.section-heading{display:block}.section-heading h2,.approach-left h2{font-size:clamp(43px,10vw,62px)}.section-intro{margin-top:19px;max-width:450px}.work-toolbar{margin-top:28px;gap:12px}.filter-list{gap:4px}.filter-button{padding:7px 8px;font-size:9px}.work-count{font-size:7px;align-self:flex-start}.project-grid{gap:27px 12px;margin-top:19px}.project-art{aspect-ratio:.93/1}.art-orb{width:60%;right:5%;top:23%}.art-word{font-size:clamp(25px,7vw,43px);bottom:12%}.art-sub{font-size:6px}.project-info{gap:7px;padding-top:10px}.project-number{font-size:7px;min-width:21px}.project-title{font-size:12px}.project-description{font-size:9px}.project-category{display:none}.project-footer{margin-top:8px;padding-top:7px;font-size:6px}.project-slot-label{right:7px;bottom:7px;font-size:6px;padding:4px 5px}.project-edit-upload{left:6px;bottom:6px;font-size:7px;padding:6px}.edit-mode .project-slot-label{bottom:37px}.work-bottom{font-size:7px;gap:9px;margin-top:43px}.work-bottom-line{width:20px}.approach-section{padding:78px 0}.approach-inner{grid-template-columns:1fr;gap:44px}.approach-left h2{font-size:clamp(42px,9.7vw,62px)}.process-item{padding:20px 0}.about-section{padding-top:80px;padding-bottom:30px}.about-asterisk{font-size:36px}.about-content{grid-template-columns:1fr;gap:26px;padding:22px 0 50px}.about-content h2{font-size:clamp(50px,12vw,75px)}.about-detail{max-width:none}.about-bottom{font-size:7px}.contact-section{padding-top:70px}.contact-inner h2{font-size:clamp(55px,12vw,84px)}.contact-foot{margin-top:40px;font-size:7px}.site-footer{flex-wrap:wrap;min-height:90px;gap:10px}.site-footer>span{order:3;width:100%;font-size:7px}.footer-brand{font-size:10px}.modal{padding:12px}.modal-dialog{max-height:94vh;padding:15px}.modal-meta{display:block}.modal-category{display:inline-block;margin-top:10px}.modal-placeholder-help{display:block}.modal-placeholder-help span{display:block;margin-top:4px}}
@media(max-width:380px){.brand{font-size:10px;gap:7px}.brand-mark{transform:scale(.9);transform-origin:left center}.header-actions{gap:9px}.language-toggle{font-size:10px}.contact-pill{font-size:9px}.hero h1{font-size:62px}.project-grid{grid-template-columns:1fr}.project-art{aspect-ratio:9/16}.project-title{font-size:14px}.project-description{font-size:10px}.project-category{display:block}.work-count{white-space:normal}.filter-button{font-size:8px}.about-bottom{flex-direction:column;gap:6px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}


/* Editable resume / CV module */
.resume-section{padding-top:112px;padding-bottom:100px}
.resume-heading{margin-bottom:34px}
.resume-heading-row{display:flex;justify-content:space-between;align-items:flex-end;gap:34px}
.resume-heading-copy{max-width:590px}
.resume-heading-copy h2{font-size:clamp(43px,6vw,72px);line-height:.99;letter-spacing:-.075em;margin:0;font-weight:700}
.resume-heading-copy h2 em{font-style:normal;color:var(--accent)}
.resume-intro{color:#989da5;font-size:12px;line-height:1.9;max-width:390px;margin:18px 0 0}
.resume-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.resume-action{display:inline-flex;align-items:center;justify-content:center;gap:14px;background:transparent;color:#c7cbd0;border:1px solid #3b4047;padding:12px 13px;font-family:var(--mono);font-size:8px;letter-spacing:.06em;cursor:pointer;transition:all .2s;min-height:39px}
.resume-action:hover{border-color:var(--accent);color:var(--accent)}
.resume-action-primary{background:var(--accent);border-color:var(--accent);color:#0d1009;font-weight:700}
.resume-action-primary:hover{background:#d7ff9c;border-color:#d7ff9c;color:#0d1009}
.resume-sheet{border:1px solid #2c3036;background:linear-gradient(135deg,#121418 0%,#0e1013 70%);padding:clamp(22px,4vw,48px);position:relative;overflow:hidden}
.resume-sheet:before{content:"";position:absolute;right:-110px;top:-130px;width:320px;height:320px;border:1px solid rgba(197,248,108,.11);border-radius:50%;box-shadow:0 0 0 35px rgba(197,248,108,.025),0 0 0 70px rgba(197,248,108,.018);pointer-events:none}
.resume-profile{display:grid;grid-template-columns:84px 1fr;gap:24px;align-items:center;padding-bottom:30px;border-bottom:1px solid #33373d;position:relative}
.resume-monogram{width:84px;height:84px;border:1px solid rgba(197,248,108,.5);display:grid;place-items:center;color:var(--accent);font-family:var(--mono);font-size:24px;letter-spacing:-.08em;background:linear-gradient(135deg,rgba(197,248,108,.09),transparent 70%)}
.resume-label{font-family:var(--mono);font-size:8px;letter-spacing:.14em;color:var(--accent);margin:0 0 12px}
.resume-identity h3{font-size:clamp(26px,4vw,42px);letter-spacing:-.06em;line-height:1;margin:0 0 8px;font-weight:750}
.resume-role{font-size:13px;color:#d2d5d8;margin:0 0 13px}
.resume-meta{display:flex;flex-wrap:wrap;gap:8px 19px;color:#8e949d;font-size:10px;overflow-wrap:anywhere}
.resume-meta span+span:before{content:"/";color:#555c64;margin-right:19px}
.resume-summary-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(25px,5vw,68px);padding:28px 0 30px;border-bottom:1px solid #33373d}
.resume-subsection{min-width:0}
.resume-body-copy,.resume-muted{font-size:11px;line-height:1.95;color:#b0b5bd;margin:0;white-space:pre-line;overflow-wrap:anywhere}
.resume-skill-list{display:flex;flex-wrap:wrap;gap:7px}
.resume-skill-list span{border:1px solid #3a3f46;padding:6px 8px;font-family:var(--mono);font-size:8px;color:#cbd0d5;line-height:1.4}
.resume-detail-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(25px,5vw,68px);padding-top:28px}
.resume-timeline{display:grid;gap:18px}
.resume-entry{padding-left:14px;border-left:1px solid #444b52;position:relative}
.resume-entry:before{content:"";position:absolute;width:5px;height:5px;background:var(--accent);left:-3px;top:4px;border-radius:50%}
.resume-entry-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.resume-entry h4{font-size:13px;line-height:1.45;margin:0;color:#f0f1ed;font-weight:650}
.resume-entry-date{font-family:var(--mono);font-size:8px;color:#858c95;white-space:nowrap;padding-top:3px}
.resume-entry-company{font-size:10px;color:var(--accent);margin:3px 0 5px}
.resume-entry-description{font-size:10px;line-height:1.8;color:#a3a9b1;margin:0;white-space:pre-line;overflow-wrap:anywhere}
.resume-side{display:grid;align-content:start;gap:27px}
.resume-bottom-note{border-top:1px solid #33373d;margin-top:31px;padding-top:13px;display:flex;justify-content:space-between;gap:15px;color:#6f767f;font-family:var(--mono);font-size:7px;letter-spacing:.09em;position:relative}
.resume-edit-note{font-size:10px;color:#6f757d;line-height:1.8;margin:15px 0 0}
.resume-editor-modal{position:fixed;inset:0;z-index:150;display:none;align-items:center;justify-content:center;padding:18px}
.resume-editor-modal.open{display:flex}
.resume-editor-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.84);backdrop-filter:blur(12px)}
.resume-editor-dialog{position:relative;z-index:1;width:min(900px,100%);max-height:92vh;overflow:auto;background:#111317;border:1px solid #3b4047;padding:clamp(18px,3vw,32px);box-shadow:0 30px 100px rgba(0,0,0,.6)}
.resume-editor-header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;border-bottom:1px solid #343940;padding-bottom:20px;margin-bottom:22px}
.resume-editor-header h2{font-size:clamp(28px,4vw,40px);line-height:1;letter-spacing:-.06em;margin:0 0 10px}
.resume-editor-header p:not(.resume-label){font-size:11px;line-height:1.8;color:#9ca2aa;max-width:580px;margin:0}
.resume-editor-close{flex:0 0 auto;border:1px solid #4a5058;background:transparent;color:#f4f4ef;width:38px;height:38px;font-size:24px;cursor:pointer}
.resume-editor-close:hover{background:var(--accent);border-color:var(--accent);color:#111}
.resume-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 18px}
.resume-form-grid label,.resume-experience-form label{display:flex;flex-direction:column;gap:7px;color:#c4c8ce;font-size:10px}
.resume-form-grid input,.resume-form-grid textarea,.resume-experience-form input,.resume-experience-form textarea{width:100%;border:1px solid #3a3f46;background:#0b0d10;color:#f4f4ef;padding:11px 12px;font:inherit;font-size:11px;line-height:1.6;outline:none;border-radius:0;resize:vertical;min-height:40px}
.resume-form-grid input:focus,.resume-form-grid textarea:focus,.resume-experience-form input:focus,.resume-experience-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 1px rgba(197,248,108,.12)}
.resume-form-grid input::placeholder,.resume-form-grid textarea::placeholder,.resume-experience-form input::placeholder,.resume-experience-form textarea::placeholder{color:#626973}
.resume-field-wide{grid-column:1/-1}
.resume-form-section-title{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #343940;margin-top:24px;padding-top:22px;margin-bottom:14px;font-size:13px;font-weight:650}
.resume-form-section-title span+span{font-family:var(--mono);font-size:8px;color:#707780;font-weight:400;letter-spacing:.1em}
.resume-experience-form{display:grid;gap:16px}
.resume-experience-card{border:1px solid #30353b;padding:15px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 15px}
.resume-experience-card-title{grid-column:1/-1;display:flex;justify-content:space-between;color:var(--accent);font-family:var(--mono);font-size:8px;letter-spacing:.1em}
.resume-form-grid-bottom{margin-top:18px}
.resume-form-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px;border-top:1px solid #343940;margin-top:24px;padding-top:18px}
.resume-reset{margin-left:auto;border:0;background:transparent;color:#8b929b;font-family:var(--mono);font-size:8px;letter-spacing:.07em;cursor:pointer;padding:10px 0}
.resume-reset:hover{color:#f0a19a}
body.resume-editor-open{overflow:hidden}
@media(max-width:980px){.resume-heading-row{align-items:flex-start;flex-direction:column}.resume-actions{justify-content:flex-start}.resume-profile{grid-template-columns:70px 1fr;gap:17px}.resume-monogram{width:70px;height:70px}.resume-summary-grid,.resume-detail-grid{gap:28px}}
@media(max-width:700px){.resume-section{padding-top:80px;padding-bottom:75px}.resume-heading-row{gap:22px}.resume-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.resume-action-primary{grid-column:1/-1}.resume-sheet{padding:20px 17px}.resume-profile{grid-template-columns:1fr;gap:14px;padding-bottom:22px}.resume-monogram{width:56px;height:56px;font-size:18px}.resume-meta{flex-direction:column;gap:5px}.resume-meta span+span:before{content:"";margin:0}.resume-summary-grid,.resume-detail-grid{grid-template-columns:1fr;gap:23px;padding-top:22px;padding-bottom:22px}.resume-detail-grid{padding-bottom:0}.resume-bottom-note{font-size:6px;flex-direction:column;gap:7px}.resume-editor-modal{padding:8px}.resume-editor-dialog{max-height:96vh;padding:17px 14px}.resume-form-grid,.resume-experience-card{grid-template-columns:1fr}.resume-field-wide,.resume-experience-card-title{grid-column:1}.resume-form-actions{align-items:stretch}.resume-form-actions .resume-action{flex:1}.resume-reset{width:100%;margin-left:0;text-align:left}.resume-editor-header{gap:10px}.resume-editor-header h2{font-size:28px}}
@media print{
  @page{size:A4;margin:13mm}
  body{background:#fff!important;color:#111!important;font-size:10pt!important;overflow:visible!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .noise,.site-header,.site-footer,.modal,.resume-editor-modal,.toast,#videoFileInput{display:none!important}
  main>section:not(#resume){display:none!important}
  main{display:block!important}
  #resume{display:block!important;width:100%!important;max-width:none!important;padding:0!important;margin:0!important;background:#fff!important;color:#111!important}
  #resume .resume-heading,#resume .resume-edit-note{display:none!important}
  #resume .resume-sheet{display:block!important;border:0!important;background:#fff!important;color:#111!important;padding:0!important;overflow:visible!important}
  #resume .resume-sheet:before{display:none!important}
  #resume .resume-profile{grid-template-columns:18mm 1fr!important;gap:6mm!important;padding-bottom:6mm!important;border-color:#bbb!important}
  #resume .resume-monogram{width:18mm!important;height:18mm!important;background:#f4f7ee!important;color:#354a20!important;border-color:#8aa15e!important}
  #resume .resume-label{color:#4d6b2b!important;font-size:7pt!important;margin-bottom:2mm!important}
  #resume .resume-identity h3{font-size:22pt!important;color:#111!important}
  #resume .resume-role{font-size:10pt!important;color:#333!important}
  #resume .resume-meta{font-size:8pt!important;color:#444!important;gap:2mm 5mm!important}
  #resume .resume-meta span+span:before{color:#999!important;margin-right:5mm!important}
  #resume .resume-summary-grid{grid-template-columns:1.1fr .9fr!important;gap:8mm!important;padding:5mm 0!important;border-color:#bbb!important}
  #resume .resume-detail-grid{grid-template-columns:1.15fr .85fr!important;gap:8mm!important;padding-top:5mm!important}
  #resume .resume-body-copy,#resume .resume-muted,#resume .resume-entry-description{font-size:8.5pt!important;color:#333!important;line-height:1.55!important}
  #resume .resume-skill-list{gap:1.5mm!important}
  #resume .resume-skill-list span{font-size:7pt!important;color:#333!important;border-color:#bbb!important;padding:1.2mm 2mm!important}
  #resume .resume-entry{border-color:#aaa!important;break-inside:avoid}
  #resume .resume-entry h4{font-size:9.5pt!important;color:#111!important}
  #resume .resume-entry-date{font-size:7pt!important;color:#555!important}
  #resume .resume-entry-company{font-size:8pt!important;color:#4d6b2b!important}
  #resume .resume-bottom-note{border-color:#bbb!important;color:#666!important;font-size:6.5pt!important;margin-top:5mm!important}
}


/* Independent visual-design gallery */
.design-section{padding-top:110px;padding-bottom:112px;border-top:1px solid rgba(255,255,255,.045);background:radial-gradient(ellipse at 80% 5%,rgba(115,140,78,.07),transparent 42%)}
.design-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:43px;padding:15px 0}
.design-filter-button{border:1px solid transparent;background:transparent;color:#858b93;padding:8px 11px;font-size:10px;cursor:pointer;transition:all .2s}
.design-filter-button:hover{color:var(--white)}.design-filter-button.active{border-color:#464b51;color:var(--white);background:#141619}.design-filter-button span{color:var(--accent);font-family:var(--mono);font-size:9px;margin-left:5px}
.design-count{color:#666d76;white-space:nowrap;font-family:var(--mono);font-size:8px;letter-spacing:.1em}.design-count #visibleDesignCount{color:var(--accent)}
.design-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 20px;margin-top:25px}
.design-card{min-width:0;animation:cardIn .55s both}.design-card-visual-wrap{position:relative;min-width:0}.design-card-open{width:100%;display:block;border:0;padding:0;background:transparent;text-align:left;cursor:pointer}
.design-card-visual{position:relative;display:block;aspect-ratio:1.1/1;overflow:hidden;border:1px solid #2b3036;background:#13161a;isolation:isolate;transition:transform .3s,border-color .3s}.design-card-open:hover .design-card-visual{transform:translateY(-3px);border-color:#7d925a}.design-card-visual:before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 35%,rgba(0,0,0,.15))}
.design-tone-green .design-card-visual,.design-tone-green .design-modal-placeholder,.design-modal-placeholder.design-tone-green{background:radial-gradient(circle at 70% 35%,#38472c,#121712 55%,#080b09)}
.design-tone-blue .design-card-visual,.design-tone-blue .design-modal-placeholder,.design-modal-placeholder.design-tone-blue{background:radial-gradient(circle at 75% 24%,#1c4658,#10151b 53%,#080a0d)}
.design-tone-rainbow .design-card-visual,.design-tone-rainbow .design-modal-placeholder,.design-modal-placeholder.design-tone-rainbow{background:linear-gradient(145deg,#20212a,#0e1014 55%,#25252b)}
.design-tone-warm .design-card-visual,.design-tone-warm .design-modal-placeholder,.design-modal-placeholder.design-tone-warm{background:radial-gradient(circle at 70% 20%,#604437,#1b1716 53%,#0c0b0b)}
.design-tone-neutral .design-card-visual,.design-tone-neutral .design-modal-placeholder,.design-modal-placeholder.design-tone-neutral{background:linear-gradient(145deg,#e6e6df,#a9aca8)}
.design-tone-violet .design-card-visual,.design-tone-violet .design-modal-placeholder,.design-modal-placeholder.design-tone-violet{background:radial-gradient(circle at 72% 28%,#534274,#171321 56%,#09080d)}
.design-tone-orange .design-card-visual,.design-tone-orange .design-modal-placeholder,.design-modal-placeholder.design-tone-orange{background:radial-gradient(circle at 80% 25%,#8e4b28,#221612 55%,#0c0908)}
.design-art-grid{position:absolute;inset:0;z-index:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(120deg,transparent 0%,black 55%,transparent 100%)}
.design-art-corner{position:absolute;z-index:5;top:12px;left:12px;font:8px var(--mono);letter-spacing:.13em;color:rgba(241,244,236,.62)}.design-art-bottom{position:absolute;z-index:5;left:12px;right:12px;bottom:11px;display:flex;justify-content:space-between;gap:10px;font:7px var(--mono);letter-spacing:.1em;color:rgba(241,244,236,.58)}
.design-art-object{position:absolute;inset:0;display:block;overflow:hidden}.mock-product{position:absolute;z-index:2;display:block;filter:drop-shadow(0 18px 20px rgba(0,0,0,.4))}.mock-camera{width:38%;height:35%;right:16%;top:29%;border-radius:20% 20% 18% 18%;background:linear-gradient(145deg,#f1f1eb,#9ea49e 45%,#333a39 48%,#121616 75%);border:1px solid rgba(255,255,255,.65);transform:rotate(-9deg)}.mock-camera:before{content:"";position:absolute;width:54%;aspect-ratio:1;border-radius:50%;left:23%;top:17%;background:radial-gradient(circle at 35% 32%,#c4e0db,#3b6664 18%,#10191c 45%,#050708 65%);border:3px solid #6b7774}.mock-camera:after{content:"";position:absolute;width:70%;height:18%;bottom:-15%;left:15%;border-radius:3px;background:#7c8580;transform:skewY(-20deg)}.mock-camera i{position:absolute;width:28%;height:8%;left:36%;bottom:12%;border-radius:2px;background:#6c756f}.mock-camera b{position:absolute;width:7px;height:7px;left:8%;top:9%;border-radius:50%;background:#b6ed6e;box-shadow:0 0 9px #b6ed6e}
.mock-orbit{position:absolute;width:62%;aspect-ratio:1;right:4%;top:15%;border:1px solid rgba(197,248,108,.5);border-radius:50%;transform:rotate(-25deg) scaleY(.4)}.mock-spec{position:absolute;z-index:3;left:8%;top:34%;max-width:38%;font:7px var(--mono);letter-spacing:.13em;color:var(--accent);line-height:1.8}.mock-charger{width:29%;height:43%;right:24%;top:23%;border-radius:17% 17% 12% 12%;background:linear-gradient(145deg,#fff,#d8dce0 42%,#737c86 45%,#22262d 80%);border:1px solid #f3f5f4;transform:rotate(13deg)}.mock-charger:before{content:"";position:absolute;top:-12%;left:31%;width:38%;height:16%;border-radius:2px 2px 0 0;background:#b9c1c8}.mock-charger:after{content:"";position:absolute;bottom:12%;left:20%;width:60%;height:4px;background:#aeb6bf}.mock-charger i{position:absolute;left:32%;top:30%;width:36%;height:20%;border-radius:50%;border:2px solid #7f8995}.mock-shadow{position:absolute;right:15%;bottom:18%;width:50%;height:9%;background:rgba(0,0,0,.4);filter:blur(12px);border-radius:50%}.mock-cable{position:absolute;width:48%;height:48%;right:13%;top:21%;border:8px solid transparent;border-radius:45% 55% 50% 50%;background:linear-gradient(#111,#111) padding-box,linear-gradient(130deg,#fa5d9b,#9d8aff,#70dcff,#b8f76e,#ffd477) border-box;transform:rotate(-28deg);filter:drop-shadow(0 0 8px rgba(133,174,255,.22))}.mock-cable-tip{position:absolute;width:20%;height:8%;right:13%;top:31%;border-radius:4px;background:linear-gradient(90deg,#eee,#929aa4);transform:rotate(22deg);box-shadow:0 0 0 2px #252a2e}
.mock-page-title{position:absolute;z-index:3;left:8%;top:21%;font-size:clamp(20px,3vw,38px);font-weight:800;line-height:.88;letter-spacing:-.09em;color:#f4f4ef}.mock-page-title em{font-style:normal;color:var(--accent)}.mock-device{position:absolute;right:10%;top:25%;width:29%;height:52%;border:2px solid #aab1b6;border-radius:13px;background:linear-gradient(150deg,#414a4c,#0d1112 55%,#28312c);box-shadow:0 16px 20px #0008}.mock-device:after{content:"";position:absolute;inset:8% 7%;border:1px solid #a4c778;background:radial-gradient(circle at 40% 30%,#9ab47b,transparent 30%),linear-gradient(150deg,#2c3b30,#0b100d)}.mock-copy-lines{position:absolute;z-index:3;left:8%;bottom:21%;width:35%;display:grid;gap:6px}.mock-copy-lines i{height:3px;background:#737c80}.mock-copy-lines i:nth-child(2){width:72%}.mock-copy-lines i:nth-child(3){width:51%}.mock-chip{position:absolute;left:8%;bottom:11%;color:var(--accent);font:7px var(--mono);letter-spacing:.12em}.mock-feature-ring{position:absolute;width:62%;aspect-ratio:1;right:-7%;top:15%;border:1px solid rgba(115,205,255,.6);border-radius:50%;box-shadow:0 0 45px #338bb222}.mock-feature-ring:after{content:"";position:absolute;inset:10%;border:1px dashed rgba(115,205,255,.5);border-radius:50%}.mock-feature-label{position:absolute;left:8%;bottom:20%;font:7px var(--mono);color:#9fb2b9;letter-spacing:.1em}.mock-compare-card{position:absolute;top:26%;left:10%;width:34%;height:49%;border:1px solid #777d79;background:linear-gradient(140deg,#dedfd8,#a6aca5);box-shadow:0 12px 20px #0004}.mock-compare-card i{position:absolute;left:24%;top:15%;width:52%;height:48%;border-radius:12px;background:linear-gradient(145deg,#f7f7f3,#737c7a 50%,#252a2a)}.mock-compare-card b{position:absolute;left:13%;right:13%;bottom:16%;height:3px;background:#555d58}.mock-compare-card small{position:absolute;left:10%;bottom:5%;font:6px var(--mono);color:#303632}.mock-compare-card.second{left:auto;right:10%;background:linear-gradient(140deg,#303a3d,#101519);border-color:#717c7f}.mock-compare-card.second i{background:linear-gradient(145deg,#d5e0d9,#677d7b 50%,#111b1b)}.mock-compare-card.second small{color:#d5ded5}.mock-compare-line{position:absolute;left:47%;top:49%;width:6%;height:1px;background:var(--accent);z-index:3}
.mock-sku-product{position:absolute;z-index:2;width:23%;height:43%;left:38%;top:24%;border:1px solid #c6cbc6;border-radius:12px;background:linear-gradient(145deg,#f9f9f4,#d4d8d1 45%,#707973 47%,#262d2b);box-shadow:0 12px 20px #0002}.mock-sku-product i{position:absolute;left:25%;right:25%;top:18%;aspect-ratio:1;border:3px solid #727e78;border-radius:50%;background:radial-gradient(circle,#141c1d 0 45%,#c5d0c5 47% 50%,#303b39 53%)}.mock-sku-caption{position:absolute;z-index:3;left:8%;bottom:23%;font:8px var(--mono);color:#f3f5ed;letter-spacing:.1em}.mock-sku-line{position:absolute;left:8%;bottom:19%;width:84%;height:1px;background:#929991}.design-tone-neutral .mock-sku-caption{color:#262c2a}.design-tone-neutral .mock-sku-line{background:#555c57}.bundle-one{left:30%;top:25%;transform:rotate(-9deg)}.bundle-two{left:45%;top:29%;transform:rotate(8deg)}.mock-bundle-badge{position:absolute;z-index:4;right:10%;top:19%;padding:7px 9px;background:#1b211b;color:#b8f76e;border:1px solid #536744;font:8px var(--mono)}.mock-kv-glow{position:absolute;width:65%;aspect-ratio:1;right:-3%;top:12%;border-radius:50%;background:radial-gradient(circle,#c2ff80,#45662c 15%,#111c13 49%,transparent 70%)}.mock-kv-title{position:absolute;z-index:3;left:8%;top:31%;font-size:clamp(24px,3.5vw,44px);font-weight:800;line-height:.85;letter-spacing:-.09em;color:#fff}.mock-kv-title em{font-style:normal;color:#c5f86c}.mock-kv-footer{position:absolute;z-index:3;left:8%;bottom:18%;font:7px var(--mono);color:#aab2a5;letter-spacing:.14em}.mock-ad-label{position:absolute;left:8%;top:17%;font:7px var(--mono);color:#e6a17c;letter-spacing:.14em}.mock-ad-title{position:absolute;left:8%;top:30%;font-size:clamp(22px,3.3vw,40px);font-weight:800;line-height:.9;letter-spacing:-.09em}.mock-ad-title em{font-style:normal;color:#ff9b69}.mock-ad-button{position:absolute;left:8%;bottom:17%;border:1px solid #d58d6a;padding:6px 8px;color:#f5c0a1;font:7px var(--mono)}.mock-social-tile{position:absolute;width:29%;height:51%;top:24%;border:1px solid rgba(255,255,255,.22);display:flex;align-items:flex-end;padding:8px;font-size:clamp(11px,1.5vw,18px);font-weight:800;line-height:.9;letter-spacing:-.07em;background:linear-gradient(145deg,#334d5a,#12191f)}.mock-social-tile em{font-style:normal;color:#c5f86c}.tile-one{left:7%;transform:rotate(-7deg)}.tile-two{left:35%;top:20%;background:linear-gradient(145deg,#7d4f43,#1d1514);transform:rotate(2deg)}.tile-three{right:7%;transform:rotate(7deg);background:linear-gradient(145deg,#4a5940,#11150f)}.mock-brand-symbol{position:absolute;left:9%;top:22%;font-size:clamp(35px,6vw,72px);font-weight:800;letter-spacing:-.12em}.mock-brand-symbol span{color:var(--accent)}.mock-brand-title{position:absolute;right:8%;top:25%;font-size:clamp(18px,3vw,36px);font-weight:800;line-height:.87;letter-spacing:-.08em}.mock-brand-title em{font-style:normal;color:var(--accent)}.mock-brand-rule{position:absolute;left:9%;right:9%;bottom:22%;height:1px;background:rgba(255,255,255,.45)}
.design-card-overlay{position:absolute;inset:0;z-index:6;display:flex;align-items:center;justify-content:center;background:rgba(5,7,6,0);transition:background .25s}.design-card-overlay span{font:8px var(--mono);letter-spacing:.15em;color:var(--accent);border:1px solid rgba(197,248,108,.7);padding:11px 14px;opacity:0;transform:translateY(5px);transition:all .25s}.design-card-open:hover .design-card-overlay{background:rgba(5,7,6,.35)}.design-card-open:hover .design-card-overlay span{opacity:1;transform:translateY(0)}.design-uploaded-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#111;z-index:1}.design-card-upload{position:absolute;left:10px;bottom:10px;z-index:8;background:var(--accent);color:#10120d;border:0;padding:7px 9px;font:8px var(--mono);cursor:pointer;display:none}.edit-mode .design-card-upload{display:block}.design-card-info{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-top:13px}.design-card-number{color:#626870;font:8px var(--mono);min-width:28px;padding-top:4px}.design-card-copy{flex:1;min-width:0}.design-card-copy h3{font-size:14px;line-height:1.3;font-weight:600;letter-spacing:-.025em;margin:0 0 5px}.design-card-copy p{font-size:10px;color:#7f858d;line-height:1.6;margin:0;max-width:280px}.design-card-tag{color:var(--accent);font:7px var(--mono);white-space:nowrap;padding-top:4px}.design-card-footer{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:11px;padding-top:9px;border-top:1px solid #24272b;color:#555c63;font:7px var(--mono);letter-spacing:.08em}.design-bottom{display:flex;justify-content:center;align-items:center;gap:20px;color:#71777e;font-size:8px;margin-top:60px;text-align:center}.design-modal{position:fixed;inset:0;z-index:110;display:none;align-items:center;justify-content:center;padding:20px}.design-modal.open{display:flex}.design-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.86);backdrop-filter:blur(12px)}.design-modal-dialog{position:relative;z-index:1;width:min(1060px,100%);max-height:92vh;overflow:auto;background:#101216;border:1px solid #373b42;padding:clamp(16px,3vw,28px);box-shadow:0 30px 120px #000}.design-modal-close{position:absolute;right:12px;top:12px;z-index:8;width:38px;height:38px;border:1px solid #4a4f55;background:#0d0f12;color:var(--white);font-size:24px;cursor:pointer}.design-modal-close:hover{background:var(--accent);color:#0a0b09}.design-modal-media{aspect-ratio:16/10;background:#08090a;border:1px solid #2b2f35;display:grid;place-items:center;overflow:hidden}.design-modal-media>img{width:100%;height:100%;object-fit:contain;background:#090a0c}.design-modal-meta{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:20px 0 14px}.design-modal-meta h2{font-size:clamp(24px,4vw,38px);line-height:1.05;letter-spacing:-.06em;margin:0 0 8px}.design-modal-meta p:last-child{font-size:11px;color:#9da2aa;line-height:1.7;margin:0;max-width:620px}.design-modal-meta>span{font:8px var(--mono);color:var(--accent);padding-top:5px;white-space:nowrap}.design-modal-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #2a2d33;padding-top:14px}.design-modal-actions p{font-size:9px;color:#777e86;line-height:1.7;margin:0}.design-modal-placeholder{position:relative;width:100%;height:100%;min-height:360px;overflow:hidden}.design-modal-placeholder-label{position:absolute;z-index:8;top:18px;left:18px;font:9px var(--mono);color:#aab0b8;letter-spacing:.15em}.design-modal-placeholder-art{position:absolute;inset:0;transform:scale(1.35)}.design-modal-placeholder-art .design-art-bottom,.design-modal-placeholder-art .design-art-corner{display:none}.design-modal-placeholder-art .design-art-object{inset:0}.design-modal-placeholder-art .mock-spec,.design-modal-placeholder-art .mock-page-title,.design-modal-placeholder-art .mock-kv-title,.design-modal-placeholder-art .mock-ad-title{font-size:clamp(28px,5vw,60px)}.design-modal-placeholder-art .mock-camera{width:28%;height:42%;right:24%;top:26%}.design-modal-placeholder-art .mock-charger{width:22%;height:49%;right:30%;top:23%}.design-modal-placeholder-art .mock-sku-product{width:17%;height:49%;left:42%;top:25%}.design-modal-placeholder-art .mock-copy-lines{gap:9px}.design-modal-placeholder-art .mock-copy-lines i{height:4px}.design-card[hidden]{display:none}
body.design-modal-open{overflow:hidden}
@media(max-width:1050px){.design-toolbar{align-items:flex-start;flex-direction:column}.design-count{white-space:normal;line-height:1.8}}
@media(max-width:980px){.design-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 16px}}
@media(max-width:700px){.design-section{padding-top:78px;padding-bottom:76px}.design-toolbar{margin-top:28px}.design-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 12px}.design-card-info{gap:7px}.design-card-number{min-width:20px}.design-card-copy h3{font-size:12px}.design-card-copy p{font-size:9px}.design-card-tag{display:none}.design-card-footer{font-size:6px}.design-art-corner{font-size:6px;left:8px;top:8px}.design-art-bottom{font-size:5px;left:8px;right:8px}.design-modal{padding:8px}.design-modal-dialog{max-height:96vh;padding:13px}.design-modal-media{aspect-ratio:4/3}.design-modal-placeholder{min-height:280px}.design-modal-meta{gap:10px;flex-direction:column;padding:14px 0 10px}.design-modal-meta h2{font-size:25px}.design-modal-actions{align-items:stretch;flex-direction:column;gap:10px}.design-modal-actions .resume-action{align-self:flex-start}}
@media print{.design-section,.design-modal{display:none!important}}

/* Aspect-ratio-aware media viewing: portrait short-form video and square design artwork */
.modal-media.portrait{aspect-ratio:9/16;width:auto;height:min(56vh,680px);max-width:100%;margin-inline:auto;}
.modal-media.portrait video{width:100%;height:100%;object-fit:contain;}
@media(max-width:700px){.modal-media.portrait{height:min(48vh,520px);}}
.design-modal-media.square{aspect-ratio:1/1;width:min(100%,68vh);height:auto;margin-inline:auto;}
.design-modal-media.portrait{aspect-ratio:9/16;width:auto;height:min(68vh,760px);max-width:100%;margin-inline:auto;}
.design-modal-media.landscape{aspect-ratio:16/10;}
.design-modal-media>img{object-fit:contain;}
@media(max-width:700px){.design-modal-media.square{width:min(100%,62vh);}.design-modal-media.portrait{height:min(60vh,620px);}}

/* Resume content uses explicit line breaks for the bilingual draft. */
#resumeSummary, #resumeEducation, #resumeTools, .resume-entry-description { white-space: pre-line; }
.contact-private-note { margin: 26px 0 34px; color: var(--muted); font-size: 12px; letter-spacing: .04em; }


/* Prominent bilingual language switch: clearly visible and keyboard accessible. */
.language-toggle {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 6px 9px 6px 7px;
  min-height: 44px;
  border: 1px solid rgba(197,248,108,.72);
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(197,248,108,.12), rgba(197,248,108,.035));
  color: var(--white);
  box-shadow: 0 0 0 1px rgba(197,248,108,.045), 0 5px 18px rgba(0,0,0,.16);
  transition: background .2s, border-color .2s, box-shadow .2s, transform .2s;
  text-align: left;
  white-space: nowrap;
}
.language-toggle:hover {
  background: rgba(197,248,108,.16);
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(197,248,108,.10);
  color: var(--white);
  transform: translateY(-1px);
}
.language-toggle:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}
.language-toggle-icon {
  display: grid;
  place-items: center;
  width: 29px;
  height: 29px;
  flex: 0 0 29px;
  border-radius: 8px;
  background: var(--accent);
  color: #10130b;
  font-family: var(--sans);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: -.08em;
}
.language-toggle-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1px;
  line-height: 1.15;
}
.language-toggle-label {
  color: #b8c0ad;
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.language-toggle-options {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .015em;
}
.language-option {
  color: #c9cbd0;
  transition: color .2s, background .2s;
}
.language-option.is-active {
  color: var(--accent);
}
.language-divider {
  color: #646b5a;
  font-size: 11px;
}
@media(max-width:700px) {
  .language-toggle { min-height: 40px; padding: 5px 8px; gap: 6px; border-radius: 10px; }
  .language-toggle-icon { width: 25px; height: 25px; flex-basis: 25px; font-size: 9px; }
  .language-toggle-label { display: none; }
  .language-toggle-options { font-size: 11px; gap: 4px; }
}
@media(max-width:420px) {
  .contact-pill { display: none; }
  .header-actions { gap: 10px; }
  .language-toggle { min-height: 38px; padding: 4px 7px; }
  .language-toggle-icon { width: 23px; height: 23px; flex-basis: 23px; }
}


/* Resume experience titles: prevent bilingual role text from overflowing narrow columns. */
.resume-entry-top {
  min-width: 0;
  align-items: flex-start;
}
.resume-entry h4 {
  min-width: 0;
  flex: 1 1 auto;
  overflow-wrap: anywhere;
  word-break: normal;
}
.resume-entry-date {
  flex: 0 1 auto;
  max-width: 42%;
  white-space: normal;
  overflow-wrap: anywhere;
  text-align: right;
}
.resume-entry-company {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}
@media (max-width: 560px) {
  .resume-entry-top {
    flex-direction: column;
    gap: 4px;
  }
  .resume-entry h4 {
    width: 100%;
  }
  .resume-entry-date {
    max-width: 100%;
    text-align: left;
  }
}


/* Real selected video posters; maintain the vertical 9:16 frame and keep controls legible. */
.project-poster-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;display:block}
.project-poster-shade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.28),transparent 24%,transparent 64%,rgba(0,0,0,.48))}
.project-art .art-meta{z-index:4}
.project-art .project-overlay{z-index:5}
.project-art .project-slot-label{z-index:6}
.design-card-visual .design-uploaded-image{object-fit:contain;background:#111}


/* Keep the public portfolio clean; resume editing remains available in the Resume section. */
.site-footer .edit-mode-toggle{display:none!important}
.design-modal-actions .resume-action{display:none!important}


/* Video viewer fix: detect the actual media orientation and keep 9:16 clips portrait. */
.modal {
  padding: max(10px, env(safe-area-inset-top)) 12px max(10px, env(safe-area-inset-bottom));
}
.modal-dialog {
  width: min(920px, 100%);
  max-height: calc(100dvh - 24px);
  overflow: auto;
  overscroll-behavior: contain;
}
.modal-media {
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  min-height: 0;
}
.modal-media.portrait {
  display: block;
  width: min(420px, 39.375dvh, calc(100vw - 48px));
  height: auto;
  aspect-ratio: 9 / 16;
  max-width: 100%;
  max-height: 70dvh;
  margin: 0 auto;
  justify-self: center;
  align-self: center;
}
.modal-media.portrait video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.modal-media.landscape {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  max-height: 62dvh;
}
.modal-media.landscape video {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.modal-meta {
  gap: 14px;
}
@media (max-width: 700px) {
  .modal {
    padding: max(8px, env(safe-area-inset-top)) 8px max(8px, env(safe-area-inset-bottom));
  }
  .modal-dialog {
    width: 100%;
    max-height: calc(100dvh - 16px);
    padding: 13px 10px;
  }
  .modal-media.portrait {
    width: min(420px, 39.375dvh, calc(100vw - 44px));
    max-height: 70dvh;
  }
  .modal-media.landscape {
    max-height: 44dvh;
  }
  .modal-meta {
    padding: 13px 0 8px;
  }
  .modal-meta h2 {
    padding-right: 26px;
  }
}



/* Personal portrait — uses the uploaded headshot without retouching. */
.about-intro { min-width:0; display:flex;flex-direction:column;align-items:flex-start; }
.about-photo-frame { width: min(198px,65%); margin:26px 0 0; padding:8px; border:1px solid #3d4440; background:#101417; box-shadow:0 16px 40px rgba(0,0,0,.18); }
.about-photo-frame img { display:block; width:100%; aspect-ratio:3/4; height:auto; object-fit:contain; background:#ececec; }
.about-photo-frame figcaption { display:flex; justify-content:space-between; gap:6px; margin-top:8px; color:#a9b5a3; font:9px/1.4 var(--mono,monospace); letter-spacing:.06em; }
.resume-profile { grid-template-columns:96px minmax(0,1fr); gap:23px; }
.resume-monogram-photo { width:96px; height:120px; padding:0; overflow:hidden; border-color:rgba(197,248,108,.5); background:#e9e9e9; }
.resume-monogram-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:center center; }
.resume-monogram-initials { position:absolute!important; width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important; }
@media(max-width:700px) {
  .about-photo-frame { width:min(182px,58%); margin-top:22px; }
  .resume-profile { grid-template-columns:76px minmax(0,1fr); gap:14px; align-items:center; }
  .resume-monogram-photo { width:76px; height:99px; }
  .resume-identity h3 { overflow-wrap:anywhere; }
}
@media print {
  #resume .resume-profile { grid-template-columns:22mm minmax(0,1fr)!important; gap:5mm!important; }
  #resume .resume-monogram-photo { width:22mm!important; height:28mm!important; padding:0!important; background:#f5f5f5!important; }
  #resume .resume-monogram-photo img { width:100%!important; height:100%!important; object-fit:cover!important; }
}


/* HR presentation: only the finished portfolio and a printable resume are visible. */
body:not(.owner-edit-mode) #editResumeButton,
body:not(.owner-edit-mode) #exportResumeButton,
body:not(.owner-edit-mode) #importResumeButton,
body:not(.owner-edit-mode) .resume-edit-note,
body:not(.owner-edit-mode) #editModeToggle,
body:not(.owner-edit-mode) .design-modal-actions,
body:not(.owner-edit-mode) #modalHelp {display:none!important}
body.owner-edit-mode .site-footer .edit-mode-toggle{display:inline-flex!important}
body.owner-edit-mode .design-modal-actions .resume-action{display:inline-flex!important}
body.owner-edit-mode .resume-edit-note{display:block!important}
.resume-entry h4 {font-size:clamp(14px,1.5vw,18px);line-height:1.4;letter-spacing:0;overflow-wrap:anywhere}
.resume-entry-date{font-size:10px;line-height:1.5;white-space:normal;overflow-wrap:break-word}
.resume-entry-description{white-space:normal!important;line-height:1.7}
.resume-sheet p, .resume-section p{overflow-wrap:break-word}
@media(max-width:720px){.resume-entry-top{display:flex;flex-direction:column;gap:5px}.resume-entry-date{text-align:left;max-width:none}.resume-actions #printResumeButton{display:inline-flex}}
@media print {body:not(.owner-edit-mode) #editResumeButton,body:not(.owner-edit-mode) #exportResumeButton,body:not(.owner-edit-mode) #importResumeButton {display:none!important}}


/* HR: prefer the ready-to-send bilingual PDF, while preserving browser print in owner mode. */
body:not(.owner-edit-mode) #printResumeButton{display:none!important}
#downloadResumePdf{display:inline-flex;text-decoration:none;align-items:center;justify-content:center}
