:root{--black:#080808;--white:#fafafa;--line:#d4d4d4;--muted:#626262;--pad:clamp(24px,6.2vw,108px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--white);color:var(--black);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:6px}p{font-size:16px;line-height:1.85;text-align:justify;text-wrap:pretty;margin:0 0 24px;hyphens:none}h1,h2,h3{margin:0;font-weight:400}h2{font-size:clamp(36px,4.65vw,72px);line-height:1.08;letter-spacing:-.045em;text-wrap:balance}em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em}h3{text-transform:uppercase;font-size:14px;letter-spacing:.16em;line-height:1.5}.eyebrow,.section-label{font-size:12px;line-height:1.6;letter-spacing:.13em;text-transform:uppercase}.section{padding:48px var(--pad) 100px}.section-label{display:flex;justify-content:space-between;gap:24px;margin-bottom:76px}.section-label>span:last-child{color:var(--muted)}.wordmark{font-size:28px;letter-spacing:-.055em;font-weight:500}.skip{position:fixed;top:-80px;left:20px;padding:12px;background:white;z-index:100}.skip:focus{top:15px}header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);border-bottom:1px solid var(--line);background:rgba(250,250,250,.96);position:sticky;top:0;z-index:30}header nav{display:flex;gap:36px}header nav a{font-size:12px;text-transform:uppercase;letter-spacing:.11em;position:relative;padding:12px 0}header nav a:after{content:'';position:absolute;height:1px;bottom:5px;left:0;width:0;background:currentColor;transition:width .3s}header nav a:hover:after{width:100%}.menu-button{display:none}.hero{padding:42px var(--pad) 30px;min-height:calc(100svh - 88px);display:flex;flex-direction:column;justify-content:space-between}.hero-top,.hero-bottom,.hero-note{display:flex;justify-content:space-between;gap:24px}.hero h1{font-size:clamp(110px,24.1vw,390px);font-weight:500;letter-spacing:-.074em;line-height:.87;margin:68px 0 50px -.015em}.hero-bottom{align-items:flex-end}.hero-tagline{font-size:clamp(20px,2vw,30px);line-height:1.35;letter-spacing:-.035em;text-align:left;margin:0}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:44px;text-transform:uppercase;font-size:12px;letter-spacing:.1em;border-bottom:1px solid currentColor;padding:12px 0;transition:opacity .2s}.text-link span{font-size:20px}.text-link:hover{opacity:.55}.hero-rule{height:1px;background:var(--line);margin:48px 0 22px}.hero-note{color:var(--muted)}.house{padding-top:70px;border-top:1px solid var(--line);margin-top:36px}.house-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:start}.copy{max-width:480px;padding-top:8px}.philosophy{display:grid;grid-template-columns:1fr 1fr;gap:12%;margin-top:90px}.philosophy article{border-top:1px solid var(--line);padding-top:26px}.philosophy h3{margin-bottom:22px}.philosophy p{color:var(--muted);margin-bottom:0}.expertise{background:var(--black);color:var(--white);padding-top:48px}.expertise .section-label>span:last-child{color:#999}.expertise-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:66px}.expertise-heading>.eyebrow{color:#aaa;max-width:170px}.accordion{border-top:1px solid #434343}details{border-bottom:1px solid #434343}summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:30px;min-height:90px;padding:24px 0}summary::-webkit-details-marker{display:none}summary .index{font-size:12px;color:#999;min-width:26px}summary h3{font-size:clamp(14px,1.65vw,25px);letter-spacing:.14em;flex:1}summary:hover h3{color:#aaa}.toggle{width:16px;height:16px;position:relative;flex-shrink:0}.toggle:before,.toggle:after{content:'';position:absolute;background:currentColor;top:7px;left:0;width:16px;height:1px}.toggle:after{transform:rotate(90deg);transition:transform .2s}details[open] .toggle:after{transform:rotate(0)}.detail{margin:0 0 32px 56px;max-width:660px;animation:fade .4s}.detail p{color:#ccc;max-width:600px}.detail .eyebrow{color:#999}.sectors{display:grid;grid-template-columns:1fr 2fr;gap:40px;margin-top:72px}.sectors>.eyebrow{color:#999}.sectors ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:19px 35px}.sectors li{font-size:14px;line-height:1.5}.maison{padding-top:48px}.maison-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.maison figure{margin:0}.maison img{display:block;width:100%;height:640px;object-fit:cover;filter:grayscale(1)}figcaption{margin-top:18px;color:var(--muted)}.maison-copy h2{margin:30px 0 34px;font-size:clamp(50px,6vw,90px)}.maison-copy p{color:#4b4b4b}.rendezvous{border-top:1px solid var(--line);padding-bottom:110px}.rendezvous-inner{max-width:790px;margin:auto;text-align:center}.rendezvous-inner h2{margin:35px 0}.rendezvous-inner p{max-width:525px;margin:0 auto;}.rendezvous-signature{display:block;font-size:13px;letter-spacing:.27em;margin-top:44px}footer{background:var(--black);color:var(--white)}footer .section-label{padding-top:0}footer .section-label a{color:#aaa}.contact-main{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding-bottom:90px}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:32px}.contact-details>div:first-child{grid-column:1/-1}.contact-details>div{display:flex;flex-direction:column;gap:12px}.contact-details .eyebrow{color:#999}.contact-details a,.contact-details>div>span:last-child{font-size:16px;line-height:1.5}.contact-details a:hover{opacity:.6}.footer-bottom{border-top:1px solid #434343;padding-top:32px;display:flex;justify-content:space-between;align-items:center;gap:24px}.footer-bottom>.eyebrow{color:#999}.footer-bottom>.eyebrow:last-child{max-width:260px;font-size:12px}footer.section{padding-bottom:32px}.intro{position:fixed;inset:0;z-index:1000;background:#050505;color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;pointer-events:none;animation:intro-out .7s 1.65s forwards}.intro-logo{font-size:clamp(58px,9vw,110px);letter-spacing:-.06em;animation:fade 1s}.intro-line{width:100px;height:1px;background:#fff;margin:32px 0;transform-origin:left;animation:line 1.5s ease-in-out}.intro .eyebrow{font-size:12px;color:#999}.mobile-nav[hidden]{display:none}@keyframes intro-out{to{opacity:0;visibility:hidden}}@keyframes line{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){main{max-width:2000px;margin:auto}.hero h1{font-size:350px}}
@media(max-width:760px){html{scroll-padding-top:72px}header{height:72px}.wordmark{font-size:26px}header nav{display:none}.menu-button{display:flex;align-items:center;gap:20px;background:none;border:0;color:inherit;padding:12px 0;text-transform:uppercase;font-size:12px;letter-spacing:.1em}.menu-button span{font-size:22px}.mobile-nav{position:fixed;top:72px;inset-inline:0;z-index:40;background:var(--white);padding:26px var(--pad) 40px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:28px;font-size:17px}.hero{min-height:calc(83svh - 72px);padding-top:26px}.hero-top,.hero-note{font-size:12px;letter-spacing:.05em}.hero-top>span:first-child{max-width:150px}.hero-top>span:last-child{white-space:nowrap}.hero h1{font-size:24vw;margin:72px 0 60px;letter-spacing:-.072em}.hero-bottom{align-items:flex-start;flex-direction:column;gap:32px}.hero-tagline{font-size:24px}.hero-note>span:last-child{display:none}.hero-rule{margin-top:38px}.section{padding:32px var(--pad) 65px}.section-label{font-size:12px;letter-spacing:.08em;margin-bottom:48px}.section-label>span:last-child{max-width:145px;text-align:right}.house{margin-top:25px}.house-grid,.philosophy,.maison-grid,.contact-main{grid-template-columns:1fr;gap:36px}.copy{max-width:none}.philosophy{margin-top:50px;gap:34px}.expertise-heading{display:block;margin-bottom:40px}.expertise-heading>.eyebrow{display:block;max-width:none;margin-top:28px}summary{gap:12px;min-height:82px}summary h3{font-size:14px;letter-spacing:.11em;max-width:calc(100% - 58px);text-wrap:balance}summary .index{min-width:20px}.detail{margin-left:0}.detail .eyebrow{line-height:1.9}.sectors{grid-template-columns:1fr;gap:24px;margin-top:48px}.sectors ul{grid-template-columns:1fr;gap:14px}.maison img{height:440px}.maison-copy h2{margin:24px 0 30px}.rendezvous-inner h2{font-size:clamp(32px,8vw,55px)}.rendezvous-inner>.eyebrow{letter-spacing:.06em}.contact-main{padding-bottom:55px}.contact-details{gap:30px}.footer-bottom{flex-wrap:wrap}.footer-bottom>.eyebrow:last-child{max-width:none;width:100%;font-size:12px}.intro .eyebrow{letter-spacing:.09em}p{line-height:1.8}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.intro{display:none}}

/* Official JOAAL artwork: intrinsic proportions preserved in every placement. */
.wordmark{display:block;flex-shrink:0}.wordmark img{display:block;width:104px;height:auto}
.hero h1{font-size:inherit;line-height:1;margin:44px 0;width:100%}
.hero h1 img{display:block;width:min(100%,850px);height:auto;max-height:42svh;object-fit:contain;object-position:left center}
.intro-logo{display:block;width:clamp(190px,30vw,370px);height:auto}
.footer-bottom .wordmark img{width:120px}
@media(max-width:760px){.wordmark img{width:90px}.hero h1{margin:52px 0}.hero h1 img{width:100%;max-height:none}.intro-logo{width:220px}.footer-bottom .wordmark img{width:108px}}
@font-face{font-family:Inter;src:url('inter-light.ttf') format('truetype');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:Inter;src:url('inter-regular.ttf') format('truetype');font-weight:400 500;font-style:normal;font-display:swap}
body{font-family:Inter,Arial,sans-serif;font-weight:400}p{font-weight:300;line-height:1.9}header nav{gap:clamp(18px,2.2vw,36px)}header nav a{font-size:12px;letter-spacing:.07em}header nav a[aria-current="location"]:after{width:100%}
.maison-grid{align-items:start}.maison-title h2{font-size:clamp(60px,7vw,104px);margin:30px 0 48px}.maison-copy h3{margin-bottom:22px}.maison-copy>div+div{border-top:1px solid var(--line);padding-top:28px;margin-top:32px}.maison-chapters{max-width:310px;border-top:1px solid var(--line)}.maison-chapters a{display:flex;justify-content:space-between;padding:20px 0;border-bottom:1px solid var(--line);font-size:14px;transition:padding .25s}.maison-chapters a:hover{padding-left:10px}.maison-chapters span{color:var(--muted);font-size:12px}.first-rendezvous{border-top:1px solid var(--line);max-width:525px;margin:38px auto 20px;padding-top:30px}.first-rendezvous h3{margin-bottom:20px}.rendezvous-inner>.text-link{margin-top:22px}.contact-intro p{max-width:400px;margin-top:32px;color:#ccc}.contact-location{display:flex;align-items:center;justify-content:space-between;max-width:400px;gap:24px;margin-top:30px}.contact-studio{border-top:1px solid #555;padding-top:24px}.enquiry-options{display:flex;flex-wrap:wrap;gap:0 24px;margin:24px 0 30px}.enquiry-options button{cursor:pointer;border:0;border-bottom:1px solid transparent;background:none;color:#aaa;padding:12px 0;font-size:14px;line-height:1.5;text-align:left;transition:color .2s,border-color .2s}.enquiry-options button[aria-pressed=true]{color:white;border-color:white}.enquiry-options button:hover{color:white}#enquiry-description{min-height:92px;color:#ccc}.email-address{display:block;font-size:14px;color:#aaa;margin-top:24px;overflow-wrap:anywhere}.email-address:hover{color:#fff}.contact-studio>.text-link{width:100%}.section h2{transition:opacity .5s}.text-link span{transition:transform .25s}.text-link:hover span{transform:translate(3px,-3px)}.hero .text-link:hover span{transform:translateY(3px)}
@media(min-width:761px) and (max-width:1050px){header{padding-inline:28px}header nav{gap:16px}header nav a{font-size:12px;letter-spacing:0}.wordmark img{width:88px}}
@media(max-width:760px){.maison-title h2{margin-bottom:30px}.maison-chapters{max-width:none}.maison-grid{gap:42px}.contact-studio{margin-top:4px}#enquiry-description{min-height:0}.contact-location{max-width:none}.enquiry-options{gap:0 22px}.contact-main{gap:42px}.hero h1{margin:42px 0}}
/* The supplied slogan composition, set as responsive live typography. */
footer.section{background:#fff;color:#080808}.contact-main{align-items:start;row-gap:64px}.contact-intro{grid-column:1/-1;width:min(100%,780px);margin:0 auto 12px;container-type:inline-size}.contact-slogan{display:flex;flex-direction:column;line-height:1;letter-spacing:0;text-wrap:nowrap}.slogan-opening,.slogan-together{font-family:Inter,Arial,sans-serif;font-style:italic;font-weight:400;font-size:clamp(20px,4.6vw,45px);font-size:5.8cqw;letter-spacing:.19em}.slogan-opening{align-self:flex-start;margin-bottom:12px}.slogan-timeless{display:block;font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(62px,15vw,154px);font-size:20cqw;letter-spacing:-.065em;line-height:.98}.slogan-together{align-self:flex-end;margin-top:14px;letter-spacing:.16em}.contact-intro .slogan-caption{max-width:none;color:#080808;margin:44px 0 0;font-size:clamp(14px,2.7vw,27px);font-size:3.55cqw;font-style:italic;font-weight:300;letter-spacing:.1em;line-height:1.75;text-align:left;text-wrap:nowrap}.slogan-caption span{display:block}.contact-location{margin-top:24px;width:100%;max-width:none}.contact-studio{border-color:#bcbcbc}.enquiry-options button{color:#666}.enquiry-options button[aria-pressed=true]{color:#080808;border-color:#080808}.enquiry-options button:hover{color:#080808}#enquiry-description{color:#4b4b4b}.email-address{color:#626262}.email-address:hover{color:#080808}#enquiry-label{font-size:20px;text-transform:none;letter-spacing:-.02em;font-weight:300}.footer-bottom{border-color:#bcbcbc}.footer-bottom>.eyebrow,footer .section-label a{color:#626262}
@media(max-width:760px){.contact-main{row-gap:32px}.contact-intro{margin-bottom:8px}.slogan-opening{margin-bottom:8px}.slogan-together{margin-top:9px}.contact-intro .slogan-caption{margin-top:28px;font-size:max(13px,3.55cqw);letter-spacing:.04em}.contact-location{margin-top:0;margin-bottom:8px}.contact-studio{margin-top:0}}
/* Compact contact and centered principal brand mark. */
.hero h1 img{margin-inline:auto;object-position:center}
#contact{padding-top:32px;padding-bottom:24px}
#contact>.section-label{margin-bottom:32px}
#contact .contact-main{display:flex;flex-direction:column;align-items:center;gap:24px;padding-bottom:32px}
#contact .contact-intro{width:min(100%,520px);margin:0}
#contact .slogan-opening{margin-bottom:8px}
#contact .slogan-together{margin-top:8px}
#contact .slogan-caption{margin-top:22px;font-size:clamp(13px,3.55cqw,19px);line-height:1.65}
.contact-actions{width:min(100%,520px)}
.contact-actions>.text-link{display:flex;width:100%;padding:13px 0;text-transform:none;font-size:16px;letter-spacing:0;font-weight:300}
.contact-meta{display:flex;justify-content:space-between;gap:20px;margin-top:18px;font-size:13px;line-height:1.5;color:#626262}
.contact-meta a:hover{color:#080808}
#contact .footer-bottom{padding-top:20px}
#contact .footer-bottom>.eyebrow:last-child{display:none}
@media(max-width:760px){#contact .section-label{margin-bottom:28px}#contact .contact-main{gap:20px;padding-bottom:28px}#contact .footer-bottom .wordmark img{width:86px}#contact .slogan-caption{letter-spacing:.025em}}
/* A quieter, consistent rhythm for the two editorial blocks. */
.maison-title h2{font-family:Inter,Arial,sans-serif;font-weight:300;font-style:normal;font-size:clamp(30px,3.5vw,50px);line-height:1.25;letter-spacing:-.035em;margin:24px 0 38px;text-wrap:nowrap}
.maison-chapters{max-width:100%;border-color:#dedede}
.maison-chapters a{padding:18px 0;border-color:#dedede;font-size:14px;font-weight:300;line-height:1.6;color:#404040;transition:color .2s}
.maison-chapters a:hover{padding-left:0;color:#080808}
.maison-chapters span{color:#777;font-weight:300}
.sectors{display:block;max-width:880px;margin:60px 0 0 56px;padding-top:28px;border-top:1px solid #303030}
.sectors>.eyebrow{display:block;color:#a8a8a8;font-weight:300;letter-spacing:.1em;margin-bottom:24px}
.sectors ul{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:48px;row-gap:0}
.sectors li{padding:13px 0;font-size:14px;font-weight:300;line-height:1.7;color:#c4c4c4;letter-spacing:.015em;text-wrap:pretty;border-bottom:1px solid #252525}
@media(max-width:760px){.maison-title h2{font-size:clamp(28px,7vw,40px);margin:22px 0 28px}.maison-chapters a{padding:16px 0}.sectors{margin:42px 0 0;padding-top:24px}.sectors ul{grid-template-columns:1fr}.sectors>.eyebrow{margin-bottom:14px}.sectors li{padding:12px 0}}
/* Compact typographic composition: three balanced lines. */
.sectors{display:block;max-width:960px;margin:58px auto 0;padding:30px 0 0;border-top:1px solid #282828;text-align:center}
.sectors>.eyebrow{display:block;margin:0 0 28px;padding:0;color:#999;font-size:12px;font-weight:300;letter-spacing:.16em;line-height:1.8}
.sectors ul{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0;list-style:none;margin:0;padding:0;align-items:center}
.sectors li,.sectors li:last-child{position:relative;display:block;grid-column:span 4;width:auto;justify-self:stretch;margin:0;padding:12px 14px;border:0;text-align:center;font-family:Inter,Arial,sans-serif;font-size:14px;font-weight:300;letter-spacing:.01em;line-height:1.8;color:#c4c4c4;text-wrap:balance}
.sectors li:nth-child(4){grid-column:2/span 5}.sectors li:nth-child(5){grid-column:7/span 5}.sectors li:nth-child(6){grid-column:3/span 4}.sectors li:nth-child(7){grid-column:7/span 4}
.sectors li:nth-child(2):before,.sectors li:nth-child(3):before,.sectors li:nth-child(5):before,.sectors li:nth-child(7):before{content:'·';position:absolute;left:-2px;color:#626262;font-size:12px}
@media(max-width:760px){.sectors{margin-top:40px;padding-top:26px}.sectors>.eyebrow{margin-bottom:20px}.sectors ul{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px}.sectors li,.sectors li:last-child{padding:5px 0;font-size:14px;flex:0 1 auto}.sectors li:before{display:none}}
/* Softer expertise typography, preserving the accordion interaction. */
.accordion{border-top-color:#303030}
.accordion details{border-bottom-color:#303030}
.accordion summary{min-height:72px;padding:21px 0;gap:24px}
.accordion summary h3{font-family:Inter,Arial,sans-serif;font-size:15px;font-weight:300;letter-spacing:.085em;line-height:1.7;color:#c9c9c9;transition:color .2s}
.accordion summary:hover h3,.accordion details[open] summary h3{color:#eee}
.accordion summary .index{color:#858585;font-size:12px;font-weight:300;min-width:26px}
.accordion .toggle{width:12px;height:12px;color:#aaa}
.accordion .toggle:before,.accordion .toggle:after{width:12px;top:5px}
.accordion .detail{margin-left:50px}
@media(max-width:760px){.accordion summary{min-height:68px;padding:19px 0;gap:14px}.accordion summary h3{font-size:14px;letter-spacing:.055em}.accordion summary .index{min-width:20px}.accordion .detail{margin-left:0}}
/* A restrained editorial layout for the six expertise disciplines. */
.expertise-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr);column-gap:clamp(48px,8vw,120px);align-items:start}
.expertise-heading{display:block;margin:0;padding-top:15px}
.expertise-heading h2{font-family:Inter,Arial,sans-serif;font-size:clamp(26px,2.55vw,38px);font-weight:300;line-height:1.5;letter-spacing:-.025em;text-wrap:balance;color:#d4d4d4}
.expertise-heading>.eyebrow{display:block;max-width:none;margin-top:24px;font-size:12px;letter-spacing:.1em;color:#909090;line-height:1.8}
.expertise-layout .accordion{border-top:0;min-width:0}
.expertise-layout .accordion details{border-bottom:1px solid #292929}
.expertise-layout .accordion details:last-child{border-bottom:0}
.expertise-layout .accordion summary{min-height:66px;padding:19px 0;gap:20px}
.expertise-layout .accordion summary h3{font-family:Inter,Arial,sans-serif;font-size:16px;font-weight:300;line-height:1.6;letter-spacing:.015em;text-transform:none;color:#c4c4c4;max-width:none}
.expertise-layout .accordion summary .index{font-size:12px;min-width:20px;color:#777}
.expertise-layout .accordion .toggle{color:#888;width:10px;height:10px}
.expertise-layout .accordion .toggle:before,.expertise-layout .accordion .toggle:after{width:10px;top:4px}
.expertise-layout .accordion summary:hover h3,.expertise-layout .accordion details[open] summary h3{color:#f2f2f2}
.expertise-layout .accordion summary:focus-visible{outline:1px solid #888;outline-offset:5px;border-radius:0}
.expertise-layout .accordion .detail{margin:0 0 23px 40px;max-width:none}
.expertise-layout .detail p{font-size:16px;line-height:1.85;color:#bcbcbc;margin-bottom:18px}
.expertise-layout .detail .eyebrow{font-size:12px;letter-spacing:.05em;line-height:1.9;color:#999}
@media(max-width:760px){.expertise-layout{grid-template-columns:1fr;gap:30px}.expertise-heading{padding:0}.expertise-heading h2{font-size:27px;line-height:1.5}.expertise-heading>.eyebrow{margin-top:18px}.expertise-layout .accordion summary{gap:14px;min-height:66px}.expertise-layout .accordion summary h3{font-size:15px}.expertise-layout .accordion .detail{margin-left:0}.expertise-layout .accordion .detail p{font-size:16px}}
.expertise-layout{display:block;max-width:760px;margin:0 auto}
.expertise-layout .accordion{width:100%}

/* A concise, light presentation of Maison Joaal. */
#maison{padding-top:36px;padding-bottom:56px}
#maison .section-label{margin-bottom:40px}
#maison .maison-grid{grid-template-columns:1fr 1.2fr;gap:9%;align-items:start}
#maison .maison-title h2{font-size:clamp(28px,3vw,40px);font-weight:300;margin:16px 0 0}
#maison .maison-copy{max-width:560px}
#maison .maison-copy p{font-size:15px;font-weight:300;line-height:1.75;margin:0 0 18px}
#maison .maison-copy .text-link{font-size:11px;font-weight:300;padding:8px 0}
@media(max-width:760px){#maison{padding-top:30px;padding-bottom:40px}#maison .section-label{margin-bottom:28px}#maison .maison-grid{grid-template-columns:1fr;gap:24px}#maison .maison-copy{max-width:none}}

/* RendezVous Joaal follows the same concise composition as Maison Joaal. */
#rendezvous{padding-top:36px;padding-bottom:56px}
#rendezvous .section-label{margin-bottom:40px}
.rendezvous-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:9%;align-items:start}
.rendezvous-title h2{font-family:Inter,Arial,sans-serif;font-size:clamp(28px,3vw,40px);font-weight:300;line-height:1.25;letter-spacing:-.035em;margin:16px 0 0}
.rendezvous-copy{max-width:560px}
.rendezvous-copy p{font-size:15px;font-weight:300;line-height:1.75;margin:0 0 18px;color:#4b4b4b}
.rendezvous-copy .text-link{font-size:11px;font-weight:300;padding:8px 0}
@media(max-width:760px){#rendezvous{padding-top:30px;padding-bottom:40px}#rendezvous .section-label{margin-bottom:28px}.rendezvous-grid{grid-template-columns:1fr;gap:24px}.rendezvous-copy{max-width:none}}

/* A restrained contact invitation in the same light type as the house pages. */
#contact .contact-main{gap:24px;padding-bottom:32px}
#contact .contact-intro,#contact .contact-actions{width:min(100%,480px)}
#contact .contact-slogan{display:block;font-family:Inter,Arial,sans-serif;font-size:clamp(28px,3vw,40px);font-weight:300;line-height:1.3;letter-spacing:-.035em;text-wrap:balance}
#contact .slogan-opening,#contact .slogan-ending{display:block}
#contact .slogan-opening,#contact .slogan-timeless,#contact .slogan-together{font-family:inherit;font-size:inherit;font-weight:300;font-style:normal;letter-spacing:inherit;line-height:inherit;margin:0}
#contact .slogan-timeless,#contact .slogan-together{display:inline}
#contact .slogan-caption{margin-top:18px;font-size:14px;font-weight:300;font-style:normal;letter-spacing:0;line-height:1.75;text-wrap:pretty;color:#626262}
#contact .contact-actions>.text-link{font-size:15px;border-color:#bcbcbc;padding:10px 0}
#contact .contact-meta{font-size:12px;margin-top:14px}

/* Creative House shares the quiet scale of the following sections. */
#house{padding-top:36px;padding-bottom:56px}
#house .section-label{margin-bottom:40px}
#house .house-grid,#house .philosophy{grid-template-columns:1fr 1.2fr;gap:9%;align-items:start}
#house h2{font-family:Inter,Arial,sans-serif;font-size:clamp(28px,3vw,40px);font-weight:300;line-height:1.25;letter-spacing:-.035em}
#house .copy{padding-top:0;max-width:560px}
#house p{font-size:15px;font-weight:300;line-height:1.75;color:#4b4b4b;margin:0 0 18px}
#house .text-link{font-size:11px;font-weight:300;padding:8px 0}
#house .philosophy{margin-top:32px}
#house .philosophy article{padding-top:18px}
#house .philosophy h3{font-size:12px;font-weight:300;letter-spacing:.12em;margin-bottom:12px}
#house .philosophy p{margin-bottom:0;max-width:560px}
@media(max-width:760px){#house{padding-top:30px;padding-bottom:40px}#house .section-label{margin-bottom:28px}#house .house-grid,#house .philosophy{grid-template-columns:1fr;gap:24px}#house .copy{max-width:none}#house .philosophy{margin-top:24px}}

/* Pure monochrome surfaces and luminous text on black. */
:root{--black:#000;--white:#fff}
body,header,.mobile-nav{background:#fff}
#contact.section,#expertise,.intro{background:#000;color:#fff}
#contact .contact-slogan,#contact .slogan-caption,#contact .contact-meta,
#contact .section-label,#contact .section-label a,#contact .contact-actions a,
#contact .footer-bottom>.eyebrow,#contact .contact-meta a:hover{color:#fff}
#contact .contact-actions>.text-link,#contact .footer-bottom{border-color:rgba(255,255,255,.3)}
#expertise .section-label>span,#expertise summary h3,#expertise summary .index,
#expertise .toggle,#expertise .detail p,#expertise .detail .eyebrow,
#expertise .sectors>.eyebrow,#expertise .sectors li,.intro .eyebrow{color:#fff}

@font-face{font-family:Inter;src:url('inter-extralight.ttf') format('truetype');font-weight:200;font-style:normal;font-display:swap}
#contact .contact-slogan,#contact .slogan-opening,#contact .slogan-timeless,#contact .slogan-together{font-weight:200}
.house-entry svg{transition:transform .6s}.house-entry:hover svg{transform:translateY(-3px)}.house-entry:hover{opacity:1}
.house-portal{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;border:0;margin:0;padding:0;background:#000;color:#fff;overflow:hidden}
.house-portal::backdrop{background:#000}.house-portal[open]{display:grid;place-items:center}
.portal-scene{width:min(74vw,420px);text-align:center}.portal-scene svg{display:block;width:100%;overflow:visible}
.portal-scene .eyebrow{display:block;margin-top:26px;font-weight:300;font-size:10px;letter-spacing:.24em}
.portal-skip{position:absolute;right:var(--pad);top:32px;border:0;background:none;color:white;font-size:11px;font-weight:300;letter-spacing:.08em;cursor:pointer;padding:12px}
.house-portal[open] .facade path{stroke-dasharray:1;stroke-dashoffset:1;animation:trace-house 1.3s ease forwards}
.house-portal[open] .facade path:nth-child(2){animation-delay:.2s}.house-portal[open] .facade path:nth-child(3){animation-delay:.4s}
.portal-light{opacity:0}.house-portal[open] .portal-light{animation:portal-glow .5s 1.5s forwards}
.portal-door{opacity:0;transform-box:fill-box;transform-origin:left center}.house-portal[open] .portal-door{animation:open-door .9s 1.6s ease-in-out forwards}
.house-portal.leaving{opacity:0;transition:opacity .55s ease;pointer-events:none}
@keyframes trace-house{to{stroke-dashoffset:0}}@keyframes open-door{from{opacity:1}to{opacity:1;transform:perspective(180px) rotateY(-82deg)}}@keyframes portal-glow{to{opacity:1}}
@media(prefers-reduced-motion:reduce){.house-entry svg{transition:none}}

/* A private dinner, drawn in fine architectural lines. */
.dinner-portal{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:60px 24px;border:0;background:#000;color:#fff;overflow:auto}
.dinner-portal::backdrop{background:#000}.dinner-portal[open]{display:grid;place-items:center}
.dinner-scene{width:min(100%,600px);text-align:center}
.dinner-scene h2{font-family:Inter,Arial,sans-serif;font-size:clamp(26px,3vw,36px);font-weight:200;letter-spacing:-.025em}
.dinner-scene svg{display:block;width:100%;margin:24px auto 8px}
.dinner-close{position:absolute;right:var(--pad);top:20px;background:none;border:0;padding:14px 0;color:#fff;font-size:12px;font-weight:300;cursor:pointer}
.dinner-invitation p{text-align:center;font-size:14px;font-weight:200;color:#fff;margin:0 0 14px}
.dinner-invitation .text-link{font-size:11px;font-weight:300;color:#fff;letter-spacing:.06em;border-color:#666}
.dinner-portal[open] .dinner-lines path,.dinner-portal[open] .dinner-lines circle,.dinner-portal[open] .dinner-lines rect{stroke-dasharray:1;stroke-dashoffset:1;animation:trace-house 1.3s var(--delay,0s) ease forwards}
.dinner-settings{--delay:1s}.dinner-candles{--delay:1.3s}
.dinner-portal[open] .dinner-invitation{animation:dinner-reveal .8s 1.5s both}
@keyframes dinner-reveal{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.dinner-portal[open] .dinner-lines path,.dinner-portal[open] .dinner-lines circle,.dinner-portal[open] .dinner-lines rect{animation:none;stroke-dashoffset:0}.dinner-portal[open] .dinner-invitation{animation:none}}

#expertise .sectors{border-top-color:#fff}

/* Delicate markers, a hairline divider, and consistently pure white lettering. */
#expertise .expertise-marker{display:block;width:3px;height:3px;flex:0 0 3px;border-radius:50%;background:#fff;margin-inline:8.5px}
#expertise .sectors{position:relative;border-top:0}
#expertise .sectors:before{content:'';position:absolute;inset:0 0 auto;height:1px;background:#fff;transform:scaleY(.5);transform-origin:top}
:is(#expertise,#contact,.intro,.house-portal,.dinner-portal) :is(h1,h2,h3,p,span,a,button,li){color:#fff!important}
:is(#expertise,#contact,.house-portal,.dinner-portal) a:hover{opacity:1}

/* The illustrated threshold: entry is always the visitor's choice. */
body.awaiting-entry{overflow:hidden}
.welcome-gate{position:fixed;inset:0;z-index:2000;background:#000;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(18px,4vh,38px);padding:32px 24px;overflow:hidden}
.welcome-logo{width:clamp(116px,12vw,164px);height:auto;flex-shrink:0}
.welcome-drawing{width:min(86vw,760px);height:min(52svh,470px);display:grid;place-items:center}
.welcome-approach{width:100%;height:100%;animation:welcome-approach 9s cubic-bezier(.2,.45,.25,1) both}
.welcome-drawing svg{width:100%;height:100%;display:block;overflow:visible}
.welcome-drawing path{stroke-dasharray:1;stroke-dashoffset:1;animation:trace-house 2.8s var(--draw-delay,0s) ease forwards}
.welcome-enter{display:flex;align-items:center;gap:28px;background:none;border:0;border-bottom:1px solid #fff;padding:16px 0;color:#fff;font:300 11px Inter,Arial,sans-serif;letter-spacing:.2em;cursor:pointer;flex-shrink:0}
.welcome-enter span{font-size:18px;transition:transform .5s}.welcome-enter:hover span{transform:translate(3px,-3px)}
.welcome-gate.entering{opacity:0;transition:opacity 1s ease}
.welcome-gate.entering .welcome-drawing{transform:scale(1.16);transition:transform 1s ease}
@keyframes welcome-approach{from{transform:scale(.83)}to{transform:scale(1)}}
@media(max-width:600px){.welcome-gate{gap:30px}.welcome-drawing{width:96vw;height:40svh}.welcome-logo{width:124px}.welcome-enter{font-size:10px;letter-spacing:.16em}}
@media(prefers-reduced-motion:reduce){.welcome-approach,.welcome-drawing path{animation:none}.welcome-drawing path{stroke-dashoffset:0}.welcome-gate.entering,.welcome-gate.entering .welcome-drawing{transition:none}.welcome-enter span{transition:none}}

/* Native anchor fallback if the entry script cannot load. */
body:has(#home:target) .welcome-gate{display:none}
body.awaiting-entry:has(#home:target){overflow:auto}
.welcome-enter{position:relative;z-index:1;pointer-events:auto}
.welcome-drawing{pointer-events:none}

/* A quiet architectural invitation beneath the centred signature. */
#home .hero-bottom{justify-content:center;align-items:center}
#home .house-entry{display:flex;flex-direction:column;align-items:center;gap:16px;border:0;padding:12px 24px;color:#000}
#home .house-entry span{font-size:11px;letter-spacing:.18em;font-weight:300;transform:none}
#home .house-entry svg{width:42px;height:54px;transform:none}
.entry-door-leaf{transform-box:fill-box;transform-origin:left center;transition:transform .85s cubic-bezier(.2,.6,.2,1)}
#home .house-entry:is(:hover,:focus-visible) .entry-door-leaf{transform:perspective(100px) rotateY(-48deg)}
.house-portal[open] .portal-scene svg{animation:approach-maison 2.7s ease-in-out both}
@keyframes approach-maison{0%,45%{transform:scale(.94)}100%{transform:scale(1.15)}}
@media(prefers-reduced-motion:reduce){.entry-door-leaf{transition:none}.house-portal[open] .portal-scene svg{animation:none}}

/* A fine invitation, with a keyboard cue instead of a rectangular frame. */
.welcome-enter{border:0;outline:none;padding:18px 8px 23px;gap:22px}
.welcome-enter:after{content:'';position:absolute;bottom:8px;left:50%;width:36px;height:1px;background:#fff;transform:translateX(-50%);transition:width .65s ease}
.welcome-enter:is(:hover,:focus-visible):after{width:100%}
.welcome-enter:focus-visible{outline:none}
.doorway-scene{width:min(68vw,310px)}
.house-portal[open] .doorway-scene svg{animation:cross-threshold 2.7s cubic-bezier(.25,.5,.25,1) both}
.house-portal[open] .doorway-frame path{stroke-dasharray:1;stroke-dashoffset:1;animation:trace-house 1s ease forwards}
.doorway-leaf{transform-box:fill-box;backface-visibility:hidden}
.doorway-left{transform-origin:left center}.doorway-right{transform-origin:right center}
.house-portal[open] .doorway-left{animation:open-left-leaf 1.5s .65s cubic-bezier(.3,.1,.2,1) both}
.house-portal[open] .doorway-right{animation:open-right-leaf 1.5s .65s cubic-bezier(.3,.1,.2,1) both}
@keyframes open-left-leaf{to{transform:perspective(250px) rotateY(-88deg)}}
@keyframes open-right-leaf{to{transform:perspective(250px) rotateY(88deg)}}
@keyframes cross-threshold{0%,30%{transform:scale(.93)}100%{transform:scale(1.28)}}
@media(prefers-reduced-motion:reduce){.welcome-enter:after{transition:none}.house-portal[open] .doorway-scene svg,.house-portal[open] .doorway-frame path,.house-portal[open] .doorway-leaf{animation:none}.doorway-frame path{stroke-dashoffset:0}}

/* Contact: paired social signatures and a concise group introduction. */
#contact .contact-socials{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:22px}
#contact .social-link{position:relative;display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #fff;font-size:12px;font-weight:300;letter-spacing:.035em}
#contact .social-arrow{margin-left:auto;font-size:17px;transition:transform .45s ease}
#contact :is(.social-link,.group-connection a):hover .social-arrow{transform:translate(3px,-3px)}
#contact .social-link:after{content:'';position:absolute;bottom:-1px;left:0;width:0;height:1px;background:#fff;transition:width .5s}
#contact .social-link:is(:hover,:focus-visible):after{width:100%}
#contact .group-connection{margin-top:28px;padding-top:0}
#contact .group-connection>.eyebrow{display:block;font-size:10px;letter-spacing:.16em;margin-bottom:10px}
#contact .group-connection a{display:flex;align-items:center;gap:16px;padding:8px 0;font-size:13px;font-weight:300}
#contact .group-connection p{font-size:12px;line-height:1.6;margin:3px 0 0;color:#fff}
@media(max-width:380px){#contact .contact-socials{gap:16px}#contact .social-link{gap:8px;font-size:11px}}
@media(prefers-reduced-motion:reduce){#contact .social-arrow,#contact .social-link:after{transition:none}}

.sound-toggle{position:fixed;bottom:20px;right:24px;z-index:100;background:#000;color:#fff;border:1px solid #fff;padding:10px 14px;font:300 10px Inter,Arial,sans-serif;letter-spacing:.1em;cursor:pointer}.sound-toggle[hidden]{display:none}
