:root{color:#1f1a17;font-family:Inter,ui-sans-serif,system-ui,sans-serif;background:#fbf7f1}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}img{display:block;max-width:100%}a{color:inherit}h1,h2,h3{font-family:Georgia,Times New Roman,serif;font-weight:400;line-height:.98;margin:0}p{line-height:1.65}.theme-zuri{--ink: #3e1725;--paper: #fff8f4;--wash: #f4d8d5;--accent: #a52f52;--gold: #d98640;--night: #41172b}.theme-safi{--ink: #171a42;--paper: #f7f8ff;--wash: #dce4fc;--accent: #4b47a8;--gold: #b87b27;--night: #171a42}.theme-baobab{--ink: #173d32;--paper: #fbfaf1;--wash: #e4e9d1;--accent: #276149;--gold: #bd7e1e;--night: #173d32}.site{background:var(--paper);color:var(--ink);min-height:100vh}.notice{background:var(--night);color:#fffaf3;display:flex;font-size:.74rem;gap:1rem;justify-content:space-between;letter-spacing:.05em;padding:.7rem 5vw;text-transform:uppercase}.notice a{color:#fffaf3;font-weight:700}.site-header{align-items:center;display:flex;gap:2rem;justify-content:space-between;min-height:84px;padding:1rem 5vw}.brand{align-items:center;display:flex;gap:.75rem;text-decoration:none}.brand .brand-logo{height:45px;object-fit:contain;width:45px}.brand strong,.brand small{display:block}.brand strong{font-family:Georgia,serif;font-size:1.15rem}.brand small{font-size:.62rem;letter-spacing:.08em;margin-top:.25rem;text-transform:uppercase}nav{display:flex;gap:1.35rem}nav a{font-size:.78rem;font-weight:700;text-decoration:none;text-transform:uppercase}.menu-button{display:none}.call-button{background:var(--ink);border:1px solid var(--ink);color:#fffdf7;display:inline-block;font-size:.78rem;font-weight:800;letter-spacing:.04em;padding:1rem 1.25rem;text-decoration:none;text-transform:uppercase}.call-button:hover{background:var(--gold);border-color:var(--gold)}.header-call{white-space:nowrap}.hero{color:#fffdf8;height:min(690px,calc(100vh - 118px));min-height:560px;overflow:hidden;position:relative}.hero>img,.house-banner>img{height:100%;object-fit:cover;position:absolute;width:100%}.hero-overlay{background:linear-gradient(90deg,color-mix(in srgb,var(--night) 90%,transparent),color-mix(in srgb,var(--night) 26%,transparent));inset:0;position:absolute}.hero-content{left:7vw;max-width:670px;position:absolute;top:50%;transform:translateY(-50%)}.eyebrow{color:var(--gold);font-size:.7rem;font-weight:800;letter-spacing:.14em;margin:0 0 1rem;text-transform:uppercase}.hero .eyebrow{color:#ffd69c}.hero h1{font-size:clamp(3.5rem,7vw,7rem)}.hero-content>p:not(.eyebrow){font-size:1.1rem;max-width:560px}.hero-content>div{align-items:center;display:flex;flex-wrap:wrap;gap:1.2rem;margin-top:1.8rem}.light-link{color:#fff;font-size:.8rem;font-weight:700;text-underline-offset:5px}.next-hint{bottom:1.4rem;font-size:.67rem;font-weight:800;letter-spacing:.12em;position:absolute;right:5vw;text-transform:uppercase}.section{margin:0 auto;max-width:1320px;padding:clamp(3.5rem,7vw,7rem) 5vw}.identity{align-items:center;display:grid;gap:clamp(2rem,7vw,8rem);grid-template-columns:1fr 1fr}.identity h2,.section-heading h2,.house-banner h2,.contact h2{font-size:clamp(2.6rem,5vw,5rem)}.identity p:not(.eyebrow){font-size:1.08rem;max-width:520px}.identity img{aspect-ratio:4/3;object-fit:cover}.text-link{color:var(--accent);font-size:.8rem;font-weight:800;text-underline-offset:5px}.catalogue{background:var(--wash);max-width:none}.section-heading{margin:0 auto 2.4rem;max-width:1220px}.section-heading>p:last-child{max-width:650px}.service-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr));margin:auto;max-width:1220px}.service-card{background:var(--paper);border-bottom:3px solid var(--accent);display:flex;flex-direction:column;min-height:390px}.service-card>img{aspect-ratio:16/10;object-fit:cover;width:100%}.service-card>div{display:flex;flex:1;flex-direction:column;padding:1.15rem}.service-card p{color:var(--accent);font-size:.64rem;font-weight:800;letter-spacing:.08em;margin:0 0 .65rem;text-transform:uppercase}.service-card h3{font-size:1.65rem}.service-card span{font-size:.88rem;line-height:1.55;margin-top:.7rem}.service-card a{color:var(--accent);font-size:.74rem;font-weight:800;margin-top:auto;padding-top:1.3rem;text-decoration:none;text-transform:uppercase}[data-layout=zuri] .identity img,[data-layout=zuri] .service-card{border-radius:24px 24px 4px}[data-layout=zuri] .service-card:nth-child(2n){transform:translateY(1.1rem)}[data-layout=safi] .service-grid{grid-template-columns:1fr}[data-layout=safi] .service-card{align-items:center;border-bottom-width:1px;border-left:4px solid var(--accent);display:grid;grid-template-columns:minmax(180px,.42fr) 1fr;min-height:215px}[data-layout=safi] .service-card>img{aspect-ratio:auto;height:100%}[data-layout=baobab] .service-card{border-radius:3px;border-top:4px solid var(--gold)}[data-layout=baobab] .service-card:nth-child(3n+2){border-top-color:var(--accent)}.house-banner{color:#fffdf8;display:grid;min-height:460px;overflow:hidden;place-items:center;position:relative}.house-banner:after{background:color-mix(in srgb,var(--night) 73%,transparent);content:"";inset:0;position:absolute}.house-banner>div{max-width:720px;padding:3rem 5vw;position:relative;text-align:center;z-index:1}.house-banner .eyebrow{color:#ffda9e}.house-banner p:not(.eyebrow){font-size:1.1rem}.house-banner .call-button{background:#fffdf8;border-color:#fffdf8;color:var(--night)}.contact{align-items:stretch;display:grid;gap:0;grid-template-columns:1fr 1fr;max-width:none;padding:0}.contact>img{height:100%;max-height:500px;min-height:390px;object-fit:cover;width:100%}.contact>div{background:var(--night);color:#fffdf8;padding:clamp(2.5rem,7vw,7rem)}.contact .eyebrow{color:#ffda9e}.contact .phone{display:block;font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.5rem);margin:1.2rem 0 1.8rem}.contact .call-button{background:#fffdf8;border-color:#fffdf8;color:var(--night)}.page-top{padding-top:5rem}.service-detail{max-width:1180px}.detail-hero{align-items:stretch;display:grid;grid-template-columns:1.1fr .9fr;margin:2rem 0 3rem}.detail-hero img{height:430px;object-fit:cover;width:100%}.detail-hero>div{background:var(--wash);padding:clamp(2rem,5vw,5rem)}.detail-hero h1{font-size:clamp(3rem,5vw,5.5rem)}.detail-content{display:grid;gap:4rem;grid-template-columns:1.25fr .75fr}.detail-content dl{margin:0}.detail-content dl>div{border-top:1px solid color-mix(in srgb,var(--ink) 24%,transparent);display:grid;gap:1.5rem;grid-template-columns:180px 1fr;padding:1.25rem 0}.detail-content dt{color:var(--accent);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.detail-content dd{line-height:1.6;margin:0}.detail-content aside{align-self:start;background:var(--wash);padding:2rem}.detail-content aside h2{font-size:2.4rem}.text-page{max-width:900px}.text-page h1{font-size:clamp(3.1rem,6vw,6rem)}.text-page img{aspect-ratio:16/8;margin:2.2rem 0;object-fit:cover;width:100%}.text-page p{font-size:1.1rem}.principles{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.5rem 0}.principles span{border:1px solid var(--accent);color:var(--accent);font-size:.7rem;font-weight:800;padding:.6rem .75rem;text-transform:uppercase}footer{background:var(--night);color:#fffdf8;display:flex;font-size:.72rem;gap:2rem;justify-content:space-between;padding:2rem 5vw}footer a{font-weight:800}.directory{background:#211a1b;color:#fff9f3;min-height:100vh;padding:1.5rem 5vw 5rem}.directory-brand{font-family:Georgia,serif;font-size:1.4rem;text-decoration:none}.directory-brand span{font-family:inherit;font-size:.75rem;opacity:.7}.directory-hero{max-width:800px;padding:10vh 0 8vh}.directory-hero h1{font-size:clamp(3.5rem,8vw,7rem)}.directory-hero p:last-child{font-size:1.1rem;max-width:650px}.directory-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)}.directory-card{background:#fff;color:#241b1b;overflow:hidden;text-decoration:none}.directory-card>img{aspect-ratio:3/4;object-fit:cover;width:100%}.directory-card>div{padding:1.3rem}.directory-card .brand-logo{height:45px;object-fit:contain;width:45px}.directory-card p{color:#70544c;font-size:.65rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.directory-card h2{font-size:2rem}.directory-card span{color:#805c28;display:block;font-size:.72rem;font-weight:800;margin-top:2rem;text-transform:uppercase}@media(max-width:800px){.notice{font-size:.62rem;padding:.65rem 1rem}.notice a{display:none}.site-header{gap:.6rem;min-height:70px;padding:.8rem 1rem}.brand strong{font-size:.9rem}.brand small{display:none}.brand .brand-logo{height:36px;width:36px}.header-call{display:none}.menu-button{background:transparent;border:1px solid var(--ink);color:var(--ink);display:block;font-size:.7rem;font-weight:800;padding:.55rem .7rem;text-transform:uppercase}nav{background:var(--paper);display:none;flex-direction:column;left:0;padding:1rem;position:absolute;right:0;top:118px;z-index:5}nav.open{display:flex}.hero{height:680px;min-height:0}.hero-content{left:1.35rem;right:1.35rem}.hero h1{font-size:clamp(3.4rem,15vw,5rem)}.next-hint{left:1.35rem;right:auto}.identity,.contact,.detail-hero,.detail-content{grid-template-columns:1fr}.section{padding:3.8rem 1.35rem}.identity{gap:2rem}.identity img{order:-1}.service-grid,.directory-grid{grid-template-columns:1fr}[data-layout=zuri] .service-card:nth-child(2n){transform:none}[data-layout=safi] .service-card{display:flex}[data-layout=safi] .service-card>img{aspect-ratio:16 / 9;height:auto}.service-card{min-height:0}.service-card>img{aspect-ratio:16/9}.house-banner>div{text-align:left}.contact>img{min-height:280px}.contact>div{padding:3.5rem 1.35rem}.detail-hero img{height:280px}.detail-content{gap:2rem}.detail-content dl>div{display:block}.detail-content dd{margin-top:.7rem}footer{flex-direction:column;gap:.65rem;padding:2rem 1.35rem}.directory{padding:1.25rem 1.25rem 3rem}.directory-hero{padding:7vh 0 6vh}.directory-card>img{aspect-ratio:16/9}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
