@font-face{font-family:Manrope;src:url('assets/manrope.ttf') format('truetype');font-weight:200 800;font-display:swap}
:root{--photo:1;--services:1;--area:1;--reviews:1;--trust:1;--contact:1;--strategy:1;--copy:1;--design:1;--development:1;--wire:0;--morph:0;--copper:#c77943;--limestone:#eee7dc}
*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#101619;color:var(--limestone);font-family:Manrope,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,select{font:inherit}button{cursor:pointer;border:0;background:none;color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--copper);outline-offset:4px}p,h1,h2{margin:0}[hidden]{display:none!important}
.northline-site{position:relative;height:100%;min-height:450px;isolation:isolate;overflow:hidden;background:linear-gradient(100deg,#18252c,#101619)}
.architecture{position:absolute;left:23%;right:0;top:0;bottom:0;z-index:-2;overflow:hidden;opacity:calc(.16 + var(--photo)*.84);clip-path:inset(calc((1 - var(--photo))*14%) 0 calc((1 - var(--photo))*14%) calc((1 - var(--photo))*20%));transform:translateX(calc((1 - var(--strategy))*8px + var(--morph)*10px));filter:saturate(calc(.12 + var(--design)*.88))}
.architecture-art{width:100%;height:100%;display:block;animation:architecture-drift 23s ease-in-out infinite alternate;transform-origin:72% 48%}.architecture-art image{filter:brightness(calc(.6 + var(--design)*.4))}.image-shade{position:absolute;inset:0;background:linear-gradient(90deg,#18252c 0%,#18252c20 32%,#18252c00 58%),linear-gradient(0deg,#101619d4,transparent 34%,#10161900 75%,#1016198a)}
.roofline{stroke:var(--copper);stroke-width:1.65;fill:none;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--development));opacity:calc(var(--design)*.76);filter:drop-shadow(0 0 3px #c779433a)}.roofline-return{stroke-width:1;opacity:calc(var(--design)*.35)}
.window-glow{position:absolute;inset:0;background:radial-gradient(ellipse at 57% 61%,#df9c3522,transparent 23%);mix-blend-mode:screen;opacity:var(--design);animation:window-light 11s ease-in-out infinite alternate}.roof-light{position:absolute;inset:-25%;background:linear-gradient(112deg,transparent 44%,#e8b8830c 49.5%,transparent 53%);opacity:var(--development);animation:roof-light 19s ease-in-out infinite;pointer-events:none}
.architectural-rule{position:absolute;left:32px;top:120px;bottom:105px;width:1px;background:linear-gradient(transparent,#c7794345,transparent);opacity:var(--design)}
header{position:relative;z-index:2;height:94px;margin:0 44px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eee7dc23}.northline-brand{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;letter-spacing:.17em}.northline-brand>svg{width:31px;height:27px;stroke:var(--copper);fill:none;stroke-width:1.1}.northline-brand small{display:block;font-size:7px;letter-spacing:.5em;margin-top:6px;font-weight:400;color:#c8c7bc}nav{display:flex;gap:27px;align-items:center;opacity:var(--services);transform:translateY(calc((1 - var(--strategy))*17px))}nav button{font-size:10px}nav .nav-quote{border-bottom:1px solid #eee7dc78;display:flex;gap:25px;align-items:center;padding:12px 0}
main{position:absolute;z-index:1;left:55px;right:36px;top:26%;transform:translateY(calc((1 - var(--strategy))*20px))}.northline-eyebrow{font-size:8px;letter-spacing:.17em;text-transform:uppercase;display:flex;align-items:center;gap:10px;opacity:var(--area);color:#c7d1d0}.northline-eyebrow span{width:20px;height:1px;background:var(--copper)}
h1{font-size:86px;line-height:.98;font-weight:430;letter-spacing:-.065em;margin-top:28px;width:max-content;max-width:100%;clip-path:inset(0 calc((1 - var(--copy))*100%) 0 0);opacity:calc(.4 + var(--copy)*.6);filter:blur(calc((1 - var(--copy))*2px))}.headline-top{display:block}h1 em{display:block;font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;font-size:1.04em;letter-spacing:-.065em;line-height:1.1;margin-left:49px;margin-top:0;color:#f4ece0;text-shadow:0 3px 35px #10161950}.unrefined h1 em{font-family:Manrope,Arial,sans-serif;font-style:normal;font-size:.82em;letter-spacing:-.045em}
.northline-detail{display:flex;align-items:flex-start;gap:15px;margin-top:26px;opacity:var(--copy);transform:translateY(calc((1 - var(--copy))*13px))}.detail-line{width:25px;height:1px;background:var(--copper);margin-top:10px;flex-shrink:0}.northline-description{font-size:11px;line-height:1.8;color:#d1d5cc}.northline-actions{display:flex;align-items:center;gap:25px;margin-top:23px;opacity:var(--contact);transform:translateY(calc((1 - var(--development))*5px));width:max-content;max-width:100%}.northline-actions>button:first-child{background:var(--copper);color:#101619;min-height:43px;padding:0 16px;font-size:10px;font-weight:650;display:flex;align-items:center;gap:24px;border-radius:1px;box-shadow:0 6px 26px #10161936;transition:background .3s,transform .3s}.northline-actions>button:first-child span{color:#8a5638;font-size:17px}.northline-actions>button:first-child:hover{background:#d89866;transform:translateY(-2px)}.call-button{font-size:10px;padding:12px 0;display:flex;gap:11px;border-bottom:1px solid #c8c7bc50}.call-button:hover{color:white}
.image-signature{position:absolute;right:45px;bottom:105px;font-size:9px;line-height:1.6;letter-spacing:.055em;color:#deded0;display:flex;gap:12px;align-items:flex-start;opacity:var(--design)}.image-signature i{height:37px;width:1px;background:linear-gradient(var(--copper),transparent)}
.northline-bottom{position:absolute;left:44px;right:44px;bottom:25px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #eee7dc24;padding-top:19px}.proof-links{display:flex;gap:25px}.proof-links button{font-size:9px;padding:3px 0;display:flex;gap:12px}.proof-links button:first-child{opacity:var(--trust)}.proof-links button:last-child{opacity:var(--reviews)}.proof-links span{color:#c77943}.northline-demo{font-size:7px;letter-spacing:.08em;color:#aebfc1}
.wireframe{position:absolute;inset:0;pointer-events:none;opacity:var(--wire);z-index:3;color:#aac0c5}.wireframe>span{position:absolute;left:55px;top:30%;font-size:8px;letter-spacing:.12em}.wire-title{position:absolute;left:55px;top:38%;height:43px;width:40%;border:1px solid #afc5c330;background:#afc5c305}.wire-title.short{left:104px;top:48%;width:52%}.wire-copy{position:absolute;left:95px;top:63%;width:180px;height:16px;border-top:1px solid #afc5c347;border-bottom:1px solid #afc5c32a}.wire-cta{position:absolute;left:55px;top:73%;width:185px;height:43px;border:1px solid #55c5c24a}.wire-nav{position:absolute;top:45px;right:44px;width:200px;height:14px;border-top:1px solid #afc5c347}.wire-image{position:absolute;inset:19% 4% 17% 44%;border:1px solid #afc5c31c}
dialog{background:#18242a;color:var(--limestone);border:1px solid #477980;border-radius:6px;width:min(520px,calc(100% - 32px));padding:35px;max-height:calc(100% - 35px);overflow:auto}dialog::backdrop{background:#101619d6;backdrop-filter:blur(6px)}.close{position:absolute;right:12px;top:6px;font-size:28px;width:35px;height:35px}.dialog-eyebrow{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#b6c8ca}dialog h2{font-weight:450;letter-spacing:-.04em;font-size:29px;margin:20px 0 18px}dialog p{font-size:12px;line-height:1.65;color:#c6cfce}dialog label{display:block;font-size:11px;margin:22px 0}dialog select{display:block;width:100%;margin-top:9px;padding:12px;background:#101619;color:var(--limestone);border:1px solid #477980;border-radius:3px}.continue{width:100%;background:var(--copper);color:#101619;min-height:43px;font-weight:600;font-size:11px}.demo-note{font-size:9px!important;margin-top:18px!important;color:#a7b7b9!important}dialog li{font-size:13px;margin-top:13px}
@keyframes architecture-drift{from{transform:scale(1.012) translateX(.3%)}to{transform:scale(1.043) translateX(-.7%)}}@keyframes roof-light{0%,25%{transform:translateX(-65%)}80%,100%{transform:translateX(65%)}}@keyframes window-light{from{opacity:.3}to{opacity:.7}}.paused *,.paused *::before,.paused *::after{animation-play-state:paused!important}
@media(max-width:780px){header{margin:0 32px;height:85px}.architecture{left:5%}.image-shade{background:linear-gradient(90deg,#18252cc9,#18252c05 70%),linear-gradient(0deg,#101619ed 0%,transparent 54%,#10161970)}main{left:38px;right:32px;top:32%}h1{font-size:76px}h1 em{margin-left:15px;font-size:1.02em}.northline-detail{margin-top:30px}.northline-description{font-size:12px}.northline-actions{margin-top:27px}.northline-actions>button:first-child{min-height:47px;font-size:11px}.image-signature{bottom:100px;right:32px}.northline-bottom{left:32px;right:32px}.architectural-rule{left:20px}}
@media(max-width:500px){.northline-site{min-height:650px}.architecture{left:0;bottom:26%}.architecture-art{width:135%;margin-left:-29%}.image-shade{background:linear-gradient(0deg,#101619 0%,#10161933 42%,#10161900 70%,#10161980),linear-gradient(90deg,#10161945,transparent)}header{height:80px;margin:0 26px}.northline-brand{font-size:12px;gap:8px}.northline-brand>svg{width:25px;height:25px}.northline-brand small{font-size:6px}nav>button:first-child{display:none}nav .nav-quote{font-size:0;gap:0;border:1px solid #eee7dc48;border-radius:50%;width:33px;height:33px;justify-content:center}nav .nav-quote span{font-size:16px}main{left:26px;right:26px;top:auto;bottom:95px}.northline-eyebrow{font-size:7px;letter-spacing:.12em}h1{font-size:57px;letter-spacing:-.065em;line-height:1.03;margin-top:21px;width:100%}h1 em{font-size:1.01em;margin-left:0;line-height:1.04;max-width:310px;margin-top:4px}.northline-detail{gap:11px;margin-top:19px}.detail-line{width:17px}.northline-description{font-size:11px;line-height:1.75}.northline-description br{display:none}.northline-actions{margin-top:23px;display:flex;flex-direction:column;align-items:stretch;gap:9px;width:100%}.northline-actions>button:first-child{font-size:11px;min-height:46px;justify-content:space-between;padding:0 16px}.call-button{align-self:flex-start;min-height:29px;font-size:9px;padding:6px 0}.image-signature{right:26px;top:28%;bottom:auto;font-size:8px}.image-signature i{height:26px}.northline-bottom{left:26px;right:26px;bottom:23px;padding-top:13px;display:block}.proof-links{gap:23px}.proof-links button{font-size:8px}.northline-demo{display:block;margin-top:12px;font-size:6px}.architectural-rule{display:none}.wireframe>span{left:26px;top:44%;font-size:7px}.wire-title{left:26px;top:50%;width:75%;height:33px}.wire-title.short{left:26px;top:57%;width:83%}.wire-copy{left:55px;top:66%}.wire-cta{left:26px;top:73%;width:85%}.wire-image{inset:13% 5% 55%}.wire-nav{right:26px;width:40px}dialog{padding:28px 23px}dialog h2{font-size:26px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
.wireframe>span{opacity:calc(1 - var(--area))}.wire-nav{opacity:calc(1 - var(--services))}.wire-cta{opacity:calc(1 - var(--contact))}
