/* Colour and style collections, within the studio's drafting language. */
#concepts-page{width:100%;max-width:none;margin-inline:auto;padding-block:48px 80px}
.concepts-heading{max-width:760px;margin-bottom:42px}
.concepts-heading h1{font:400 clamp(38px,4.5vw,62px)/1.05 var(--serif);letter-spacing:-.03em;margin:22px 0 26px}
.concepts-heading h1 span{display:block;color:var(--accent);font-style:italic}
.concepts-heading>p:last-child{max-width:650px;font:400 16px/1.9 var(--sans);color:var(--muted)}
.concept-collection{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,4vw,64px);align-items:center;padding:0 0 64px;margin:0 0 64px;border-bottom:1px solid var(--line)}
.concept-collection-photo{display:block;width:100%;min-width:0;background:var(--paper);border:1px solid var(--line)}
.concept-collection-photo picture,.concept-detail picture{display:block}
.concept-collection-photo img{display:block;width:100%;height:auto;object-fit:contain}
.concept-collection-photo:hover{border-color:var(--accent)}
.concept-collection-photo>span{display:block;border-top:1px solid var(--line);padding:14px 18px;background:var(--paper);color:var(--ink);font:500 12px/1.4 var(--sans);text-align:center}
.concept-index{font:400 11px/1.7 var(--sans);letter-spacing:.13em;color:var(--muted);margin:0 0 24px}
.concept-style{font:400 11px/1.8 var(--sans);letter-spacing:.17em;text-transform:uppercase;color:var(--accent);margin:0 0 13px}
.concept-collection-copy h2{font:400 clamp(38px,4.5vw,68px)/1.1 var(--serif);letter-spacing:-.025em;margin:0 0 22px;overflow-wrap:anywhere}
.concept-collection-copy h2 a{color:inherit;text-decoration:none}
.concept-intro{font:400 17px/1.85 var(--sans);color:var(--ink);max-width:560px;margin:0 0 26px;overflow-wrap:anywhere}
.concept-description{font:400 14px/1.95 var(--sans);color:var(--muted);margin:0 0 34px;max-width:590px;overflow-wrap:anywhere}
.concept-palette{list-style:none;padding:0;margin:30px 0 40px;display:grid;grid-template-columns:repeat(auto-fit,minmax(78px,1fr));gap:16px;max-width:550px}
.concept-palette li{display:flex;flex-direction:column;gap:8px;min-width:0}
.concept-swatch{display:block;width:100%;height:48px;background:var(--swatch);border:1px solid var(--line)}
.concept-palette li>span:not(.concept-swatch){font:400 12px/1.5 var(--sans);color:var(--ink);overflow-wrap:anywhere}
.concept-palette small{font:400 11px/1.4 var(--sans);letter-spacing:.035em;color:var(--muted)}
.concept-palette.is-compact{margin:24px 0}
.concept-palette.is-compact .concept-swatch{height:28px}
.concept-text-link{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:550px;padding:17px 0;border-top:1px solid var(--line);color:var(--ink);font:500 13px/1.5 var(--sans);text-decoration:none}
.concept-text-link>span{font-size:21px;color:var(--accent)}
.concept-invitation{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:8px 0 35px}
.concept-invitation h2{font:400 clamp(28px,3.5vw,48px)/1.2 var(--serif);max-width:620px;margin:16px 0}
.concept-invitation .solid{flex-shrink:0}
body[data-page="concept"] #detail-page{padding-block:40px 80px}
body[data-page="concept"] #detail-content{max-width:none}
.concept-detail{--concept-photo-height:calc(100svh - var(--header-height) - 180px);width:100%;max-width:none;margin-inline:auto}
.concept-detail-lead{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,4vw,64px);align-items:center;margin:20px 0 64px}
.concept-lead-photo{width:100%}
.concept-detail-copy h1{font:400 clamp(38px,4.5vw,68px)/1.08 var(--serif);letter-spacing:-.025em;margin:18px 0 24px;overflow-wrap:anywhere}
.concept-detail-intro>.eyebrow{margin:0 0 28px}
.concept-detail-copy .solid{display:inline-flex;white-space:normal;text-align:left}
.concept-detail figure{margin:0;min-width:0}
/* Keep every complete board within one screen, including the header and caption.
   Width alone makes portrait boards taller than laptop and landscape screens. */
