@font-face{font-family:Satoshi;src:url('assets/satoshi.woff2') format('woff2');font-style:normal;font-weight:300 900;font-display:swap}
:root{--ink:#111;--soft:#505050;--line:#dedede;--paper:#fff;--muted:#f4f4f2;--shell:1240px;font-family:Satoshi,Arial,sans-serif;color:var(--ink);background:var(--paper)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;min-width:320px}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7;flex:none}::selection{background:#111;color:#fff}input::selection,textarea::selection{background:#111;color:#fff}:focus-visible{outline:2px solid #111;outline-offset:4px}.shell{width:min(calc(100% - 64px),var(--shell));margin-inline:auto}.skip-link{position:absolute;z-index:200;top:-60px;left:16px;background:#111;color:#fff;padding:12px 16px}.skip-link:focus{top:12px}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.97);border-bottom:1px solid #eee}.header-inner{height:84px;display:flex;align-items:center;gap:48px}.brand{display:inline-flex;align-items:center;gap:11px;white-space:nowrap}.brand-mark{font-size:34px;line-height:1;font-weight:900;letter-spacing:-.055em}.brand-dot{font-size:34px}.brand-name{font-size:13px;letter-spacing:.16em;font-weight:800;border-left:1px solid #b7b7b7;padding-left:11px}.desktop-nav{display:flex;align-items:center;gap:32px;margin-left:auto}.desktop-nav a,.footer-links a{font-size:14px;font-weight:650;transition:opacity .2s}.desktop-nav a:hover,.footer-links a:hover{opacity:.55}.header-cta{background:#111;color:white;padding:12px 19px;display:inline-flex;align-items:center;gap:14px;font-size:14px;font-weight:700;transition:background .2s}.header-cta:hover,.button-dark:hover{background:#353535}.header-cta span{font-size:18px;line-height:0}.menu-toggle,.mobile-nav{display:none}
.hero{display:grid;grid-template-columns:1.05fr .95fr;min-height:645px;gap:38px;align-items:stretch;padding-top:36px;padding-bottom:54px}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:50px 12px 36px 0}.hero h1{font-size:clamp(50px,5.3vw,86px);line-height:1.02;letter-spacing:-.037em;font-weight:800;margin:0 0 32px;max-width:720px}.hero h1 span{color:#585858}.hero-copy>p{font-size:20px;line-height:1.6;color:#3d3d3d;max-width:580px;margin:0 0 36px}.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.button{min-height:54px;display:inline-flex;justify-content:center;align-items:center;gap:22px;padding:13px 22px;font-size:15px;font-weight:750;transition:background .2s,color .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:#111;color:#fff;border:1px solid #111}.button-outline{border:1px solid #111;color:#111;background:#fff}.button-outline:hover{background:#111;color:#fff}.text-link{font-size:15px;font-weight:750;text-decoration:underline;text-underline-offset:6px}.text-link span{margin-left:4px}.hero-location{margin-top:75px;font-size:13px;font-weight:700;letter-spacing:.04em;display:flex;align-items:center;gap:13px;text-transform:uppercase}.location-line{width:35px;height:1px;background:#111}.hero-visual{position:relative;margin:0;overflow:hidden;min-height:540px;background:#171717}.hero-visual img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:62% center;filter:grayscale(1)}.hero-visual::after{content:"";position:absolute;inset:auto 0 0;height:27%;background:linear-gradient(transparent,#0009);pointer-events:none}.hero-visual figcaption{position:absolute;z-index:1;bottom:23px;left:26px;color:#fff;font-size:12px;letter-spacing:.02em}
.statement{display:flex;justify-content:space-between;align-items:center;gap:22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:23px;font-size:14px;font-weight:700}.statement-sep{width:4px;height:4px;background:#111;border-radius:50%;flex:none}.section{padding-block:125px}.section h2{font-size:clamp(43px,4.25vw,70px);line-height:1.06;letter-spacing:-.035em;font-weight:800;margin:0}.section p{line-height:1.65;color:var(--soft)}.services{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px}.section-heading{position:sticky;top:150px;align-self:start}.section-heading p{font-size:18px;max-width:390px;margin-top:32px}.service-list{border-top:1px solid var(--ink)}.service-row{display:flex;justify-content:space-between;align-items:flex-start;gap:25px;border-bottom:1px solid var(--line);padding:30px 0 32px;transition:padding .3s,background .3s}.service-row:hover{padding-left:14px;padding-right:10px;background:#f8f8f8}.service-row h3{font-size:29px;line-height:1.2;letter-spacing:-.025em;margin:0 0 10px;font-weight:750}.service-row p{margin:0;font-size:15px;max-width:450px}
.process{background:#111;color:#fff}.process-inner{padding-block:125px}.process-lead{display:flex;justify-content:space-between;gap:70px;align-items:end;border-bottom:1px solid #565656;padding-bottom:68px}.process-lead h2{font-size:clamp(45px,4.5vw,75px);line-height:1.06;letter-spacing:-.035em;margin:0;font-weight:800}.process-lead p{max-width:350px;font-size:18px;line-height:1.6;color:#d1d1d1;margin:0}.process-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;list-style:none;margin:0;padding:64px 0 0}.process-steps li{position:relative}.process-steps li:not(:last-child)::after{content:"";position:absolute;left:62px;right:-20px;top:11px;height:1px;background:#575757}.process-steps span{font-size:14px;font-weight:700;color:#c0c0c0}.process-steps h3{font-size:30px;letter-spacing:-.025em;margin:42px 0 12px}.process-steps p{color:#c5c5c5;font-size:15px;line-height:1.65;max-width:280px;margin:0}
.craft-title{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:60px;margin-bottom:65px}.craft-title p{max-width:430px;font-size:18px;margin:0}.craft-gallery{display:grid;grid-template-columns:1.15fr .85fr;gap:26px;align-items:end}.craft-image{margin:0}.craft-image img{width:100%;object-fit:cover;filter:grayscale(1)}.craft-image-tall img{height:620px}.craft-image-short img{height:460px}.craft-image figcaption{font-size:12px;color:#666;margin-top:12px}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:90px;border-top:1px solid var(--line)}.contact-copy p{font-size:18px;max-width:450px;margin:30px 0}.contact-number{font-size:24px;font-weight:800;text-decoration:underline;text-underline-offset:5px}.consult-form{padding:46px;background:#f3f3f2;display:flex;flex-direction:column}.consult-form label{font-size:14px;font-weight:750;margin-bottom:10px}.consult-form input,.consult-form textarea{border:1px solid #b9b9b9;border-radius:0;padding:15px 16px;background:#fff;color:#111;outline-offset:2px;margin-bottom:25px;resize:vertical;font-size:16px}.consult-form input::placeholder,.consult-form textarea::placeholder{color:#626262}.consult-form .button{align-self:flex-start}.form-note{font-size:12px;margin:16px 0 0;color:#555}
.location{display:grid;grid-template-columns:1fr 1fr;gap:90px;border-top:1px solid var(--line)}.location-intro p{font-size:18px;max-width:420px;margin-top:30px}.location-info{border-top:1px solid #111;padding-top:24px}.location-label{text-transform:uppercase;font-size:12px;letter-spacing:.15em;font-weight:800;margin-bottom:26px}.location-info address{font-size:clamp(24px,2.6vw,39px);line-height:1.35;letter-spacing:-.025em;font-weight:700;font-style:normal;margin-bottom:35px}
.faq{display:grid;grid-template-columns:1fr 1fr;gap:90px;border-top:1px solid var(--line)}.faq-list{border-top:1px solid #111}.faq details{border-bottom:1px solid var(--line);padding:23px 0}.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:15px;font-size:18px;font-weight:750}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:'+';font-size:25px;font-weight:400;line-height:1}.faq details[open] summary::after{content:'−'}.faq details p{font-size:15px;margin:16px 25px 0 0}
.footer{background:#111;color:#fff;padding-top:83px}.footer-top{display:flex;justify-content:space-between;gap:40px;padding-bottom:120px}.footer-brand{font-size:clamp(36px,5vw,70px);font-weight:900;letter-spacing:-.035em;line-height:1}.footer-brand span{color:#888}.footer-top p{font-size:16px;color:#b7b7b7;margin:20px 0 0}.footer-links{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));column-gap:45px;row-gap:19px;align-self:start}.footer-bottom{border-top:1px solid #474747;padding-block:24px;display:flex;justify-content:space-between;gap:15px;font-size:13px;color:#b7b7b7}.footer-bottom a{color:white}
@media(max-width:1020px){.desktop-nav{gap:19px}.header-inner{gap:20px}.hero{min-height:540px}.hero h1{font-size:clamp(48px,6vw,70px)}.hero-visual{min-height:490px}.services,.contact,.location,.faq{gap:55px}.section{padding-block:95px}.craft-image-tall img{height:530px}.craft-image-short img{height:390px}}
@media(max-width:760px){.shell{width:min(calc(100% - 38px),var(--shell))}.header-inner{height:70px}.brand-mark{font-size:31px}.brand-name{font-size:11px}.desktop-nav,.header-cta{display:none}.menu-toggle{margin-left:auto;width:44px;height:44px;border:1px solid #111;background:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px}.menu-toggle span{width:20px;height:2px;background:#111}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-nav:not([hidden]){display:flex;flex-direction:column;padding:10px 19px 24px;border-top:1px solid var(--line);background:#fff}.mobile-nav a{display:block;border-bottom:1px solid var(--line);padding:14px 4px;font-size:19px;font-weight:700}.mobile-nav a:last-child{background:#111;color:white;margin-top:18px;padding:14px}.hero{display:flex;flex-direction:column;min-height:auto;gap:40px;padding-top:60px;padding-bottom:50px}.hero-copy{padding:0}.hero h1{font-size:clamp(48px,10vw,72px);margin-bottom:25px}.hero-copy>p{font-size:18px;max-width:600px;margin-bottom:26px}.hero-location{margin-top:43px}.hero-visual{height:475px;min-height:0}.statement{overflow:auto;white-space:nowrap;justify-content:flex-start;gap:20px;font-size:12px;padding-block:18px}.section{padding-block:78px}.section h2,.process-lead h2{font-size:clamp(40px,8vw,61px)}.services,.contact,.location,.faq{display:block}.section-heading{position:static;margin-bottom:35px}.section-heading p{max-width:620px;font-size:17px;margin-top:20px}.service-row h3{font-size:24px}.process-inner{padding-block:80px}.process-lead{display:block;padding-bottom:45px}.process-lead p{margin-top:22px}.process-steps{gap:24px;padding-top:42px}.process-steps h3{font-size:23px}.craft-title{display:block;margin-bottom:38px}.craft-title p{margin-top:25px}.craft-gallery{gap:14px}.craft-image-tall img{height:460px}.craft-image-short img{height:330px}.contact-copy{margin-bottom:42px}.location-intro{margin-bottom:42px}.faq h2{margin-bottom:38px}.footer-top{padding-bottom:75px}}
@media(max-width:520px){.hero{padding-top:48px;gap:31px}.hero h1{font-size:clamp(42px,11.2vw,58px)}.hero-copy>p{font-size:17px}.hero-actions{gap:17px}.hero-actions .button{width:100%}.hero-visual{height:360px}.hero-visual figcaption{font-size:12px;left:16px;bottom:14px}.section{padding-block:67px}.services{padding-top:80px}.service-row{padding:25px 0}.service-row p{font-size:14px}.process-inner{padding-block:70px}.process-steps{display:block}.process-steps li{border-bottom:1px solid #4a4a4a;padding:20px 0 24px}.process-steps li:first-child{padding-top:0}.process-steps li:last-child{border:0;padding-bottom:0}.process-steps li::after{display:none}.process-steps h3{margin:15px 0 7px}.process-steps p{max-width:100%}.craft-gallery{display:block}.craft-image{margin-bottom:28px}.craft-image-tall img,.craft-image-short img{height:410px}.consult-form{padding:24px}.consult-form .button{width:100%}.location-info address{font-size:25px}.footer{padding-top:70px}.footer-top{display:block;padding-bottom:55px}.footer-links{margin-top:45px;gap:18px}.footer-bottom{flex-wrap:wrap}.footer-bottom span:nth-child(2){display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
