@font-face { font-family: "Atelier Serif"; font-style: normal; font-weight: 300; font-display: swap; src: url("../fonts/cormorant-garamond-300.ttf") format("truetype"); }
@font-face { font-family: "Atelier Serif"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/cormorant-garamond-400.ttf") format("truetype"); }

html:has(body.design-atelier) { background: #f1ede6; }
body.design-atelier { --atelier-paper: #f1ede6; --atelier-ink: #26251f; --atelier-line: rgb(38 37 31 / 28%); background: var(--atelier-paper); color: var(--atelier-ink); }
.design-atelier .site-header { background: transparent; backdrop-filter: none; -webkit-backdrop-filter: none; border: 0; }
.design-atelier .site-header__inner { max-width: none; min-height: 116px; padding-inline: 5vw; }
.design-atelier .site-wordmark { color: var(--atelier-ink); font: 300 clamp(2rem, 3.3vw, 3.4rem)/1 "Atelier Serif", Georgia, serif; letter-spacing: -.045em; }
.atelier-wordmark-tagline { display: block; font: .48rem/1.8 "Helvetica Neue", Helvetica, sans-serif; letter-spacing: .35em; margin-top: .4rem; text-transform: uppercase; }
.atelier-menu-toggle { align-items: center; background: transparent; border: 0; color: var(--atelier-ink); cursor: pointer; display: flex; flex-direction: column; font: .5rem/1.5 "Helvetica Neue", sans-serif; gap: .7rem; letter-spacing: .28em; padding: .6rem; text-transform: uppercase; }
.home.design-atelier .atelier-menu-toggle { color: var(--rc-ivory); }
.atelier-menu-toggle__lines { border-block: 1px solid currentColor; display: block; height: 17px; position: relative; width: 39px; }
.atelier-menu-toggle__lines::before { border-top: 1px solid currentColor; content: ""; left: 0; position: absolute; right: 0; top: 7px; }
.atelier-menu-toggle:focus { outline: none; }
.atelier-menu-toggle:focus-visible .atelier-menu-toggle__lines { border-block-width: 2px; }
.atelier-menu-toggle:focus-visible .atelier-menu-toggle__lines::before { border-top-width: 2px; }
html[data-header="compact"] .design-atelier .site-header { background: rgb(241 237 230 / 94%); border-bottom: 1px solid var(--atelier-line); }
html[data-header="compact"] .design-atelier .site-header__inner { min-height: 72px; }
html[data-header="compact"] .design-atelier .site-wordmark { font-size: 2rem; }
html[data-header="compact"] .design-atelier .atelier-menu-toggle { color: var(--atelier-ink); }
.has-atelier-menu { overflow: hidden; }
.atelier-menu { background: var(--atelier-paper); border: 0; box-sizing: border-box; color: var(--atelier-ink); height: 100dvh; margin: 0; max-height: none; max-width: none; padding: clamp(4rem, 10vw, 8rem) 8vw; width: 100vw; }
.atelier-menu .site-navigation { align-items: stretch; display: flex; flex-direction: column; gap: 0; margin: auto; max-width: 1000px; overflow: visible; width: 100%; }
.atelier-menu .site-navigation a { border-bottom: 1px solid var(--atelier-line); color: var(--atelier-ink); font: 300 clamp(2rem, 5vw, 4.5rem)/1.15 "Atelier Serif", Georgia, serif; letter-spacing: -.03em; padding: .8rem 0; text-transform: none; }
.atelier-menu__close { background: none; border: 0; color: var(--atelier-ink); cursor: pointer; font: 300 2.5rem/1 sans-serif; height: 48px; position: absolute; right: 5vw; top: 2rem; width: 48px; }

.design-atelier .hero { background: url("../images/atelier/hero-flow.webp") center center / cover no-repeat; box-sizing: border-box; display: flex; flex-direction: column; gap: 0; min-height: 940px; padding: 164px 7.5vw 130px; position: relative; }
.design-atelier .wp-site-blocks > .hero { margin-block-start: 0 !important; }
.design-atelier .hero::after { content: none; }
.design-atelier .hero::before { background: rgb(245 242 236 / 90%); clip-path: polygon(0 0, 40.5% 0, 52.2% 34%, 48.6% 65%, 61.2% 100%, 0 100%); content: ""; inset: 0; pointer-events: none; position: absolute; z-index: -1; }
.design-atelier .hero.atelier-hero-ready::before { clip-path: url("#atelier-hero-curve"); }
.atelier-curve-definitions { height: 0; position: absolute; width: 0; }
.design-atelier .hero > .hero__media { display: none; }
.atelier-hero-slides { inset: 0; pointer-events: none; position: absolute; z-index: -2; }
.design-atelier .hero > .atelier-hero-slides { margin: 0 !important; max-width: none !important; width: 100% !important; }
.atelier-hero-slide { display: block; height: 100%; inset: 0; opacity: 0; position: absolute; transition: opacity 1.2s ease; width: 100%; }
.atelier-hero-slide.is-active { opacity: 1; }
.atelier-hero-slide img, .atelier-hero-slide video { height: 100%; object-fit: cover; width: 100%; }
.atelier-slider-controls { align-items: center; background: rgb(38 37 31 / 72%); border: 1px solid rgb(244 240 232 / 30%); bottom: auto; color: var(--rc-ivory); display: flex; gap: .3rem; padding: .2rem; position: absolute; right: max(5vw, 6.5rem); top: clamp(240px, 35vh, 360px); z-index: 2; }
.atelier-slider-controls button { background: transparent; border: 0; color: inherit; cursor: pointer; font: 400 1.05rem/1 "Atelier Serif", Georgia, serif; height: 44px; padding: .5rem; position: relative; width: 44px; }
.atelier-slider-controls button[aria-pressed="true"]::after { background: currentColor; bottom: .3rem; content: ""; height: 1px; left: .65rem; position: absolute; right: .65rem; }
.atelier-slider-controls .atelier-slider-controls__pause { border-left: 1px solid rgb(244 240 232 / 30%); font: .85rem/1 sans-serif; }
.atelier-slider-controls button.atelier-slider-controls__pause::after { content: none; }
.home.design-atelier[data-atelier-scene="sole"] .atelier-menu-toggle, .home.design-atelier[data-atelier-scene="biancheria"] .atelier-menu-toggle { color: var(--atelier-ink); }
.design-atelier .hero[data-atelier-current="sole"] .atelier-hero-annotation, .design-atelier .hero[data-atelier-current="biancheria"] .atelier-hero-annotation { border-color: rgb(38 37 31 / 45%); color: var(--atelier-ink); }
.design-atelier .hero > .hero__title, .design-atelier .hero > .hero__copy, .design-atelier .hero > .eyebrow, .design-atelier .hero > .wp-block-buttons { margin-inline: 0 !important; position: relative; }
.design-atelier .hero__title { color: var(--atelier-ink); font: 300 clamp(4.16rem, 6.96vw, 7.2rem)/.84 "Atelier Serif", Georgia, serif; letter-spacing: -.065em; margin-block: 0; max-width: 9.5ch !important; order: 1; width: 51%; }
.design-atelier .hero > .eyebrow { color: var(--atelier-ink); font-size: .63rem; font-weight: 400; letter-spacing: .32em; line-height: 1.8; margin-block: 2.2rem 1.2rem; max-width: 26rem !important; order: 2; width: 42%; }
.design-atelier .hero > .eyebrow::before { background: var(--atelier-ink); content: ""; display: block; height: 1px; margin-bottom: 1.8rem; width: 3.8rem; }
.design-atelier .hero__copy { color: var(--atelier-ink); font: 400 1.35rem/1.25 "Atelier Serif", Georgia, serif; margin-block: 0; max-width: 21rem !important; order: 3; width: 42%; }
.design-atelier .hero > .wp-block-buttons { margin-block: 2rem 0; max-width: 23rem !important; order: 4; width: 44%; }
.design-atelier .button-brass .wp-element-button { align-items: center; background: transparent; border-radius: 0; color: var(--atelier-ink); display: inline-flex; font: 400 .6rem/1.7 "Helvetica Neue", Helvetica, sans-serif; gap: 1.4rem; letter-spacing: .28em; max-width: 17rem; padding: 0; text-align: left; text-transform: uppercase; }
.design-atelier .button-brass .wp-element-button::before { background: var(--atelier-ink); border-radius: 50%; color: var(--atelier-paper); content: ""; display: grid; flex: 0 0 64px; font: 300 1.7rem/1 "Atelier Serif", serif; height: 64px; letter-spacing: 0; place-items: center; width: 64px; }
.design-atelier .button-brass .wp-element-button { position: relative; }
.design-atelier .button-brass .rc-arrow-icon--hero { color: var(--rc-ink); height: 24px; left: 20px; position: absolute; top: 50%; transform: translateY(-50%); width: 24px; }
.atelier-hero-annotation { border-left: 1px solid rgb(244 240 232 / 60%); color: var(--rc-ivory); font: 400 .75rem/2.1 "Atelier Serif", serif; letter-spacing: .35em; padding-left: 2rem; position: absolute; right: 6vw; text-transform: uppercase; top: 190px; }
.design-atelier .hero-ticker { background: var(--atelier-paper); border-bottom: 1px solid var(--atelier-line); color: var(--atelier-ink); }
.design-atelier .hero-ticker__item { font-size: .58rem; font-weight: 400; letter-spacing: .23em; padding-block: 1.2rem; }

.design-atelier .section-heading h2, .design-atelier .enquiry h2, .design-atelier .project-feature h2, .design-atelier .request-form-section h2, .design-atelier .page-content__title { color: var(--atelier-ink); font-family: "Atelier Serif", Georgia, serif; font-weight: 300; letter-spacing: -.045em; line-height: .95; }
.design-atelier .eyebrow { color: #5b5549; font-size: .6rem; font-weight: 400; letter-spacing: .32em; }
.design-atelier .content-section { max-width: 1440px; padding-block: clamp(3rem, 6vw, 6rem); padding-inline: 5vw; }
.insect-screens { align-items: center; display: grid; gap: 4vw; grid-template-columns: 1fr 1fr; scroll-margin-top: 140px; }
.insect-screens__copy h2 { color: var(--rc-ink); font: 300 clamp(2.3rem, 4vw, 3.5rem)/.95 "Atelier Serif", Georgia, serif; letter-spacing: -.045em; margin: .8rem 0 1.1rem; }
.insect-screens__copy > p:not(.eyebrow) { font: 400 clamp(1rem, 1.4vw, 1.15rem)/1.5 "Helvetica Neue", Helvetica, sans-serif; max-width: 42ch; }
.insect-screens__copy .button-link { align-items: center; border-radius: 999px; display: inline-flex; gap: 1rem; margin-top: .7rem; min-height: 44px; box-sizing: border-box; }
.insect-screens__service { font: 400 clamp(1.15rem, 1.8vw, 1.35rem)/1.3 "Atelier Serif", Georgia, serif; margin: 0 0 1rem; }
.insect-screens__insects { align-items: center; color: #000000; display: flex; gap: 1.3rem; margin: 0 0 1.3rem; }
.insect-screens__insects svg { display: block; height: 25.6px; width: 25.6px; }
.insect-screens__model span { display: block; font-size: 1.2rem; margin-top: .4rem; }
.insect-screens__copy > p.insect-screens__tax-note { font: 400 .85rem/1.6 "Helvetica Neue", Helvetica, sans-serif; margin-top: 1.8rem; max-width: none; }
.insect-screens__tax-note a { color: var(--rc-ink); text-underline-offset: .2em; }
.insect-screens__video-cover { aspect-ratio: 1; color: #FFFFFF; display: block; justify-self: center; max-width: 440px; overflow: hidden; position: relative; width: 100%; }
.insect-screens__video-cover img { display: block; height: 100%; object-fit: cover; width: 100%; }
.insect-screens__play { align-items: center; background: var(--rc-tiffany); border-radius: 50%; color: var(--rc-ink); display: flex; font-size: 1.4rem; height: 68px; justify-content: center; left: 50%; padding-left: 3px; position: absolute; top: 50%; transform: translate(-50%, -50%); width: 68px; }
.insect-screens__video-caption { background: linear-gradient(transparent, rgb(0 0 0 / 85%)); bottom: 0; box-sizing: border-box; left: 0; padding: 3.5rem 1.4rem 1.4rem; position: absolute; width: 100%; }
.insect-screens__video-caption > span { display: block; font: 400 1.8rem/1.1 "Atelier Serif", Georgia, serif; }
.insect-screens__video-caption small { display: block; font: .6rem/1.6 "Helvetica Neue", Helvetica, sans-serif; letter-spacing: .18em; margin-top: .6rem; text-transform: uppercase; }
.insect-screens__video-cover:focus-visible { outline: 2px solid var(--rc-ink); outline-offset: 5px; }
.insect-screens__video-cover:hover .insect-screens__play { background: #FFFFFF; }
.insect-screens__visuals { display: grid; gap: 18px; justify-self: center; max-width: 440px; min-width: 0; width: 100%; }
.insect-screens__visuals .insect-screens__video-cover { aspect-ratio: 16 / 10; height: clamp(200px, 22vw, 280px); }
.insect-screens__technical { margin: 0; min-width: 0; }
.insect-screens__technical a { display: block; }
.insect-screens__technical a:focus-visible { outline: 2px solid var(--rc-ink); outline-offset: 3px; }
.insect-screens__technical img { display: block; height: clamp(200px, 22vw, 280px); object-fit: contain; width: 100%; }
.insect-screens__technical figcaption { font: 400 .7rem/1.5 "Helvetica Neue", Helvetica, sans-serif; margin-top: 8px; }
.insect-screens__gallery { display: grid; gap: 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); justify-self: center; max-width: 440px; min-width: 0; width: 100%; }
.insect-screens__gallery figure { margin: 0; min-width: 0; }
.insect-screens__gallery a { background: #FFFFFF; display: block; overflow: hidden; }
.insect-screens__gallery a:focus-visible { outline: 2px solid var(--rc-ink); outline-offset: 3px; }
.insect-screens__gallery img { aspect-ratio: 4 / 3; display: block; height: auto; object-fit: contain; width: 100%; }
.insect-screens__gallery-note { color: var(--rc-ink); font: 400 .7rem/1.5 "Helvetica Neue", Helvetica, sans-serif; grid-column: 1 / -1; margin: 2px 0 0; }
@media (max-width: 799px) {
  .insect-screens { gap: 1.5rem; grid-template-columns: 1fr; scroll-margin-top: 120px; }
}
.design-atelier .services { background: var(--atelier-paper); }
.design-atelier .services::before { content: none; }
.design-atelier .services__media { display: none; }
.design-atelier .services .section-heading { margin-bottom: 2.7rem; }
.design-atelier .services .section-heading h2 { font-size: clamp(2.6rem, 4.8vw, 4.4rem); max-width: 20ch; }
.design-atelier .service-grid { border: 0; gap: 2.3vw; }
.design-atelier .service-grid article { border: 0; color: var(--atelier-ink); min-height: 0; padding: 0; }
.design-atelier .service-grid .service-number .service-icon { display: block; flex: 0 0 28px; height: 28px; width: 28px; }
.design-atelier .service-number { align-items: center; color: #b12e28; display: flex; font: 400 1rem/1 "Atelier Serif", serif; gap: .7rem; letter-spacing: .35em; margin: 0 0 .75rem; }
.design-atelier .service-grid .atelier-service-image { aspect-ratio: 1.08; display: block; height: auto; object-fit: cover; width: 100%; }
.design-atelier .service-grid h3 { font: 400 .65rem/1.7 "Helvetica Neue", sans-serif; letter-spacing: .25em; margin: 1rem 0 .7rem; max-width: 20ch; text-transform: uppercase; }
.design-atelier .service-grid #biancheria h3 { max-width: none; text-wrap: balance; }
.design-atelier .service-grid #sole h3 { letter-spacing: .08em; max-width: none; text-wrap: balance; }
@media (min-width: 800px) and (max-width: 1000px) {
  .design-atelier .service-grid #sole h3 { font-size: .55rem; }
}
@media (max-width: 359px) {
  .design-atelier .service-grid #sole h3 { font-size: .5rem; letter-spacing: .02em; }
}
.solar-icon { display: inline-block; height: 26px; margin-right: .55em; vertical-align: -.35em; width: 26px; }
.design-atelier .service-tax-note { font: 400 .85rem/1.6 "Helvetica Neue", Helvetica, sans-serif; margin: .8rem 0 1rem; }
.design-atelier .service-description { color: #5b5549; font: 400 1.05rem/1.3 "Helvetica Neue", Helvetica, sans-serif; margin: 0 0 1.1rem; }
.design-atelier .service-card__link { border: 0; border-radius: 999px; box-sizing: border-box; font-size: .6rem; font-weight: 600; gap: .75rem; letter-spacing: .14em; min-height: 44px; padding: .75rem 1.1rem; }
.design-atelier .service-card__link:hover { background: transparent; color: #756c58; }

.design-atelier .method { background: var(--atelier-paper); display: grid; gap: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); isolation: auto; max-width: none; overflow: visible; padding: 0; }
.design-atelier .method::before { content: none; }
.design-atelier .method > * { margin-inline: 0; max-width: none; }
.design-atelier .atelier-detail-image { display: block; grid-column: 1; grid-row: 1; height: 100%; min-height: 340px; object-fit: cover; width: 100%; }
.atelier-detail-media { position: relative; overflow: hidden; }
.atelier-detail-video { display: block; height: 100%; inset: 0; object-fit: cover; position: absolute; width: 100%; }
.atelier-video-toggle { background: rgb(0 0 0 / 72%); border: 1px solid rgb(255 255 255 / 30%); bottom: 16px; color: #FFFFFF; cursor: pointer; font: 16px/1 sans-serif; height: 44px; position: absolute; right: 16px; width: 44px; }
.atelier-video-toggle:focus-visible { outline: 2px solid var(--rc-ink); outline-offset: 3px; }
.atelier-video-toggle[hidden] { display: none; }
.design-atelier .method .section-heading { align-content: center; border-left: 1px solid var(--atelier-line); box-sizing: border-box; gap: .9rem; grid-column: 2; grid-row: 1; margin-bottom: 0; padding: 3rem 5vw; }
.design-atelier .method .section-heading h2 { font-size: clamp(2.8rem, 4.5vw, 4.7rem); font-style: italic; max-width: 14ch; }
.design-atelier .method .method__subtitle { color: inherit; font: 400 1rem/1.5 "Helvetica Neue", Helvetica, sans-serif; margin: 1rem 0 0; }
.design-atelier .method-list { grid-column: 1; grid-row: 2; padding: 2rem 4vw; }
.design-atelier .method-list li { border-color: var(--atelier-line); gap: 1.3rem; grid-template-columns: 2.8rem minmax(0, 1fr); padding: 1.6rem 0; }
.design-atelier .method-list li:first-child { border-top: 0; }
.design-atelier .method-list .method-icon { color: var(--atelier-ink); height: 2.8rem; width: 2.8rem; }
.design-atelier .method-list h3 { color: var(--atelier-ink); font: 400 1.7rem/1 "Atelier Serif", Georgia, serif; }
.design-atelier .method-list p { color: #5b5549; font-size: .85rem; margin-bottom: 0; }
.design-atelier .method__media { grid-column: 2; grid-row: 2; height: auto; overflow: hidden; position: relative; width: 100%; z-index: auto; }
.design-atelier .method__media img { height: 100%; margin-left: 0; object-fit: cover; transform: none; width: 100%; }

.design-atelier .project-gallery { background: var(--atelier-paper); padding: clamp(3rem, 6vw, 6rem) 0; }
.design-atelier .project-gallery__inner { max-width: none; }
.design-atelier .project-gallery .section-heading { box-sizing: border-box; margin-bottom: 2.5rem; margin-inline: auto; max-width: 1440px; padding-inline: 5vw; }
.design-atelier .project-gallery .section-heading h2 { max-width: 20ch; }
.design-atelier .gallery-modal { background: var(--atelier-paper); color: var(--atelier-ink); }
.design-atelier .gallery-modal__caption { display: none; }
.design-atelier #galleria .gallery-grid figcaption {
  background: none;
  border: 0;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}
.design-atelier .project-feature { background: #e7e1d7; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.design-atelier .project-feature__copy { align-content: center; gap: .8rem; padding: 4rem 5vw; }
.design-atelier .project-feature h2 { font-style: italic; }
.design-atelier .project-feature__copy > p:last-child { color: #5b5549; font: 400 1.25rem/1.35 "Atelier Serif", Georgia, serif; }
.atelier-project-strip { grid-column: 1 / -1; }
.design-atelier .wp-site-blocks > .atelier-project-strip, .design-atelier .atelier-project-strip + .wp-block-template-part { margin-block-start: 0 !important; }
.design-atelier .atelier-project-strip .hero__media { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); inset: auto; margin: 0; position: static; width: 100%; z-index: auto; }
.design-atelier .atelier-project-strip .hero__slide { aspect-ratio: 1.25; height: auto; inset: auto; object-fit: cover; opacity: 1; position: static; transform: none; transition: none; width: 100%; }
.design-atelier .enquiry { background: var(--atelier-paper); }
.design-atelier .enquiry > p { color: #5b5549; }
.design-atelier .enquiry > .atelier-enquiry-layout { align-items: start; display: grid; gap: 5vw; grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 1320px; }
.design-atelier .atelier-enquiry-copy > .eyebrow { margin-top: 0; }
.design-atelier .atelier-enquiry-copy > h2 { margin-inline: 0 !important; max-width: 13ch; }
.design-atelier .atelier-enquiry-copy > p:not(.eyebrow) { color: #5b5549; line-height: 1.7; }
.design-atelier .atelier-enquiry-copy .enquiry__actions { gap: 1rem 1.5rem; }
.design-atelier #richiedi-sopralluogo .enquiry__actions > .text-link { display: none; }
.design-atelier .atelier-enquiry-copy .enquiry__note { font-size: .8rem; margin-top: 3rem; }
.design-atelier .enquiry .request-form-section { background: transparent; border-left: 1px solid var(--atelier-line); margin: 0; min-width: 0; padding: 0 0 0 4vw; }
.design-atelier .enquiry .request-form-section > .eyebrow { margin-top: 0; }
.design-atelier .enquiry .request-form-section > .eyebrow, .design-atelier .enquiry .request-form-section > p, .design-atelier .enquiry .request-form-section h2 { text-align: left; }
.design-atelier .enquiry .request-form-section h2 { font-size: clamp(2.4rem, 3.5vw, 3.6rem); margin-inline: 0; max-width: none; }
.design-atelier .enquiry .request-form-section > p:not(.eyebrow) { font-size: .9rem; line-height: 1.7; }
.design-atelier .enquiry .rosanna-request-form { margin-top: 1.5rem; max-width: none; }
.design-atelier .rosanna-request-form input[type="file"] { font-size: .8rem; padding: .5rem; }
.design-atelier .rosanna-request-form input[type="file"]::file-selector-button { background: var(--atelier-ink); border: 0; border-radius: .3rem; color: var(--atelier-paper); cursor: pointer; font: inherit; margin-right: .7rem; padding: .7rem .8rem; }
.rosanna-request-form__photo-help, .rosanna-request-form__photos-status { display: block; font-size: .75rem; line-height: 1.5; margin-top: .5rem; }
.rosanna-request-form__photos-status[data-state="error"] { color: #803c30; }
.design-atelier #modulo-richiesta { scroll-margin-top: 6rem; }
.design-atelier .button-link { background: var(--atelier-ink); color: var(--atelier-paper); }
.design-atelier .text-link { color: var(--atelier-ink); }
.design-atelier .enquiry__note { border-color: var(--atelier-line); }
.design-atelier .faq-list, .design-atelier .faq-list details { border-color: var(--atelier-line); }
.design-atelier .faq-list summary { font-family: "Atelier Serif", Georgia, serif; }
.design-atelier .faq-list details p { color: #5b5549; }
.design-atelier .request-form-section { background: #e8e2d8; max-width: none; }
.design-atelier .request-form-section > p:not(.eyebrow) { color: #5b5549; }
.design-atelier .rosanna-request-form input, .design-atelier .rosanna-request-form textarea, .design-atelier .rosanna-request-form select { border-color: var(--atelier-line); color: var(--atelier-ink); }
.design-atelier .rosanna-request-form select option { background: var(--atelier-paper); }
.design-atelier .rosanna-request-form__consent label, .design-atelier .rosanna-request-form__status { color: #5b5549; }
.design-atelier .rosanna-request-form a { color: var(--atelier-ink); }
.design-atelier .site-footer { background: var(--atelier-paper); border-color: var(--atelier-line); }
.design-atelier .site-footer__logo { filter: none; mix-blend-mode: multiply; }
.design-atelier .site-footer p, .design-atelier .site-footer a { color: var(--atelier-ink); }
.design-atelier .site-footer__note { color: #5b5549 !important; }
.atelier-social-icons { display: flex; gap: .8rem; margin-top: .5rem; }
.atelier-social-icon { align-items: center; border: 1px solid var(--atelier-line); border-radius: 50%; color: var(--atelier-ink); display: inline-flex; height: 44px; justify-content: center; width: 44px; }
.atelier-social-icon svg { height: 23px; width: 23px; }
.design-atelier .atelier-social-icons a:hover, .design-atelier .atelier-social-icons a:focus-visible { background: var(--atelier-ink); color: var(--atelier-paper); }
.design-atelier .page-content p, .design-atelier .page-content li { color: #5b5549; }
.design-atelier .page-content a:not(.button-link) { color: var(--atelier-ink); }

@media (max-width: 1050px) {
  .design-atelier .service-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .design-atelier .hero__title { font-size: 6.08rem; }
  .design-atelier .hero::before { clip-path: polygon(0 0, 50.4% 0, 61.2% 34%, 57.6% 65%, 70.2% 100%, 0 100%); }
  .design-atelier .hero.atelier-hero-ready::before { clip-path: url("#atelier-hero-curve-tablet"); }
  .design-atelier .method-list { padding-inline: 3vw; }
  .design-atelier .enquiry .rosanna-request-form__grid { grid-template-columns: 1fr; }
}

@media (max-width: 799px) {
  .design-atelier .site-header__inner { align-items: center; box-sizing: border-box; flex-direction: row; min-height: 64px; padding-block: .25rem; padding-inline: 6vw; }
  .design-atelier .site-wordmark { font-size: clamp(1.9rem, 6.8vw, 2.5rem); }
  .atelier-wordmark-tagline { font-size: .4rem; letter-spacing: .23em; line-height: 1.6; margin-top: .2rem; }
  .atelier-menu-toggle { gap: .5rem; justify-content: center; min-height: 44px; min-width: 44px; }
  .admin-bar.design-atelier .site-header { top: var(--wp-admin--admin-bar--height, 46px); }
  .atelier-menu-toggle > span:last-child { display: none; }
  .atelier-menu-toggle__lines { height: 16px; width: 29px; }
  html[data-header="compact"] .design-atelier .site-header__inner { min-height: 60px; padding-block: .4rem; }
  html[data-header="compact"] .design-atelier .site-wordmark { font-size: 1.8rem; }
  .design-atelier .hero { background-image: url("../images/atelier/hero-mobile-flow.webp"); background-position: 62% center; min-height: 800px; padding: 142px 7vw 105px; }
  .atelier-hero-slide img { object-position: 62% center; }
  .atelier-slider-controls { bottom: auto; flex-direction: column; right: 5vw; top: 320px; }
  .atelier-slider-controls .atelier-slider-controls__pause { border-left: 0; border-top: 1px solid rgb(244 240 232 / 30%); }
  .design-atelier .hero__title { font-size: clamp(3.12rem, 11.6vw, 4.8rem); max-width: 8.8ch !important; width: 70%; }
  .design-atelier .hero::before { clip-path: polygon(0 0, 59.4% 0, 70.2% 34%, 64.8% 65%, 75.6% 100%, 0 100%); }
  .design-atelier .hero.atelier-hero-ready::before { clip-path: url("#atelier-hero-curve-mobile"); }
  .design-atelier .hero > .eyebrow { font-size: .5rem; letter-spacing: .24em; margin-top: 1.8rem; width: 62%; }
  .design-atelier .hero > .eyebrow::before { margin-bottom: 1.4rem; width: 3rem; }
  .design-atelier .hero__copy { font-size: 1.17rem; max-width: 18ch !important; width: 65%; }
  .design-atelier .hero > .wp-block-buttons { margin-top: 1.7rem; width: 65%; }
  .design-atelier .button-brass .wp-element-button { font-size: .52rem; gap: 1rem; letter-spacing: .19em; max-width: 12rem; }
  .design-atelier .button-brass .wp-element-button::before { flex-basis: 52px; height: 52px; width: 52px; }
  .design-atelier .button-brass .rc-arrow-icon--hero { left: 14px; }
  .atelier-hero-annotation { border-color: rgb(38 37 31 / 45%); color: var(--atelier-ink); font-size: .6rem; letter-spacing: .16em; padding-left: .8rem; right: 5vw; top: 178px; }
  .design-atelier .content-section { padding: 3rem 6vw; }
  .design-atelier .services .section-heading h2 { font-size: 2.9rem; max-width: 16ch; }
  .design-atelier .services .section-heading { margin-bottom: 1.7rem; }
  .design-atelier .service-grid { gap: 2rem 1.2rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .design-atelier .service-grid article:nth-child(-n+2) { border-bottom: 0; }
  .design-atelier .service-grid h3 { font-size: .55rem; letter-spacing: .16em; }
  .design-atelier .service-description { font-size: .95rem; }
  .design-atelier .method { grid-template-columns: 1fr; padding: 0; }
  .design-atelier .atelier-detail-image { grid-column: 1; grid-row: 1; min-height: 0; height: auto; max-height: 310px; }
  .design-atelier .atelier-detail-media { aspect-ratio: 2732 / 1440; }
  .design-atelier .method .section-heading { border: 0; grid-column: 1; grid-row: 2; padding: 2rem 6vw; }
  .design-atelier .method .section-heading h2 { font-size: 3rem; }
  .design-atelier .method-list { grid-column: 1; grid-row: 3; padding: 0 6vw 2rem; }
  .design-atelier .method__media { grid-column: 1; grid-row: 4; height: 280px; }
  .design-atelier .project-gallery { padding: 3rem 0; }
  .design-atelier .project-gallery .section-heading { padding-inline: 6vw; }
  .design-atelier .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .design-atelier .gallery-grid figcaption { font-size: .75rem; line-height: 1.4; padding: 2rem .75rem .75rem; }
  .design-atelier .enquiry > .atelier-enquiry-layout { gap: 2.5rem; grid-template-columns: 1fr; }
  .design-atelier .enquiry .request-form-section { border-left: 0; border-top: 1px solid var(--atelier-line); padding: 2.5rem 0 0; }
  .design-atelier .project-feature { grid-template-columns: 1fr; }
  .design-atelier .project-feature__copy { padding: 3rem 6vw; }
  .design-atelier .project-feature > img { max-height: 550px; min-height: 0; }
  .design-atelier .atelier-project-strip .hero__media { grid-template-columns: 1fr; }
  .design-atelier .atelier-project-strip .hero__slide { aspect-ratio: 1.6; }
  .design-atelier .mobile-actions { background: var(--atelier-paper); box-shadow: 0 -4px 24px rgb(38 37 31 / 10%); }
}

@media (max-width: 600px) {
  html[data-header="compact"] .admin-bar.design-atelier .site-header { top: 0; }
}

/* Full-height veil: its right edge hugs measured words, not their full columns. */
.design-atelier .hero.atelier-halo-fitted::before {
  inset: auto;
  left: var(--hero-halo-left);
  top: var(--hero-halo-top);
  width: var(--hero-halo-width);
  height: var(--hero-halo-height);
  clip-path: url("#atelier-hero-text-halo");
}

/* Justify only the requested explanatory copy, not headings or form controls. */
.design-atelier .service-description,
.design-atelier .insect-screens__copy > p:nth-of-type(2),
.design-atelier .atelier-enquiry-copy > p:nth-of-type(2),
.design-atelier #modulo-richiesta > p:nth-of-type(2) {
  text-align: justify;
  text-align-last: left;
  -webkit-hyphens: auto;
  hyphens: auto;
  overflow-wrap: break-word;
}