.concept-detail [data-concept-photo]{display:block;width:100%;border:0;padding:0;background:var(--collection-surface,var(--paper));color:var(--ink);cursor:zoom-in}
.concept-detail [data-concept-photo] img{display:block;width:auto;height:auto;max-width:100%;max-height:var(--concept-photo-height);object-fit:contain;margin-inline:auto}
.concept-detail figcaption{display:flex;align-items:center;gap:15px;padding:15px 0;color:var(--muted);font:400 12px/1.6 var(--sans)}
.concept-detail figcaption>span:last-child{margin-left:auto;color:var(--accent)}
.concept-materials{padding:32px 0;border-block:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr;gap:30px;margin-bottom:48px}
.concept-materials h2{font:400 31px/1.2 var(--serif);margin:0}
.concept-materials ul{list-style:none;display:flex;flex-wrap:wrap;gap:14px 30px;padding:0;margin:3px 0 0;color:var(--muted);font:400 13px/1.8 var(--sans)}
.concept-materials li::before{content:'+';color:var(--accent);margin-right:10px}
.concept-visuals-heading{display:flex;align-items:baseline;justify-content:space-between;gap:25px;margin-bottom:32px}
.concept-visuals-heading h2{font:400 clamp(28px,3vw,42px)/1.2 var(--serif);margin:0}
.concept-visuals-heading p{font:400 13px/1.8 var(--sans);color:var(--muted);max-width:360px;margin:0}
.concept-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;width:100%;margin-inline:auto}
.concept-detail-note{max-width:700px;margin:40px auto 10px;text-align:center;color:var(--muted);font:400 13px/1.9 var(--sans)}
.concept-empty{color:var(--muted);padding:40px 0 70px;font:400 17px/1.7 var(--sans)}
.concept-viewer{max-width:none;max-height:none;width:100%;height:100%;inset:0;margin:0;padding:66px 65px 24px;border:0;background:var(--paper);color:var(--ink);box-sizing:border-box}
.concept-viewer::backdrop{background:var(--paper)}
.concept-viewer .concept-viewer-close,.concept-viewer .concept-viewer-step{position:absolute;width:44px;height:44px;display:grid;place-items:center;padding:0;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:400 24px/1 var(--sans)}
.concept-viewer-close{top:12px;right:16px}
.concept-viewer .concept-viewer-step{top:50%;transform:translateY(-50%)}
.concept-viewer .concept-viewer-prev{left:10px}.concept-viewer .concept-viewer-next{right:10px}
.concept-viewer-image{display:block;width:100%;height:calc(100% - 32px);object-fit:contain}
.concept-viewer-caption{margin:12px 0 0;text-align:center;color:var(--muted);font:400 12px/1.5 var(--sans)}
html.concept-viewing{overflow:hidden}
/* Collection colours surround the photographs, without changing the site's
   saved lighting preference. The shared navigation returns to studio colours
   when the visitor leaves a collection. */
