/* Nocturne: the original voice, an editorial rhythm, full-color references. */
.quiet-site.nocturne .site-header{padding:0 6%;gap:30px}
.quiet-site.nocturne .site-header .brand{margin-right:0}
.quiet-site.nocturne .header-coordinate{font-size:11px;font-weight:700;line-height:1.5;letter-spacing:-.025em;white-space:nowrap;display:flex;gap:5px;min-height:44px;align-items:center}
.quiet-site.nocturne .header-coordinate:hover{text-decoration:underline;text-underline-offset:5px}
.quiet-site.nocturne .site-header nav{margin-left:auto;font-size:12px;font-weight:700;gap:30px;text-transform:uppercase}
.quiet-site.nocturne h1,.quiet-site.nocturne h2,.quiet-site.nocturne .scroll-ending p{font-weight:680;text-transform:uppercase;letter-spacing:-.065em;line-height:1.02}
.quiet-site.nocturne .quiet-title h1{font-weight:680}
.quiet-site.nocturne .quiet-hero-foot,.quiet-site.nocturne .section-label,.quiet-site.nocturne .quiet-footer-links,.quiet-site.nocturne .quiet-intro-links,.quiet-site.nocturne .breadcrumb,.quiet-site.nocturne .quiet-service>summary{text-transform:uppercase;font-weight:650}
.quiet-site.nocturne .scroll-ending{top:34%;width:52%}
.quiet-site.nocturne .scroll-ending p{font-size:clamp(48px,6.4vw,104px)}
.quiet-site.nocturne .scroll-partner{width:155px;height:auto;margin-top:32px;transform-origin:left center;will-change:opacity,transform}
.quiet-site.nocturne .editorial-intro{display:grid;grid-template-columns:1.1fr .85fr;gap:10%;padding:130px 8%;align-items:center;border:0;background:var(--bg)}
.quiet-site.nocturne .editorial-intro h2{font-size:clamp(48px,5.4vw,88px);margin-bottom:40px}
.quiet-site.nocturne .editorial-intro p{font-size:18px;line-height:1.65;max-width:390px;color:var(--lilac)}
.quiet-site.nocturne .editorial-intro figure{margin:0}
.quiet-site.nocturne .editorial-intro figure img{width:100%;height:auto;display:block;border-radius:0;object-fit:cover}
.quiet-site.nocturne .quiet-about>img{object-fit:contain;height:auto;border-radius:0}
/* Account for each file's transparent padding, keeping original RGB colors. */
.quiet-site.nocturne .quiet-references{background:#fff;color:#190482;padding:90px 8% 105px}
.quiet-site.nocturne .quiet-references>.section-label{color:#190482;font-size:13px;font-weight:700;margin-bottom:55px;text-transform:uppercase}
.quiet-site.nocturne .quiet-references .ref-grid{max-width:1120px;grid-template-columns:repeat(6,minmax(0,1fr));gap:36px 16px;margin-inline:auto}
.quiet-site.nocturne .quiet-references .ref-grid>.ref-item{min-height:110px;padding:0;background:transparent;grid-column:auto;display:flex;align-items:center;justify-content:center}
.quiet-site.nocturne .quiet-references .ref-grid .brand-crop{position:relative;flex:none;width:var(--mark-width);max-width:100%;aspect-ratio:var(--mark-ratio);overflow:hidden}
.quiet-site.nocturne .quiet-references .ref-grid .brand-crop img{position:absolute;max-width:none;object-fit:fill;filter:none;mix-blend-mode:normal}
/* These sources provide white lettering. Positive versions retain their original accents. */
.quiet-site.nocturne .quiet-references .ref-grid .deba-positive>img:first-child{filter:brightness(0)}
.quiet-site.nocturne .quiet-references .ref-grid .deba-positive>.deba-accent{clip-path:inset(0 0 0 89.6%);filter:none}
.quiet-site.nocturne .quiet-references .ref-grid .jenart-positive>img{filter:brightness(0);opacity:.88}
.quiet-site.nocturne .editorial-connect{position:relative;display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);padding:90px 0 65px;align-items:center;margin-bottom:55px}
.quiet-site.nocturne .editorial-connect>a:first-child{align-self:center}
.quiet-site.nocturne .editorial-connect>div{border-left:1px solid var(--line);padding-left:65px;display:flex;flex-direction:column;align-items:flex-start;gap:15px}
.quiet-site.nocturne .editorial-connect a:not(.back-top){font-size:clamp(38px,4.9vw,78px);font-weight:700;line-height:1.05;letter-spacing:-.06em;text-transform:uppercase;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:10px}
.quiet-site.nocturne .editorial-connect .back-top{position:absolute;right:0;top:80px;font-size:32px;min-width:44px;min-height:44px;text-align:center;font-weight:650}
.quiet-site.nocturne .quiet-footer-links{font-size:11px}
.quiet-site.nocturne .quiet-footer-bottom>.meta-badge{width:110px}
@media(max-width:1100px){.quiet-site.nocturne .site-header{gap:22px}.quiet-site.nocturne .site-header nav{gap:22px}.quiet-site.nocturne .header-coordinate{font-size:10px}.quiet-site.nocturne .quiet-references .ref-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.quiet-site.nocturne .editorial-connect>div{padding-left:40px}}
@media(max-width:950px){.quiet-site.nocturne .site-header nav{margin:0}.quiet-site.nocturne .site-header .menu-toggle{margin-left:auto}.quiet-site.nocturne .site-header .header-coordinate{margin-left:auto}.quiet-site.nocturne .scroll-ending p{font-size:6.7vw}.quiet-site.nocturne .scroll-partner{width:135px;margin-top:25px}.quiet-site.nocturne .editorial-intro{gap:8%;padding:100px 8%}.quiet-site.nocturne .editorial-intro p{font-size:16px}}
@media(max-width:640px){.quiet-site.nocturne .site-header{height:88px;gap:16px;padding:0 6%}.quiet-site.nocturne .site-header .brand img{width:108px}.quiet-site.nocturne .header-coordinate{display:block;font-size:9px;min-height:0;line-height:1.5}.quiet-site.nocturne .header-coordinate span{display:block}.quiet-site.nocturne .site-header .menu-toggle{margin-left:0}.quiet-site.nocturne .site-header nav.open{font-size:16px;gap:6px}.quiet-site.nocturne .scroll-ending{top:59%;left:8%;width:84%;text-align:center}.quiet-site.nocturne .scroll-ending p{font-size:11.5vw}.quiet-site.nocturne .scroll-partner{width:112px;margin:18px auto 0;transform-origin:center}.quiet-site.nocturne .editorial-intro{display:flex;flex-direction:column;gap:45px;padding:75px 8%}.quiet-site.nocturne .editorial-intro h2{font-size:12vw;margin-bottom:28px}.quiet-site.nocturne .editorial-intro p{font-size:16px}.quiet-site.nocturne .editorial-intro figure{width:100%;max-width:430px}.quiet-site.nocturne .quiet-references{padding:60px 7% 70px}.quiet-site.nocturne .quiet-references>.section-label{margin-bottom:35px;font-size:12px}.quiet-site.nocturne .quiet-references .ref-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 28px}.quiet-site.nocturne .quiet-references .ref-grid>.ref-item{min-height:80px}.quiet-site.nocturne .editorial-connect{padding:65px 0 45px;grid-template-columns:1fr;gap:42px;margin-bottom:40px}.quiet-site.nocturne .editorial-connect>div{padding-left:0;border:0;gap:18px}.quiet-site.nocturne .editorial-connect a:not(.back-top){font-size:43px;text-underline-offset:7px}.quiet-site.nocturne .editorial-connect .back-top{top:55px;font-size:28px}}
@media(prefers-reduced-motion:reduce){.quiet-site.nocturne .scroll-partner{opacity:1!important;transform:none!important}}
.quiet-site.nocturne main p::first-letter,.quiet-site.nocturne .quiet-about li::first-letter{text-transform:uppercase}

