:root{color-scheme:dark;font-family:Lato,sans-serif;background:#333;color:#fff}html{scroll-behavior:smooth}html,body{margin:0;min-height:100%;background:#333}body{overflow-x:hidden}button,a{font:inherit}a,a:visited{color:#fff}a:hover{text-decoration:underline}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#announcementHeader>div{width:100%;text-align:center;color:#fff;padding:.5vw 1vw;font-family:Titillium Web,sans-serif;text-transform:uppercase;font-size:clamp(11px,1.1vw,15px);letter-spacing:.08em}#announcementHeader>div:first-child{background-color:#d00000}#announcementHeader>div:nth-child(2){background-color:#e85d04}#announcementHeader>div:nth-child(3){background-color:#ffb301;color:#111}.menu-wrapper{width:100%;font-family:Titillium Web,sans-serif}.menu-toggle{padding:1.4em;position:fixed;top:0;right:0;cursor:pointer;z-index:400;background-color:#333;border:0;line-height:1}.hamburger,.hamburger:before,.hamburger:after{content:"";display:block;background:#ebebd3;height:3px;width:clamp(28px,4vw,44px);border-radius:3px;transition:all ease-in-out .35s}.hamburger:before{transform:translateY(-7px)}.hamburger:after{transform:translateY(4px)}.menu-toggle.open .hamburger{transform:rotate(45deg)}.menu-toggle.open .hamburger:before{opacity:0}.menu-toggle.open .hamburger:after{transform:translateY(-1px) rotate(-90deg)}nav{margin:0;padding:0}nav ul{list-style-type:none;padding:0;margin:0;display:none}nav ul.opening{display:block;position:fixed;z-index:300;top:0;right:0;margin-top:20px;min-width:240px}nav li{border-bottom:1px solid #f6f4e2}nav li:last-child{border-bottom:none}nav a{color:#ebebd3;background:#333;display:block;padding:1.4em 4em 1.4em 2.5em;text-transform:uppercase;text-decoration:none;font-size:clamp(13px,1.4vw,17px);letter-spacing:.06em;transition:background-color .18s ease}nav a:hover,nav a:focus{background:#555;text-decoration:none}#site_title{position:fixed;left:0;top:0;font-size:clamp(20px,3vw,42px);margin:1.5vw 2vw;color:#fff;z-index:200;font-family:Lato,sans-serif;font-weight:900;background-color:#1111118c;pointer-events:none;line-height:1.1;letter-spacing:normal;transition:top .4s ease,left .4s ease,font-size .4s ease,letter-spacing .4s ease,line-height .4s ease,margin .4s ease,background-color .4s ease}#site_minititle{font-size:clamp(11px,1.3vw,18px);font-family:Titillium Web,sans-serif;color:#aaa;font-weight:300;margin-top:.3em;transition:opacity .3s ease}#site_title.at-top{background-color:transparent}#site_title.at-top #site_minititle{opacity:0;pointer-events:none}#site_minititle a,#site_minititle a:visited{color:#aaa;text-decoration:none;pointer-events:all}#site_minititle a:hover{color:#fff}#socialmedia a{margin-right:1.2em}.page-content{padding-top:clamp(120px,14vw,200px)}.port-section{padding:2vw 4vw 5vw}.section-label{font-family:Titillium Web,sans-serif;font-size:clamp(9px,.8vw,12px);letter-spacing:.4em;text-transform:uppercase;color:#888;margin-bottom:3vw}.hero-name{font-family:Lato,sans-serif;font-weight:900;font-size:clamp(56px,10vw,140px);line-height:.9;letter-spacing:-.02em;color:#fff;margin:0 0 4vw;visibility:hidden}.hero-sub{font-size:clamp(13px,1.2vw,18px);color:#aaa;max-width:600px;line-height:1.7;font-family:Titillium Web,sans-serif}.hero-sub p{margin:0 0 1rem}.lucky-panel{margin:1.5rem 0 1.75rem}.lucky-action{display:inline-block;position:relative}.lucky-tooltip{background:#111;border:1px solid #f6f4e2;box-shadow:0 10px 24px #00000052;color:#f6f4e2;font-size:.82rem;font-weight:600;line-height:1.35;left:calc(100% + 14px);max-width:min(280px,80vw);padding:.7rem .85rem;pointer-events:none;position:absolute;text-align:center;top:50%;transform:translateY(-50%);width:max-content;z-index:4}.lucky-tooltip:after{background:#111;border-bottom:1px solid #f6f4e2;border-left:1px solid #f6f4e2;content:"";height:10px;left:-6px;position:absolute;top:50%;transform:translateY(-50%) rotate(45deg);width:10px}@media (max-width: 760px){.lucky-tooltip{bottom:calc(100% + 12px);left:50%;top:auto;transform:translate(-50%)}.lucky-tooltip:after{border-bottom:1px solid #f6f4e2;border-left:0;border-right:1px solid #f6f4e2;bottom:-6px;left:50%;top:auto;transform:translate(-50%) rotate(45deg)}}.lucky-button{background:#f6f4e2;border:1px solid #f6f4e2;color:#222;cursor:pointer;font-family:Titillium Web,sans-serif;font-size:clamp(12px,1vw,15px);font-weight:700;letter-spacing:.08em;min-height:42px;padding:.72rem 1rem;text-transform:uppercase;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.lucky-button:hover,.lucky-button:focus-visible{background:transparent;color:#f6f4e2;transform:translateY(-2px)}.lucky-button:disabled{cursor:wait;opacity:.65;transform:none}.lucky-text,.lucky-error{border-left:2px solid #f6f4e2;margin:1rem 0 0;max-width:720px;padding-left:1rem}.lucky-text{color:#ddd;font-style:italic}.lucky-error{border-left-color:#d00000;color:#ffb3b3}.hero-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:1.5rem 0 1.75rem;max-width:960px}.hero-link{border:1px solid #505050;color:#fff;display:flex;flex-direction:column;gap:.25rem;min-height:76px;min-width:0;padding:.85rem .95rem;text-decoration:none;transition:background-color .18s ease,border-color .18s ease,transform .18s ease}.hero-link:hover,.hero-link:focus-visible{background-color:#ffffff14;border-color:#888;text-decoration:none;transform:translateY(-2px)}.hero-link-label{color:#fff;font-family:Lato,sans-serif;font-size:clamp(14px,1.15vw,18px);font-weight:900;line-height:1.1}.hero-link-desc{color:#aaa;font-size:clamp(10px,.85vw,14px);line-height:1.35;overflow-wrap:anywhere;word-break:normal}.badge-note{color:#c8c8c8}.skill-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:1.2em}.skill-badges img{height:26px;opacity:.85;transition:opacity .2s ease,transform .2s ease}.skill-badges img:hover{opacity:1;transform:translateY(-1px)}.front-image-holder{display:block;overflow:hidden;position:relative;width:100%}.project-link{color:inherit;cursor:pointer;display:block;text-decoration:none}.project-visual{display:block;width:100%;min-height:clamp(420px,78vh,860px);height:clamp(420px,78vh,860px);object-fit:cover;object-position:center;transition:filter .2s ease,transform .28s ease}.front-image-holder:hover .project-visual,.front-image-holder:focus-within .project-visual{filter:brightness(1.08);transform:scale(1.01)}.project-link:focus-visible{outline:3px solid #f6f4e2;outline-offset:-6px}.front-image-desc{position:fixed;right:0;top:20%;margin:10px;font-size:clamp(14px,2.5vw,30px);display:none;text-align:right;max-width:55%;background-color:#00000069;font-family:Titillium Web,sans-serif;line-height:1.4;padding:.5em .8em;pointer-events:none;z-index:150}.front-image-desc.visible{display:block}.front-image-title{font-size:clamp(24px,4vw,60px);font-family:Lato,sans-serif;font-weight:900;display:block;margin-bottom:.2em;color:#fff}.front-image-sub{color:#ccc;font-size:clamp(11px,1.3vw,18px);display:block}.front-image-sub.detail{margin-top:.4em}.project-link-hint{border-top:1px solid rgba(246,244,226,.45);color:#f6f4e2;display:inline-block;font-size:clamp(10px,1vw,14px);font-weight:700;letter-spacing:.08em;margin-top:.9em;padding-top:.55em;text-transform:uppercase}footer{font-family:Titillium Web,sans-serif;text-transform:uppercase;background-color:#2a2a2a;border-top:1px solid #484848;padding:4vw 4vw 3vw;color:#aaa;font-size:clamp(11px,1vw,15px);letter-spacing:.06em;z-index:300;position:relative}footer a,footer a:visited,footer a:hover{color:#fff;text-decoration:none}footer a:hover{text-decoration:underline}.footer-name{font-family:Lato,sans-serif;font-size:clamp(18px,2.5vw,34px);font-weight:900;color:#fff;margin-bottom:.5em}.footer-links{display:flex;flex-wrap:wrap;gap:.5em 2em;margin-top:1.5vw}.footer-sections{margin-top:2vw;border-top:1px solid #484848;padding-top:1.5vw}.footer-sections ul{list-style:none;padding:0;margin:0;display:inline}.footer-sections li{display:inline}.footer-sections li+li:before{content:" | ";color:#555}@media (max-width: 768px){#announcementHeader>div{font-size:3.5vw;padding:2vw 1vw}.front-image-desc{max-width:calc(100% - 20px);top:auto;bottom:16px}.project-visual{min-height:70vh}.hero-links{grid-template-columns:1fr}}
