:root {
  --atelier-black: #060606;
  --atelier-carbon: #101010;
  --atelier-paper: #f3efe5;
  --atelier-gold: #c8a86d;
  --atelier-gold-bright: #e9d0a0;
  --atelier-line: rgba(226, 204, 158, .25);
  --atelier-muted: #bcb5a8;
  --atelier-danger: #f4c6b6;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--atelier-black); }
.atelier-page {
  margin: 0;
  overflow-x: hidden;
  color: var(--atelier-paper);
  background: var(--atelier-black);
  font-family: Inter, sans-serif;
  font-size: 16px;
  line-height: 1.55;
}
.atelier-page a { color: inherit; text-decoration: none; }
.atelier-page button, .atelier-page input, .atelier-page textarea, .atelier-page select { font: inherit; }
.atelier-page :focus-visible { outline: 3px solid var(--atelier-gold-bright); outline-offset: 4px; }
.atelier-skip { position: fixed; z-index: 50; top: -6rem; left: 1rem; padding: .75rem 1rem; background: var(--atelier-paper); color: #000; font-weight: 700; }
.atelier-skip:focus { top: 1rem; }

.atelier-header { width: min(1240px, calc(100% - 2rem)); margin: 0 auto; min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 1px solid var(--atelier-line); }
.atelier-brand { display: inline-flex; align-items: center; min-height: 52px; gap: .6rem; }
.atelier-brand img { display: block; width: 45px; height: 45px; object-fit: contain; }
.atelier-brand span { display: grid; line-height: 1.05; }
.atelier-brand strong { font-family: "Cormorant Garamond", serif; font-size: 1.18rem; letter-spacing: .01em; font-weight: 600; }
.atelier-brand small { color: var(--atelier-muted); margin-top: .24rem; font-size: .57rem; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.atelier-nav { display: flex; align-items: center; gap: clamp(.7rem, 2vw, 1.75rem); }
.atelier-nav a { display: inline-flex; min-height: 44px; align-items: center; padding: 0 .1rem; color: var(--atelier-muted); font-size: .69rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.atelier-nav a[aria-current="page"] { color: var(--atelier-gold-bright); }

.atelier-hero { position: relative; isolation: isolate; display: grid; min-height: min(780px, calc(100svh - 78px)); grid-template-columns: minmax(0, 1fr); overflow: hidden; padding: clamp(4.5rem, 9vw, 9rem) max(1rem, calc((100vw - 1240px) / 2)); }
.atelier-grid-lines { position: absolute; z-index: -2; inset: 0; opacity: .72; background-image: linear-gradient(var(--atelier-line) 1px, transparent 1px), linear-gradient(90deg, var(--atelier-line) 1px, transparent 1px); background-size: 52px 52px; mask-image: linear-gradient(90deg, #000, transparent 90%); }
.atelier-grid-lines::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 75% 50%, rgba(200,168,109,.17), transparent 24rem), linear-gradient(90deg, var(--atelier-black) 0%, transparent 70%); }
.atelier-hero-copy { max-width: 41rem; align-self: center; }
.atelier-kicker, .atelier-eyebrow { margin: 0 0 1.1rem; color: var(--atelier-gold-bright); font-size: .67rem; font-weight: 700; letter-spacing: .19em; text-transform: uppercase; }
.atelier-hero h1, .atelier-section-title h2, .atelier-brief-head h2, .atelier-ai-chat h2, .atelier-process h2, .atelier-education h2 { margin: 0; font-family: "Cormorant Garamond", Georgia, serif; font-weight: 500; line-height: .91; letter-spacing: -.04em; text-wrap: pretty; }
.atelier-hero h1 { max-width: 7ch; font-size: clamp(5.25rem, 12vw, 10.7rem); }
.atelier-hero h1 em { color: var(--atelier-gold-bright); font-weight: 500; }
.atelier-intro { max-width: 34rem; margin: 2rem 0; color: #ded9cf; font-size: clamp(1rem, 1vw + .7rem, 1.25rem); text-wrap: pretty; }
.atelier-hero-cta, .atelier-handoff, .atelier-submit { display: inline-flex; align-items: center; justify-content: center; gap: .7rem; min-height: 52px; padding: .8rem 1rem; transition: background-color 160ms cubic-bezier(.23, 1, .32, 1), color 160ms cubic-bezier(.23, 1, .32, 1), transform 160ms cubic-bezier(.23, 1, .32, 1); }
.atelier-hero-cta { border-bottom: 1px solid var(--atelier-gold); color: var(--atelier-gold-bright); font-size: .71rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.atelier-hero-cta:active, .atelier-handoff:active, .atelier-submit:active { transform: scale(.97); }
.atelier-hero-cta:hover { background: rgba(200,168,109,.12); }

.atelier-study { position: absolute; right: max(1rem, calc((100vw - 1240px) / 2)); bottom: clamp(2rem, 8vw, 7rem); width: min(51vw, 520px); margin: 0; }
.atelier-study-stage { position: relative; aspect-ratio: 1.08; border: 1px solid var(--atelier-line); background: radial-gradient(circle at 50% 40%, rgba(230,214,178,.14), transparent 20%), rgba(9,9,9,.66); overflow: hidden; }
.atelier-study-stage::before, .atelier-study-stage::after { content: ""; position: absolute; background: var(--atelier-line); }
.atelier-study-stage::before { width: 130%; height: 1px; top: 50%; left: -15%; }
.atelier-study-stage::after { width: 1px; height: 130%; top: -15%; left: 50%; }
.atelier-orbit { position: absolute; border: 1px dashed rgba(232,207,157,.55); border-radius: 50%; }
.atelier-orbit-a { width: 70%; height: 34%; top: 33%; left: 15%; transform: rotate(-18deg); }
.atelier-orbit-b { width: 38%; height: 80%; top: 10%; left: 31%; transform: rotate(30deg); }
.atelier-band { position: absolute; width: 40%; height: 49%; top: 29%; left: 30%; border: 2px solid var(--atelier-gold-bright); border-radius: 50%; transform: rotate(28deg) skewY(-15deg); box-shadow: 0 0 25px rgba(231,208,161,.16), inset 0 0 25px rgba(231,208,161,.08); }
.atelier-stone { position: absolute; width: 19%; aspect-ratio: 1; top: 16%; left: 40.5%; transform: rotate(45deg); background: linear-gradient(145deg, #fffdf8 0 20%, #d6c5a2 21% 42%, #5f584c 43% 56%, #f3e7d0 57% 75%, #81745e 76%); box-shadow: 0 0 28px rgba(255,250,238,.48); }
.atelier-stone i, .atelier-stone b { position: absolute; display: block; border: 1px solid rgba(7,7,7,.35); }
.atelier-stone i { inset: 20%; transform: rotate(45deg); }
.atelier-stone b { width: 1px; height: 141%; top: -20%; left: 50%; transform: rotate(-45deg); }
.atelier-coordinate { position: absolute; color: var(--atelier-muted); font-size: .57rem; letter-spacing: .15em; }
.atelier-coordinate.c-a { left: 5%; top: 8%; }
.atelier-coordinate.c-b { right: 5%; bottom: 7%; }
.atelier-study figcaption { display: flex; gap: .6rem; padding-top: .7rem; color: var(--atelier-muted); font-size: .69rem; }
.atelier-study figcaption span { color: var(--atelier-gold-bright); font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }

.atelier-builder-wrap, .atelier-brief-section, .atelier-process, .atelier-education { width: min(1240px, calc(100% - 2rem)); margin: 0 auto; }
.atelier-builder-wrap { padding: clamp(4rem, 9vw, 8rem) 0; }
.atelier-section-title { display: grid; max-width: 46rem; margin-bottom: 2.6rem; }
.atelier-section-title h2, .atelier-brief-head h2, .atelier-ai-chat h2, .atelier-process h2, .atelier-education h2 { font-size: clamp(2.8rem, 5vw, 5.1rem); }
.atelier-section-title > p:last-child, .atelier-brief-head > p:last-child, .atelier-process-intro > p:last-child { color: var(--atelier-muted); max-width: 40rem; margin: 1.3rem 0 0; text-wrap: pretty; }
#atelier-builder { display: grid; gap: 1rem; }
#atelier-builder fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
#atelier-builder legend { margin-bottom: .8rem; color: var(--atelier-paper); font-size: .82rem; font-weight: 700; letter-spacing: .06em; }
.atelier-intent-field { padding: clamp(1.1rem, 3vw, 2rem) !important; border: 1px solid var(--atelier-line) !important; background: linear-gradient(135deg, rgba(229,207,159,.075), transparent 55%), var(--atelier-carbon); }
.atelier-intent-field > label, .atelier-selects > label { display: block; margin-bottom: .55rem; color: var(--atelier-muted); font-size: .78rem; }
.atelier-intent-field textarea, .atelier-selects input, .atelier-selects select { width: 100%; border: 1px solid rgba(243,239,229,.3); border-radius: 0; padding: .8rem .9rem; color: var(--atelier-paper); background: #080808; }
.atelier-intent-field textarea { min-height: 120px; resize: vertical; }
.atelier-intent-field textarea::placeholder, .atelier-selects input::placeholder { color: #928b7e; }
.atelier-file-row { display: grid; gap: .65rem; margin-top: 1rem; }
.atelier-file-control { display: inline-flex; width: fit-content; min-height: 44px; align-items: center; border-bottom: 1px solid var(--atelier-gold); color: var(--atelier-gold-bright); cursor: pointer; font-size: .7rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.atelier-file-control input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; }
#atelier-file-note { margin: 0; color: var(--atelier-muted); font-size: .7rem; }
.atelier-fields { display: grid; gap: 1rem; }
.atelier-fields fieldset, .atelier-selects { padding: 1.05rem; border: 1px solid rgba(243,239,229,.18); }
.atelier-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; }
.atelier-choice { display: flex; position: relative; min-height: 44px; align-items: center; justify-content: center; padding: .55rem; overflow: hidden; border: 1px solid rgba(243,239,229,.25); color: var(--atelier-muted); cursor: pointer; text-align: center; font-size: .72rem; transition: border-color 160ms cubic-bezier(.23, 1, .32, 1), background-color 160ms cubic-bezier(.23, 1, .32, 1), color 160ms cubic-bezier(.23, 1, .32, 1); }
.atelier-choice input { position: absolute; opacity: 0; }
.atelier-choice:has(input:checked) { border-color: var(--atelier-gold); color: var(--atelier-paper); background: rgba(200,168,109,.13); }
.atelier-choice:has(input:focus-visible) { outline: 3px solid var(--atelier-gold-bright); outline-offset: 3px; }
.atelier-selects { display: grid; gap: .55rem; }
.atelier-selects label:nth-of-type(2) { margin-top: .5rem; }
.atelier-selects select { min-height: 44px; }
.atelier-selects option { color: #111; background: #eee; }
.atelier-action-row { display: grid; gap: 1rem; align-items: center; padding-top: 1rem; }
.atelier-submit { width: 100%; min-height: 52px; border: 1px solid var(--atelier-gold); color: #111; background: var(--atelier-gold-bright); cursor: pointer; font-size: .75rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.atelier-submit:hover { background: var(--atelier-paper); }
.atelier-status { margin: 0; color: var(--atelier-muted); font-size: .76rem; }
.atelier-status.is-error { color: var(--atelier-danger); }

.atelier-brief-section { padding: clamp(4rem, 9vw, 8rem) 0; border-top: 1px solid var(--atelier-line); }
.atelier-brief-head { display: grid; max-width: 47rem; }
.atelier-brief-panel { position: relative; display: grid; gap: 1.25rem; margin-top: 2.4rem; padding: clamp(1.25rem, 5vw, 3rem); overflow: hidden; border: 1px solid var(--atelier-line); background: linear-gradient(120deg, rgba(231,208,161,.13), transparent 42%), #101010; }
.atelier-brief-panel::after { content: ""; position: absolute; right: -4rem; bottom: -6rem; width: 18rem; height: 18rem; border: 1px solid var(--atelier-line); border-radius: 50%; }
.atelier-brief-number { position: absolute; top: 1rem; right: 1.3rem; color: rgba(232,207,157,.25); font-family: "Cormorant Garamond", serif; font-size: 4rem; line-height: .6; text-align: right; }
#atelier-live-summary { position: relative; z-index: 1; display: grid; gap: .7rem; max-width: 44rem; }
#atelier-live-summary strong { font-family: "Cormorant Garamond", serif; font-size: clamp(2rem, 4vw, 3.4rem); font-weight: 500; line-height: 1; text-wrap: pretty; }
#atelier-live-summary span { color: var(--atelier-muted); font-size: .92rem; }
.atelier-brief-actions { position: relative; z-index: 1; display: grid; gap: .55rem; align-self: end; }
.atelier-handoff { width: 100%; min-height: 52px; border: 1px solid var(--atelier-gold); color: var(--atelier-gold-bright); font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.atelier-handoff:hover { color: #0b0b0b; background: var(--atelier-gold-bright); }
.atelier-brief-actions p { margin: 0; color: var(--atelier-muted); font-size: .7rem; }

.atelier-ai-chat { width: min(1240px, calc(100% - 2rem)); margin: 0 auto; padding: clamp(4rem, 9vw, 8rem) 0; border-top: 1px solid var(--atelier-line); }
.atelier-ai-chat-intro { display: grid; max-width: 49rem; }
.atelier-ai-chat-intro h2 em { color: var(--atelier-gold-bright); font-weight: 500; }
.atelier-ai-chat-intro > p:last-child { max-width: 44rem; margin: 1.3rem 0 0; color: var(--atelier-muted); text-wrap: pretty; }
.atelier-chat-shell { display: grid; gap: 1rem; margin-top: 2.5rem; }
.atelier-chat-log { display: grid; align-content: start; gap: .8rem; min-height: 286px; max-height: 440px; overflow: auto; padding: 1rem; border: 1px solid var(--atelier-line); background: radial-gradient(circle at 80% 0%, rgba(200,168,109,.1), transparent 17rem), #0b0b0b; }
.atelier-chat-message { width: min(100%, 42rem); padding: .9rem 1rem; border: 1px solid rgba(243,239,229,.16); }
.atelier-chat-message--assistant { justify-self: start; background: rgba(200,168,109,.08); border-color: rgba(231,208,161,.38); }
.atelier-chat-message--user { justify-self: end; background: #151515; }
.atelier-chat-message strong { display: block; color: var(--atelier-gold-bright); font-size: .65rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.atelier-chat-message--user strong { color: var(--atelier-paper); }
.atelier-chat-message p { margin: .38rem 0 0; color: #e6e0d5; font-size: .87rem; text-wrap: pretty; }
.atelier-chat-form { display: grid; gap: .7rem; padding: 1rem; border: 1px solid var(--atelier-line); background: var(--atelier-carbon); }
.atelier-chat-form > label { color: var(--atelier-paper); font-size: .78rem; font-weight: 700; letter-spacing: .04em; }
#atelier-chat-input { width: 100%; min-height: 116px; resize: vertical; border: 1px solid rgba(243,239,229,.3); padding: .85rem .95rem; color: var(--atelier-paper); background: #080808; }
#atelier-chat-input::placeholder { color: #928b7e; }
.atelier-chat-action-row { display: grid; gap: .75rem; align-items: center; }
.atelier-chat-action-row p, .atelier-chat-status { margin: 0; color: var(--atelier-muted); font-size: .72rem; text-wrap: pretty; }
.atelier-chat-send { min-height: 52px; border: 1px solid var(--atelier-gold); padding: .8rem 1rem; color: #111; background: var(--atelier-gold-bright); cursor: pointer; font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; transition: background-color 160ms cubic-bezier(.23, 1, .32, 1), transform 160ms cubic-bezier(.23, 1, .32, 1); }
.atelier-chat-send:hover { background: var(--atelier-paper); }
.atelier-chat-send:active { transform: scale(.97); }
.atelier-chat-send:disabled, #atelier-chat-input:disabled { cursor: wait; opacity: .68; }

.atelier-process { padding: clamp(4rem, 9vw, 8rem) 0; }
.atelier-process-intro { max-width: 46rem; }
.atelier-rail { display: grid; gap: 1px; margin: 2.8rem 0 0; padding: 0; border: 1px solid var(--atelier-line); list-style: none; background: var(--atelier-line); }
.atelier-rail li { display: grid; grid-template-columns: 2.4rem 1fr; gap: .25rem .8rem; min-height: 115px; padding: 1rem; background: #0c0c0c; }
.atelier-rail li.is-current { background: linear-gradient(135deg, rgba(200,168,109,.13), #0c0c0c); }
.atelier-rail span { grid-row: span 2; color: var(--atelier-gold-bright); font-family: "Cormorant Garamond", serif; font-size: 1.4rem; }
.atelier-rail strong { align-self: end; font-family: "Cormorant Garamond", serif; font-size: 1.3rem; font-weight: 500; }
.atelier-rail small { color: var(--atelier-muted); font-size: .71rem; }

.atelier-education { display: grid; gap: 2rem; padding: clamp(3rem, 7vw, 6rem) 0; border-top: 1px solid var(--atelier-line); }
.atelier-education-copy { max-width: 38rem; color: var(--atelier-muted); }
.atelier-education-copy p { margin-top: 0; text-wrap: pretty; }
.atelier-education-copy a { display: inline-flex; min-height: 44px; align-items: center; gap: .6rem; color: var(--atelier-gold-bright); border-bottom: 1px solid var(--atelier-gold); font-size: .72rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.atelier-footer { display: flex; width: min(1240px, calc(100% - 2rem)); min-height: 94px; margin: 0 auto; align-items: center; justify-content: space-between; gap: 1rem; border-top: 1px solid var(--atelier-line); color: var(--atelier-muted); font-size: .66rem; letter-spacing: .08em; text-transform: uppercase; }
.atelier-footer p { margin: 0; }
.atelier-footer a { color: var(--atelier-gold-bright); }

@media (min-width: 700px) {
  .atelier-hero { grid-template-columns: minmax(0, 1fr) minmax(280px, .8fr); align-items: center; }
  .atelier-study { position: relative; right: auto; bottom: auto; width: 100%; max-width: 520px; justify-self: end; }
  .atelier-file-row { grid-template-columns: max-content 1fr; align-items: center; }
  .atelier-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .atelier-fields > :nth-child(3) { grid-column: 1 / 2; }
  .atelier-selects { grid-column: 2 / 3; }
  .atelier-action-row { grid-template-columns: max-content 1fr; }
  .atelier-submit { width: auto; padding-inline: 1.5rem; }
  .atelier-brief-panel { grid-template-columns: minmax(0, 1fr) minmax(260px, .5fr); align-items: end; }
  .atelier-chat-shell { grid-template-columns: minmax(0, 1.08fr) minmax(280px, .62fr); align-items: stretch; }
  .atelier-chat-form { grid-template-rows: auto minmax(116px, 1fr) auto auto; }
  .atelier-chat-action-row { grid-template-columns: minmax(0, 1fr) max-content; }
  .atelier-chat-send { min-width: 150px; }
  .atelier-rail { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .atelier-rail li { min-height: 148px; }
  .atelier-education { grid-template-columns: minmax(0, .85fr) minmax(0, 1fr); align-items: start; }
}

@media (min-width: 980px) {
  .atelier-rail { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .atelier-rail li { grid-template-columns: 1fr; gap: .15rem; min-height: 185px; }
  .atelier-rail span { grid-row: auto; }
  .atelier-rail strong { align-self: start; }
}

@media (max-width: 520px) {
  .atelier-header { width: min(100% - 1rem, 1240px); min-height: 70px; }
  .atelier-brand img { width: 37px; height: 37px; }
  .atelier-brand strong { font-size: 1rem; }
  .atelier-brand small { font-size: .48rem; }
  .atelier-nav { gap: .6rem; }
  .atelier-nav a { padding: 0; font-size: .58rem; letter-spacing: .07em; }
  .atelier-hero { min-height: auto; padding-top: 4rem; padding-bottom: 3rem; }
  .atelier-study { position: relative; right: auto; bottom: auto; width: 100%; margin-top: 3rem; }
  .atelier-footer { width: min(100% - 1rem, 1240px); font-size: .55rem; }
}

@media (prefers-reduced-motion: no-preference) {
  .atelier-band { animation: atelier-breathe 7s ease-in-out infinite; }
  .atelier-orbit-a { animation: atelier-orbit 26s linear infinite; }
  .atelier-orbit-b { animation: atelier-orbit-reverse 32s linear infinite; }
}

@keyframes atelier-breathe { 50% { transform: rotate(32deg) skewY(-15deg) scale(1.035); box-shadow: 0 0 38px rgba(231,208,161,.29), inset 0 0 30px rgba(231,208,161,.11); } }
@keyframes atelier-orbit { to { transform: rotate(342deg); } }
@keyframes atelier-orbit-reverse { to { transform: rotate(-330deg); } }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .atelier-page *, .atelier-page *::before, .atelier-page *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
