@font-face{font-family:"DM Sans";font-style:normal;font-weight:400 700;font-display:swap;src:url("assets/fonts/dm-sans-latin.woff2") format("woff2")}
@font-face{font-family:Manrope;font-style:normal;font-weight:600 800;font-display:swap;src:url("assets/fonts/manrope-latin.woff2") format("woff2")}
:root{
  --bg:#11110f;--surface:#1a1a18;--surface-2:#22221f;--line:#353530;--text:#f3f1eb;
  --muted:#b8b5ac;--orange:#ff5b35;--orange-dark:#a92b17;--cream:#ded9cc;--green:#77d69d;
  --radius:22px;--shadow:0 18px 60px rgba(0,0,0,.22);color-scheme:dark
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{min-height:100vh;margin:0;overflow-x:hidden;background:var(--bg);color:var(--text);font-family:"DM Sans",sans-serif;line-height:1.5}
a{color:inherit}
img{max-width:100%}
.shell{width:min(calc(100% - 40px),1180px);margin-inline:auto}
.skip-link{position:fixed;top:12px;left:12px;z-index:100;padding:10px 14px;border-radius:8px;background:var(--text);color:var(--bg);font-weight:700;text-decoration:none;transform:translateY(-150%)}
.skip-link:focus{transform:none}
.ambient{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.ambient span{position:absolute;width:520px;height:520px;border-radius:50%;filter:blur(130px);opacity:.09;background:var(--orange)}
.ambient span:first-child{top:-340px;left:-180px}.ambient span:last-child{right:-320px;bottom:-380px}
.site-header{height:104px;display:flex;align-items:center;gap:42px}
.brand{display:inline-flex;align-items:center;gap:12px;margin-right:auto;font-family:Manrope,sans-serif;font-size:15px;font-weight:800;letter-spacing:.055em;text-decoration:none}
.brand-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:10px 4px 10px 4px;background:var(--orange);color:white;font-size:19px;box-shadow:0 8px 22px rgba(255,91,53,.2)}
.site-header nav{display:flex;gap:30px}
.site-header nav a,.header-contact{position:relative;color:var(--muted);font-size:14px;font-weight:600;text-decoration:none;transition:color .2s ease}
.site-header nav a:hover,.site-header nav a[aria-current=page],.header-contact:hover{color:var(--text)}
.site-header nav a[aria-current=page]::after{content:"";position:absolute;right:0;bottom:-9px;left:0;height:2px;border-radius:2px;background:var(--orange)}
.header-contact{padding:11px 15px;border:1px solid var(--line);border-radius:99px;color:var(--text)}
.contact-short{display:none}
.bento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:112px;gap:14px}
.tile{position:relative;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);transform-style:preserve-3d;transition:transform .22s cubic-bezier(.2,.8,.2,1),border-color .22s,box-shadow .22s}
.kicker{margin:0;color:#aaa79f;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.identity-card{grid-column:1/span 5;grid-row:1/span 5;background:linear-gradient(145deg,#20201d,#181816)}
.identity-card::before{content:"";position:absolute;inset:0;z-index:0;background-image:linear-gradient(rgba(243,241,235,.085) 1px,transparent 1px),linear-gradient(90deg,rgba(243,241,235,.085) 1px,transparent 1px),linear-gradient(90deg,transparent 0 82px,rgba(255,91,53,.24) 82px 83px,transparent 83px);background-size:28px 28px,28px 28px,100% 100%;mask-image:linear-gradient(180deg,#000 0 58%,transparent 88%);pointer-events:none}
.identity-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.42));pointer-events:none}
.identity-copy{position:relative;z-index:2;padding:30px}
.identity-copy h1{margin:16px 0 9px;font-family:Manrope,sans-serif;font-size:clamp(52px,6vw,78px);font-weight:800;line-height:.84;letter-spacing:-.075em;text-transform:uppercase}
.accent-dot{color:var(--orange)}
.role{max-width:245px;margin:0;color:var(--cream);font-size:15px;line-height:1.35}
.tags{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0 0;padding:0;list-style:none}
.tags li{padding:6px 9px;border:1px solid rgba(255,255,255,.14);border-radius:99px;background:rgba(15,15,14,.54);color:#d4d0c7;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;backdrop-filter:blur(8px)}
.portrait{position:absolute;right:-40px;bottom:-88px;width:78%;height:78%;z-index:1;filter:saturate(.72) contrast(1.05)}
.portrait::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--surface) 0%,transparent 32%)}
.portrait img{width:100%;height:100%;object-fit:cover;object-position:center 58%;border-radius:50% 0 0 0;mask-image:linear-gradient(90deg,transparent 0,#000 24%)}
.id-code{position:absolute;right:24px;bottom:20px;z-index:3;color:#b5b1a8;font-family:monospace;font-size:12px;letter-spacing:.12em;writing-mode:vertical-rl}
.statement-card{grid-column:6/span 7;grid-row:1/span 3;padding:30px;background:#1d1d1a}
.grid-surface{background-color:#1b1b19;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:34px 34px}
.grid-surface::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 50%,rgba(255,91,53,.19),transparent 34%)}
.statement-copy{position:relative;z-index:2;max-width:510px;margin-top:22px}
.availability{display:inline-flex;align-items:center;gap:7px;color:#d0ccc3;font-size:12px}.availability i{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(119,214,157,.1)}
.statement-copy h2{margin:10px 0 12px;font-family:Manrope,sans-serif;font-size:clamp(32px,3.5vw,48px);line-height:.95;letter-spacing:-.05em;text-transform:uppercase}
.statement-copy h2 em{color:var(--orange);font-style:normal}
.statement-copy p{max-width:430px;margin:0;color:var(--muted);font-size:14px}
.statement-cta{display:inline-flex;align-items:center;gap:8px;margin-top:15px;color:var(--text);font-size:13px;font-weight:700;text-decoration:none}.statement-cta span{color:var(--orange)}
.orbit{position:absolute;right:24px;bottom:20px;z-index:1;width:158px;height:158px;border:1px solid rgba(255,91,53,.28);border-radius:50%;animation:orbit-spin 13s linear infinite;transform-origin:center}
.orbit::before,.orbit::after{content:"";position:absolute;inset:18px;border:1px solid rgba(255,255,255,.09);border-radius:50%}.orbit::after{inset:41px}
.orbit-core{position:absolute;inset:54px;display:grid;place-items:center;border-radius:50%;background:var(--orange);color:white;font-family:monospace;font-size:12px;font-weight:700;animation:orbit-counter-spin 13s linear infinite}
.orbit>i{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--cream)}.orbit>i:nth-of-type(1){top:20px;left:22px}.orbit>i:nth-of-type(2){right:-3px;top:75px;background:var(--orange)}.orbit>i:nth-of-type(3){bottom:13px;left:42px}
.link-tile{grid-row:4/span 2;display:flex;align-items:flex-start;gap:12px;padding:22px;text-decoration:none;transition:transform .22s cubic-bezier(.2,.8,.2,1),border-color .22s ease,box-shadow .22s ease}
.link-tile::before,.equipment-card::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;background:radial-gradient(220px circle at var(--pointer-x,-300px) var(--pointer-y,-300px),rgba(255,255,255,.09),transparent 70%);transition:opacity .25s}
.link-tile .tile-icon{width:42px;height:42px;display:grid;flex:none;place-items:center;border:1px solid var(--line);border-radius:13px;background:#131311;font-size:20px}
.link-tile b{display:block;font-family:Manrope,sans-serif;font-size:17px}.link-tile small{display:block;margin-top:3px;color:var(--muted);font-size:12px;line-height:1.35}
.tile-icon img{display:block;width:24px;height:24px}
.arrow{position:absolute;top:20px;right:20px;color:#807d76;font-size:18px;transition:transform .2s,color .2s}
.github-card{grid-column:6/span 4;background:#20201e}.code-lines{position:absolute;right:20px;bottom:18px;left:22px;color:#99958d;font-family:monospace;font-size:12px;line-height:1.5}
.strava-card{grid-column:10/span 3;background:linear-gradient(145deg,#d74926,#a62816);border-color:#dc5534}.strava-card .tile-icon{border-color:rgba(255,255,255,.24);background:rgba(0,0,0,.13)}.strava-card small{color:#f6c7b9}.strava-card .arrow{color:#fff}
.elevation{position:absolute;right:0;bottom:0;left:0;height:68px;display:flex;align-items:end;gap:3px;padding:0 22px;opacity:.28}.elevation i{flex:1;height:var(--h,30%);border-radius:3px 3px 0 0;background:white}.elevation i:nth-child(1){--h:20%}.elevation i:nth-child(2){--h:34%}.elevation i:nth-child(3){--h:50%}.elevation i:nth-child(4){--h:78%}.elevation i:nth-child(5){--h:55%}.elevation i:nth-child(6){--h:68%}.elevation i:nth-child(7){--h:90%}
.social-card{grid-row:6/span 2;background:#181816}.instagram-card{grid-column:1/span 3}.x-card{grid-column:4/span 3}.social-card .tile-icon{width:48px;height:48px;border:1px solid var(--line);background:#131311;font-size:24px}.social-card small{max-width:150px}
.about-link{grid-column:7/span 6;grid-row:6/span 2;padding:25px;text-decoration:none;background:var(--cream);color:#181816}
.about-link .kicker{color:#59564f}.about-link h2{margin:17px 0 8px;font-family:Manrope,sans-serif;font-size:26px;line-height:1.04;letter-spacing:-.045em;text-transform:uppercase}.about-link h2 span{color:var(--orange-dark)}.about-link>p:not(.kicker){max-width:340px;margin:0;color:#514e48;font-size:13px}.round-arrow{position:absolute;right:23px;bottom:21px;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#181816;color:white;font-size:20px}
.quebec-card{grid-column:1/span 4;grid-row:8/span 2;display:flex;justify-content:space-between;padding:24px;background:linear-gradient(135deg,#191917,#24231e)}
.quebec-card h2{margin:17px 0 7px;font-family:Manrope,sans-serif;font-size:20px;line-height:1.05}.quebec-card p:last-child{margin:0;color:var(--muted);font-size:13px}
.map-mark{position:absolute;right:-28px;bottom:-30px;width:150px;height:150px;border:1px solid #4c4941;border-radius:50%;background:radial-gradient(circle at 50% 50%,var(--orange) 0 3px,transparent 4px),linear-gradient(40deg,transparent 45%,rgba(255,255,255,.06) 46% 48%,transparent 49%)}.map-mark::after{content:"";position:absolute;inset:24px;border:1px dashed #4c4941;border-radius:50%}.map-mark span{position:absolute;top:36px;left:32px;color:#aaa69d;font-family:monospace;font-size:12px}
.setup-card{grid-column:5/span 8;grid-row:8/span 2;padding:24px;text-decoration:none;background:#20201d}
.setup-card h2{max-width:230px;margin:16px 0 18px;font-family:Manrope,sans-serif;font-size:23px;line-height:1.05;letter-spacing:-.04em;text-transform:uppercase}.text-link{color:var(--orange);font-size:13px;font-weight:700}.text-link b{margin-left:5px}
.server-stack{position:absolute;right:24px;bottom:22px;width:98px;transform:rotate(-5deg)}.server-stack i{display:block;height:22px;margin-top:6px;border:1px solid #4d4a43;border-radius:5px;background:#151513;box-shadow:5px 6px 0 #0e0e0d}.server-stack i::after{content:"";display:block;width:4px;height:4px;margin:8px 0 0 10px;border-radius:50%;background:var(--orange);box-shadow:10px 0 #5b5852}
.projects{scroll-margin-top:24px;margin-top:64px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:34px;margin-bottom:20px}.section-heading h2{max-width:620px;margin:10px 0 0;font-family:Manrope,sans-serif;font-size:clamp(34px,5vw,58px);line-height:.96;letter-spacing:-.055em;text-transform:uppercase}.section-heading>p{max-width:430px;margin:0;color:var(--muted);font-size:14px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.project-card{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);transition:transform .22s cubic-bezier(.2,.8,.2,1),border-color .22s,box-shadow .22s}.project-card:first-child{grid-column:span 2}.project-shot{display:block;overflow:hidden;aspect-ratio:16/9;background:#0e0e0d;border-bottom:1px solid var(--line)}.project-card:first-child .project-shot{aspect-ratio:2.15/1}.project-shot img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .4s ease}.project-copy{padding:25px}.project-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.project-title-row h3{margin:7px 0 0;font-family:Manrope,sans-serif;font-size:25px;letter-spacing:-.035em}.project-status{flex:none;padding:6px 9px;border:1px solid #4a4943;border-radius:99px;color:#d5d2ca;font-size:12px;font-weight:700}.project-copy>p{margin:0 0 9px;color:var(--muted);font-size:14px}.project-copy>p strong{color:var(--text)}.project-tech{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0;padding:0;list-style:none}.project-tech li{padding:6px 9px;border-radius:7px;background:#121210;color:#cbc8bf;font-family:monospace;font-size:12px}.project-link{display:inline-flex;align-items:center;gap:7px;color:var(--orange);font-size:13px;font-weight:700;text-decoration:none}
.referrals{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:14px;padding:28px 30px;border:1px solid var(--line);border-radius:var(--radius);background:#181816}
.referrals h2{margin:8px 0 0;font-family:Manrope,sans-serif;font-size:22px;letter-spacing:-.035em}.referral-note{max-width:400px;margin:7px 0 0;color:var(--muted);font-size:12px}.referral-links{display:grid;grid-template-columns:repeat(2,minmax(210px,1fr));gap:10px}.referral-links a{display:flex;align-items:center;gap:12px;padding:14px 15px;border:1px solid var(--line);border-radius:14px;background:#20201d;text-decoration:none;transition:border-color .2s,transform .2s}.referral-links a .referral-icon{width:34px;height:34px;display:grid;flex:none;place-items:center;border-radius:10px;background:#151513;color:var(--orange);font-size:18px}.referral-links a span{min-width:0;flex:1}.referral-links a b{font-size:13px}.referral-links a small{display:block;color:var(--muted);font-size:12px;line-height:1.35}.referral-links a>b{color:#aaa69d}
.footer{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:52px;padding:26px 0 34px;border-top:1px solid var(--line);color:#aaa79f;font-size:12px}.footer p{margin:0}.footer a{text-decoration:none}.footer-links{display:flex;align-items:center;gap:18px}.footer-links a:hover,.footer-links a[aria-current=page]{color:var(--text)}

/* Secondary pages */
.page-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:14px;margin-bottom:14px}
.hero-copy,.hero-aside{min-height:300px;padding:34px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}
.hero-copy{background-color:#1b1b19;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:36px 36px}
.hero-copy h1{max-width:780px;margin:30px 0 16px;font-family:Manrope,sans-serif;font-size:clamp(42px,6vw,72px);font-weight:800;line-height:.9;letter-spacing:-.065em;text-transform:uppercase}.hero-copy h1 em{color:var(--orange);font-style:normal}.hero-copy>p:last-child{max-width:590px;margin:0;color:var(--muted);font-size:14px}
.hero-aside{position:relative;overflow:hidden;background:var(--orange);color:#fff}.hero-aside .big-number{position:absolute;right:-10px;bottom:-46px;font-family:Manrope,sans-serif;font-size:180px;font-weight:800;line-height:1;opacity:.12}.hero-aside blockquote{position:relative;z-index:1;margin:64px 0 0;font-family:Manrope,sans-serif;font-size:23px;font-weight:700;line-height:1.18;letter-spacing:-.035em}.hero-aside cite{display:block;margin-top:18px;font-family:"DM Sans",sans-serif;font-size:12px;font-style:normal;font-weight:500;opacity:.82}
.content-bento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}.content-card{grid-column:span 6;min-height:250px;padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.content-card.wide{grid-column:span 12}.content-card.orange{background:var(--orange);border-color:#d94a2a}.content-card.cream{background:var(--cream);color:#191917;border-color:#ded9cc}.content-card h2{margin:18px 0 13px;font-family:Manrope,sans-serif;font-size:27px;line-height:1.05;letter-spacing:-.04em}.content-card p{margin:0 0 13px;color:var(--muted);font-size:13px;line-height:1.7}.content-card.orange p{color:#ffd9cf}.content-card.cream p{color:#514e48}.content-card strong{color:var(--text)}.content-card.cream strong{color:#191917}
.learning-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}.learning-item{padding:18px;border:1px solid var(--line);border-radius:15px;background:#151513}.learning-item .ui-icon{color:var(--orange);font-size:20px}.learning-item h3{margin:22px 0 5px;font-size:14px}.learning-item p{margin:0;font-size:12px;line-height:1.5}
.sport-icons{position:absolute;right:24px;bottom:24px;display:flex;gap:8px}.sport-icons span{width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.24);border-radius:50%;font-size:19px}
.content-card.orange{position:relative;overflow:hidden}
.page-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:8px;padding:11px 16px;border:1px solid var(--line);border-radius:99px;background:var(--surface);font-size:12px;font-weight:700;text-decoration:none;transition:transform .2s,border-color .2s}.button-primary{border-color:var(--orange);background:var(--orange);color:white}
.equipment-layout{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}.equipment-section{grid-column:span 6;padding:26px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.equipment-section.wide{grid-column:span 12}.equipment-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.equipment-heading h2{margin:0;font-family:Manrope,sans-serif;font-size:23px;letter-spacing:-.035em}.equipment-heading>span{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#121210;color:var(--orange);font-size:18px}.equipment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.equipment-section.wide .equipment-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.equipment-card{position:relative;min-height:170px;display:flex;flex-direction:column;padding:18px;border:1px solid var(--line);border-radius:15px;background:#151513;text-decoration:none;transition:border-color .2s,transform .2s}.equipment-card .card-icon{width:35px;height:35px;display:grid;place-items:center;border-radius:10px;background:#22221f;color:#d9d6ce}.equipment-card h3{margin:26px 0 7px;font-family:Manrope,sans-serif;font-size:15px;line-height:1.2}.equipment-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.external-link{margin-top:auto;padding-top:14px;color:var(--orange);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.error-layout{min-height:500px;display:grid;place-items:center;text-align:center}.error-layout .error-code{color:var(--orange);font-family:Manrope,sans-serif;font-size:clamp(100px,20vw,220px);font-weight:800;line-height:.8;letter-spacing:-.1em}.error-layout h1{margin:22px 0 8px;font-family:Manrope,sans-serif;font-size:32px}.error-layout p{margin:0;color:var(--muted)}
.legal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.legal-card{position:relative;min-height:300px;padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);transition:transform .22s cubic-bezier(.2,.8,.2,1),border-color .22s}.legal-card.wide{grid-column:span 2;min-height:0}.legal-icon{position:absolute;top:25px;right:25px;width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:13px;background:#141412;color:var(--orange)}.legal-card h2{margin:25px 0 13px;font-family:Manrope,sans-serif;font-size:26px;letter-spacing:-.04em}.legal-card p{max-width:800px;margin:0 0 13px;color:var(--muted);font-size:13px;line-height:1.7}.legal-card strong{color:var(--text)}.legal-card dl{margin:25px 0 0}.legal-card dl div{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-top:1px solid var(--line);font-size:12px}.legal-card dt{color:var(--muted)}.legal-card dd{margin:0}.legal-card a{color:var(--text)}.legal-link{display:inline-block;margin-top:10px;color:var(--orange)!important;font-size:12px;font-weight:700;text-decoration:none}
.reveal{animation:enter .6s backwards}.reveal:nth-child(2){animation-delay:.05s}.reveal:nth-child(3){animation-delay:.1s}.reveal:nth-child(4){animation-delay:.15s}.reveal:nth-child(5){animation-delay:.2s}.reveal:nth-child(6){animation-delay:.25s}
@keyframes enter{from{opacity:0;filter:blur(4px)}to{opacity:1;filter:none}}
@keyframes orbit-spin{from{transform:translate(var(--orbit-shift-x,0),var(--orbit-shift-y,0)) rotate(0deg)}to{transform:translate(var(--orbit-shift-x,0),var(--orbit-shift-y,0)) rotate(360deg)}}@keyframes orbit-counter-spin{to{transform:rotate(-360deg)}}
@media (hover:hover){.tile:hover,.equipment-card:hover,.content-card:hover,.hero-copy:hover,.hero-aside:hover,.legal-card:hover,.learning-item:hover,.referral-links a:hover,.project-card:hover{z-index:2;transform:translateY(-2px);border-color:#5d5a53;box-shadow:0 22px 64px rgba(0,0,0,.3)}.project-card:hover .project-shot img{transform:scale(1.018)}}
@media (hover:hover) and (pointer:fine){.link-tile:hover::before,.equipment-card:hover::before{opacity:.65}.link-tile:hover .arrow{color:var(--text);transform:translate(2px,-2px)}.button:hover{transform:translateY(-1px);border-color:#5d5a53}}
a:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
@media(max-width:940px){.site-header{gap:22px}.bento{grid-auto-rows:108px}.home-bento>*{grid-row:auto}.identity-card{grid-column:span 6}.statement-card{grid-column:span 6}.statement-copy h2{font-size:36px}.orbit{opacity:.62}.link-tile{grid-column:span 3}.social-card{grid-column:span 3}.about-link{grid-column:span 6}.quebec-card{grid-column:span 3}.setup-card{grid-column:span 3}.server-stack{opacity:.35}.page-hero{grid-template-columns:1fr}.hero-aside{min-height:220px}.content-card{grid-column:span 12}.equipment-section,.equipment-section.wide{grid-column:span 12}}
@media(max-width:700px){.shell{width:min(calc(100% - 24px),1180px)}.site-header{height:auto;min-height:86px;flex-wrap:wrap;padding:16px 0}.brand{margin-right:auto}.site-header nav{order:3;width:100%;justify-content:space-between;padding-top:13px;border-top:1px solid var(--line)}.header-contact{padding:8px 11px;font-size:11px}.bento{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto}.tile{min-height:190px}.identity-card,.statement-card,.about-link,.setup-card,.link-tile,.social-card,.quebec-card{grid-column:span 2;grid-row:auto}.identity-card{min-height:510px}.portrait{right:auto;left:50%;bottom:-24px;width:100%;height:66%;transform:translateX(-50%);filter:saturate(.8) contrast(1.03)}.portrait::after{background:linear-gradient(180deg,transparent 52%,rgba(24,24,22,.72) 100%)}.portrait img{object-position:center center;border-radius:42% 42% 0 0;mask-image:linear-gradient(180deg,#000 0 78%,transparent 100%)}.id-code{right:18px}.statement-card{min-height:390px;padding:25px}.statement-copy{margin-top:18px}.statement-copy p{max-width:70%}.orbit{right:18px;bottom:18px;width:132px;height:132px}.orbit::before{inset:15px}.orbit::after{inset:34px}.orbit-core{inset:44px}.orbit>i:nth-of-type(1){top:16px;left:18px}.orbit>i:nth-of-type(2){top:62px}.orbit>i:nth-of-type(3){bottom:10px;left:34px}.link-tile{min-height:150px;flex-direction:row}.code-lines,.elevation{opacity:.38}.about-link{min-height:240px}.setup-card{min-height:220px}.referrals{align-items:flex-start;flex-direction:column;padding:24px}.referral-links{width:100%;grid-template-columns:1fr}.footer{align-items:flex-start;flex-direction:column}.footer-links{width:100%;justify-content:space-between;padding-top:12px;border-top:1px solid var(--line)}.hero-copy,.hero-aside{padding:26px}.content-bento{grid-template-columns:1fr}.content-card,.content-card.wide{grid-column:1;padding:23px}.learning-list{grid-template-columns:1fr}.equipment-layout{grid-template-columns:1fr}.equipment-section,.equipment-section.wide{grid-column:1;padding:20px}.equipment-grid,.equipment-section.wide .equipment-grid{grid-template-columns:1fr}.equipment-card{min-height:150px}.legal-grid{grid-template-columns:1fr}.legal-card,.legal-card.wide{grid-column:1;min-height:0;padding:23px}}
@media(max-width:700px){.identity-card .role{position:relative;z-index:3;max-width:220px;text-shadow:0 2px 10px #090908,0 1px 3px #090908}}
@media(max-width:420px){.header-contact{display:none}.identity-card{min-height:360px}.identity-copy{padding:23px}.identity-copy h1{font-size:54px}.statement-card{min-height:370px}.statement-copy h2{font-size:33px}.statement-copy p{max-width:64%;font-size:12px}.tile:not(.identity-card):not(.statement-card){min-height:176px}.hero-copy h1{font-size:40px}.footer{margin-top:36px}}
@media(max-width:940px){.section-heading{align-items:flex-start;flex-direction:column}.project-card:first-child{grid-column:span 2}}
@media(max-width:700px){.header-contact{font-size:12px}.projects{margin-top:48px}.section-heading h2{font-size:38px}.project-grid{grid-template-columns:1fr}.project-card,.project-card:first-child{grid-column:1}.project-card:first-child .project-shot,.project-shot{aspect-ratio:16/9}.portrait img{object-position:center 68%}}
@media(max-width:420px){.site-header{gap:12px}.brand{font-size:13px}.header-contact{display:inline-flex;padding:8px 10px}.contact-label{display:none}.contact-short{display:inline}.identity-copy h1{font-size:48px;line-height:.88}.role{font-size:14px}.statement-card{min-height:350px}.statement-copy h2{font-size:30px}.statement-copy p{max-width:72%;font-size:13px}.statement-cta{margin-top:12px}.section-heading h2{font-size:34px}.project-copy{padding:21px}.project-title-row{flex-direction:column;gap:10px}.hero-copy h1{font-size:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.orbit,.orbit-core{animation:none!important}.ambient{display:none}.tile,.link-tile,.about-link,.setup-card,.referral-links a,.equipment-card,.legal-card,.button{transition:none}.tile:hover,.equipment-card:hover,.content-card:hover,.hero-copy:hover,.hero-aside:hover,.legal-card:hover,.learning-item:hover,.referral-links a:hover{transform:none}}
