.green-ribbon { display:flex; align-items:center; width:100%; padding:15px 0; background:var(--accent); color:var(--accent-ink); transform:none; overflow:hidden; }
.ribbon-window { flex:1; min-width:0; overflow:hidden; }
.ribbon-track { display:flex; align-items:center; width:max-content; animation:services-scroll 40s linear infinite; animation-play-state:paused; }
.ribbon-track span { font-size:clamp(1rem,2vw,1.5rem); font-weight:500; white-space:nowrap; padding-inline:28px; }
.ribbon-track i { font-size:.75rem; font-style:normal; }
@keyframes services-scroll { to { transform:translateX(-50%); } }
.collection-heading { display:flex; justify-content:space-between; gap:24px; align-items:flex-end; margin-bottom:32px; }
.collection-heading h2 { font-size:clamp(2.5rem,4.5vw,4.6rem); font-weight:400; line-height:1.02; letter-spacing:-.055em; }
.collection-heading .accent-serif { color:var(--accent); }
.project-track { display:flex; gap:28px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:var(--border-2) transparent; padding-bottom:14px; scroll-behavior:smooth; }
.project-track .project-card { flex:0 0 calc((100% - 56px)/3); scroll-snap-align:start; scroll-snap-stop:always; }
.project-track:focus-visible { outline:2px solid var(--accent); outline-offset:6px; }
.project-track .project-visual { aspect-ratio:4/3; }
.project-track .project-visual .zebbly-thumb { object-fit:contain; background:#f6efd9; }
.carousel-controls { display:flex; align-items:center; gap:14px; flex-shrink:0; }
.carousel-controls[hidden] { display:none; }
.carousel-controls button { border:1px solid var(--border-2); background:var(--surface); color:var(--text); border-radius:50%; width:44px; height:44px; font-size:1.2rem; cursor:pointer; }
.carousel-controls button:hover:not(:disabled) { color:var(--accent); border-color:var(--accent); }
.carousel-controls button:disabled { opacity:.3; cursor:default; }
.carousel-position { font-size:.75rem; color:var(--text-mid); min-width:5ch; text-align:center; }
.collection-note { font-size:.875rem; color:var(--text-dim); margin-top:20px; }
.collection-more { width:fit-content; margin-top:20px; }
.app-preview { height:100%; width:100%; padding:clamp(20px,2.5vw,36px); display:flex; flex-direction:column; justify-content:center; }
.preview-label { font-size:.7rem; letter-spacing:.05em; }
.radio-preview { background:#171e25; color:#eef4f1; }
.radio-bars { display:flex; align-items:center; justify-content:center; gap:7px; height:90px; margin-block:20px; }
.radio-bars i { width:8px; height:var(--bar); border-radius:4px; background:#d6fa73; }
.preview-player { display:flex; align-items:center; justify-content:space-between; font-size:.65rem; letter-spacing:.04em; }
.preview-player b { color:#d6fa73; font-size:1.3rem; margin-right:40px; }
.assistant-preview { background:#e7e2d5; color:#24392b; gap:10px; }
.assistant-preview>p { font-size:1.1rem; margin-block:9px; }
.assistant-preview>div { background:#f8f6ef; border:1px solid #24392b26; border-radius:6px; padding:10px 14px; font-size:.85rem; display:flex; justify-content:space-between; }
.cash-preview { background:#d9f0e6; color:#193c31; gap:14px; }
.cash-preview strong { font-size:clamp(2rem,4vw,3rem); letter-spacing:-.05em; }
.cash-preview>span:last-child { font-size:.85rem; }
.personal-intro { grid-column:1/-1; display:grid; grid-template-columns:72px 1fr; gap:28px; border-top:1px solid var(--border-2); padding-top:32px; }
.personal-mark { display:grid; place-items:center; width:72px; height:72px; background:var(--accent); color:var(--accent-ink); font-family:var(--serif); font-size:2.8rem; border-radius:50%; }
.personal-intro h3 { font-size:1.65rem; font-weight:500; letter-spacing:-.035em; margin-bottom:12px; }
.personal-intro p:not(.eyebrow) { max-width:64ch; font-size:1rem; color:var(--text-mid); line-height:1.6; }
.personal-intro .atelier-textlink { width:fit-content; margin-top:12px; }
.focused-home .concise-services>.wrap { row-gap:32px; }
.inquiry-form { background:var(--surface); border:1px solid var(--border-2); border-radius:8px; padding:28px; min-width:0; }
.form-pair { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.form-field { display:flex; flex-direction:column; gap:9px; margin-bottom:22px; min-width:0; }
.form-field label { font-size:.9rem; color:var(--text); }
.form-field input,.form-field textarea { box-sizing:border-box; width:100%; min-width:0; border:1px solid var(--border-2); border-radius:4px; padding:12px; font:inherit; font-size:1rem; color:var(--text); background:var(--bg); }
.form-field textarea { resize:vertical; min-height:140px; line-height:1.5; }
.form-field input:focus,.form-field textarea:focus { outline:2px solid var(--accent); outline-offset:2px; }
.form-field input::placeholder,.form-field textarea::placeholder { color:var(--text-dim); }
.form-honey { display:none; }
.form-status { color:var(--text-mid); font-size:.9rem; line-height:1.5; }
.form-status:not(:empty) { margin-top:18px; }
.form-status[data-state=error] { color:var(--text); border-left:3px solid var(--accent); padding-left:12px; }
.form-status[data-state=success] { color:var(--accent); }
.form-privacy { font-size:.75rem; line-height:1.6; color:var(--text-dim); margin-top:22px; }
.form-privacy a { text-decoration:underline; }
.inquiry-submit:disabled { opacity:.6; cursor:wait; }
.contact-promise { color:var(--text-mid); font-size:.9rem; margin:20px 0; }
.contact .atelier-textlink { width:fit-content; }
.thanks-page { padding-block:60px; max-width:850px; }
.thanks-page>.logo { margin-bottom:80px; }
.thanks-page h1 { font-size:clamp(3rem,7vw,5rem); font-weight:400; line-height:1.05; margin-bottom:24px; }
.thanks-page>.btn { margin-top:28px; }
@media(max-width:900px) { .project-track .project-card { flex-basis:calc((100% - 28px)/2); } }
@media(max-width:620px) {
  .green-ribbon { padding-block:8px; }
  .ribbon-track span { padding-inline:20px; }
  .collection-heading { display:block; margin-bottom:22px; }
  .collection-heading h2 { font-size:2.55rem; }
  .carousel-controls { margin-top:20px; justify-content:flex-end; }
  .project-track { gap:16px; margin-right:-22px; padding-right:22px; scroll-padding-right:22px; }
  .project-track .project-card { flex-basis:88%; }
  .project-track .project-visual { aspect-ratio:16/10; }
  .project-info h3 { font-size:1.55rem; }
  .personal-intro { grid-template-columns:1fr; gap:18px; margin-top:16px; }
  .personal-mark { width:52px; height:52px; font-size:2rem; }
  .personal-intro .eyebrow { line-height:1.6; }
  .form-pair { grid-template-columns:1fr; gap:0; }
  .inquiry-form { padding:22px 18px; }
  .app-preview { padding:20px; }
  .radio-bars { height:64px; margin-block:14px; }
  .preview-label { font-size:.65rem; }
  .assistant-preview { gap:6px; }
  .assistant-preview>p { font-size:1rem; margin-block:5px; }
  .assistant-preview>div { padding:7px 12px; }
}
@media(prefers-reduced-motion:reduce) { .ribbon-track { animation:none; } .project-track { scroll-behavior:auto; } }

.ribbon-group { display:flex; flex:0 0 auto; align-items:center; justify-content:space-around; min-width:100vw; }
.ribbon-group span,.ribbon-group i { flex-shrink:0; }
.green-ribbon.is-visible .ribbon-track { animation-play-state:running; }