/* Bold uppercase typography and an independent, mid-scroll partner moment. */
.quiet-site.nocturne{font-weight:700;text-transform:uppercase}
.quiet-site.nocturne :is(h1,h2,h3,h4,p,a,span,li,summary,label,button,small,strong,b,input,textarea,select,option,legend,.section-label){font-weight:700!important;text-transform:uppercase!important}
.quiet-site.nocturne .quiet-title h1{font-size:clamp(62px,7.4vw,126px)}
.quiet-site.nocturne .scroll-stage>.scroll-partner{position:absolute;left:9%;top:66%;width:clamp(180px,19vw,280px);height:auto;margin:0;opacity:0;z-index:3;pointer-events:none;transform-origin:left center;will-change:opacity,transform}
.quiet-site.nocturne .scroll-ending p{font-size:clamp(44px,5.9vw,96px)}
.quiet-site.nocturne .editorial-intro h2{font-size:clamp(40px,4.6vw,76px)}
.quiet-site.nocturne .contact-email{font-size:clamp(23px,3vw,45px);overflow-wrap:anywhere}
.quiet-site.nocturne input::placeholder,.quiet-site.nocturne textarea::placeholder{font-weight:700;text-transform:uppercase}
@media(max-width:640px){.quiet-site.nocturne .quiet-title h1{font-size:11vw}.quiet-site.nocturne .scroll-stage>.scroll-partner{left:50%;top:75%;width:190px;margin-left:-95px;transform-origin:center}.quiet-site.nocturne .scroll-ending p{font-size:10vw}.quiet-site.nocturne .editorial-intro h2{font-size:10vw}.quiet-site.nocturne .quiet-page-head h1{font-size:10.5vw;overflow-wrap:anywhere}.quiet-site.nocturne .case-intro h1{font-size:10.5vw}.quiet-site.nocturne .quiet-service>summary{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){.quiet-site.nocturne .scroll-stage>.scroll-partner{display:none}}
.quiet-site.nocturne .scroll-sequence:not([data-scene-ready="true"]) .scroll-stage>.scroll-partner{display:none}

/* Restore Happie's original condensed type and desktop navigation. */
@font-face{font-family:Happie Condensed;src:url('./assets/brand/SuisseIntlCond-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
.quiet-site.nocturne{--head:'Happie Condensed',sans-serif;--body:'Happie Condensed',sans-serif;font-family:var(--body)}
.quiet-site.nocturne :is(h1,h2,h3,h4,p,a,span,li,summary,label,button,small,input,textarea,select){font-family:'Happie Condensed',sans-serif;letter-spacing:-.015em}
.quiet-site.nocturne .site-header{height:96px;padding:0 3%;gap:4vw}
.quiet-site.nocturne .site-header .brand img{width:180px}
.quiet-site.nocturne .header-coordinate{font-size:18px;letter-spacing:-.02em}
.quiet-site.nocturne .site-header nav{font-size:20px;gap:32px;align-items:center;flex:1;justify-content:flex-end}
.quiet-site.nocturne .site-header nav a{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px;white-space:nowrap}
.quiet-site.nocturne .site-header nav .header-meet{margin-left:auto;border:1px solid var(--lilac);padding:3px 10px;text-decoration:none}
.quiet-site.nocturne .quiet-title{left:5%;right:5%;top:48%;text-align:center;transform:translateY(-50%)}
.quiet-site.nocturne .quiet-title h1{font-size:clamp(100px,17vw,300px);line-height:.88;letter-spacing:-.035em}
.quiet-site.nocturne .scroll-ending{top:32%;width:51%}
.quiet-site.nocturne .scroll-ending p{font-size:clamp(64px,8vw,132px);line-height:.95;letter-spacing:-.025em}
.quiet-site.nocturne .editorial-intro h2{font-size:clamp(54px,6.8vw,110px);line-height:.95;letter-spacing:-.025em}
.quiet-site.nocturne .editorial-intro p{font-size:22px;line-height:1.4}
.quiet-site.nocturne .editorial-connect a:not(.back-top){font-size:clamp(48px,7vw,112px);letter-spacing:-.025em}
.quiet-site.nocturne .scroll-stage>.scroll-partner{width:clamp(180px,19vw,280px);transform-origin:center}
@media(min-width:951px) and (max-width:1150px){.quiet-site.nocturne .site-header{gap:24px}.quiet-site.nocturne .site-header .brand img{width:145px}.quiet-site.nocturne .header-coordinate{font-size:15px}.quiet-site.nocturne .site-header nav{font-size:18px;gap:22px}}
@media(max-width:950px){.quiet-site.nocturne .site-header{height:88px;padding:0 6%;gap:20px}.quiet-site.nocturne .site-header nav{display:none;flex:none;align-items:stretch}.quiet-site.nocturne .site-header nav.open{display:flex;gap:8px}.quiet-site.nocturne .site-header nav a{font-size:25px}.quiet-site.nocturne .site-header nav .header-meet{margin:10px 0 0;align-self:flex-start;padding:6px 15px}.quiet-site.nocturne .header-coordinate{font-size:14px}.quiet-site.nocturne .site-header .menu-toggle{margin-left:0}}
@media(max-width:640px){.quiet-site.nocturne .site-header .brand img{width:110px}.quiet-site.nocturne .header-coordinate{font-size:12px}.quiet-site.nocturne .quiet-title{top:29%;left:5%;right:5%;transform:translateY(-50%)}.quiet-site.nocturne .quiet-title h1{font-size:17vw;line-height:.95}.quiet-site.nocturne .scroll-ending{top:57%;width:84%}.quiet-site.nocturne .scroll-ending p{font-size:14vw;line-height:.95}.quiet-site.nocturne .scroll-stage>.scroll-partner{width:170px;margin-left:-85px}.quiet-site.nocturne .editorial-intro h2{font-size:14vw}.quiet-site.nocturne .editorial-intro p{font-size:20px}.quiet-site.nocturne .editorial-connect a:not(.back-top){font-size:58px}}

/* Phone composition: a compact masthead, four-line title and centered scroll scene. */
@media(max-width:640px){
 .quiet-site.nocturne .site-header{height:76px;padding-inline:6%;gap:12px}
 .quiet-site.nocturne .site-header .header-coordinate{display:none}
 .quiet-site.nocturne .site-header .menu-toggle{margin-left:auto;flex:0 0 44px;font-size:24px!important;line-height:1}
 .quiet-site.nocturne .site-header nav{max-height:calc(100svh - 76px);overflow-y:auto;padding:16px 6% 24px}
 .quiet-site.nocturne .site-header nav a{min-height:44px}
 .quiet-site.nocturne .scroll-stage{height:100svh;min-height:0}
 .quiet-site.nocturne .scroll-sequence[data-scene-ready="true"]{height:280svh}
 .quiet-site.nocturne .quiet-title{top:14%;left:6%;right:6%;transform:none}
 .quiet-site.nocturne .quiet-title h1{font-size:min(20vw,10.2svh);line-height:.88;letter-spacing:-.035em}
 .quiet-site.nocturne .quiet-title h1 span{display:block}
 .quiet-site.nocturne .quiet-title h1 br{display:none}
 .quiet-site.nocturne .scroll-stage .sculpture-fallback{left:30%;top:57%;width:40%;height:24%}
 .quiet-site.nocturne .scroll-ending{top:54%;left:6%;width:88%}
 .quiet-site.nocturne .scroll-ending p{font-size:min(14vw,7svh)}
 .quiet-site.nocturne .scroll-stage>.scroll-partner{width:min(170px,42vw);margin-left:max(-85px,-21vw)}
 .quiet-site.nocturne .scroll-stage .quiet-hero-foot{left:6%;right:6%;bottom:max(16px,env(safe-area-inset-bottom));font-size:11px}
 .quiet-site.nocturne .inquiry-card :is(input,select,textarea),.quiet-site.nocturne dialog :is(input,select,textarea){font-size:16px;max-width:100%}
 .quiet-site.nocturne dialog{max-height:calc(100svh - 24px);overflow-y:auto}
 .quiet-site.nocturne .editorial-connect a:not(.back-top){font-size:clamp(42px,14vw,58px)}
}
@media(max-width:950px) and (max-height:500px){
 .quiet-site.nocturne .site-header{height:64px}
 .quiet-site.nocturne .site-header nav{max-height:calc(100svh - 64px);overflow-y:auto}
 .quiet-site.nocturne .scroll-stage{height:100svh;min-height:0}
 .quiet-site.nocturne .quiet-title{top:26%;transform:none}
 .quiet-site.nocturne .quiet-title h1{font-size:17svh}
 .quiet-site.nocturne .scroll-ending p{font-size:14svh}
 .quiet-site.nocturne .scroll-stage>.scroll-partner{width:130px}
}

.quiet-site.nocturne .quiet-title h1 span{letter-spacing:inherit}

/* A direct invitation opens the existing two-step inquiry dialog. */
.quiet-site.nocturne .intro-meet{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;margin-top:28px;padding:12px 20px;min-height:48px;border:1px solid var(--lilac);background:transparent;color:var(--lilac);font-size:22px;line-height:1.2;cursor:pointer}
.quiet-site.nocturne .intro-meet:hover{background:var(--lilac);color:var(--navy)}
.quiet-site.nocturne .intro-meet:focus-visible{outline:2px solid var(--lilac);outline-offset:5px}

/* Desktop has its own two-column opening; the approved phone composition stays separate. */
@media(min-width:641px){
 .quiet-site.nocturne .quiet-title{left:6%;right:auto;top:48%;width:55%;transform:translateY(-50%);text-align:left}
 .quiet-site.nocturne .quiet-title h1{font-size:min(8.5vw,18svh);line-height:.94;letter-spacing:-.035em;white-space:nowrap}
 .quiet-site.nocturne .scroll-stage .sculpture-fallback{left:66%;top:28%;width:25%;height:44%}
 .quiet-site.nocturne .site-header nav{gap:32px;flex:0 1 auto;margin-left:auto}
}

/* The invitation is an additional navigation action, never a menu replacement. */
.quiet-site.nocturne .site-header nav button.header-meet{font:inherit;font-size:20px;line-height:1.2;color:var(--lilac);border:1px solid currentColor;background:transparent;padding:8px 12px;min-height:44px;cursor:pointer;margin:0}
.quiet-site.nocturne .site-header nav button.header-meet:hover{background:var(--lilac);color:var(--navy)}
.quiet-site.nocturne .site-header nav button.header-meet:focus-visible{outline:2px solid currentColor;outline-offset:4px}
@media(max-width:950px){.quiet-site.nocturne .site-header nav button.header-meet{align-self:flex-start;margin-top:12px;font-size:25px;padding:10px 16px}}

/* Native disclosure panels keep agency information close to the invitation. */
.quiet-site.nocturne .intro-accordions{margin-top:30px;width:100%;max-width:560px;text-align:left}
.quiet-site.nocturne .intro-accordions details{border-top:1px solid var(--line)}
.quiet-site.nocturne .intro-accordions details:last-child{border-bottom:1px solid var(--line)}
.quiet-site.nocturne .intro-accordions summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:56px;padding:14px 0;font-size:22px;line-height:1.2;cursor:pointer}
.quiet-site.nocturne .intro-accordions summary::-webkit-details-marker{display:none}
.quiet-site.nocturne .intro-accordions summary::after{content:'+';font-size:27px;line-height:1;flex:none;transition:transform .2s}
.quiet-site.nocturne .intro-accordions details[open]>summary::after{transform:rotate(45deg)}
.quiet-site.nocturne .intro-accordions summary:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.quiet-site.nocturne .intro-panel{padding:4px 0 24px}
.quiet-site.nocturne .intro-panel p,.quiet-site.nocturne .intro-panel li{font-size:18px;line-height:1.45;max-width:none}
.quiet-site.nocturne .intro-panel ul{margin:18px 0;padding-left:18px}
.quiet-site.nocturne .intro-panel li+li{margin-top:12px}
.quiet-site.nocturne .intro-panel a{display:inline-block;padding:10px 0;font-size:16px;text-decoration:underline;text-underline-offset:4px}
.quiet-site.nocturne .intro-panel .intro-services{list-style:none;padding:0;margin:0 0 14px}
.quiet-site.nocturne .editorial-intro{align-items:start}


/* Navigation stays available while the scroll story is playing. */
.quiet-site.nocturne .site-header{position:sticky;top:0;z-index:30;background:var(--navy)}
.quiet-site.nocturne.home-page .site-header{position:fixed;top:0;background:var(--navy)}
.quiet-site .scroll-stage .software-sculpture{position:absolute;inset:auto;max-width:none;transform:translate(-50%,-50%);pointer-events:none}

/* Reference marks share a visible-area scale; retain every original aspect ratio. */
@media(max-width:640px){.quiet-site.nocturne .quiet-references .ref-grid{gap:24px 20px}.quiet-site.nocturne .quiet-references .ref-grid>.ref-item{min-height:90px}.quiet-site.nocturne .quiet-references .ref-grid .brand-crop{width:calc(var(--mark-width) * .78)}}

/* Requested monochrome versions: LCP Grup and Hane Studios. */
.quiet-site.nocturne .quiet-references .ref-grid .reference-black img{filter:brightness(0)}

/* Contact dialog follows the original Happie form photographed on the laptop. */
.quiet-site.nocturne #brief{background:#190482;color:#dccfec;border:1px solid #dccfec45;border-radius:0;width:calc(100% - 48px);max-width:960px;padding:46px;max-height:calc(100svh - 32px);overflow:auto}
#brief .brief-layout{display:grid;grid-template-columns:1fr 1.08fr;gap:38px;min-height:470px}
#brief .brief-identity{display:flex;flex-direction:column;justify-content:space-between;gap:45px;padding-right:32px;border-right:1px solid #dccfec55}
.quiet-site.nocturne #brief h2{color:#dccfec;font-size:clamp(42px,5vw,66px);line-height:.98;letter-spacing:-.025em}
#brief .brief-identity img{width:190px;height:auto;margin:0 0 16px 5px}
#brief .brief-fields{min-width:0;padding-top:2px;display:flex;flex-direction:column}
#brief .step-label{color:#dccfec;margin:0 0 28px;font-size:18px}
#brief #brief-form{flex:1;display:flex;flex-direction:column}
#brief fieldset:not([hidden]){flex:1;display:flex;flex-direction:column;min-width:0}
#brief label{font-size:18px;margin:0 0 22px;color:#dccfec}
.quiet-site.nocturne #brief :is(input,textarea,select){background:transparent;color:#dccfec;border:0;border-bottom:1px solid #dccfec88;border-radius:0;padding:6px 0 10px;margin-top:0;min-height:44px;font-size:18px;box-shadow:none}
#brief input::placeholder,#brief textarea::placeholder{color:#dccfec80;opacity:1}
#brief select option{background:#190482;color:#dccfec}
.quiet-site.nocturne #brief .button{background:transparent;color:#dccfec;border:0;border-radius:0;font-size:28px;justify-content:space-between;padding:12px 0;margin-top:auto;min-height:60px;box-shadow:none}
#brief .button>span{font-size:38px;line-height:1}
#brief .form-actions{margin-top:auto;align-items:center}
#brief .form-actions .button{min-width:55%}
#brief .text-link{color:#dccfec;font-size:18px;padding:10px 0}
#brief .close{right:12px;top:8px;color:#dccfec;min-width:44px;min-height:44px;z-index:1}
#brief [data-form-status],#brief #draft p{color:#dccfec}
#brief #draft h3{font-size:38px;line-height:1.1}
body:has(#brief[open]){overflow:hidden}
@media(max-width:640px){
 .quiet-site.nocturne #brief{width:calc(100% - 24px);padding:44px 24px 24px;max-height:calc(100svh - 24px)}
 #brief .brief-layout{grid-template-columns:1fr;gap:28px;min-height:0}
 #brief .brief-identity{flex-direction:row;align-items:center;border:0;border-bottom:1px solid #dccfec55;padding:0 0 24px;gap:14px}
 .quiet-site.nocturne #brief h2{font-size:clamp(31px,9vw,43px)}
 #brief .brief-identity img{width:62px;height:auto;margin:0;flex-shrink:0}
 #brief .step-label{font-size:16px;margin-bottom:20px}
 #brief label{font-size:16px;margin-bottom:18px}
 .quiet-site.nocturne #brief :is(input,textarea,select){font-size:16px}
 .quiet-site.nocturne #brief .button{font-size:25px;min-height:52px}
}
