@import url('./assets/fonts/fonts.css');
:root{--ink:#20241f;--paper:#f6f5f0;--accent:#b5c58b;--muted:#74756f;--line:#d9dcd3;--font:'DM Sans',sans-serif;--display:'Manrope',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button{border:0}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--display);font-weight:500;line-height:1.08}h1{font-size:clamp(3.5rem,7.5vw,7.4rem);letter-spacing:-.055em}h2{font-size:clamp(2.4rem,4.6vw,4.8rem);letter-spacing:-.045em}h3{font-size:1.45rem;letter-spacing:-.025em}p{max-width:65ch}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}input:focus,textarea:focus,select:focus{outline:2px solid var(--accent);outline-offset:2px}.wrap{width:min(1380px,calc(100% - 96px));margin:auto}.section{padding-block:100px}.eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;display:block;margin-bottom:24px}.muted{color:var(--muted)}.lead{font-size:18px;line-height:1.7}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:52px;padding:15px 25px;border-radius:7px;background:var(--ink);color:var(--paper);font-size:13px;font-weight:600;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-3px)}.btn.light{background:var(--paper);color:var(--ink)}.btn.accent{background:var(--accent);color:var(--ink)}.btn.outline{background:transparent;color:inherit;border:1px solid currentColor}.arrow{font-size:21px;line-height:1}.text-link{display:inline-flex;gap:24px;align-items:center;border-bottom:1px solid;padding-block:9px;font-size:13px;font-weight:600}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:30px}.site-header{position:relative;z-index:20;border-bottom:1px solid var(--line)}.nav-row{height:96px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:flex;align-items:center;gap:12px;font-family:var(--display);font-size:25px;font-weight:700;letter-spacing:-.06em;white-space:nowrap}.brand-icon{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;font-size:31px;font-weight:500;letter-spacing:-.1em}.desktop-nav{display:flex;align-items:center;gap:30px;font-size:13px}.desktop-nav>a:hover{text-decoration:underline;text-underline-offset:6px}.mobile-nav{display:none;position:relative}.mobile-nav summary{cursor:pointer;list-style:none;border:1px solid var(--line);border-radius:50%;width:44px;height:44px;display:grid;place-items:center}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav nav{position:absolute;right:0;top:52px;width:240px;padding:20px;background:var(--paper);color:var(--ink);box-shadow:0 14px 50px #0002;display:grid;gap:20px;border:1px solid var(--line)}.demo-bar{position:relative;z-index:30;background:#151719;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:8px 25px;font:10px/1.4 'DM Sans',sans-serif;letter-spacing:.08em;text-transform:uppercase}.demo-bar a{display:flex;gap:10px;align-items:center}.demo-bar .demo-label{color:#c2c6ca;letter-spacing:.04em}.section-head{display:flex;justify-content:space-between;align-items:end;gap:48px;margin-bottom:44px}.section-head p{max-width:330px}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.divider{border-top:1px solid var(--line)}.small{font-size:12px}.filter-bar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px}.filter-bar button{padding:10px 18px;border-radius:30px;background:transparent;border:1px solid var(--line);font-size:12px}.filter-bar button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}[hidden]{display:none!important}.project-card{display:block;text-align:left;padding:0;background:transparent;width:100%}.project-card .media{overflow:hidden;position:relative}.project-card img{width:100%;aspect-ratio:4/3;transition:transform .7s}.project-card:hover img{transform:scale(1.035)}.project-card h3{margin:20px 0 6px}.project-card .card-line{display:flex;justify-content:space-between;align-items:center}.project-card .small{color:var(--muted)}.project-card .card-open{position:absolute;right:18px;bottom:18px;display:grid;place-items:center;width:42px;height:42px;background:var(--paper);border-radius:50%;font-size:22px}.process-row{display:grid;grid-template-columns:45px 1fr 1fr;gap:25px;padding:28px 0;border-top:1px solid var(--line)}.process-row p{font-size:14px;color:var(--muted)}.contact-section{background:var(--ink);color:var(--paper)}.contact-section p{opacity:.75;margin-top:22px}.contact-section .eyebrow{opacity:1}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact-form label{font-size:12px;display:grid;gap:8px}.contact-form .full{grid-column:1/-1}.contact-form input,.contact-form select,.contact-form textarea{width:100%;min-width:0;border:1px solid #ffffff42;background:#ffffff08;color:inherit;border-radius:5px;padding:13px;font-size:14px}.contact-form select option{background:#fff;color:#111}.contact-form textarea{resize:vertical;min-height:90px}.form-note{font-size:11px!important;margin:0!important;opacity:.65}.form-status{grid-column:1/-1;margin:0!important;font-size:14px;color:var(--accent);opacity:1!important;min-height:20px}.site-footer{padding:32px 0;background:var(--ink);color:var(--paper);border-top:1px solid #ffffff22}.footer-row{display:flex;justify-content:space-between;align-items:center;gap:24px}.footer-row p{font-size:11px;opacity:.7}.footer-row>a:last-child{font-size:12px}.faq{border-top:1px solid var(--line)}.faq summary{padding:24px 0;display:flex;justify-content:space-between;cursor:pointer;list-style:none;font-size:17px}.faq summary::after{content:'+';font-size:24px}.faq[open] summary::after{content:'−'}.faq p{padding:0 30px 25px 0;font-size:14px;color:var(--muted)}.pill{display:inline-block;padding:7px 12px;font-size:10px;border:1px solid currentColor;border-radius:30px}.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}.skip-link{position:fixed;top:-80px;left:12px;padding:12px;background:var(--ink);color:var(--paper);z-index:100}.skip-link:focus{top:12px}.dialog{padding:0;border:0;border-radius:12px;background:var(--paper);color:var(--ink);max-width:860px;width:calc(100% - 40px);max-height:90vh;overflow:auto;box-shadow:0 30px 100px #0004}.dialog::backdrop{background:#070d11b8;backdrop-filter:blur(6px)}.dialog-close{position:absolute;top:16px;right:16px;z-index:2;border-radius:50%;width:42px;height:42px;background:#fff;color:#111;font-size:24px;box-shadow:0 1px 9px #0002}.dialog img{width:100%;height:320px;object-fit:cover}.dialog-content{padding:38px}.dialog-content h2{font-size:38px;margin-bottom:20px}.dialog-content p{line-height:1.7;margin-bottom:20px}.dialog-content .eyebrow{margin-bottom:15px}.dialog-content dl{display:grid;grid-template-columns:1fr 1fr;gap:18px;border-top:1px solid var(--line);padding-top:24px}.dialog-content dt{font-size:11px;color:var(--muted)}.dialog-content dd{margin:5px 0;font-size:14px}.reveal{animation:enter .65s both}@keyframes enter{from{opacity:.2;transform:translateY(15px)}to{opacity:1;transform:none}}
/* 01 — Mason: architectural restraint, photography, mineral colors. */
.mason{--paper:#f4f2eb;--ink:#2a302b;--accent:#d8e4ad;--muted:#70756b;--line:#d4d7cb}.mason .brand-icon{font-size:28px;border:2px solid;border-radius:50%;width:35px;height:35px}.mason .btn{border-radius:30px}.mason .site-header{border:0}.mason-hero{position:relative;min-height:650px;margin:0 24px;color:#fff;overflow:hidden;border-radius:5px;background:#31483f}.mason-hero>img{position:absolute;inset:0;width:100%;height:100%;object-position:center 57%}.mason-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#14231dc9,transparent 100%)}.mason-hero-content{position:relative;z-index:1;padding:88px 60px 40px;max-width:800px}.mason-hero h1{font-size:clamp(4rem,8.7vw,8.5rem);letter-spacing:-.065em;max-width:720px;line-height:.98}.mason-hero h1 em{font-family:'Cormorant Garamond',serif;font-weight:400;letter-spacing:-.025em}.mason-hero .lead{max-width:350px;font-size:15px;margin:28px 0}.mason-hero-bottom{position:absolute;z-index:2;bottom:30px;right:40px;text-align:right;font-size:11px}.mason-intro{display:grid;grid-template-columns:1fr 2fr;gap:80px;padding-bottom:70px}.mason-intro h2{font-size:clamp(2rem,3.8vw,3.7rem)}.mason-services{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding-top:30px;border-top:1px solid var(--line)}.mason-services p{font-size:14px;margin-top:16px;color:var(--muted)}.mason-services .eyebrow{margin-bottom:40px}.mason-process{background:#e7e9df}.mason-process .split{align-items:start}.mason .contact-section{--accent:#d8e4ad}.mason .project-card img{aspect-ratio:4/4.7}.mason .project-card:nth-child(2){padding-top:50px}
/* 02 — Current: confident neighborhood service with a booking-first flow. */
.current{--paper:#f5f4ee;--ink:#152d3d;--accent:#f1b53f;--muted:#667780;--line:#d5dedc}.current .brand{font-weight:800;font-size:30px;letter-spacing:-.06em}.current .brand-icon{background:var(--accent);border-radius:50%;color:var(--ink);font-size:24px}.current .nav-row{height:90px}.current .btn{border-radius:30px}.current .contact-section .btn{color:var(--ink)}.service-ribbon{font-size:10px;text-transform:uppercase;letter-spacing:.12em;text-align:center;background:var(--ink);color:#fff;padding:11px}.current-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;padding-block:64px 76px;align-items:center}.current-hero h1{font-weight:700;letter-spacing:-.055em;font-size:clamp(3.8rem,6.8vw,6.5rem)}.current-hero h1 span{color:#788f99}.current-hero .lead{max-width:410px;font-size:16px;margin-top:25px}.current-photo{position:relative;padding:18px 18px 0 0}.current-photo img{width:100%;height:490px;border-radius:180px 180px 12px 12px;object-position:41% center;position:relative;z-index:1}.current-photo::before{content:'';position:absolute;inset:0 0 18px 18px;border:1px solid #b9c4bf;border-radius:180px 180px 12px 12px}.current-photo .note{position:absolute;z-index:2;left:-26px;bottom:30px;background:var(--accent);padding:20px 25px;border-radius:8px;box-shadow:0 10px 30px #152d3d12;max-width:210px}.current-photo .note strong{display:block;font-size:13px;margin-bottom:5px}.current-photo .note span{font-size:12px;line-height:1.5}.current-pledge{display:flex;gap:24px;flex-wrap:wrap;margin-top:30px;font-size:11px;font-weight:600}.current-pledge span::before{content:'✓';margin-right:8px;color:#6a7d44}.booking-strip{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:22px;align-items:center;background:#e8eade;padding:30px 32px;border-radius:12px}.booking-strip strong{font-size:22px;line-height:1.2;font-family:var(--display)}.booking-strip label{display:grid;gap:7px;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.booking-strip input,.booking-strip select{min-width:0;width:100%;background:transparent;border:0;border-bottom:1px solid #b9c4bc;padding:6px 0;color:var(--ink);font-size:14px;text-transform:none}.booking-strip .booking-status{grid-column:1/-1;font-size:12px;margin:0}.service-card{background:#fff;padding:35px;border-radius:12px;display:flex;flex-direction:column;align-items:start;border:1px solid #e1e6df}.service-card .service-symbol{font-size:32px;line-height:1;width:60px;height:60px;border-radius:50%;background:#f0f2e8;display:grid;place-items:center;margin-bottom:40px}.service-card p{font-size:14px;color:var(--muted);margin:18px 0 30px}.service-card .text-link{margin-top:auto}.current-faq{background:#e9eee9}.current-faq .split{grid-template-columns:1fr 1.3fr}.current .contact-section{background:#152d3d}
/* 03 — Forge: industrial precision, technical grid and acidic accent. */
.forge{--paper:#161a1a;--ink:#eeefe8;--accent:#d7ef70;--muted:#a6aeaa;--line:#3c4542}.forge .site-header{background:#161a1a}.forge .brand{font-size:34px;font-weight:800;letter-spacing:-.07em}.forge .brand-icon{color:var(--accent);font-size:39px}.forge .btn{border-radius:3px}.forge .btn.accent{color:#161a1a}.forge-hero{padding-block:58px 35px;display:grid;grid-template-columns:1.18fr 1fr;gap:45px;align-items:center}.forge-hero h1{font-size:clamp(3.5rem,6.6vw,6.8rem);line-height:.97;letter-spacing:-.055em;font-weight:700}.forge-hero h1 span{color:var(--accent)}.forge-hero .lead{font-size:14px;max-width:340px;margin-top:28px;color:var(--muted)}.forge-media{position:relative;height:530px}.forge-media img{width:100%;height:100%;object-position:43%;filter:saturate(.45)}.forge-media::before{content:'';position:absolute;z-index:1;inset:0;background:linear-gradient(transparent 50%,#101616b0)}.forge-media .data-note{position:absolute;z-index:2;bottom:26px;left:26px;right:26px;border:1px solid #ffffff70;padding:20px;font:11px/1.6 monospace;color:white;backdrop-filter:blur(12px)}.forge-media .data-note span{color:var(--accent);display:block}.forge-strip{display:grid;grid-template-columns:repeat(4,1fr);padding:26px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:30px;font:10px/1.4 monospace;text-transform:uppercase;letter-spacing:.05em}.forge-strip span::before{content:'+';color:var(--accent);margin-right:20px}.capability-switch{display:grid;grid-template-columns:.8fr 1.4fr;gap:60px;margin-top:50px}.capability-tabs{display:grid;align-content:start}.capability-tabs button{display:flex;justify-content:space-between;text-align:left;padding:24px 0;border-bottom:1px solid var(--line);background:none;font-size:23px}.capability-tabs button[aria-pressed=true]{color:var(--accent)}.capability-panel{padding:40px;background:#232a28;border:1px solid #47534a;min-height:330px;position:relative;background-image:linear-gradient(#ffffff06 1px,transparent 1px),linear-gradient(90deg,#ffffff06 1px,transparent 1px);background-size:32px 32px}.capability-panel .tech-mark{position:absolute;right:25px;top:16px;color:var(--accent);font:14px monospace}.capability-panel h3{font-size:34px;max-width:360px;margin:80px 0 18px}.capability-panel p{color:#c5cec6;font-size:14px;max-width:430px}.forge-work{display:grid;grid-template-columns:1.4fr 1fr;gap:50px;align-items:center}.forge-work img{height:420px;width:100%;object-fit:cover}.forge-work p{color:var(--muted);margin:24px 0}.forge .contact-section{background:var(--accent);color:#161a1a}.forge .contact-section input,.forge .contact-section textarea,.forge .contact-section select{border-color:#596b2b75;background:#ffffff20}.forge .contact-section .btn{background:#161a1a;color:#fff}.forge .form-status{color:#263d0d}.forge .site-footer{background:#101413;color:#fff}
/* 04 — Form & Field: editorial agency, oversized type and original artwork. */
.agency{--paper:#eeeee6;--ink:#252323;--accent:#d0bcfa;--line:#cacac2;--muted:#68665f}.agency .brand{font-size:27px;line-height:.85;letter-spacing:-.07em}.agency .brand small{font-size:15px;display:block;margin-top:7px;letter-spacing:.02em}.agency .site-header{border:0}.agency .btn{border-radius:50px}.agency-hero{padding:65px 0 0;position:relative;overflow:hidden}.agency-kicker{display:flex;justify-content:space-between;align-items:start;gap:20px}.agency-kicker p{font-size:12px;max-width:260px}.agency-hero h1{font-size:clamp(4.5rem,11.5vw,11rem);font-weight:600;letter-spacing:-.07em;line-height:.95;position:relative;z-index:2;margin:45px 0 35px;max-width:850px}.agency-hero h1 em{font-family:'Cormorant Garamond',serif;font-weight:400}.agency-orbit{width:410px;height:410px;position:absolute;right:20px;top:165px;transform:rotate(-25deg);z-index:1;opacity:.9}.agency-orbit i{position:absolute;inset:0;border:55px solid var(--accent);border-radius:50%;box-shadow:inset 8px 5px 15px #ffffffb0,8px 8px 0 #a08cce}.agency-orbit i:nth-child(2){transform:rotateY(60deg) rotateX(10deg);border-color:#b0a0d3}.agency-orbit i:nth-child(3){transform:rotateX(60deg);border-color:#e7dafd;box-shadow:none}.agency-bottom{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:end;padding-bottom:60px;border-bottom:1px solid var(--line)}.agency-bottom p{font-size:14px;max-width:290px}.agency-marquee{padding:25px 0;text-align:center;font-size:11px;letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid var(--line);overflow:hidden;white-space:nowrap}.agency-work{display:grid;grid-template-columns:1fr 1fr;gap:60px 35px}.agency-work .project-card:nth-child(even){padding-top:90px}.agency-work img{aspect-ratio:1.2}.agency-work h3{font-size:24px}.agency-services{background:#d0bcfa}.agency-services .faq{border-color:#25232350}.agency-services .faq p{color:#4f445d}.agency-services .faq summary{font-size:25px}.agency .contact-section{background:#252323;color:#eeeee6}.agency .contact-section h2{font-size:clamp(3rem,6.5vw,6rem)}
/* 05 — Still: editorial commerce, warm materials and quiet typography. */
.still{--paper:#f8f6f0;--ink:#343a30;--accent:#b2bc96;--muted:#7b7c70;--line:#dce0d2;--display:'Cormorant Garamond',serif}.still h1,.still h2{letter-spacing:-.04em;font-weight:400}.still .brand{font-family:'Cormorant Garamond',serif;font-size:52px;font-weight:500;letter-spacing:-.07em}.still .btn{border-radius:30px;font-family:'DM Sans',sans-serif}.still .site-header{border:0}.still .nav-row{height:100px}.still .desktop-nav{gap:28px}.still .shipping-strip{background:#dfe3d2;padding:8px;text-align:center;font-size:10px;letter-spacing:.06em}.still-hero{position:relative;height:620px;background:#ccc2b4;overflow:hidden}.still-hero>img{position:absolute;inset:0;width:100%;height:100%;object-position:center}.still-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#e0d8cacc,transparent 75%)}.still-hero .hero-copy{position:relative;z-index:1;padding:100px 0}.still-hero h1{font-size:clamp(4.5rem,8vw,8rem);line-height:.94;max-width:650px}.still-hero p{font-size:14px;max-width:280px;margin:25px 0}.still-hero .eyebrow{font-size:10px}.still-hero .hero-caption{position:absolute;bottom:30px;right:45px;z-index:2;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.still .section-head h2{font-size:clamp(3rem,5vw,5rem)}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.product-card{min-width:0}.product-image{position:relative;background:#e9e7df;overflow:hidden;border-radius:3px}.product-image img{width:100%;height:330px;transition:transform .6s}.product-image:hover img{transform:scale(1.04)}.product-image button{position:absolute;left:15px;bottom:15px;right:15px;border-radius:20px;padding:11px;background:#f8f6f0ec;backdrop-filter:blur(10px);font-size:11px}.product-meta{display:flex;justify-content:space-between;gap:15px;margin-top:19px}.product-meta h3{font-family:'DM Sans',sans-serif;font-size:14px;letter-spacing:0;font-weight:500}.product-meta p{font-size:12px}.product-card .material{font-size:11px;color:var(--muted);margin-top:7px}.swatches{display:flex;gap:5px;margin-top:11px}.swatches span{width:9px;height:9px;background:#b9956e;border-radius:50%}.swatches span:nth-child(2){background:#4a473d}.still-story{background:#e8eadd;padding:65px;display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center}.still-story img{width:100%;height:400px;object-fit:cover}.still-story h2{font-size:clamp(3rem,4.7vw,4.8rem)}.still-story p{font-size:14px;margin:25px 0}.still-values{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;text-align:center;padding-block:60px}.still-values h3{font-family:var(--font);font-size:14px}.still-values p{font-size:12px;color:var(--muted);margin:12px auto 0;max-width:250px}.still .contact-section{background:#343a30}.still .contact-section h2{font-size:60px}.bag-button{background:none;display:flex;align-items:center;gap:10px;font-size:13px}.bag-count{background:var(--ink);color:var(--paper);border-radius:50%;width:23px;height:23px;display:grid;place-items:center;font-size:10px}.cart-dialog{margin:0 0 0 auto;height:100dvh;max-height:100dvh;max-width:450px;border-radius:0;padding:35px}.cart-dialog h2{font-size:42px;margin:32px 0}.cart-item{display:grid;grid-template-columns:70px 1fr auto;gap:14px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}.cart-item img{width:70px;height:80px}.cart-item strong{font-size:13px;font-weight:500}.cart-item small{display:block;color:var(--muted)}.cart-item button{background:none;text-decoration:underline;font-size:10px;padding:6px 0}.cart-total{display:flex;justify-content:space-between;padding:25px 0;font-size:16px}.cart-dialog .btn{width:100%}.cart-dialog .small{margin-top:16px}.product-detail{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;padding:30px}.product-detail>img{height:400px}.product-detail h2{font-size:45px}.product-detail p{margin:15px 0;font-size:14px}.product-detail .price{font-size:24px}.product-detail .btn{margin-top:20px}.cart-empty{padding:40px 0;color:var(--muted)}
/* 06 — Northline: enterprise hierarchy, broad navigation and quiet confidence. */
.northline{--paper:#f9faf7;--ink:#0d2e3e;--accent:#bce0ee;--line:#d4dfe0;--muted:#617782}.northline .brand{font-size:25px;letter-spacing:-.035em}.northline .brand-icon{border:1px solid;border-radius:50%;font-size:21px;width:32px;height:32px;transform:rotate(-20deg)}.northline .btn{border-radius:4px}.northline .nav-row{height:100px}.northline .desktop-nav{gap:24px}.mega{position:relative}.mega summary{list-style:none;cursor:pointer;font-size:13px}.mega summary::after{content:'⌄';margin-left:9px}.mega .mega-panel{position:absolute;left:-25px;top:38px;width:310px;background:var(--paper);box-shadow:0 15px 40px #0d2e3e20;border:1px solid var(--line);padding:25px;display:grid;gap:18px}.mega .mega-panel a{font-size:14px}.northline-hero{display:grid;grid-template-columns:1.08fr 1fr;min-height:620px}.northline-hero .hero-copy{padding:85px 60px 50px max(48px,calc((100vw - 1380px)/2));background:#e6f0f3}.northline-hero h1{font-size:clamp(3.5rem,6.1vw,6rem);letter-spacing:-.055em;line-height:1.04}.northline-hero h1 em{font-family:'Cormorant Garamond',serif;font-size:1.14em;font-weight:400;letter-spacing:-.03em}.northline-hero p{font-size:15px;margin-top:30px;max-width:370px}.northline-hero-media{position:relative;overflow:hidden}.northline-hero-media>img{width:100%;height:100%;position:absolute;inset:0;object-position:center 40%}.northline-hero-media::after{content:'';position:absolute;inset:0;background:#10374e25}.northline-hero-media .photo-label{position:absolute;z-index:2;bottom:25px;left:30px;color:white;font-size:10px;letter-spacing:.1em}.northline-band{padding:26px 0;border-bottom:1px solid var(--line)}.northline-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:35px}.northline-band span{font-size:11px;color:var(--muted)}.northline-band strong{font-size:13px;font-weight:500}.northline-capabilities{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.northline-capabilities article{padding:30px 40px 30px 0}.northline-capabilities article+article{border-left:1px solid var(--line);padding-left:40px}.northline-capabilities .num{font-size:11px;color:var(--muted);margin-bottom:55px}.northline-capabilities h3{font-size:25px}.northline-capabilities p{font-size:14px;color:var(--muted);margin:20px 0 35px}.northline-industries{background:#0d2e3e;color:white}.northline-industries .filter-bar button{border-color:#fff5}.northline-industries .filter-bar button[aria-pressed=true]{background:#bce0ee;color:#0d2e3e}.industry-panel{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center}.industry-panel img{width:100%;height:330px}.industry-panel h3{font-size:37px}.industry-panel p{font-size:15px;color:#bfd0d4;margin:22px 0}.insight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.insight{padding:0;text-align:left;background:none}.insight img{aspect-ratio:1.5;width:100%;filter:saturate(.55)}.insight .eyebrow{margin:22px 0 14px;font-size:9px}.insight h3{font-size:23px;line-height:1.3}.insight>span:last-child{display:block;margin-top:25px;font-size:13px}.northline .contact-section{background:#e6f0f3;color:#0d2e3e}.northline .contact-form input,.northline .contact-form select,.northline .contact-form textarea{border-color:#8ca5ae80;background:#ffffff50}.northline .contact-form .btn{background:#0d2e3e;color:white}.northline .form-status{color:#164f44}.northline .site-footer{background:#0d2e3e;color:white}
/* Review gallery */
.gallery{--paper:#eef2f3;--ink:#152c3a;--accent:#a9cfeb;--muted:#657b88;--line:#cdd9de}.gallery .nav-row{height:85px}.gallery .brand{font-size:19px;letter-spacing:-.04em}.gallery .brand img{width:140px}.gallery-hero{padding-block:70px 55px;display:grid;grid-template-columns:1.5fr 1fr;gap:70px;align-items:end}.gallery-hero h1{font-size:clamp(3.8rem,6.5vw,6.5rem);letter-spacing:-.06em}.gallery-hero h1 span{color:#618ba5}.gallery-hero p{font-size:15px;max-width:360px}.gallery-hero .pill{margin-top:22px}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px 28px;padding-bottom:80px}.gallery-card{min-width:0}.gallery-shot{display:block;aspect-ratio:16/10;overflow:hidden;background:#d9e2e4;border-radius:10px;border:1px solid #d3dde0;position:relative}.gallery-shot img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .7s}.gallery-shot:hover img{transform:scale(1.035)}.gallery-shot .open-badge{position:absolute;bottom:16px;right:16px;background:#fff;color:#152c3a;border-radius:50%;width:42px;height:42px;display:grid;place-items:center;font-size:24px;box-shadow:0 4px 20px #0001}.gallery-card-meta{display:flex;justify-content:space-between;gap:25px;margin-top:20px}.gallery-card h2{font-size:28px;letter-spacing:-.04em}.gallery-card .eyebrow{font-size:9px;margin:0 0 8px}.gallery-card p{font-size:13px;color:var(--muted);margin-top:10px}.gallery-card .swatch-row{display:flex;gap:5px;padding-top:5px}.gallery-card .swatch-row i{width:13px;height:13px;border-radius:50%;border:1px solid #0001}.reference-section{background:white;padding:60px 0}.reference-section h2{font-size:38px}.reference-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:35px}.reference-grid a{border-top:1px solid var(--line);padding-top:18px;font-size:14px;display:block}.reference-grid p{font-size:12px;color:var(--muted);margin-top:10px}.gallery-notes{padding:45px 0;display:grid;grid-template-columns:1fr 1fr;gap:60px;font-size:13px;color:var(--muted)}.gallery-notes strong{color:var(--ink);display:block;margin-bottom:10px}
@media(min-width:1700px){.mason-hero{max-width:1600px;margin-inline:auto}.current-hero{gap:100px}}
@media(max-width:1050px){.wrap{width:calc(100% - 56px)}.desktop-nav{gap:18px}.section{padding-block:75px}.split{gap:40px}.current-hero{gap:35px}.current-photo img{height:440px}.booking-strip{grid-template-columns:1fr 1fr}.booking-strip strong{grid-column:1/-1}.forge-hero{gap:25px}.forge-media{height:470px}.agency-orbit{right:-80px;opacity:.6}.product-grid{grid-template-columns:repeat(2,1fr)}.northline .desktop-nav{gap:15px}.northline-hero .hero-copy{padding:65px 30px}.northline-hero{min-height:560px}.still-story{padding:40px;gap:35px}.gallery-hero{gap:35px}}
@media(max-width:760px){html{scroll-padding-top:30px}.wrap{width:calc(100% - 40px)}.section{padding-block:62px}.desktop-nav,.nav-row>.btn{display:none}.mobile-nav{display:block}.nav-row,.current .nav-row,.northline .nav-row,.still .nav-row{height:80px}.demo-bar{padding:9px 16px;font-size:9px}.demo-bar .demo-label{max-width:180px;text-align:right;font-size:8px}.brand{font-size:23px}.section-head{align-items:start;flex-direction:column;gap:25px;margin-bottom:30px}.section-head p{max-width:100%}.split,.mason-intro,.current-hero,.forge-hero,.capability-switch,.forge-work,.current-faq .split,.industry-panel,.northline-hero,.still-story,.gallery-hero{grid-template-columns:1fr;gap:35px}.grid-3{grid-template-columns:1fr;gap:35px}.mason-hero{margin:0 12px;min-height:590px}.mason-hero-content{padding:65px 25px}.mason-hero h1{font-size:clamp(3.6rem,14vw,5rem)}.mason-hero-bottom{bottom:20px;right:25px}.mason-intro{gap:25px;padding-bottom:45px}.mason-services{grid-template-columns:1fr;gap:35px}.mason-services .eyebrow{margin-bottom:14px}.mason .project-card:nth-child(2){padding-top:0}.mason .project-card img{aspect-ratio:1.3}.process-row{grid-template-columns:28px 1fr;gap:15px}.process-row p{grid-column:2}.contact-form{gap:16px}.contact-form label{grid-column:1/-1}.footer-row{flex-wrap:wrap}.footer-row p{order:3;width:100%}.current-hero{padding:50px 0 40px}.current-hero h1{font-size:clamp(3.7rem,13vw,5.8rem)}.current-photo{margin-left:18px}.current-photo img{height:400px;border-radius:140px 140px 12px 12px}.current-photo::before{border-radius:140px 140px 12px 12px}.current-photo .note{left:-18px}.current-pledge{gap:13px;font-size:10px}.booking-strip{padding:25px;gap:18px;grid-template-columns:1fr}.booking-strip strong{grid-column:auto}.booking-strip .booking-status{grid-column:auto}.service-card{padding:30px}.service-card .service-symbol{margin-bottom:24px}.service-ribbon{font-size:8px}.forge-hero{padding-block:45px 30px}.forge-hero h1{font-size:clamp(3.2rem,12vw,5.8rem)}.forge-media{height:350px}.forge-strip{grid-template-columns:1fr 1fr;gap:20px}.forge-strip span::before{margin-right:10px}.capability-switch{margin-top:30px}.capability-panel{padding:25px;min-height:300px}.capability-panel h3{font-size:30px}.forge-work img{height:300px}.agency-hero{padding-top:40px}.agency-kicker p{max-width:150px;font-size:10px}.agency-hero h1{font-size:clamp(4.2rem,15vw,6rem);margin-top:55px;letter-spacing:-.06em;max-width:90%}.agency-orbit{width:240px;height:240px;right:-70px;top:140px;opacity:.55}.agency-orbit i{border-width:33px}.agency-bottom{align-items:start;gap:25px;flex-direction:column;padding-bottom:35px}.agency-work{grid-template-columns:1fr;gap:35px}.agency-work .project-card:nth-child(even){padding-top:0}.agency .section-head .eyebrow{margin-bottom:15px}.agency-marquee{font-size:9px;padding:18px 0}.still .brand{font-size:46px}.still .bag-button{margin-left:auto}.still-hero{height:620px}.still-hero .hero-copy{padding-top:65px}.still-hero h1{font-size:clamp(4.3rem,15vw,6rem)}.still-hero>img{object-position:63%}.still-hero::after{background:linear-gradient(90deg,#e0d8cae8,#e0d8ca30)}.still-hero .hero-caption{right:22px}.product-grid{gap:30px 15px}.product-image img{height:240px}.product-image button{left:8px;right:8px;bottom:8px;padding:9px;font-size:10px}.product-meta{flex-direction:column;gap:7px}.still-story{padding:25px}.still-story img{height:280px}.still-values{grid-template-columns:1fr;gap:30px}.still .contact-section h2{font-size:48px}.product-detail{grid-template-columns:1fr;gap:20px;padding:20px}.product-detail>img{height:250px}.cart-dialog{width:100%;padding:25px}.northline-hero{min-height:0;gap:0}.northline-hero .hero-copy{padding:50px 25px}.northline-hero h1{font-size:clamp(3.5rem,12vw,5rem)}.northline-hero-media{min-height:350px}.northline-hero-media>img{object-position:center 50%}.northline-band .wrap{flex-wrap:wrap;gap:16px}.northline-band span{width:100%}.northline-capabilities{grid-template-columns:1fr}.northline-capabilities article{padding:30px 0}.northline-capabilities article+article{border-left:0;border-top:1px solid var(--line);padding-left:0}.northline-capabilities .num{margin-bottom:25px}.northline-capabilities p{margin-bottom:22px}.industry-panel img{height:260px}.insight-grid{grid-template-columns:1fr;gap:40px}.insight img{max-height:300px}.dialog-content{padding:25px}.dialog img{height:240px}.dialog-content h2{font-size:32px}.gallery-hero{padding-block:45px;gap:25px}.gallery-hero h1{font-size:clamp(3.4rem,12vw,5rem)}.gallery-grid{grid-template-columns:1fr;gap:40px}.gallery-shot{aspect-ratio:16/10}.reference-grid{grid-template-columns:1fr 1fr;gap:25px}.gallery-notes{grid-template-columns:1fr;gap:25px}.gallery .nav-row{gap:15px}.gallery .nav-row .small{font-size:10px}.gallery-card h2{font-size:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
