*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.7 Manrope,Arial,sans-serif}img{display:block;width:100%;object-fit:cover}picture{display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button,summary{cursor:pointer}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:'Bricolage Grotesque',Arial,sans-serif;font-weight:500;line-height:1.05;letter-spacing:-.035em}h1{font-size:clamp(3.4rem,5.5vw,5.5rem)}h2{font-size:clamp(2.2rem,3.3vw,3.5rem)}h3{font-size:25px}.demo-bar{background:var(--ink);color:var(--paper);padding:10px 5vw;display:flex;justify-content:space-between;gap:20px;font-size:12px}.demo-bar a{text-decoration:underline;text-underline-offset:4px}header{padding:26px 5vw;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid color-mix(in srgb,var(--ink) 22%,transparent)}.wordmark{font-family:'Bricolage Grotesque',Arial;font-size:27px;letter-spacing:-.035em;font-weight:600}header nav{display:flex;gap:28px;align-items:center;font-size:12px;font-weight:700}.nav-action{border-bottom:1px solid;padding:8px 0}.menu{display:none}.hero{padding:60px 5vw;display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center;min-height:680px}.hero-content{position:relative;z-index:1}.sector{font-size:12px;margin-bottom:26px}.intro{margin:28px 0;max-width:43ch;color:color-mix(in srgb,var(--ink) 80%,var(--paper))}.hero-image{height:560px;overflow:hidden}.hero-image img{height:100%;object-position:65% center;animation:photo .9s both}.hero h1{animation:title .7s both}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:35px;background:var(--accent);color:var(--paper);border:1px solid transparent;padding:16px 24px;font-size:13px;font-weight:700;border-radius:2px;transition:transform .2s}.button:hover{transform:translateY(-3px)}.text-link{display:inline-block;border-bottom:1px solid;padding:7px 0;font-size:13px;font-weight:700}.section{padding:95px 5vw}.section-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:8vw;align-items:end;margin-bottom:35px}.section-heading>p{max-width:40ch;font-size:14px;opacity:.8}.filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:30px}.filters button{background:transparent;border:1px solid color-mix(in srgb,var(--ink) 35%,transparent);padding:10px 18px;border-radius:2px;font-size:12px}.filters .active{background:var(--ink);color:var(--paper)}.option-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.option{border-top:1px solid color-mix(in srgb,var(--ink) 30%,transparent);padding-top:24px;display:flex;flex-direction:column}.option>div{display:flex;flex-direction:column;gap:14px;flex:1}.option img{height:260px;margin-bottom:22px}.category{font-size:12px;opacity:.75}.option p{font-size:14px;max-width:50ch}.item-action{display:flex;justify-content:space-between;border:0;border-bottom:1px solid color-mix(in srgb,var(--ink) 30%,transparent);padding:15px 0;background:none;font-size:12px;font-weight:700;align-items:center;margin-top:auto}.item-action:hover{color:var(--accent)}.filter-status{font-size:12px;min-height:18px;margin-top:20px}.story{display:grid;grid-template-columns:1.1fr 1fr;gap:9vw;align-items:center;background:color-mix(in srgb,var(--ink) 6%,var(--paper))}.story-image{height:490px;overflow:hidden}.story-image img{height:100%;object-position:25% center}.story>div>p{margin:30px 0;max-width:46ch}.journey ol{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding:0;margin:45px 0 0}.journey li{border-top:1px solid color-mix(in srgb,var(--ink) 30%,transparent);padding:24px 0}.journey li>span{font-size:12px;color:var(--accent)}.journey h3{margin:20px 0 15px}.journey p{font-size:14px;opacity:.8}.request{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:10vw}.request>div>p{margin-top:25px;max-width:40ch;opacity:.8}.demo-form{display:grid;gap:20px}.demo-form label{display:flex;flex-direction:column;gap:8px;font-size:12px}.demo-form input,.demo-form select,.demo-form textarea{width:100%;background:var(--paper);color:var(--ink);border:0;border-radius:2px;padding:13px;font-size:14px}.demo-form textarea{min-height:90px}.demo-form .button{justify-self:start;background:var(--paper);color:var(--ink)}.form-status{font-size:14px}.form-disclaimer{font-size:12px;opacity:.75}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:15px}.faq{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.faq details{border-bottom:1px solid color-mix(in srgb,var(--ink) 25%,transparent);padding:20px 0}.faq summary{font-size:15px;font-weight:600}.faq details p{margin-top:20px;font-size:13px}.faq a{text-decoration:underline}footer{border-top:1px solid color-mix(in srgb,var(--ink) 25%,transparent);padding:45px 5vw;display:flex;justify-content:space-between;gap:30px;font-size:12px}footer p{max-width:40ch}footer>a:last-child{font-size:12px}.skip{position:fixed;top:-80px;left:15px;background:var(--ink);color:var(--paper);padding:12px;z-index:20}.skip:focus{top:10px}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.request :focus-visible{outline-color:var(--paper)}[hidden]{display:none!important}.basket{margin:0 5vw 80px;border:1px solid var(--ink);padding:30px;max-width:650px}.basket h2{font-size:30px;margin-bottom:20px}.basket li{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid}.basket ul{padding:0;list-style:none}.basket li button{background:none;border:0;text-decoration:underline;font-size:12px}.basket .button{margin-top:20px}.basket-note{font-size:13px;margin-top:15px}.button:disabled{opacity:.5;cursor:default}.entered{animation:rise .65s both}
/* Each concept has its own composition, material and type treatment. */
.clinic .hero-image{border-radius:140px 0 0 0}.clinic .hero-content{padding-right:20px}.clinic .option-grid{grid-template-columns:repeat(4,1fr)}.clinic .option h3{font-size:24px}.estate h1,.estate h2,.hotel h1,.hotel h2,.restaurant h1,.restaurant h2,.beauty h1,.beauty h2,.shop h1,.shop h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.035em}.estate .hero{grid-template-columns:1.1fr 1fr;padding-bottom:0}.estate .hero-content{padding-bottom:60px}.estate .hero-image{height:610px}.estate .option-grid,.hotel .option-grid{grid-template-columns:repeat(3,1fr)}.restaurant .hero{display:flex;flex-direction:column;text-align:center;padding-top:45px;gap:45px}.restaurant .hero-content{max-width:700px}.restaurant h1{font-size:5.5rem}.restaurant .intro{margin-left:auto;margin-right:auto}.restaurant .hero-image{width:100%;height:520px}.restaurant .hero-image img{object-position:center 55%}.restaurant .option{padding:28px 0}.restaurant .option-grid{gap:0 60px}.restaurant .button{color:#211d19}.restaurant .request .button{background:var(--accent);color:#211d19}.restaurant .story-image{border-radius:50% 50% 0 0}.garage .hero{grid-template-columns:1fr 1.2fr;gap:40px}.garage h1{font-weight:800;text-transform:uppercase;font-size:4.7rem}.garage .hero-image{height:600px}.garage .hero-image img{object-position:70% center}.garage .button{color:#101d27}.garage .option-grid{grid-template-columns:repeat(4,1fr)}.beauty .hero{grid-template-columns:1fr 1fr;gap:7vw}.beauty .hero-image{height:650px;border-radius:50% 50% 0 0}.beauty h1{font-size:5.5rem}.beauty .story-image{height:570px}.beauty .option-grid{gap:35px 75px}.hotel .hero{position:relative;display:block;min-height:720px;padding:0;margin:35px 5vw 0}.hotel .hero-image{position:absolute;inset:0;height:100%;width:100%}.hotel .hero-image img{object-position:center}.hotel .hero-content{position:relative;top:75px;left:35px;background:var(--paper);padding:35px;max-width:500px}.hotel h1{font-size:5rem}.hotel .intro{font-size:14px}.hotel .options{padding-top:100px}.school .hero{grid-template-columns:1.2fr 1fr}.school .hero-image{height:520px;border-radius:0 100px 0 0}.school h1{font-weight:700;font-size:4.7rem}.school .option-grid{gap:30px}.school .option{padding:30px;background:color-mix(in srgb,var(--accent) 7%,var(--paper))}.accounting .hero{grid-template-columns:1.2fr 1fr}.accounting h1{font-size:4.8rem;font-weight:600}.accounting .hero-image{height:550px}.accounting .option-grid{grid-template-columns:1fr}.accounting .option>div{display:grid;grid-template-columns:150px 1fr 1.4fr 150px;gap:20px;align-items:center}.accounting .item-action{margin:0}.technical .hero{gap:0;grid-template-columns:1fr 1.2fr;padding-right:0}.technical .hero-content{padding-right:5vw}.technical .hero-image{height:620px}.technical .option-grid{grid-template-columns:repeat(4,1fr)}.shop .hero{grid-template-columns:1fr 1.3fr;gap:5vw}.shop .hero-image{height:590px}.shop .option-grid{grid-template-columns:repeat(4,1fr)}.shop .option img{height:300px}.shop .option h3{font-size:23px}.shop .option p{font-size:12px}.shop .story{grid-template-columns:1fr 1fr}.shop .story-image{height:540px}
@keyframes photo{from{transform:scale(1.04)}to{transform:scale(1)}}@keyframes title{from{transform:translateY(16px)}to{transform:translateY(0)}}@keyframes rise{from{transform:translateY(20px)}to{transform:translateY(0)}}
@media(max-width:1000px){header nav{gap:18px}.hero{gap:30px;min-height:560px}.hero h1,.garage h1,.school h1,.accounting h1{font-size:3.8rem}.hero-image{height:470px!important}.option-grid,.clinic .option-grid,.garage .option-grid,.technical .option-grid,.shop .option-grid{grid-template-columns:1fr 1fr}.accounting .option>div{grid-template-columns:100px 1fr}.story{gap:40px}.story-image{height:420px!important}.hotel .hero{min-height:650px}.hotel .hero-image{height:100%!important}.section{padding-top:75px;padding-bottom:75px}.request{gap:40px}.hotel .hero-content{max-width:440px}.restaurant h1{font-size:4.8rem}}
@media(max-width:700px){.demo-bar{font-size:12px;padding:10px 20px}.demo-bar span{max-width:210px;text-align:right}header{padding:20px 24px}.wordmark{font-size:24px}.menu{display:flex;flex-direction:column;gap:6px;background:none;border:0;padding:10px}.menu span{height:2px;width:24px;background:var(--ink)}header nav{display:none;position:absolute;left:0;right:0;top:115px;z-index:10;background:var(--paper);padding:25px;flex-direction:column;align-items:start;border-bottom:1px solid var(--ink)}header.menu-open nav{display:flex}.hero,.estate .hero,.garage .hero,.beauty .hero,.school .hero,.accounting .hero,.technical .hero,.shop .hero{display:flex;flex-direction:column;padding:40px 24px;gap:32px;align-items:stretch;min-height:0}.hero h1,.beauty h1,.restaurant h1,.garage h1,.school h1,.accounting h1{font-size:3.4rem}.sector{margin-bottom:20px}.intro{font-size:14px;margin:24px 0}.hero-image{height:370px!important}.clinic .hero-image{border-radius:80px 0 0 0}.beauty .hero-image{height:470px!important}.technical .hero-content,.clinic .hero-content,.estate .hero-content{padding:0}.section{padding:65px 24px}.section-heading{grid-template-columns:1fr;gap:20px;margin-bottom:28px}.option-grid,.clinic .option-grid,.estate .option-grid,.hotel .option-grid,.garage .option-grid,.technical .option-grid,.shop .option-grid{grid-template-columns:1fr}.option-grid{gap:28px}.option h3{font-size:26px}.option img,.shop .option img{height:300px}.story,.shop .story{grid-template-columns:1fr;gap:30px}.story-image{height:370px!important}.story>div>p{margin:22px 0}.journey ol{grid-template-columns:1fr;gap:5px}.journey li{padding:20px 0}.journey h3{margin:13px 0}.request,.faq{grid-template-columns:1fr;gap:35px}.demo-form .button{justify-self:stretch}.field-pair{grid-template-columns:1fr 1fr}.accounting .option>div{display:flex}.restaurant .hero{padding-top:35px}.restaurant .hero-image{height:310px!important}.hotel .hero{margin:20px 24px 0;padding:0;display:flex;flex-direction:column;min-height:0}.hotel .hero-image{position:static;height:350px!important;order:2}.hotel .hero-content{top:auto;left:auto;position:static;padding:30px 0;max-width:none}.hotel h1{font-size:3.6rem}.hotel .options{padding-top:65px}.filters{gap:8px}.filters button{font-size:12px;padding:9px 13px}.basket{margin:0 24px 50px;padding:22px}footer{padding:35px 24px;flex-direction:column;gap:20px}.shop .story-image{height:380px!important}.story .text-link{margin-top:10px}.button{gap:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