html[data-concept-palette]{--paper:var(--concept-light-paper);--ink:var(--concept-light-ink);--muted:var(--concept-light-muted);--accent:var(--concept-light-accent);--line:var(--concept-light-line);--collection-surface:var(--concept-light-surface);--collection-button:var(--concept-light-button);--collection-button-ink:var(--concept-light-button-ink);background:var(--paper)}
html[data-concept-palette][data-theme="dark"]{--paper:var(--concept-dark-paper);--ink:var(--concept-dark-ink);--muted:var(--concept-dark-muted);--accent:var(--concept-dark-accent);--line:var(--concept-dark-line);--collection-surface:var(--concept-dark-surface);--collection-button:var(--concept-dark-button);--collection-button-ink:var(--concept-dark-button-ink)}
html[data-concept-palette] body>header{background:var(--paper);border-color:var(--line)}
html[data-concept-palette] body>header :is(nav a,#language,#menu){color:var(--muted)}
html[data-concept-palette] body>header :is(nav a:hover,nav a.active){color:var(--ink)}
html[data-concept-palette] body>header .client-entry{--entry-accent:var(--accent);--entry-fill:var(--collection-surface)}
html[data-concept-palette] body :is(.black,.concept-detail .solid,#back-to-top){background:var(--collection-button);color:var(--collection-button-ink);border:1px solid var(--collection-button)}
html[data-concept-palette] body :is(.black,.concept-detail .solid):hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
html[data-concept-palette] .concept-detail-copy .solid{align-items:center;justify-content:space-between;gap:28px;min-height:52px;padding:16px 22px;font:500 14px/1.5 var(--sans)}
html[data-concept-palette] body>main .detail-back{color:var(--muted);border-color:var(--line)}
html[data-concept-palette] body>main .concept-style{color:var(--accent)}
html[data-concept-palette] body>main .concept-intro{color:var(--ink)}
html[data-concept-palette] .concept-materials{background:var(--collection-surface);padding-inline:24px}
html[data-concept-palette] body :is(a,button):focus-visible{outline-color:var(--accent)}
html[data-concept-palette] body>footer.site-footer{--foot-bg:var(--concept-dark-paper);--foot-ink:var(--concept-dark-ink);--foot-muted:var(--concept-dark-muted);--foot-line:var(--concept-dark-line);--foot-accent:var(--concept-dark-accent)}
html[data-concept-palette] .site-footer :is(.brand,.footer-contact){color:var(--foot-ink)}
html[data-concept-palette] .site-footer .footer-eyebrow{color:var(--foot-muted)}
html[data-concept-palette] .site-footer .footer-contact{border-color:var(--foot-line)}
html[data-concept-palette] .site-footer .footer-contact:hover{background:var(--foot-ink);border-color:var(--foot-ink);color:var(--foot-bg)}
html[data-concept-palette] .site-footer a.footer-careers{background:var(--concept-dark-surface)}
@media(max-width:1360px){body>header nav#nav{display:none;position:absolute;inset:var(--header-height) 0 auto;padding:20px var(--site-gutter);background:var(--paper);border-bottom:1px solid var(--line);z-index:8;max-height:calc(100svh - var(--header-height));overflow-y:auto}body>header nav#nav.open{display:flex;flex-direction:column;align-items:stretch;gap:4px}body>header nav#nav a{padding:11px 0}body>header #menu{display:block;font-size:22px}}
@media(max-width:760px){.concepts-heading{margin-bottom:42px}.concept-collection{grid-template-columns:1fr;gap:28px;padding-bottom:42px;margin-bottom:42px}.concept-index{margin-bottom:24px}.concept-invitation{align-items:flex-start;flex-direction:column;gap:15px}.concept-detail-lead{grid-template-columns:1fr;gap:35px;margin-top:24px;margin-bottom:40px}.concept-detail-copy h1{font-size:clamp(36px,9vw,62px)}.concept-detail-copy{display:contents}.concept-detail-intro{order:0}.concept-lead-photo{order:1}.concept-detail-copy>.concept-description{order:2;margin:0}.concept-detail-copy>.concept-palette{order:3;margin:0}.concept-detail-copy>.solid{order:4;justify-self:start}.concept-detail-intro>.concept-intro{margin-bottom:0}.concept-detail-copy .concept-intro{font-size:16px}.concept-materials{grid-template-columns:1fr;gap:20px;margin-bottom:42px}.concept-visuals-heading{display:block}.concept-visuals-heading p{margin-top:15px}.concept-gallery{grid-template-columns:1fr;gap:28px}.concept-palette{gap:12px}.concept-viewer{padding:64px 45px 24px}.concept-viewer .concept-viewer-prev{left:0}.concept-viewer .concept-viewer-next{right:0}}
@media(max-width:520px){.concept-palette{grid-template-columns:repeat(2,minmax(0,1fr))}.concept-palette.is-compact{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.concept-palette.is-compact li>span:not(.concept-swatch){font-size:11px}.concept-detail-note{text-align:left}}
@media(prefers-reduced-motion:reduce){.concept-collection-photo img{transition:none}.concept-collection-photo:hover img{transform:none}}

/* The brief carries the selected collection through all six steps. */
.brief-concept-picker{padding-bottom:22px;margin-bottom:25px;border-bottom:1px solid var(--line)}
#contact-page .brief-concept-picker>label{margin:0 0 14px}
.brief-concept-name{font:500 16px/1.6 var(--sans);color:var(--ink);margin:0 0 10px;overflow-wrap:anywhere}
.brief-concept-name>span{display:block;font:400 11px/1.6 var(--sans);color:var(--muted)}
.brief-concept-note{font:400 12px/1.8 var(--sans);color:var(--muted);margin:0}
.brief-concept-colors{display:flex;flex-wrap:wrap;gap:9px 16px;list-style:none;margin:0;padding:0}
.brief-concept-colors li{display:flex;align-items:center;gap:7px;font:400 11px/1.5 var(--sans);color:var(--muted);max-width:100%;min-width:0;overflow-wrap:anywhere}
.brief-concept-colors i{display:block;width:22px;height:22px;flex-shrink:0;background:var(--swatch);border:1px solid var(--line)}
html[data-concept-palette] #contact-page{--studio-warm:var(--accent);--studio-surface:var(--collection-surface);--studio-raised:var(--collection-surface)}
html[data-concept-palette] #contact-page .wizard-actions .black{background:var(--collection-button);color:var(--collection-button-ink);border-color:var(--collection-button)}
html[data-concept-palette] #contact-page .wizard-actions .black:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
html[data-concept-palette] #contact-page .attachment-actions button:hover{background:var(--collection-surface);color:var(--ink)}
