
@font-face{font-family:Inter;src:url(assets/inter-400.ttf);font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url(assets/inter-600.ttf);font-weight:600 900;font-display:swap}
@font-face{font-family:Fraunces;src:url(assets/fraunces-var.ttf);font-weight:100 900;font-display:swap}
@font-face{font-family:Fraunces;src:url(assets/fraunces-italic-var.ttf);font-weight:100 900;font-style:italic;font-display:swap}
@font-face{font-family:Space;src:url(assets/space-grotesk-var.ttf);font-weight:300 700;font-display:swap}
@font-face{font-family:Barlow;src:url(assets/barlow-condensed-600.ttf);font-weight:600;font-display:swap}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Inter,sans-serif}a{color:inherit;text-underline-offset:5px}button,input,textarea,select{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}img{max-width:100%;display:block;width:100%;object-fit:cover}figure,p,h1,h2,h3{margin:0}h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.06;letter-spacing:-.04em}h1{font-size:clamp(3.5rem,6.8vw,7rem)}h2{font-size:clamp(2.35rem,4.5vw,4.8rem)}h3{font-size:1.55rem;letter-spacing:-.025em}p{max-width:64ch}em{font-weight:400}::selection{background:var(--accent);color:var(--ink)}:focus-visible{outline:3px solid var(--ink);outline-offset:5px}.skip{position:absolute;left:12px;top:-100px;background:var(--paper);padding:12px;z-index:10}.skip:focus{top:8px}.demo{padding:8px 5%;font-size:14px;background:var(--ink);color:var(--paper);text-align:center}.top{padding:25px 5%;display:flex;align-items:center;justify-content:space-between;gap:22px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font:600 18px/1.2 var(--display);max-width:380px}.brand-mark{background:var(--accent);color:var(--ink);padding:10px;font:600 20px var(--display);flex-shrink:0}.brand small{display:block;font:14px/1.5 Inter;margin-top:5px}.top nav{display:flex;gap:25px;font-size:15px}.top nav a{text-decoration:none}.top nav a:hover{text-decoration:underline}.top .contact-button{border:1px solid var(--ink);padding:9px 19px;text-decoration:none;font-size:15px;white-space:nowrap}.wrap{width:min(1280px,90%);margin:auto}.eyebrow{font-size:14px;letter-spacing:.09em;text-transform:uppercase;margin-bottom:20px}.hero{position:relative}.hero .lead{font-size:19px;margin-top:26px;max-width:46ch}.actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:32px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:50px;padding:13px 23px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);text-decoration:none;font-weight:600;border-radius:0}.button:hover{background:var(--accent);color:var(--ink)}.textlink{padding:12px 0;font-size:16px}.photo{position:relative;overflow:hidden}.photo figcaption{position:absolute;bottom:12px;left:12px;color:#fff;background:#171d22e8;padding:4px 9px;font-size:14px;max-width:calc(100% - 24px)}.service-section{padding:90px 0}.section-head{display:flex;gap:30px;align-items:end;justify-content:space-between;margin-bottom:45px}.section-head>p{max-width:34ch}.service-list{border-top:1px solid var(--line)}.service{display:grid;grid-template-columns:60px 1fr 1.1fr 130px;gap:24px;padding:30px 0;border-bottom:1px solid var(--line);align-items:start}.service .number{font-family:var(--display);font-size:20px}.service button{font-size:15px;border:0;border-bottom:1px solid currentColor;padding:0 0 5px;text-align:left;background:none;color:inherit;justify-self:start}.detail{padding:80px 5%;background:var(--panel);display:grid;grid-template-columns:1fr 1fr;gap:70px}.detail p:last-child{font-size:20px}.inquiry{padding:90px 0;display:grid;grid-template-columns:.85fr 1fr;gap:80px}.inquiry .intro>p{margin-top:25px}.inquiry .intro .label{font-size:14px;margin-top:15px}.form{padding:32px;border:1px solid var(--line);background:var(--panel)}label{display:block;margin-bottom:22px;font-size:15px}input,textarea,select{width:100%;border:1px solid var(--line);padding:12px;background:var(--paper);color:var(--ink);border-radius:0;display:block;margin-top:7px}textarea{min-height:125px;resize:vertical}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form .note{font-size:14px;margin-top:18px}.prepared{margin-top:24px;border-top:1px solid var(--line);padding-top:24px}.prepared[hidden]{display:none}.prepared h3{font-size:22px}.prepared pre{white-space:pre-wrap;overflow-wrap:anywhere;font:15px/1.6 Inter;margin:15px 0 24px}.prepared a{overflow-wrap:anywhere}.contact{background:var(--ink);color:var(--paper);padding:65px 5%;display:grid;grid-template-columns:1fr 1fr;gap:45px}.contact .eyebrow{color:var(--accent)}.contact h2{font-size:clamp(2.4rem,4vw,4rem)}.contact-links{display:flex;flex-direction:column;align-items:start;justify-content:center;gap:8px}.contact-links a{font-size:clamp(1.05rem,2.1vw,2rem);overflow-wrap:anywhere;max-width:100%}.foot{padding:35px 5%;font-size:14px}.foot p{max-width:100%;margin:8px 0}.mobile-contact{display:none}.palette{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.palette button{border:2px solid transparent;border-radius:0;width:54px;height:54px}.palette button[aria-pressed=true]{border-color:var(--ink);outline:2px solid var(--paper);outline-offset:-6px}.palette-caption{margin-top:12px!important;font-size:15px!important}.hero-tag{font-size:15px;letter-spacing:.05em}.decor-number{font-family:var(--display);line-height:.85;letter-spacing:-.075em}.service-section,.inquiry,.detail{scroll-margin-top:24px}
/* Ten compositions, each with its own type, image proportions and page rhythm. */
.bm{--paper:#f6f4ee;--ink:#18293a;--accent:#f2cb36;--panel:#e8e5db;--line:#b6b9b9;--display:Barlow}.bm .hero{padding:55px 5% 0;display:grid;grid-template-columns:1.15fr 1fr;gap:45px}.bm .hero h1{font-size:clamp(4.6rem,7.7vw,8.5rem);text-transform:uppercase}.bm .hero .photo{margin-top:35px;min-height:430px}.bm .hero .photo img{height:100%}.bm .project-bar{grid-column:1/-1;background:var(--accent);padding:18px 24px;display:flex;gap:30px;flex-wrap:wrap;font-size:20px}.bm .service h3{font-size:32px}.bm .detail{border-left:16px solid var(--accent)}
.architect{--paper:#f2f1ec;--ink:#1b3039;--accent:#d3e59c;--panel:#e1e6e3;--line:#aab6b5;--display:Space}.architect .hero{background:var(--ink);color:var(--paper);padding:45px 5% 60px;display:grid;grid-template-columns:1fr 1.3fr;gap:40px}.architect .hero .decor-number{font-size:clamp(6rem,17vw,15rem);color:var(--accent)}.architect .hero .lead{max-width:36ch}.architect .hero .button{background:var(--accent);color:var(--ink);border:0}.architect .hero .photo img{height:410px}.architect .hero h1{font-size:clamp(3rem,5.6vw,6rem);margin-top:24px}.architect .service-list{display:grid;grid-template-columns:1fr 1fr;gap:0 55px}.architect .service{grid-template-columns:45px 1fr}.architect .service p,.architect .service button{grid-column:2}.architect .detail{margin:0 5%;padding:65px}.architect .contact{background:#29414a}
.dahlroth{--paper:#fbfaf6;--ink:#233c61;--accent:#d7e4f1;--panel:#eaf0f4;--line:#b5c2d0;--display:Fraunces}.dahlroth .hero{padding:70px 5%;display:grid;grid-template-columns:1.25fr .9fr;gap:80px;align-items:center}.dahlroth .hero h1{font-weight:450;font-size:clamp(3.5rem,5.6vw,6rem)}.dahlroth .hero h1 em{font-size:.86em}.dahlroth .hero .photo{border-radius:45% 45% 0 0}.dahlroth .hero .photo img{height:490px}.dahlroth .service-section{border-top:1px solid var(--line)}.dahlroth .service{grid-template-columns:50px .7fr 1fr 130px}.dahlroth .detail{background:var(--ink);color:var(--paper)}.dahlroth .detail h2{font-weight:450}.dahlroth .form{background:transparent;border:0;border-top:2px solid var(--ink);padding:32px 0}.dahlroth .contact{background:var(--panel);color:var(--ink)}.dahlroth .contact .eyebrow{color:var(--ink)}
.sonagarden{--paper:#f3efdf;--ink:#443121;--accent:#dbc393;--panel:#e7decb;--line:#b4a58d;--display:Fraunces}.sonagarden .brand{font-family:Fraunces;font-weight:500}.sonagarden .brand-mark{background:none;border:1px solid var(--ink)}.sonagarden .hero{padding:50px 5% 0;display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.sonagarden .hero h1{font-size:clamp(3.2rem,5.5vw,6rem);font-weight:450}.sonagarden .hero .photo img{height:530px;object-position:65% center}.sonagarden .hero .eyebrow{border-bottom:1px solid var(--line);padding-bottom:20px}.sonagarden .craft-note{grid-column:1/-1;text-align:center;padding:24px 0;border-bottom:1px solid var(--line);font-size:20px;font-family:Fraunces}.sonagarden .service{grid-template-columns:35px .75fr 1.2fr 125px}.sonagarden .detail h2{font-weight:400}.sonagarden .detail{background:#443121;color:#f3efdf}.sonagarden .inquiry h2{font-weight:450}.sonagarden .contact{background:#e7decb;color:#443121}.sonagarden .contact .eyebrow{color:inherit}
.ewelina{--paper:#fffdf7;--ink:#143c39;--accent:#eafd57;--panel:#e4eeea;--line:#a0b7af;--display:Space}.ewelina .hero{padding:50px 5% 0;display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center}.ewelina .hero h1{font-size:clamp(5rem,10vw,10rem);letter-spacing:-.075em}.ewelina .hero h1 em{font-style:normal;font-weight:400}.ewelina .hero .photo{transform:rotate(2deg);margin:20px 10px}.ewelina .hero .photo img{height:470px}.ewelina .hero .lead{max-width:34ch}.ewelina .choice-band{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:2px solid var(--ink);padding:23px 0;font-size:20px}.ewelina .service-list{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.ewelina .service{display:flex;flex-direction:column;gap:20px;padding:30px 0}.ewelina .service .number{font-size:45px}.ewelina .service button{margin-top:auto}.ewelina .detail{background:var(--accent)}.ewelina .form{border:0}.ewelina .contact h2{font-size:clamp(3rem,5.5vw,5.5rem)}
.mocklo{--paper:#f8f1e5;--ink:#383425;--accent:#a84937;--panel:#e9dfce;--line:#b8aa92;--display:Fraunces}.mocklo ::selection{background:#dbb36f}.mocklo .hero{padding:50px 5% 65px;text-align:center}.mocklo .hero h1{font-size:clamp(3.8rem,7.6vw,8rem);font-weight:450}.mocklo .hero .lead{margin:24px auto;max-width:55ch}.mocklo .actions,.mocklo .palette{justify-content:center}.mocklo .hero .photo{margin:45px auto 0;max-width:1050px}.mocklo .hero .photo img{height:310px;object-position:center 42%}.mocklo .palette-caption{margin:15px auto}.mocklo .service{grid-template-columns:50px .8fr 1.1fr 130px}.mocklo .detail{background:#a84937;color:#fff6ea}.mocklo .contact{background:#383425}.mocklo .contact .eyebrow{color:#f1b99e}
.marine{--paper:#eef4f4;--ink:#092f42;--accent:#e5b452;--panel:#dce7ea;--line:#9caeb5;--display:Space}.marine .hero{display:grid;grid-template-columns:1.2fr .8fr;background:var(--ink);color:var(--paper)}.marine .hero-copy{padding:65px 8.3%}.marine .hero .photo img{height:610px;object-position:center 55%}.marine .hero .button{background:var(--accent);color:var(--ink);border:0}.marine .hero h1{font-size:clamp(3.6rem,6.6vw,7rem)}.marine .coordinates{margin-top:35px;font-size:15px;padding-top:20px;border-top:1px solid #668692}.marine .service-list{border-top:3px solid var(--ink)}.marine .service .number{color:#476576}.marine .detail{background:var(--ink);color:var(--paper);border-top:12px solid var(--accent)}.marine .contact{background:#062536}
.gk{--paper:#f5f6fa;--ink:#23397b;--accent:#efb1a5;--panel:#e5e9f4;--line:#a9b3cd;--display:Space}.gk .hero{padding:50px 5% 55px;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.gk .hero h1{font-size:clamp(3.6rem,6.5vw,6.8rem)}.gk .hero .photo img{height:390px}.gk .audiences{display:flex;gap:0;margin-top:30px;border:1px solid var(--ink)}.gk .audiences a{width:50%;padding:18px 20px;text-align:center;text-decoration:none}.gk .audiences a:first-child{background:var(--ink);color:var(--paper)}.gk .service-list{display:grid;grid-template-columns:1fr 1fr;gap:50px}.gk .service{grid-template-columns:45px 1fr}.gk .service p,.gk .service button{grid-column:2}.gk .service .number{background:var(--accent);padding:10px;font-size:17px}.gk .detail{margin:0 5%;border-radius:0;border-top:2px solid var(--ink)}.gk .form{background:white}
.vp{--paper:#f3f1eb;--ink:#262622;--accent:#ef8b44;--panel:#e6e3d8;--line:#b3b0a7;--display:Barlow}.vp .brand-mark{background:var(--ink);color:var(--accent)}.vp .hero{padding:45px 5% 0}.vp .hero-heading{display:flex;align-items:end;justify-content:space-between;gap:45px}.vp .hero h1{font-size:clamp(5rem,11.2vw,11.8rem);line-height:.93;white-space:normal}.vp .hero .lead{max-width:29ch}.vp .hero .photo{margin-top:40px}.vp .hero .photo img{height:330px;object-position:center 45%}.vp .service-list{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.vp .service{display:flex;flex-direction:column;gap:18px}.vp .service .number{font-size:64px}.vp .service h3{font-size:36px}.vp .detail{background:var(--accent)}.vp .detail h2{font-size:clamp(3rem,5.5vw,6rem)}.vp .form{border:0;border-top:4px solid var(--ink);padding:30px 0;background:transparent}.vp .contact h2{font-size:4rem}
.montage{--paper:#eee8de;--ink:#242b25;--accent:#d5a66c;--panel:#dfd5c6;--line:#aaa18f;--display:Space}.montage .hero{padding:0 5%;display:grid;grid-template-columns:.9fr 1.1fr;gap:55px;align-items:center}.montage .hero-copy{padding:60px 0}.montage .hero h1{font-size:clamp(3.9rem,6.8vw,7.2rem)}.montage .hero h1 em{font-style:normal;color:#775130}.montage .hero .photo{margin-top:0;align-self:stretch}.montage .hero .photo img{height:100%;min-height:550px;object-position:60% center}.montage .material-bar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 5%;display:flex;gap:45px;flex-wrap:wrap;font-size:18px}.montage .detail{border-top:1px solid var(--ink);background:var(--paper)}.montage .detail h2{font-weight:400}.montage .service h3{font-weight:500}.montage .form{background:var(--panel)}
@media(max-width:1000px){.top nav{display:none}.hero .lead{font-size:18px}.dahlroth .hero{gap:35px}.service{grid-template-columns:45px 1fr 1.1fr}.service button{grid-column:2}.inquiry{gap:35px}.detail{gap:35px}.vp .hero-heading{display:block}.vp .hero .lead{max-width:50ch}.vp .actions{margin-top:20px}.architect .hero .decor-number{font-size:10rem}.contact-links a{font-size:20px}}
@media(max-width:700px){html{scroll-padding-top:15px}.demo{font-size:14px;padding:9px 5%}.top{padding:20px 5%;gap:10px;align-items:start}.brand{font-size:16px;max-width:75%}.brand small{font-size:14px}.brand-mark{font-size:18px;padding:8px}.top .contact-button{font-size:14px;padding:8px 10px}.hero h1{font-size:clamp(3rem,12vw,5rem)!important}.hero .lead{font-size:17px}.eyebrow{font-size:14px;letter-spacing:.06em}.hero{display:block!important;padding:38px 5% 0!important}.hero .photo{margin:32px 0 0!important;transform:none!important}.hero .photo img{height:320px!important;min-height:0!important}.hero-copy{padding:0!important}.hero-tag{margin-top:20px}.hero .decor-number{font-size:7rem!important}.architect .hero{padding-bottom:30px!important}.architect .hero .photo{margin-top:40px!important}.architect .hero .photo img{height:250px!important}.architect .hero h1{margin-top:25px}.dahlroth .hero{padding-bottom:38px!important}.dahlroth .hero .photo{border-radius:30% 30% 0 0;max-width:450px}.sonagarden .craft-note{font-size:18px;padding:22px 0}.ewelina .hero .photo img{height:260px!important}.ewelina .choice-band{margin-top:30px;font-size:17px;gap:15px}.mocklo .hero{text-align:left;padding-bottom:40px!important}.mocklo .hero .lead{margin:22px 0}.mocklo .actions,.mocklo .palette{justify-content:start}.mocklo .palette-caption{margin:15px 0}.mocklo .hero .photo img{height:250px!important}.marine .hero{padding-bottom:0!important}.marine .hero .photo{margin-left:-5.55%!important;margin-right:-5.55%!important;width:111.11%}.marine .hero .photo img{height:310px!important}.marine .coordinates{margin-top:25px}.gk .audiences a{padding:15px 10px}.vp .hero .photo img{height:230px!important}.montage .hero .photo img{height:350px!important}.montage .material-bar{margin-top:30px;gap:18px}.bm .project-bar{margin-top:30px;gap:20px;font-size:18px}.bm .hero .photo{min-height:0}.section-head{display:block;margin-bottom:30px}.section-head>p{margin-top:20px}.service-section{padding:55px 0}.service-list{display:block!important}.service{display:grid!important;grid-template-columns:35px 1fr!important;gap:14px;padding:26px 0!important}.service p,.service button{grid-column:2!important}.service .number{font-size:20px!important}.gk .service .number{padding:6px}.service h3{font-size:24px!important}.detail{display:block;padding:45px 5%!important;margin:0!important}.detail p:last-child{margin-top:25px;font-size:18px}.detail h2{font-size:2.5rem!important}.inquiry{display:block;padding:55px 0}.form{margin-top:30px;padding:24px 18px}.two-fields{grid-template-columns:1fr;gap:0}.inquiry .intro>p{margin-top:20px}.contact{display:block;padding:45px 5%}.contact-links{margin-top:25px}.contact h2{font-size:2.75rem!important}.contact-links a{font-size:18px}.foot{padding-bottom:100px}.mobile-contact{display:flex;position:fixed;bottom:0;left:0;right:0;border-top:1px solid var(--line);background:var(--paper);box-shadow:0 -4px 20px #0000000a;z-index:4;padding:10px 5%;gap:15px}.mobile-contact a{display:flex;align-items:center;justify-content:center;min-height:44px;width:50%;font-size:15px;text-decoration:none}.mobile-contact a:last-child{background:var(--ink);color:var(--paper)}.mobile-contact a:only-child{width:100%}.form .button{width:100%}h1,h2,h3,.brand{overflow-wrap:anywhere}.textlink{overflow-wrap:anywhere}.prepared pre{font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
