*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#101010;color:#f4f2ef;font-family:Manrope,Arial,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}.ambient{position:absolute;pointer-events:none;border-radius:50%;filter:blur(100px);opacity:.12}.ambient-one{width:380px;height:380px;background:#c72012;top:70px;right:3%}.ambient-two{width:300px;height:300px;background:#8f1710;top:1050px;left:-180px;opacity:.08}.topbar{height:86px;padding:0 7.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff12;position:relative;z-index:2}.wordmark{font-size:19px;font-weight:800;letter-spacing:.12em}.wordmark span,.red-dot{color:#d12b20}.topbar nav{display:flex;gap:36px;font-size:12px;color:#aaa}.topbar nav a,.text-link,.social-links a{transition:color .2s}.topbar nav a:hover,.text-link:hover,.social-links a:hover{color:#ed4a3d}.availability{font:10px 'DM Mono',monospace;color:#aaa;display:flex;align-items:center;gap:9px}.availability span{width:6px;height:6px;background:#d12b20;border-radius:50%;box-shadow:0 0 12px #d12b20}.hero{min-height:660px;height:calc(100vh - 86px);max-height:850px;padding:115px 12% 45px;position:relative;display:flex;align-items:flex-start}.hero-copy{position:relative;z-index:1;max-width:680px}.eyebrow{font:10px 'DM Mono',monospace;letter-spacing:.18em;color:#b2afaa;display:flex;align-items:center;gap:12px}.eyebrow-line{width:25px;height:1px;background:#d12b20}.eyebrow-year{color:#686868;margin-left:8px}h1{font-size:clamp(52px,7vw,94px);letter-spacing:-.075em;line-height:1.03;margin:35px 0 18px;font-weight:700}h1 .name{color:#f2f0ec}.type-line{height:30px;font:13px 'DM Mono',monospace;color:#e04a3e;letter-spacing:.03em}.cursor{animation:blink .8s steps(2,start) infinite;color:#e04a3e}@keyframes blink{to{visibility:hidden}}.intro{max-width:410px;color:#92908d;font-size:14px;line-height:1.9;margin:22px 0 32px}.hero-actions{display:flex;align-items:center;gap:28px}.button{padding:14px 19px;font-size:11px;font-weight:700;display:inline-flex;gap:24px;align-items:center;transition:transform .2s,background .2s}.button-primary{background:#c72012;color:white}.button-primary:hover{background:#e02e20;transform:translateY(-3px)}.text-link{font-size:11px;color:#c8c5c0}.text-link span{color:#d12b20;margin-left:8px}.hero-mark{position:absolute;width:360px;height:360px;right:12%;top:20%;display:grid;place-items:center;opacity:.9}.mark-ring{position:absolute;border:1px solid #ffffff12;border-radius:50%}.ring-a{inset:0}.ring-b{inset:38px;border-color:#c7201238}.mark-core{font-size:145px;font-weight:800;letter-spacing:-.12em;color:#292625;text-shadow:0 0 55px #c7201222;transform:translateX(-8px)}.mark-core span{color:#c72012}.mark-caption{position:absolute;right:4px;bottom:40px;font:9px/1.7 'DM Mono',monospace;letter-spacing:.16em;color:#777}.mark-cross{position:absolute;width:6px;height:6px;background:#d12b20;border-radius:50%;box-shadow:0 0 18px #d12b20}.cross-a{top:35px;left:85px}.cross-b{right:18px;top:150px}.hero-bottom{position:absolute;bottom:36px;left:12%;right:12%;display:flex;align-items:center;gap:16px;color:#696765;font:9px 'DM Mono',monospace;letter-spacing:.14em}.hero-bottom span:last-child{margin-left:auto}.scroll-line{height:1px;width:65px;background:#c72012}.projects-section{padding:105px 12% 100px;background:#151515;border-top:1px solid #ffffff0d;border-bottom:1px solid #ffffff0d}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:42px}.section-heading h2,.about-content h2,.contact-section h2{font-size:clamp(42px,5vw,65px);letter-spacing:-.07em;line-height:1.04;margin:18px 0 0}.section-note{font-size:11px;color:#777;line-height:1.8;margin:0 0 5px}.project-stage{max-width:900px;margin:0 auto}.project-track{position:relative;overflow:hidden;min-height:205px}.project-slide{position:absolute;inset:0;display:flex;align-items:center;gap:34px;opacity:0;transform:translateX(55px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1);pointer-events:none}.project-slide.is-active{position:relative;opacity:1;transform:translateX(0);pointer-events:auto}.project-slide.leaving{opacity:0;transform:translateX(-55px)}.project-icon{width:132px;height:132px;flex:0 0 132px;border:1px solid #ffffff16;background:linear-gradient(145deg,#242323,#171717);display:grid;place-items:center;position:relative;overflow:hidden}.icon-grid:before,.icon-grid:after{content:"";position:absolute;background:#ffffff0b}.icon-grid:before{width:100%;height:1px}.icon-grid:after{height:100%;width:1px}.icon-grid span{position:absolute;top:10px;left:12px;color:#777;font:9px 'DM Mono',monospace}.icon-grid b{font-size:57px;letter-spacing:-.12em}.icon-grid b span{position:static;color:#d12b20;font:inherit}.icon-orbit:before,.icon-orbit:after{content:"";position:absolute;width:86px;height:35px;border:1px solid #c7201277;border-radius:50%;transform:rotate(45deg)}.icon-orbit:after{transform:rotate(-45deg)}.orbit-symbol{font-size:35px;color:#d12b20}.icon-lines span{font-size:54px;color:#d12b20}.project-info{max-width:490px}.project-kicker{font:9px 'DM Mono',monospace;letter-spacing:.16em;color:#d12b20;margin:0 0 10px}.project-info h3{font-size:25px;letter-spacing:-.04em;margin:0 0 8px}.project-info>p:not(.project-kicker){font-size:12px;line-height:1.8;color:#8d8a86;max-width:440px;margin:0 0 15px}.project-link{font:10px 'DM Mono',monospace;color:#d6d2cc}.project-link span{color:#d12b20;margin-left:9px}.project-index{margin-left:auto;align-self:flex-end;padding-bottom:14px;color:#666;font:10px 'DM Mono',monospace}.project-index i{font-style:normal;color:#c72012}.carousel-footer{display:flex;align-items:center;gap:22px;margin-top:18px}.carousel-controls{display:flex;gap:8px}.arrow-button,.pause-button{width:34px;height:34px;border:1px solid #ffffff22;background:transparent;color:#eee;cursor:pointer;transition:background .2s,border .2s}.arrow-button:hover,.pause-button:hover{background:#c72012;border-color:#c72012}.progress-wrap{display:flex;align-items:center;gap:13px;flex:1}.progress-track{height:1px;background:#ffffff20;flex:1;max-width:170px}.progress-track span{display:block;height:1px;width:33.333%;background:#d12b20;transition:width .35s}.progress-count{font:9px 'DM Mono',monospace;color:#777}.pause-button{margin-left:auto;font-size:10px}.about-section{padding:110px 12% 80px}.about-content{display:flex;align-items:flex-end;justify-content:space-between;gap:40px}.about-content h2{margin-top:28px}.muted{color:#777}.about-content>p{max-width:300px;color:#92908d;font-size:12px;line-height:1.9;margin:0 4% 8px 0}.about-meta{margin-top:65px;padding-top:18px;border-top:1px solid #ffffff17;display:flex;justify-content:space-between;color:#696765;font:9px 'DM Mono',monospace;letter-spacing:.12em}.about-meta b,.about-meta i{color:#d12b20;font-style:normal}.contact-section{padding:85px 12% 95px;background:#171717;position:relative;overflow:hidden}.contact-section:after{content:"V.";position:absolute;right:10%;bottom:-115px;font-size:340px;line-height:1;font-weight:800;letter-spacing:-.12em;color:#ffffff05;pointer-events:none}.contact-section h2{font-size:clamp(55px,7vw,88px);margin:25px 0}.contact-mail{display:inline-flex;align-items:center;gap:22px;font-size:15px;border-bottom:1px solid #c72012;padding-bottom:10px}.contact-mail span{color:#d12b20}.social-links{display:flex;gap:28px;margin-top:65px}.social-links a{font:10px 'DM Mono',monospace;color:#aaa}.social-links span{color:#d12b20;margin-left:5px}footer{padding:25px 7.5%;display:flex;align-items:center;justify-content:space-between;color:#65625f}footer>span,footer .back-top{font:8px 'DM Mono',monospace;letter-spacing:.12em}.back-top{color:#aaa}section{scroll-margin-top:30px}
@media(max-width:760px){.topbar{height:70px;padding:0 6%}.topbar nav{gap:15px;font-size:10px}.availability{display:none}.hero{height:auto;min-height:650px;padding:100px 8% 80px}.hero-mark{width:230px;height:230px;right:-45px;top:42%;opacity:.5}.mark-core{font-size:95px}.mark-caption{font-size:7px}.hero-bottom{left:8%;right:8%;bottom:28px}.projects-section,.about-section,.contact-section{padding:75px 8%}.section-heading{align-items:flex-start;gap:15px}.section-note{font-size:10px}.project-slide{gap:20px}.project-icon{width:95px;height:95px;flex-basis:95px}.icon-grid b{font-size:43px}.project-info h3{font-size:20px}.project-info>p:not(.project-kicker){font-size:11px}.project-index{display:none}.about-content{display:block}.about-content>p{margin:25px 0 0}.about-meta{gap:15px;line-height:1.8}.about-meta span:last-child{text-align:right}.social-links{gap:17px;flex-wrap:wrap}footer{padding:23px 6%;gap:15px}footer>span{max-width:150px;text-align:center;line-height:1.6}}
@media(max-width:440px){.topbar nav{gap:11px}.topbar nav a{font-size:9px}.wordmark{font-size:16px}.hero{padding-top:85px}.hero-mark{top:48%;right:-75px}.section-heading{display:block}.section-note{margin-top:15px}.project-slide{gap:14px}.project-icon{width:78px;height:78px;flex-basis:78px}.project-info h3{font-size:18px}.project-info>p:not(.project-kicker){font-size:10px}.project-link{font-size:9px}.carousel-footer{gap:12px}.about-meta{font-size:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Vassås brand assets */
.wordmark{display:inline-flex;align-items:center;height:42px}
.wordmark img{display:block;width:36px;height:36px;object-fit:contain}
footer .wordmark img{width:31px;height:31px}
.hero-logo{display:block;width:min(100%,300px);height:auto;object-fit:contain;position:relative;z-index:1;filter:drop-shadow(0 12px 35px #c7201220)}
.hero-mark{background-image:url("assets/brand-background.png");background-size:cover;background-position:center;opacity:.22;filter:hue-rotate(120deg) saturate(.8);border-radius:50%;overflow:hidden}
.hero-mark .mark-ring,.hero-mark .mark-caption,.hero-mark .mark-cross{display:none}
.contact-section h2{max-width:850px}
@media(max-width:760px){.wordmark img{width:32px;height:32px}.hero-logo{width:min(100%,220px)}}

/* Refined Vassås landing-page direction */
.topbar{height:88px;padding:0 6%;border-bottom:0}
.brand-wordmark{display:flex;align-items:center;width:178px;height:58px}
.brand-wordmark img{width:100%;height:100%;object-fit:contain;object-position:left center}
.topbar nav{gap:42px;color:#e4e1de;font-size:13px}
.topbar nav a{position:relative;padding:12px 0}
.topbar nav a:after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:2px;background:#d12b20;transition:right .25s}
.topbar nav a:hover:after{right:0}
.hero{height:calc(100vh - 88px);min-height:650px;max-height:900px;padding:100px 9.3% 70px;overflow:hidden}
.hero:before{content:"";position:absolute;inset:0 0 0 auto;width:52%;background:url("assets/brand-background.png") center/cover no-repeat;transform:rotate(180deg);opacity:.95;clip-path:polygon(27% 0,100% 0,100% 100%,0 100%);pointer-events:none}
.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 70% 48%,#c7201220,transparent 38%);pointer-events:none}
.hero-copy{max-width:760px;z-index:2}
.hero-rule{height:3px;width:78px;background:#351411;margin:0 0 28px}
.hero-rule span{display:block;width:68px;height:3px;background:#d12b20}
h1{font-size:clamp(68px,8.5vw,118px);line-height:.98;letter-spacing:-.085em;margin:0 0 24px;font-weight:800}
h1 .name{white-space:nowrap}
.type-line{font-size:clamp(14px,1.5vw,19px);height:32px}
.intro{font-size:15px;max-width:490px;margin:24px 0 36px}
.button{padding:17px 22px;font-size:13px}
.text-link{font-size:13px}
.hero-mark{width:46%;height:100%;right:0;top:0;display:grid;place-items:center;opacity:1;z-index:1;background:none;filter:none;border-radius:0;overflow:visible}
.hero-logo{width:min(48%,360px);height:auto;object-fit:contain;filter:drop-shadow(0 12px 40px #c7201230)}
.hero-bottom{left:9.3%;right:9.3%;bottom:28px;z-index:3}
.projects-section{position:relative}
.site-footer{min-height:150px;padding:28px 5.8%;display:flex;align-items:center;justify-content:space-between;gap:28px;border-top:2px solid #c72012;background:#101010}
.footer-brand{display:flex;align-items:center;width:190px;flex:0 0 190px}
.footer-brand img{display:block;width:100%;height:auto;object-fit:contain}
.footer-socials{display:flex;align-items:center;justify-content:center;gap:clamp(18px,3vw,48px);flex:1}
.footer-socials a{font-size:13px;color:#eee;white-space:nowrap;transition:color .2s}
.footer-socials a:hover,.footer-contact:hover{color:#ef4a3d}
.footer-socials b{font-weight:500;color:#d12b20;margin-left:7px}
.footer-socials small{display:block;color:#777;font-size:10px;margin-top:3px}
.footer-socials .social-name{display:inline}
.footer-contact{display:flex;align-items:center;gap:15px;padding-left:35px;border-left:1px solid #ffffff30;transition:color .2s;white-space:nowrap}
.mail-icon{font-size:27px;color:#eee}
.footer-contact strong,.footer-contact small{display:block}
.footer-contact strong{font-size:13px;font-weight:500}
.footer-contact small{font-size:10px;color:#888;margin-top:4px}
footer .back-top,footer>span{display:none}
@media(max-width:900px){
 .hero{padding-left:7%;padding-right:7%}
 .hero:before{width:55%;opacity:.65}
 .hero-mark{width:42%}
 .hero-logo{width:58%}
 .site-footer{flex-wrap:wrap}
 .footer-brand{width:145px;flex-basis:145px}
 .footer-socials{order:3;flex-basis:100%;justify-content:space-between;padding-top:18px;border-top:1px solid #ffffff18}
 .footer-contact{margin-left:auto}
}
@media(max-width:600px){
 .topbar{height:72px;padding:0 6%}
 .brand-wordmark{width:128px;height:46px}
 .topbar nav{gap:15px;font-size:10px}
 .topbar nav a:nth-child(3){display:none}
 .hero{min-height:680px;height:auto;padding:90px 7% 100px;align-items:flex-start}
 .hero:before{width:100%;opacity:.27;clip-path:polygon(55% 0,100% 0,100% 100%,20% 100%)}
 .hero-mark{width:100%;height:320px;top:auto;bottom:55px;right:-10%;opacity:.55}
 .hero-logo{width:42%;max-width:190px}
 h1{font-size:clamp(58px,13vw,82px)}
 .hero-copy{max-width:100%}
 .intro{max-width:330px;font-size:13px}
 .hero-bottom{left:7%;right:7%;bottom:24px}
 .site-footer{padding:26px 7%;gap:20px}
 .footer-brand{width:125px;flex-basis:125px}
 .footer-contact{padding-left:17px;gap:9px}
 .mail-icon{font-size:22px}
 .footer-socials{gap:12px;flex-wrap:wrap;justify-content:flex-start}
 .footer-socials a{font-size:11px}
}

/* Final brand/background refinements */
.hero{isolation:isolate}
.hero:before{
  inset:-3%;
  width:auto;
  background:url("assets/brand-background.png") center/cover no-repeat;
  transform:none;
  clip-path:none;
  opacity:.9;
  -webkit-mask-image:radial-gradient(ellipse 78% 82% at 70% 48%,#000 34%,rgba(0,0,0,.78) 58%,transparent 100%);
  mask-image:radial-gradient(ellipse 78% 82% at 70% 48%,#000 34%,rgba(0,0,0,.78) 58%,transparent 100%);
  z-index:-1;
}
.hero:after{z-index:-1}
.hero-mark{width:50%;right:2%;top:0;height:100%;z-index:1}
.hero-logo{width:min(78%,650px);max-width:650px;height:auto;filter:drop-shadow(0 14px 34px #0008)}
.brand-wordmark{width:230px;height:72px}
.footer-brand{width:250px;flex-basis:250px}
.footer-brand img{width:100%}
.footer-socials small{display:none}
.footer-socials a{font-size:14px}
.site-footer{position:relative;min-height:174px;padding-bottom:48px}
.footer-copyright{position:absolute;bottom:17px;left:50%;transform:translateX(-50%);font:8px 'DM Mono',monospace;letter-spacing:.14em;color:#777;white-space:nowrap}
@media(max-width:900px){
 .brand-wordmark{width:180px;height:60px}
 .footer-brand{width:190px;flex-basis:190px}
 .hero-logo{width:min(82%,480px)}
}
@media(max-width:600px){
 .brand-wordmark{width:145px;height:48px}
 .footer-brand{width:160px;flex-basis:160px}
 .hero:before{
   -webkit-mask-image:radial-gradient(ellipse 90% 65% at 70% 68%,#000 20%,rgba(0,0,0,.7) 55%,transparent 100%);
   mask-image:radial-gradient(ellipse 90% 65% at 70% 68%,#000 20%,rgba(0,0,0,.7) 55%,transparent 100%);
 }
 .hero-mark{bottom:55px;top:auto;height:260px;width:100%;right:-5%}
 .hero-logo{width:min(66%,300px)}
 .footer-copyright{font-size:7px;bottom:12px}
 .site-footer{padding-bottom:40px}
}

/* Smaller, cleaner footer proportions */
.site-footer{
  min-height:132px;
  padding:22px 5.8% 42px;
  gap:22px;
}
.footer-brand{
  width:175px;
  flex-basis:175px;
}
.footer-brand img{width:100%;height:auto}
.footer-socials{gap:clamp(16px,2.5vw,36px)}
.footer-socials a{font-size:12px}
.footer-contact{gap:11px;padding-left:24px}
.footer-contact strong{font-size:12px}
.footer-contact small{font-size:9px}
.mail-icon{font-size:22px}
.footer-copyright{
  bottom:12px;
  font-size:7px;
  letter-spacing:.12em;
}
@media(max-width:900px){
 .site-footer{min-height:125px;padding:20px 5% 40px}
 .footer-brand{width:150px;flex-basis:150px}
}
@media(max-width:600px){
 .site-footer{min-height:150px;padding:20px 7% 38px}
 .footer-brand{width:125px;flex-basis:125px}
 .footer-contact{padding-left:14px;gap:8px}
 .footer-contact strong{font-size:11px}
 .footer-contact small{font-size:8px}
 .footer-socials a{font-size:10px}
 .footer-copyright{font-size:6px;letter-spacing:.08em;bottom:10px}
}

/* Selected projects heading and upcoming project states */
.section-heading h2{max-width:720px}
.project-coming-soon{
  display:inline-flex;
  align-items:center;
  margin-top:18px;
  padding:9px 12px;
  border:1px solid #c720125c;
  color:#e34a3e;
  font:10px 'DM Mono',monospace;
  letter-spacing:.16em;
  background:#c720120c;
}
/* Keep the copyright in normal document flow so it is always visible. */
.site-footer{
  height:auto;
  min-height:0;
  flex-wrap:wrap;
  padding:24px 5.8% 18px;
  row-gap:22px;
}
.footer-copyright{
  position:static;
  transform:none;
  display:block;
  flex:0 0 100%;
  width:100%;
  margin:0;
  padding-top:13px;
  border-top:1px solid #ffffff20;
  text-align:center;
  color:#aaa;
  font:8px 'DM Mono',monospace;
  letter-spacing:.14em;
  white-space:normal;
}
@media(max-width:600px){
 .site-footer{padding:20px 7% 15px;row-gap:16px}
 .footer-copyright{font-size:7px;letter-spacing:.08em}
}
