.order-page {
  width:min(100%,1200px);
  margin:0 auto;
  padding:var(--s-5) var(--gutter) calc(var(--s-6) + 16px)
}
.order-shell {
  padding:clamp(22px,3vw,32px);
  border:1px solid rgba(17,17,17,.08);
  border-radius:28px;
  background:linear-gradient(180deg,rgba(255,255,255,.99) 0,rgba(250,250,250,.98) 100%);
  box-shadow:var(--shadow-card)
}
.order-quote-edit-banner {
  display:grid;
  gap:8px;
  margin-bottom:clamp(22px,3vw,32px);
  padding:18px 20px;
  border:1px solid rgba(17,17,17,.08);
  border-radius:18px;
  background:#fff
}
.order-quote-edit-banner[hidden] {
  display:none
}
.order-quote-edit-banner p {
  margin:0;
  color:rgba(17,17,17,.38);
  font-family:"Bebas Neue",sans-serif;
  font-size:18px;
  line-height:1;
  letter-spacing:.12em
}
.order-quote-edit-banner strong {
  color:#111;
  font-size:20px;
  line-height:1.35
}
.order-quote-edit-banner span {
  color:rgba(17,17,17,.56);
  font-size:13px;
  line-height:1.7
}
.order-form {
  display:grid;
  gap:var(--s-4)
}
.order-upload-area {
  display:grid;
  gap:var(--s-3)
}
.order-polish-upload-gate {
  display:none
}
.order-polish-upload-note {
  display:none;
  margin:0;
  color:rgba(17,17,17,.58);
  font-size:13px;
  line-height:1.8
}
.order-polish-upload-toggle {
  width:100%;
  padding:16px 18px;
  border:1px solid rgba(17,17,17,.12);
  border-radius:18px;
  background:#fff;
  color:rgba(17,17,17,.72);
  font:inherit;
  font-weight:700;
  text-align:left;
  cursor:pointer
}
.order-polish-upload-toggle::after {
  content:"+";
  float:right;
  color:rgba(17,17,17,.42);
  font-size:20px;
  line-height:1
}
.order-form--polish .order-polish-upload-gate,.order-form--polish .order-polish-upload-note {
  display:block
}
.order-form--polish:not(.is-polish-upload-open) .order-upload-area {
  display:none
}
.order-form--polish.is-polish-upload-open .order-polish-upload-toggle::after {
  content:"-"
}
.order-form--case-service .order-dropzone,.order-form--case-service .order-files,.order-form--case-service .order-append-zone {
  display:none
}
.order-tabs {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px
}
.order-tab {
  padding:14px 12px;
  border:1px solid rgba(17,17,17,.08);
  border-radius:999px;
  background:#fff;
  color:rgba(17,17,17,.54);
  font-family:"Bebas Neue",sans-serif;
  font-size:20px;
  line-height:1;
  letter-spacing:.08em;
  cursor:pointer
}
.order-tab[data-service-tab="refine"] {
  color:rgba(66,106,179,.48)
}
.order-tab[data-service-tab="polish"] {
  color:rgba(244,87,33,.48)
}
.order-tab[data-service-tab="breathe"] {
  color:rgba(45,138,120,.48)
}
.order-tab[data-service-tab="impact"] {
  color:rgba(242,180,0,.52)
}
.order-tab.is-active {
  border-color:rgba(17,17,17,.12);
  box-shadow:0 8px 18px rgba(0,0,0,.06)
}
.order-tab:disabled {
  cursor:not-allowed;
  opacity:.38
}
.order-tab.is-active[data-service-tab="refine"] {
  color:#426ab3
}
.order-tab.is-active[data-service-tab="polish"] {
  color:#f45721
}
.order-tab.is-active[data-service-tab="breathe"] {
  color:#2d8a78
}
.order-tab.is-active[data-service-tab="impact"] {
  color:#f2b400
}
.order-grid {
  display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(320px,.9fr);
  gap:clamp(22px,3vw,36px);
  align-items:start
}
.order-main,.order-side {
  display:grid;
  gap:var(--s-4);
  min-width:0;
  width:100%
}
.order-mobile-section-title {
  display:none
}
.order-dropzone {
  position:relative;
  display:flex;
  flex-direction:column;
  width:100%;
  gap:10px;
  justify-content:center;
  align-items:center;
  min-height:320px;
  padding:clamp(36px,4vw,52px) clamp(24px,3vw,36px);
  border:1px dashed rgba(17,17,17,.18);
  border-radius:28px;
  background:linear-gradient(180deg,rgba(255,255,255,.98) 0,rgba(248,248,248,.92) 100%);
  cursor:pointer
}
.order-dropzone input {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:0;
  cursor:pointer
}
.order-dropzone-icon {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:72px;
  height:72px;
  border:1px solid rgba(17,17,17,.12);
  border-radius:999px;
  background:rgba(255,255,255,.9);
  color:rgba(17,17,17,.82)
}
.order-dropzone-icon svg {
  width:30px;
  height:30px
}
.order-dropzone.is-dragover {
  border-color:rgba(17,17,17,.28);
  background:rgba(255,255,255,1)
}
.order-dropzone-title {
  font-size:clamp(24px,3vw,38px);
  line-height:1.12;
  text-align:center
}
.order-dropzone-copy {
  color:var(--muted);
  line-height:1.7;
  text-align:center
}
.order-dropzone-subcopy {
  color:rgba(17,17,17,.36);
  font-size:12px;
  line-height:1.55;
  text-align:center
}
.order-dropzone-feedback {
  min-height:1.4em;
  color:rgba(17,17,17,.58);
  font-size:12px;
  letter-spacing:.04em;
  text-align:center;
  transition:opacity .45s ease,color .45s ease
}
.order-dropzone-feedback:empty {
  display:none
}
.order-dropzone-feedback.is-status {
  color:#b83232;
  font-weight:700;
  animation:orderStatusPulse .9s ease-in-out infinite
}
.order-dropzone-feedback.is-error {
  color:#d64b4b;
  animation:none
}
.order-dropzone-feedback.is-fade {
  opacity:0
}
@keyframes orderStatusPulse {
  0,100% {
    opacity:.42
  }
  50% {
    opacity:1
  }
}
.order-dropzone-formats {
  color:rgba(17,17,17,.34);
  font-size:11px;
  line-height:1.45;
  letter-spacing:.02em;
  text-align:center
}
.order-append-zone {
  position:relative;
  display:grid;
  width:100%;
  gap:6px;
  align-content:center;
  align-items:center;
  justify-items:center;
  min-height:150px;
  padding:22px;
  border:1px dashed rgba(17,17,17,.14);
  border-radius:24px;
  background:linear-gradient(180deg,rgba(255,255,255,.98) 0,rgba(248,248,248,.9) 100%);
  color:#111;
  cursor:pointer;
  font:inherit;
  text-align:center;
  -webkit-appearance:none;
  appearance:none
}
.order-append-zone[hidden] {
  display:none !important
}
.order-append-zone.is-dragover {
  border-color:rgba(17,17,17,.24);
  background:rgba(255,255,255,1)
}
.order-append-zone-title {
  font-size:clamp(18px,2vw,30px);
  line-height:1.1
}
.order-append-zone-copy {
  color:var(--muted);
  line-height:1.45
}
.order-append-zone-feedback {
  min-height:1.2em;
  color:rgba(17,17,17,.58);
  font-size:12px;
  line-height:1.35;
  transition:opacity .45s ease,color .45s ease
}
.order-append-zone-feedback:empty {
  display:none
}
.order-append-zone-feedback.is-error {
  color:#d64b4b
}
.order-append-zone-feedback.is-fade {
  opacity:0
}
.order-files {
  display:grid;
  width:100%;
  gap:12px
}
.order-files-empty {
  color:rgba(17,17,17,.42);
  font-size:14px
}
.order-file {
  position:relative;
  display:grid;
  grid-template-columns:120px minmax(0,1fr);
  gap:14px;
  align-items:start;
  padding:14px;
  border:1px solid rgba(17,17,17,.08);
  border-radius:22px;
  background:#fff
}
.order-file-remove {
  position:absolute;
  top:12px;
  right:12px;
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  padding:0;
  border:1px solid rgba(17,17,17,.12);
  border-radius:999px;
  background:rgba(255,255,255,.96);
  color:rgba(17,17,17,.6);
  font-size:0;
  line-height:0;
  cursor:pointer;
  z-index:1
}
.order-file-remove::before {
  position:absolute;
  top:50%;
  left:50%;
  display:block;
  content:"×";
  transform:translate(-50%,-50%);
  font-family:Arial,Helvetica,sans-serif;
  font-size:18px;
  font-weight:400;
  line-height:1
}
.order-file-remove:hover,.order-file-remove:focus-visible {
  border-color:rgba(17,17,17,.24);
  color:rgba(17,17,17,.82)
}
.order-files>.order-file {
  grid-template-areas:"thumb body" "thumb note"
}
.order-files>.order-file .order-file-thumb {
  grid-area:thumb
}
.order-file-thumb {
  overflow:hidden;
  border-radius:18px;
  aspect-ratio:1/1;
  background-color:#f6f6f3;
  background-image:linear-gradient(45deg,#dadad4 25%,transparent 25%),linear-gradient(-45deg,#dadad4 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#dadad4 75%),linear-gradient(-45deg,transparent 75%,#dadad4 75%);
  background-position:0 0,0 8px,8px -8px,-8px 0;
  background-size:16px 16px
}
.order-file-thumb img {
  width:100%;
  height:100%;
  object-fit:cover;
  cursor:zoom-in
}
.order-files>.order-file .order-file-body {
  grid-area:body
}
.order-file-body {
  display:grid;
  gap:10px;
  align-self:start
}
.order-files>.order-file>.order-field--compact {
  grid-area:note
}
.order-file-progress {
  display:grid;
  gap:6px;
  margin-top:2px
}
.order-file-progress[hidden] {
  display:none
}
.order-file-progress-bar {
  overflow:hidden;
  height:5px;
  border-radius:999px;
  background:rgba(17,17,17,.08)
}
.order-file-progress-bar span {
  display:block;
  width:0;
  height:100%;
  border-radius:inherit;
  background:#111;
  transition:width .2s linear
}
.order-file.is-upload-done .order-file-progress-bar span {
  background:#2f7a4f
}
.order-file.is-upload-error .order-file-progress-bar span {
  background:#c94b4b
}
.order-file-progress-text {
  color:rgba(17,17,17,.46);
  font-size:11px;
  letter-spacing:.04em
}
.order-file.is-upload-error .order-file-progress-text {
  color:#c94b4b
}
.order-file-meta {
  display:flex;
  align-items:baseline;
  justify-content:flex-start;
  gap:8px;
  min-width:0;
  padding-right:36px;
  flex-wrap:wrap
}
.order-file-number {
  flex:0 0 auto;
  font-size:14px;
  line-height:1.4;
  letter-spacing:.06em;
  white-space:nowrap
}
.order-file-name {
  flex:1 1 auto;
  min-width:0;
  color:rgba(17,17,17,.42);
  font-size:12px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis
}
.order-file-size {
  flex:0 0 auto;
  color:rgba(17,17,17,.34);
  font-size:11px;
  letter-spacing:.04em;
  white-space:nowrap
}
.order-service-panel {
  display:none;
  width:100%;
  padding:22px;
  border:1px solid rgba(17,17,17,.08);
  border-radius:24px;
  background:#fff;
  align-content:start
}
.order-service-panel.is-active {
  display:grid;
  gap:16px;
  order:-3
}
.order-service-panel[data-service-panel="breathe"],.order-service-panel[data-service-panel="impact"] {
  padding:0;
  border:0;
  border-radius:0;
  background:transparent
}
.order-service-panel[data-service-panel="breathe"].is-active,.order-service-panel[data-service-panel="impact"].is-active {
  gap:18px
}
.order-service-overview {
  display:grid;
  gap:16px;
  padding:22px;
  border:1px solid rgba(17,17,17,.08);
  border-radius:24px;
  background:#fff
}
.order-case-stack {
  display:grid;
  gap:26px
}
.order-case {
  position:relative;
  display:grid;
  gap:20px;
  padding:0 22px 24px;
  border:1px solid rgba(17,17,17,.12);
  border-radius:26px;
  background:linear-gradient(180deg,rgba(250,250,250,.98) 0,#fff 32%);
  box-shadow:0 18px 44px rgba(0,0,0,.055)
}
.order-case-head {
  display:flex;
  gap:14px;
  align-items:center;
  justify-content:space-between;
  margin:0 -22px;
  padding:18px 22px 16px;
  border-bottom:1px solid rgba(17,17,17,.08);
  border-radius:26px 26px 0 0;
  background:rgba(17,17,17,.035)
}
.order-case-head h3 {
  min-width:0;
  font-size:20px;
  letter-spacing:.08em;
  line-height:1.2
}
.order-case-remove-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:30px;
  height:30px;
  padding:0;
  border:1px solid rgba(17,17,17,.12);
  border-radius:999px;
  background:transparent;
  color:rgba(17,17,17,.5);
  font:inherit;
  font-size:18px;
  line-height:1;
  cursor:pointer
}
.order-case-remove-btn:hover,.order-case-remove-btn:focus-visible {
  border-color:rgba(17,17,17,.24);
  color:rgba(17,17,17,.82)
}
.order-case-remove-btn span,.order-case-reset-btn span {
  display:block;
  line-height:1;
  transform:translateY(-1px)
}
.order-case-reset-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:30px;
  height:30px;
  padding:0;
  border:1px solid rgba(17,17,17,.12);
  border-radius:999px;
  background:transparent;
  color:rgba(17,17,17,.52);
  font:inherit;
  font-size:17px;
  line-height:1;
  cursor:pointer
}
.order-case-reset-btn:hover,.order-case-reset-btn:focus-visible {
  border-color:rgba(17,17,17,.24);
  color:rgba(17,17,17,.82)
}
.order-case-dropzone {
  display:grid;
  gap:8px;
  justify-items:center;
  align-content:center;
  min-height:190px;
  padding:20px 18px;
  border:1px dashed rgba(17,17,17,.14);
  border-radius:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.98) 0,rgba(248,248,248,.92) 100%);
  cursor:pointer
}
.order-case-dropzone.is-dragover {
  border-color:rgba(17,17,17,.24);
  background:rgba(255,255,255,1)
}
.order-case-dropzone-title {
  font-size:clamp(18px,2.4vw,28px);
  line-height:1.15;
  text-align:center
}
.order-case-dropzone-copy {
  color:var(--muted);
  line-height:1.6;
  text-align:center
}
.order-case-dropzone-subcopy {
  color:rgba(17,17,17,.36);
  font-size:12px;
  line-height:1.45;
  text-align:center
}
.order-case-dropzone-formats {
  color:rgba(17,17,17,.34);
  font-size:11px;
  line-height:1.45;
  letter-spacing:.02em;
  text-align:center
}
.order-case-files {
  display:grid;
  gap:12px;
  min-width:0
}
.order-breathe-material-list {
  display:grid;
  gap:10px
}
.order-breathe-material-list>span {
  color:rgba(17,17,17,.46);
  font-size:12px;
  font-weight:800;
  line-height:1.4
}
.order-form--case-service .order-case-files {
  grid-template-columns:repeat(2,minmax(0,1fr))
}
.order-form--case-service .order-file--case {
  grid-template-columns:112px minmax(0,1fr);
  align-items:start;
  min-height:0;
  padding:16px 48px 16px 16px;
  min-width:0
}
.order-form--case-service .order-file--case .order-file-thumb {
  width:112px;
  height:112px
}
.order-form--case-service .order-file--case .order-file-meta {
  display:grid;
  grid-template-columns:1fr;
  gap:6px;
  align-items:start;
  padding-right:0
}
.order-form--case-service .order-file--case .order-file-number {
  grid-column:auto;
  margin-top:5px;
  font-size:16px;
  line-height:1.2
}
.order-form--case-service .order-file--case .order-file-name {
  grid-column:auto;
  width:100%;
  overflow:visible;
  font-size:12px;
  line-height:1.45;
  white-space:normal;
  text-overflow:clip
}
.order-form--case-service .order-file--case .order-file-size {
  grid-column:auto;
  grid-row:auto;
  padding-top:0;
  font-size:11px;
  line-height:1.3
}
.order-form--case-service .order-file--case .order-file-remove {
  position:absolute;
  top:10px;
  right:10px;
  width:32px;
  height:32px
}
.order-file--model-source {
  background:rgba(45,138,120,.055);
  border-color:rgba(45,138,120,.16)
}
.order-file--model-source .order-file-number {
  color:#2d8a78
}
.order-case-fields {
  display:grid;
  gap:14px;
  min-width:0
}
.order-breathe-shot {
  position:relative;
  display:grid;
  gap:14px;
  margin-top:10px;
  padding:28px 0 22px;
  border-top:1px solid rgba(17,17,17,.08)
}
.order-breathe-shot:first-of-type {
  margin-top:0;
  padding-top:2px;
  border-top:0
}
.order-breathe-work-heading {
  display:flex;
  align-items:center;
  min-height:34px
}
.order-breathe-work-heading strong {
  color:#111;
  font-size:18px;
  font-weight:900;
  line-height:1.2
}
.order-breathe-material-picker {
  display:grid;
  gap:10px;
  min-width:0;
  padding:14px;
  border:1px solid rgba(17,17,17,.08);
  border-radius:18px;
  background:rgba(17,17,17,.025)
}
.order-breathe-material-picker-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:rgba(17,17,17,.46);
  font-size:12px;
  font-weight:800;
  line-height:1.4
}
.order-breathe-material-picker-head small {
  color:rgba(45,138,120,.72);
  font:inherit
}
.order-breathe-material-choice-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px
}
.order-breathe-material-choice {
  position:relative;
  display:block;
  overflow:hidden;
  width:100%;
  aspect-ratio:1/1;
  padding:0;
  border:1px solid rgba(17,17,17,.1);
  border-radius:14px;
  background-color:#f6f6f3;
  background-image:linear-gradient(45deg,#dadad4 25%,transparent 25%),linear-gradient(-45deg,#dadad4 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#dadad4 75%),linear-gradient(-45deg,transparent 75%,#dadad4 75%);
  background-position:0 0,0 8px,8px -8px,-8px 0;
  background-size:16px 16px;
  cursor:pointer;
  box-sizing:border-box
}
.order-breathe-material-choice.is-selected {
  border-color:#2f7df6
}
.order-breathe-material-choice.is-selected::after {
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  box-shadow:inset 0 0 0 7px rgba(47,125,246,.68);
  pointer-events:none
}
.order-breathe-material-choice:disabled {
  cursor:not-allowed;
  opacity:.42
}
.order-breathe-material-choice.is-selected:disabled {
  cursor:pointer;
  opacity:1
}
.order-breathe-material-choice--model {
  border-color:rgba(17,17,17,.16);
  cursor:default;
  pointer-events:none
}
.order-breathe-material-choice--model::after {
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  box-shadow:inset 0 0 0 5px rgba(17,17,17,.18);
  pointer-events:none
}
.order-breathe-material-choice--model span {
  position:absolute;
  top:8px;
  left:8px;
  z-index:1;
  padding:4px 8px;
  border-radius:999px;
  background:rgba(255,255,255,.9);
  color:rgba(17,17,17,.72);
  font-size:11px;
  font-weight:800;
  line-height:1
}
.order-breathe-material-choice img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover
}
.order-breathe-material-picker-empty {
  margin:0;
  color:rgba(17,17,17,.42);
  font-size:12px;
  line-height:1.7
}
.order-breathe-material-warning {
  margin:0;
  padding:8px 10px;
  border-radius:10px;
  background:rgba(255,210,70,.18);
  color:rgba(120,78,0,.9);
  font-size:12px;
  font-weight:800;
  line-height:1.5
}
.order-breathe-material-warning a {
  color:inherit;
  text-decoration:underline;
  text-underline-offset:3px
}
.order-assets-picker {
  display:grid;
  gap:12px;
  min-width:0;
  padding:13px 14px;
  border:1px solid rgba(17,17,17,.08);
  border-radius:18px;
  background:rgba(17,17,17,.025)
}
.order-assets-picker summary {
  color:#111;
  font-size:13px;
  font-weight:900;
  line-height:1.4;
  cursor:pointer;
  list-style:none
}
.order-assets-picker summary::-webkit-details-marker {
  display:none
}
.order-breathe-material-choice--omakase,
.order-file-thumb--omakase {
  position:relative;
  display:block;
  overflow:hidden;
  padding:0;
  border:1px solid rgba(17,17,17,.1);
  background:#f6f6f3;
  box-sizing:border-box
}
.order-breathe-material-choice--omakase {
  pointer-events:none
}
.order-breathe-material-choice--omakase>img,
.order-file-thumb--omakase>img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover
}
.order-assets-grid {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  margin-top:12px
}
.order-assets-item {
  display:grid;
  gap:7px;
  min-width:0;
  padding:0;
  border:0;
  background:transparent;
  color:#111;
  font:inherit;
  text-align:left;
  cursor:pointer
}
.order-assets-item span {
  position:relative;
  display:block;
  overflow:hidden;
  width:100%;
  aspect-ratio:1/1;
  border:1px solid rgba(17,17,17,.1);
  border-radius:12px;
  background-color:#f6f6f3;
  background-image:linear-gradient(45deg,#dadad4 25%,transparent 25%),linear-gradient(-45deg,#dadad4 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#dadad4 75%),linear-gradient(-45deg,transparent 75%,#dadad4 75%);
  background-position:0 0,0 8px,8px -8px,-8px 0;
  background-size:16px 16px
}
.order-assets-item img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover
}
.order-assets-item strong {
  overflow:hidden;
  color:rgba(17,17,17,.66);
  font-size:11px;
  font-weight:900;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap
}
.order-assets-item.is-selected span {
  border-color:#2f7df6;
  box-shadow:inset 0 0 0 4px rgba(47,125,246,.52)
}
.order-assets-item:disabled {
  cursor:default
}
.order-assets-picker-empty {
  margin:10px 0 0;
  color:rgba(17,17,17,.46);
  font-size:12px;
  font-weight:800;
  line-height:1.7
}
.order-breathe-model-warning {
  margin:2px 0 0;
  padding:8px 10px;
  border-radius:10px;
  background:rgba(255,210,70,.16);
  color:rgba(120,78,0,.86);
  font-size:12px;
  font-weight:700;
  line-height:1.55
}
@media (max-width:760px) {
  .order-breathe-material-choice-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .order-assets-grid {
    grid-template-columns:repeat(3,minmax(0,1fr))
  }
}
.order-breathe-shot-head {
  display:inline-flex;
  width:fit-content;
  max-width:100%;
  align-items:center;
  gap:10px;
  margin-top:2px;
  margin-bottom:12px
}
.order-breathe-shot-title {
  display:inline-flex;
  width:fit-content;
  max-width:100%;
  align-items:center;
  min-height:32px;
  padding:7px 13px;
  border-radius:999px;
  border:1px solid rgba(17,17,17,.12);
  background:rgba(17,17,17,.045);
  color:rgba(17,17,17,.72);
  font-size:14px;
  font-weight:800;
  line-height:1.2
}
.order-breathe-shot-model {
  display:block;
  width:72px;
  height:72px;
  flex:0 0 auto;
  border:1px solid rgba(17,17,17,.12);
  border-radius:50%;
  background-color:#eee;
  background-position:center;
  background-size:cover;
  box-shadow:0 2px 10px rgba(17,17,17,.1)
}
.order-breathe-ratio {
  display:grid;
  grid-template-columns:minmax(112px,168px) minmax(0,1fr);
  column-gap:12px;
  row-gap:8px;
  align-items:end;
  min-width:0
}
.order-breathe-ratio-visual {
  grid-column:2;
  min-height:52px;
  display:flex;
  align-items:center
}
.order-breathe-ratio-visual[hidden] {
  display:none
}
.order-breathe-ratio-preview {
  display:grid;
  place-items:center;
  width:var(--ratio-preview-width,104px);
  height:var(--ratio-preview-height,74px);
  max-width:112px;
  min-width:42px;
  min-height:34px;
  border:1px dashed rgba(17,17,17,.22);
  border-radius:8px;
  background:rgba(17,17,17,.035);
  color:rgba(17,17,17,.68);
  font-size:12px;
  font-weight:800;
  line-height:1
}
.order-breathe-ratio-custom {
  grid-column:2;
  display:grid;
  gap:8px;
  align-self:end;
  min-width:0
}
.order-breathe-ratio-custom[hidden] {
  display:none
}
.order-breathe-ratio-custom>span {
  color:rgba(17,17,17,.5);
  font-size:12px;
  font-weight:700;
  line-height:1.4
}
.order-breathe-ratio-custom label {
  display:grid;
  grid-template-columns:minmax(48px,84px) auto minmax(48px,84px);
  gap:8px;
  align-items:center;
  width:fit-content;
  max-width:100%
}
.order-breathe-ratio-custom input {
  width:100%;
  min-width:0;
  height:52px;
  min-height:52px;
  box-sizing:border-box;
  padding:15px 14px;
  border:1px solid rgba(17,17,17,.12);
  border-radius:18px;
  background:#fff;
  color:#111;
  font:inherit;
  text-align:center
}
.order-breathe-ratio-custom em {
  color:rgba(17,17,17,.48);
  font-style:normal;
  font-weight:800
}
.order-impact-specs {
  display:grid;
  gap:12px
}
.order-impact-specs[hidden] {
  display:none
}
.order-impact-section {
  display:grid;
  gap:14px;
  min-width:0;
  margin-top:10px;
  padding-top:28px;
  border-top:1px solid rgba(17,17,17,.08)
}
.order-impact-section:first-child {
  margin-top:0;
  padding-top:0;
  border-top:0
}
.order-impact-section-head {
  display:flex;
  align-items:center;
  min-width:0
}
.order-impact-section-head strong {
  color:rgba(17,17,17,.82);
  font-size:15px;
  font-weight:900;
  line-height:1.35
}
.order-impact-field-note {
  display:block;
  margin:-2px 0 2px;
  color:rgba(17,17,17,.5);
  font-size:12px;
  font-weight:700;
  line-height:1.6
}
.order-impact-print-row {
  display:grid;
  grid-template-columns:minmax(0,1fr) 120px;
  gap:12px;
  align-items:end
}
.order-impact-print-orientation select {
  text-align:center
}
.order-impact-pixel-size {
  display:grid;
  gap:8px;
  color:rgba(17,17,17,.58);
  font-size:12px;
  font-weight:700;
  line-height:1.4
}
.order-impact-pixel-size label {
  display:grid;
  grid-template-columns:minmax(74px,120px) auto minmax(74px,120px) auto;
  gap:8px;
  align-items:center;
  width:fit-content;
  max-width:100%
}
.order-impact-pixel-size input {
  width:100%;
  min-width:0;
  height:52px;
  min-height:52px;
  box-sizing:border-box;
  padding:15px 14px;
  border:1px solid rgba(17,17,17,.12);
  border-radius:18px;
  background:#fff;
  color:#111;
  font:inherit;
  text-align:center
}
.order-impact-pixel-size em,.order-impact-pixel-size b {
  color:rgba(17,17,17,.48);
  font-style:normal;
  font-weight:800
}
.order-case .order-file {
  padding:12px
}
.order-case-add {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:76px;
  margin-top:16px;
  padding:20px 18px;
  border:1px dashed rgba(17,17,17,.14);
  border-radius:18px;
  background:rgba(255,255,255,.96);
  color:rgba(17,17,17,.68);
  font:inherit;
  cursor:pointer
}
.order-case-add[hidden] {
  display:none
}
.order-case-add:hover,.order-case-add:focus-visible {
  border-color:rgba(17,17,17,.24);
  color:rgba(17,17,17,.88)
}
.order-service-panel h2 {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  font-size:18px;
  letter-spacing:.14em;
  line-height:1.2
}
.order-service-panel[data-service-panel="breathe"]>h2,.order-service-panel[data-service-panel="impact"]>h2 {
  padding:22px;
  border:1px solid rgba(17,17,17,.08);
  border-radius:24px;
  background:#fff
}
.order-service-name {
  font-family:"Bebas Neue",sans-serif;
  font-size:20px;
  font-weight:400;
  letter-spacing:.06em;
  line-height:1
}
.order-service-name--refine {
  color:#426ab3
}
.order-service-name--polish {
  color:#f45721
}
.order-service-name--breathe {
  color:#2d8a78
}
.order-service-name--impact {
  color:#f2b400
}
.order-service-panel h2 small {
  display:inline-flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px;
  color:rgba(17,17,17,.52);
  font-family:var(--font-sans);
  font-size:13px;
  font-weight:500;
  letter-spacing:.04em;
  line-height:1.2
}
.order-service-badge {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:fit-content;
  padding:4px 9px;
  border:1px solid currentColor;
  border-radius:999px;
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
  line-height:1;
  transform:translateY(-1px)
}
.order-service-badge--refine {
  color:#426ab3
}
.order-service-badge--polish {
  color:#f45721
}
.order-service-badge--breathe {
  color:#2d8a78
}
.order-service-badge--impact {
  color:#f2b400
}
.order-fields,
.order-breathe-model-method {
  display:grid;
  gap:16px
}
.order-model-preferences {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px
}
.order-site-url {
  display:grid;
  gap:8px;
  width:100%;
  padding:22px;
  border:1px solid rgba(17,17,17,.08);
  border-radius:24px;
  background:#fff
}
.order-site-url-slot {
  display:contents
}
.order-form--polish .order-service-panel[data-service-panel="polish"] .order-site-url {
  padding:0;
  border:0;
  border-radius:0;
  background:transparent
}
.order-site-url-note {
  color:rgba(17,17,17,.48);
  font-size:12px;
  line-height:1.6
}
.service-page--order.service-page--order-refine {
  --order-hero-image:url("../images/top_refine.jpg");
  --order-hero-band:rgba(66,106,179,.9);
  --order-hero-accent:#426ab3;
  --order-hero-image-scale:1.03
}
.service-page--order.service-page--order-polish {
  --order-hero-image:url("../images/top_polish.jpg");
  --order-hero-band:rgba(244,87,33,.9);
  --order-hero-accent:#f45721
}
.service-page--order.service-page--order-breathe {
  --order-hero-image:url("../images/top_breathe.jpg");
  --order-hero-band:rgba(45,138,120,.86);
  --order-hero-accent:#2d8a78
}
.service-page--order.service-page--order-impact {
  --order-hero-image:url("../images/top_impact.jpg");
  --order-hero-band:rgba(242,180,0,.88);
  --order-hero-accent:#f2b400
}
.order-choice-group {
  display:grid;
  gap:10px;
  margin:0;
  padding:0;
  border:0
}
[data-order-auth-hide][hidden] {
  display:none
}
.order-choice-group legend {
  margin-bottom:2px;
  color:rgba(17,17,17,.52);
  font-size:12px;
  letter-spacing:.08em
}
.order-choice-group label {
  display:flex;
  align-items:flex-start;
  gap:10px;
  color:rgba(17,17,17,.72);
  font-size:13px;
  line-height:1.65;
  cursor:pointer
}
.order-choice-group--inline {
  grid-template-columns:repeat(2,max-content);
  column-gap:28px;
  row-gap:8px;
  align-items:center
}
.order-choice-group--inline legend {
  grid-column:1/-1
}
.order-choice-group--no-legend {
  padding-top:2px
}
.order-choice-group label small {
  display:block;
  margin-top:2px;
  color:rgba(17,17,17,.44);
  font-size:11px;
  line-height:1.45
}
.order-choice-group input {
  flex:0 0 auto;
  width:16px;
  height:16px;
  margin-top:.24em;
  accent-color:#111
}
.order-breathe-model-picker {
  display:grid;
  gap:10px;
  align-content:start
}
.order-breathe-model-list {
  display:grid;
  gap:8px;
  width:100%;
  margin:0;
  padding:0
}
.order-breathe-model-list-head {
  color:rgba(17,17,17,.46);
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em
}
.order-breathe-model-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px
}
.order-breathe-model-card {
  display:grid;
  gap:9px;
  width:100%;
  min-width:0;
  padding:8px;
  border:1px solid rgba(17,17,17,.08);
  border-radius:8px;
  background:#fff;
  color:#111;
  font:inherit;
  text-align:left;
  cursor:pointer
}
.order-breathe-model-card.is-selected {
  border-color:rgba(45,138,120,.58);
  box-shadow:0 0 0 2px rgba(45,138,120,.12)
}
.order-breathe-model-card:disabled {
  cursor:default;
  opacity:.54
}
.order-breathe-model-media {
  position:relative;
  display:grid;
  aspect-ratio:4/5;
  overflow:hidden;
  place-items:center;
  border-radius:6px;
  background:#eee;
  color:rgba(17,17,17,.36);
  font-family:"Bebas Neue",sans-serif;
  letter-spacing:.08em
}
.order-breathe-model-image {
  display:block;
  width:100%;
  height:100%;
  background-position:center;
  background-size:cover
}
.order-breathe-model-body {
  display:grid;
  gap:3px
}
.order-breathe-model-title-row {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  gap:8px
}
.order-breathe-model-view {
  justify-self:end
}
.order-breathe-model-body strong,.order-breathe-model-body small {
  overflow-wrap:anywhere
}
.order-breathe-model-body strong {
  font-size:12px;
  line-height:1.35
}
.order-breathe-model-body small {
  color:rgba(17,17,17,.46);
  font-size:10px;
  line-height:1.35
}
.order-scope-notice {
  display:grid;
  gap:6px;
  padding:16px 18px;
  border:1px solid rgba(17,17,17,.08);
  border-radius:18px;
  background:rgba(17,17,17,.025)
}
.order-scope-notice p {
  color:rgba(17,17,17,.68);
  font-size:13px;
  line-height:1.75
}
.order-check-field {
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:0;
  border:1px solid transparent;
  border-radius:14px;
  color:rgba(17,17,17,.72);
  font-size:13px;
  line-height:1.65;
  cursor:pointer;
  transition:border-color .2s ease,background .2s ease,color .2s ease,padding .2s ease
}
.order-check-field input {
  flex:0 0 auto;
  width:16px;
  height:16px;
  margin-top:.24em;
  accent-color:#111
}
.order-check-field.is-error {
  padding:12px 14px;
  border-color:rgba(145,48,70,.28);
  background:#fff2f5;
  color:#8d263e;
  font-weight:700
}
.order-check-field.is-error input {
  accent-color:#8d263e
}
.order-check-error {
  margin:-4px 0 0;
  padding:10px 12px;
  border-radius:12px;
  background:#fff2f5;
  color:#8d263e;
  font-size:12px;
  font-weight:700;
  line-height:1.65
}
.order-switch-field {
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:10px;
  align-items:center;
  padding:12px 14px;
  border:1px solid rgba(17,17,17,.08);
  border-radius:8px;
  background:#fff;
  cursor:pointer
}
.order-switch-field.is-disabled {
  background:rgba(17,17,17,.025);
  cursor:default
}
.order-switch-field.is-disabled .order-switch-ui {
  opacity:.46
}
.order-switch-input {
  position:absolute;
  opacity:0;
  pointer-events:none
}
.order-switch-ui {
  position:relative;
  width:38px;
  height:22px;
  border:1px solid rgba(17,17,17,.18);
  border-radius:999px;
  background:#d9d9d4;
  transition:background .18s ease,border-color .18s ease
}
.order-switch-ui::before {
  content:"";
  position:absolute;
  top:3px;
  left:3px;
  width:14px;
  height:14px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 1px 3px rgba(17,17,17,.22);
  transition:transform .18s ease
}
.order-switch-input:checked + .order-switch-ui,
.order-switch-input:checked ~ .order-switch-copy .order-switch-ui {
  border-color:rgba(45,138,120,.44);
  background:#2d8a78
}
.order-switch-input:checked + .order-switch-ui::before,
.order-switch-input:checked ~ .order-switch-copy .order-switch-ui::before {
  transform:translateX(16px)
}
.order-switch-input:focus-visible + .order-switch-ui,
.order-switch-input:focus-visible ~ .order-switch-copy .order-switch-ui {
  outline:2px solid rgba(45,138,120,.26);
  outline-offset:2px
}
.order-switch-copy {
  display:grid;
  gap:3px
}
.order-switch-title-row {
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:flex-start
}
.order-switch-title-row .order-switch-ui {
  flex:0 0 auto
}
.order-switch-copy strong,.order-switch-copy small {
  display:block
}
.order-switch-copy strong {
  color:rgba(17,17,17,.78);
  font-size:13px
}
.order-switch-copy small {
  color:rgba(17,17,17,.5);
  font-size:12px;
  line-height:1.55
}
.order-breathe-member-note {
  grid-template-columns:minmax(0,1fr)
}
.order-breathe-member-note .order-switch-copy {
  gap:6px
}
.order-breathe-upload-intro {
  display:grid;
  gap:5px;
  margin-top:4px;
  margin-bottom:2px;
  padding-top:8px
}
.order-breathe-upload-intro[hidden] {
  display:none
}
.order-breathe-upload-intro strong {
  color:rgba(17,17,17,.8);
  font-size:14px;
  line-height:1.45
}
.order-breathe-upload-intro span {
  color:rgba(17,17,17,.5);
  font-size:12px;
  line-height:1.65
}
.order-side {
  position:sticky;
  top:88px;
  align-self:start
}
@media (max-width:900px) {
  .order-grid {
    grid-template-columns:1fr
  }
  .order-side {
    position:static
  }
  .order-form:not(.order-form--case-service) .order-field--compact textarea {
    min-height:92px
  }
  .order-impact-print-row {
    grid-template-columns:minmax(0,1fr) 92px
  }
  .order-form--case-service .order-case-files {
    grid-template-columns:1fr
  }
  .order-breathe-model-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
}
.order-summary,.order-contact {
  padding:22px;
  border:1px solid rgba(17,17,17,.08);
  border-radius:24px;
  background:#fff
}
.order-contact {
  display:grid;
  gap:18px
}
.order-contact--account .order-field input[readonly] {
  background:#f7f7f7;
  color:rgba(17,17,17,.68)
}
.order-contact--account .order-choice-group label {
  cursor:default
}
.order-contact--account .order-choice-group input:disabled+span {
  color:rgba(17,17,17,.68)
}
.order-contact-account-note {
  margin:0;
  color:rgba(17,17,17,.5);
  font-size:13px;
  font-weight:700;
  line-height:1.7
}
.order-contact-account-list {
  display:grid;
  gap:9px;
  margin:0;
  padding:14px 0;
  border-top:1px solid rgba(17,17,17,.08);
  border-bottom:1px solid rgba(17,17,17,.08)
}
.order-contact-account-list div {
  display:grid;
  grid-template-columns:minmax(84px,.42fr) minmax(0,1fr);
  gap:12px;
  align-items:start
}
.order-contact-account-list dt {
  color:rgba(17,17,17,.42);
  font-size:12px;
  font-weight:800;
  line-height:1.6
}
.order-contact-account-list dd {
  min-width:0;
  margin:0;
  color:rgba(17,17,17,.76);
  font-size:13px;
  font-weight:800;
  line-height:1.6;
  overflow-wrap:anywhere
}
.order-contact-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px
}
.order-contact-title {
  color:#111;
  font-size:18px;
  font-weight:700;
  line-height:1.35
}
.order-contact-reset {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  padding:0;
  border:1px solid rgba(17,17,17,.12);
  border-radius:999px;
  background:transparent;
  color:rgba(17,17,17,.52);
  font-size:17px;
  line-height:1;
  cursor:pointer
}
.order-contact-reset:hover,.order-contact-reset:focus-visible {
  border-color:rgba(17,17,17,.24);
  color:rgba(17,17,17,.82)
}
.order-inline-account {
  padding-bottom:16px;
  border-bottom:1px solid rgba(17,17,17,.08)
}
.order-inline-account-toggle {
  display:flex;
  align-items:center;
  gap:7px;
  width:100%;
  padding:0;
  border:0;
  background:transparent;
  color:rgba(17,17,17,.5);
  font:inherit;
  font-size:13px;
  line-height:1.6;
  text-align:left;
  cursor:pointer
}
.order-inline-account-toggle strong {
  color:rgba(17,17,17,.7);
  font-weight:500;
  text-decoration:underline;
  text-underline-offset:.25em
}
.order-inline-account-panel {
  display:grid;
  gap:14px;
  padding-top:16px
}
.order-inline-account-panel[hidden] {
  display:none
}
.order-inline-account-register,.order-inline-account-feedback {
  margin:0;
  color:rgba(17,17,17,.48);
  font-size:12px;
  line-height:1.65
}
.order-inline-account-register {
  text-align:center
}
.order-inline-account-form {
  display:grid;
  gap:12px
}
.order-inline-account-actions {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 14px
}
.order-inline-account-actions .btn-primary {
  min-width:112px;
  padding:11px 20px;
  font-size:13px
}
.order-inline-account-actions a {
  color:rgba(17,17,17,.48);
  font-size:11px;
  font-weight:500;
  text-underline-offset:.25em
}
.order-inline-account-register a {
  color:rgba(17,17,17,.72);
  font-weight:700;
  text-underline-offset:.25em
}
.order-inline-account-feedback:empty {
  display:none
}
.order-inline-account-feedback.is-error {
  color:#b0445d
}
.order-price {
  display:flex;
  align-items:baseline;
  gap:10px;
  min-height:clamp(36px,3.8vw,46px);
  margin-bottom:10px
}
.order-price.is-text-only {
  align-items:center
}
.order-price strong {
  display:inline-flex;
  align-items:baseline;
  font-size:clamp(30px,3.8vw,46px);
  line-height:.98
}
.order-price>span {
  color:rgba(17,17,17,.46);
  font-size:12px
}
.order-price-mark {
  margin-right:.16em;
  font-size:.5em;
  font-weight:500;
  letter-spacing:0;
  opacity:1;
  vertical-align:.34em
}
.order-price-amount {
  font-size:1em;
  letter-spacing:0;
  line-height:1
}
.order-price.is-text-only .order-price-mark {
  visibility:hidden
}
.order-price.is-text-only .order-price-amount {
  font-size:.82em;
  letter-spacing:0
}
.order-price-amount.is-animating {
  display:inline-block;
  animation:priceWiggle .24s ease-in-out infinite
}
@keyframes priceWiggle {
  0 {
    transform:translateY(0) scale(1);
    opacity:1
  }
  50% {
    transform:translateY(-1px) scale(1.015);
    opacity:.92
  }
  100% {
    transform:translateY(0) scale(1);
    opacity:1
  }
}
.order-summary-copy {
  color:var(--muted);
  line-height:1.7
}
.order-estimate-breakdown {
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid rgba(17,17,17,.08)
}
.order-estimate-breakdown[hidden] {
  display:none
}
.order-estimate-breakdown-title {
  margin-bottom:8px;
  color:rgba(17,17,17,.34);
  font-size:11px;
  letter-spacing:.18em
}
.order-estimate-breakdown ul {
  display:grid;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none
}
.order-estimate-breakdown li {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:baseline;
  color:rgba(17,17,17,.66);
  font-size:12px;
  line-height:1.55
}
.order-estimate-breakdown li span::before {
  content:"・"
}
.order-estimate-breakdown strong {
  color:#111;
  font-size:12px;
  font-weight:400;
  white-space:nowrap
}
.order-estimate-breakdown-note {
  margin:10px 0 0;
  color:rgba(17,17,17,.5);
  font-size:11px;
  line-height:1.65
}
.order-submit {
  width:100%
}
.order-reset-button {
  width:100%;
  padding:12px 18px;
  border:1px solid rgba(17,17,17,.16);
  border-radius:999px;
  background:transparent;
  color:rgba(17,17,17,.56);
  font:inherit;
  font-size:13px;
  line-height:1;
  cursor:pointer;
  transition:border-color .2s ease,color .2s ease,background .2s ease
}
.order-reset-button:hover,.order-reset-button:focus {
  border-color:rgba(17,17,17,.28);
  background:rgba(17,17,17,.03);
  color:rgba(17,17,17,.78)
}
.order-service-reset {
  display:flex;
  justify-content:flex-end
}
.order-service-reset .order-reset-button {
  width:auto;
  min-width:180px
}
.order-actions {
  display:grid;
  gap:10px
}
.order-submit-notice {
  margin:0;
  color:rgba(17,17,17,.52);
  font-size:11px;
  line-height:1.65
}
.order-confirm-label {
  color:rgba(17,17,17,.34);
  font-size:11px;
  letter-spacing:.18em
}
.order-confirm-list {
  display:grid;
  gap:12px;
  margin:0 0 12px
}
.order-confirm-item {
  display:grid;
  gap:4px;
  padding-bottom:8px;
  border-bottom:1px solid rgba(17,17,17,.06)
}
.order-confirm-item:last-child {
  padding-bottom:0;
  border-bottom:0
}
.order-confirm-item dt {
  color:rgba(17,17,17,.48);
  font-size:11px;
  letter-spacing:.08em
}
.order-confirm-item dd {
  margin:0;
  color:#111;
  line-height:1.65;
  word-break:break-word
}
.order-confirm-item--model {
  align-items:start;
  padding-bottom:12px
}
.order-confirm-item--model dd {
  display:flex
}
.order-confirm-item--breathe-work {
  gap:8px;
  padding:14px 0
}
.order-confirm-item--breathe-work dt {
  color:rgba(17,17,17,.72);
  font-size:13px;
  font-weight:800;
  letter-spacing:.02em
}
.order-confirm-item--email {
  padding:16px;
  border:1px solid #deded8;
  border-radius:16px;
  background:#fbfbf8
}
.order-confirm-item--email:last-child {
  padding-bottom:16px;
  border-bottom:1px solid #deded8
}
.order-confirm-email {
  display:block;
  font-size:clamp(18px,2.2vw,26px);
  line-height:1.35;
  overflow-wrap:anywhere
}
.order-confirm-email-note {
  display:block;
  margin-top:5px;
  color:rgba(17,17,17,.58);
  font-size:12px
}
.order-confirm-email-edit {
  width:fit-content;
  margin-top:10px;
  padding:0;
  border:0;
  background:transparent;
  color:rgba(17,17,17,.78);
  font:inherit;
  font-size:12px;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:.25em;
  cursor:pointer
}
.order-service-line {
  display:inline-flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px
}
.order-confirm-back {
  padding:0;
  border:0;
  background:transparent;
  color:rgba(17,17,17,.52);
  font:inherit;
  font-size:13px;
  letter-spacing:.04em;
  cursor:pointer;
  justify-self:end
}
.order-confirm-back:hover,.order-confirm-back:focus-visible {
  color:rgba(17,17,17,.82)
}
.order-reset-dialog[hidden] {
  display:none
}
.order-reset-dialog {
  position:fixed;
  inset:0;
  z-index:120;
  display:grid;
  place-items:center;
  padding:var(--gutter)
}
.order-reset-backdrop {
  position:absolute;
  inset:0;
  border:0;
  background:rgba(17,17,17,.34);
  cursor:pointer
}
.order-reset-panel {
  position:relative;
  z-index:1;
  width:min(100%,420px);
  padding:clamp(24px,3vw,34px);
  border:1px solid rgba(17,17,17,.08);
  border-radius:24px;
  background:#fff;
  box-shadow:0 24px 60px rgba(0,0,0,.16)
}
.order-reset-panel h2 {
  margin:8px 0 12px;
  font-size:clamp(24px,3vw,32px);
  font-weight:400;
  line-height:1.25
}
.order-reset-panel p:not(.order-summary-label) {
  color:rgba(17,17,17,.68);
  line-height:1.8
}
.order-reset-actions {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:24px
}
.order-reset-dialog[data-dialog-mode="alert"] .order-reset-actions {
  grid-template-columns:1fr
}
.order-reset-actions .btn-primary {
  width:100%;
  padding:13px 20px
}
.order-reset-no {
  padding:13px 20px;
  border:1px solid rgba(17,17,17,.16);
  border-radius:999px;
  background:transparent;
  color:rgba(17,17,17,.64);
  font:inherit;
  font-weight:700;
  line-height:1;
  cursor:pointer
}
.order-confirm-screen {
  width:min(100%,var(--container));
  margin:0 auto;
  padding:0 var(--gutter) var(--s-6)
}
.order-confirm-shell {
  display:grid;
  gap:22px;
  padding:clamp(34px,4vw,46px) clamp(22px,3vw,32px) clamp(22px,3vw,32px);
  border:1px solid rgba(17,17,17,.08);
  border-radius:28px;
  background:linear-gradient(180deg,rgba(255,255,255,.99) 0,rgba(250,250,250,.98) 100%);
  box-shadow:var(--shadow-card)
}
.order-confirm-section--header h2 {
  font-size:clamp(24px,3vw,36px);
  line-height:1.16
}
.order-confirm-block {
  display:grid;
  gap:18px
}
.order-confirm-sections {
  display:grid;
  gap:18px
}
.order-confirm-section {
  display:grid;
  gap:16px;
  width:100%;
  margin:0;
  padding:0
}
.order-confirm-section + .order-confirm-section {
  padding-top:22px;
  border-top:1px solid rgba(17,17,17,.08)
}
.order-confirm-grid .order-confirm-list {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 18px;
  margin:0
}
.order-confirm-grid .order-confirm-item {
  min-width:0
}
.order-confirm-important-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:0
}
.order-confirm-section--payment .order-confirm-important-grid {
  grid-template-columns:minmax(0,1fr);
  width:min(100%,calc((100% - 12px)/2))
}
.order-confirm-production-head {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:14px
}
.order-confirm-production-head strong {
  color:#111;
  font-size:15px;
  line-height:1.45
}
.order-confirm-production-head span {
  color:rgba(17,17,17,.48);
  font-size:12px;
  font-weight:700;
  letter-spacing:.04em
}
.order-confirm-case {
  display:grid;
  gap:16px;
  padding-top:18px;
  border-top:1px solid rgba(17,17,17,.08)
}
.order-confirm-section--production .order-confirm-case:first-child {
  padding-top:0;
  border-top:0
}
.order-confirm-case .order-confirm-list {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 18px
}
.order-confirm-case .order-confirm-item--breathe-work {
  grid-column:1/-1
}
.order-confirm-images {
  display:grid;
  gap:10px
}
.order-payment-choice {
  display:grid;
  gap:12px;
  margin:0;
  padding:0;
  border:0
}
.order-payment-choice legend {
  margin-bottom:10px;
  color:rgba(17,17,17,.42);
  font-size:11px;
  letter-spacing:.14em
}
.order-payment-options {
  display:grid;
  gap:10px
}
.order-payment-option {
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:15px 16px;
  border:1px solid rgba(17,17,17,.1);
  border-radius:16px;
  background:#fff;
  cursor:pointer;
  transition:border-color .2s ease,background .2s ease,box-shadow .2s ease
}
.order-payment-option input {
  position:absolute;
  opacity:0;
  pointer-events:none
}
.order-payment-option span {
  display:grid;
  gap:6px
}
.order-payment-option strong {
  display:flex;
  align-items:baseline;
  gap:6px;
  font-size:14px;
  font-weight:700;
  line-height:1.35
}
.order-payment-option strong small {
  color:rgba(17,17,17,.42);
  font-size:11px;
  font-style:normal;
  font-weight:700;
  letter-spacing:.04em
}
.order-payment-option em {
  color:rgba(17,17,17,.58);
  font-size:12px;
  font-style:normal;
  line-height:1.6
}
.order-payment-option .order-payment-brands {
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  gap:5px;
  margin-top:2px
}
.order-payment-option .order-payment-brand {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto;
  min-width:38px;
  height:23px;
  padding:0 7px;
  border:1px solid rgba(17,17,17,.12);
  border-radius:5px;
  background:#fff;
  color:#111;
  font-size:9px;
  font-style:normal;
  font-weight:800;
  line-height:1;
  letter-spacing:-.02em;
  white-space:nowrap
}
.order-payment-option .order-payment-brand--official {
  min-width:0;
  padding:0;
  border:0;
  background:transparent
}
.order-payment-brand--official img {
  display:block;
  width:auto;
  max-width:100%;
  height:23px;
  object-fit:contain
}
.order-payment-option .order-payment-brand--link {
  border-color:#00d66f;
  background:#00d66f;
  color:#083b2d;
  font-size:10px;
  letter-spacing:-.04em
}
.order-payment-option .order-payment-wallet-note {
  color:rgba(17,17,17,.38);
  font-size:10px;
  font-weight:500;
  line-height:1.5
}
.order-payment-option::after {
  content:"";
  flex:0 0 auto;
  width:10px;
  height:10px;
  margin-left:auto;
  margin-top:5px;
  border:1px solid rgba(17,17,17,.22);
  border-radius:999px;
  background:transparent
}
.order-payment-option:has(input:checked) {
  border-color:rgba(17,17,17,.32);
  background:#fbfbf8;
  box-shadow:inset 0 0 0 1px rgba(17,17,17,.08)
}
.order-payment-option:has(input:checked)::after {
  border-color:#111;
  background:#111
}
.order-payment-choice.is-estimate-only .order-payment-option:not(.order-payment-option--quote) {
  display:none
}
.order-payment-estimate {
  margin:-2px 2px 0;
  padding:0;
  color:rgba(17,17,17,.46);
  font-size:12px;
  font-weight:500;
  line-height:1.65
}
.order-confirm-total {
  display:grid;
  justify-items:end;
  padding-top:18px;
  border-top:1px solid rgba(17,17,17,.08);
  text-align:right
}
.order-confirm-total .order-price {
  margin-bottom:0
}
.order-confirm-image-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px
}
.order-confirm-image-grid--used-materials,.order-confirm-image-grid--breathe-used {
  grid-template-columns:repeat(3,minmax(0,1fr));
  max-width:620px
}
.order-confirm-image-card {
  display:grid;
  gap:7px;
  align-content:start;
  min-width:0
}
.order-confirm-image {
  position:relative;
  display:grid;
  width:100%;
  aspect-ratio:1/1;
  align-self:start;
  padding:0;
  border:0;
  border-radius:18px;
  background-color:#f6f6f3;
  background-image:linear-gradient(45deg,#dadad4 25%,transparent 25%),linear-gradient(-45deg,#dadad4 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#dadad4 75%),linear-gradient(-45deg,transparent 75%,#dadad4 75%);
  background-position:0 0,0 8px,8px -8px,-8px 0;
  background-size:16px 16px;
  cursor:zoom-in;
  overflow:hidden
}
.order-confirm-image img {
  width:100%;
  height:100%;
  min-height:0;
  object-fit:cover
}
.order-confirm-image span {
  position:absolute;
  right:10px;
  bottom:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:28px;
  height:28px;
  padding:0 8px;
  border-radius:999px;
  background:rgba(17,17,17,.76);
  color:#fff;
  font-size:11px
}
.order-file-thumb--omakase {
  aspect-ratio:1/1;
  border-radius:14px
}
.order-confirm-model-thumb {
  display:grid;
  gap:9px;
  width:min(190px,100%);
  min-width:0;
  padding:8px;
  border:1px solid rgba(17,17,17,.08);
  border-radius:8px;
  background:#fff;
  color:#111;
  cursor:zoom-in;
  text-align:left
}
.order-confirm-model-thumb:hover,.order-confirm-model-thumb:focus-visible {
  border-color:rgba(45,138,120,.38)
}
.order-confirm-model-media {
  position:relative;
  display:grid;
  overflow:hidden;
  aspect-ratio:4/5;
  place-items:center;
  border-radius:6px;
  background:#eee
}
.order-confirm-model-image {
  display:block;
  width:100%;
  height:100%;
  background-position:center;
  background-size:cover
}
.order-confirm-model-name {
  min-width:0;
  color:rgba(17,17,17,.78);
  font-size:12px;
  font-weight:700;
  line-height:1.35;
  overflow-wrap:anywhere
}
.order-confirm-image-note {
  display:grid;
  gap:3px;
  margin:0;
  color:rgba(17,17,17,.64);
  font-size:11px;
  line-height:1.55
}
.order-confirm-image-note strong {
  color:rgba(17,17,17,.42);
  font-size:10px;
  font-weight:400;
  letter-spacing:.08em
}
.order-confirm-image-note span {
  overflow-wrap:anywhere
}
.order-confirm-actions {
  display:flex;
  gap:12px;
  justify-content:flex-end;
  align-items:center;
  flex-wrap:wrap
}
.order-confirm-payment-notice {
  display:grid;
  gap:8px;
  padding:clamp(20px,3vw,28px);
  border:1px solid rgba(17,17,17,.16);
  border-radius:20px;
  background:#fff
}
.order-confirm-payment-notice[hidden] {
  display:none
}
.order-confirm-payment-notice strong {
  font-size:clamp(20px,2.7vw,28px);
  line-height:1.35;
  letter-spacing:.02em
}
.order-confirm-payment-notice p {
  margin:0;
  color:rgba(17,17,17,.68);
  font-size:14px;
  line-height:1.8
}
.order-confirm-send {
  min-width:min(100%,320px)
}
.order-policy-consent {
  margin:-2px 0 0;
  color:rgba(17,17,17,.38);
  font-size:11px;
  line-height:1.7;
  text-align:right
}
.order-policy-consent a {
  color:inherit;
  font-weight:inherit;
  text-decoration:none;
  box-shadow:inset 0 -.06em rgba(17,17,17,.22)
}
.order-confirm-screen.is-uploading .order-confirm-actions {
  position:sticky;
  bottom:max(16px,env(safe-area-inset-bottom));
  z-index:3;
  padding:12px;
  border:1px solid rgba(17,17,17,.08);
  border-radius:18px;
  background:rgba(255,255,255,.94);
  box-shadow:0 18px 42px rgba(17,17,17,.12)
}
.order-confirm-screen.is-uploading .order-confirm-back {
  opacity:.46
}
.order-complete-screen {
  width:min(100%,var(--container));
  margin:0 auto;
  padding:0 var(--gutter) var(--s-6)
}
.order-complete-shell {
  display:grid;
  gap:22px;
  padding:clamp(28px,4vw,46px);
  border:1px solid rgba(17,17,17,.08);
  border-radius:28px;
  background:linear-gradient(180deg,rgba(255,255,255,.99) 0,rgba(250,250,250,.98) 100%);
  box-shadow:var(--shadow-card)
}
.order-complete-shell h2 {
  font-size:clamp(30px,4vw,48px);
  line-height:1.14
}
.order-complete-lead {
  color:rgba(17,17,17,.64);
  font-size:14px;
  line-height:1.8
}
.order-complete-number {
  display:grid;
  gap:8px;
  padding:18px 0;
  border-top:1px solid rgba(17,17,17,.08);
  border-bottom:1px solid rgba(17,17,17,.08)
}
.order-complete-number span {
  color:rgba(17,17,17,.42);
  font-size:11px;
  letter-spacing:.18em
}
.order-complete-number strong {
  color:#111;
  font-size:clamp(28px,4.4vw,54px);
  line-height:1;
  letter-spacing:0;
  overflow-wrap:anywhere
}
.order-complete-mail {
  display:grid;
  gap:8px;
  padding:18px;
  border:1px solid rgba(17,17,17,.08);
  border-radius:18px;
  background:#fbfbf8
}
.order-complete-mail span {
  color:rgba(17,17,17,.42);
  font-size:11px;
  letter-spacing:.16em
}
.order-complete-mail strong {
  font-size:clamp(18px,2.4vw,28px);
  line-height:1.35;
  overflow-wrap:anywhere
}
.order-complete-mail p {
  color:rgba(17,17,17,.62);
  font-size:13px;
  line-height:1.75
}
.order-complete-support {
  width:fit-content;
  color:rgba(17,17,17,.78);
  font-size:13px;
  font-weight:700;
  text-decoration:none;
  box-shadow:inset 0 -.08em rgba(17,17,17,.26)
}
.order-complete-view {
  display:grid;
  gap:12px;
  padding:22px;
  border:1px solid rgba(17,17,17,.08);
  border-radius:22px;
  background:rgba(255,255,255,.9)
}
.order-complete-save {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:0;
  padding:0;
  text-align:center
}
.order-complete-save[hidden] {
  display:none
}
.order-complete-save h3 {
  font-size:18px;
  line-height:1.4
}
.order-complete-save p {
  margin:0;
  color:rgba(17,17,17,.62);
  font-size:13px;
  line-height:1.75
}
.order-complete-save-line:not(:last-child)::after {
  content:" "
}
.order-complete-save-arrow {
  margin-left:.3em
}
.order-complete-save-link {
  flex:0 0 auto
}
.order-complete-invoice {
  display:grid;
  gap:14px;
  padding:18px;
  border:1px solid rgba(17,17,17,.08);
  border-radius:22px;
  background:#fafaf7
}
.order-complete-invoice[hidden] {
  display:none
}
.order-complete-invoice-head {
  display:flex;
  justify-content:space-between;
  align-items:start;
  gap:18px
}
.order-complete-invoice h3 {
  font-size:18px;
  line-height:1.4
}
.order-complete-invoice p {
  margin-top:6px;
  color:rgba(17,17,17,.62);
  font-size:13px;
  line-height:1.75
}
.order-complete-invoice iframe {
  width:100%;
  height:min(74vh,820px);
  min-height:560px;
  border:1px solid rgba(17,17,17,.08);
  border-radius:14px;
  background:#fff
}
.order-complete-view h3 {
  font-size:18px;
  line-height:1.4
}
.order-complete-view p {
  color:rgba(17,17,17,.62);
  font-size:13px;
  line-height:1.75
}
.order-complete-view-link {
  width:fit-content;
  min-width:min(100%,260px)
}
.order-complete-url {
  overflow-wrap:anywhere
}
.order-complete-url-row {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:10px
}
.order-complete-url-row[hidden] {
  display:none
}
.order-complete-copy {
  min-height:36px;
  padding:0 14px;
  border:1px solid rgba(17,17,17,.14);
  border-radius:999px;
  background:transparent;
  color:rgba(17,17,17,.66);
  font:inherit;
  font-size:12px;
  font-weight:700;
  cursor:pointer
}
.order-complete-actions {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-end
}
.order-complete-secondary {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 18px;
  border:1px solid rgba(17,17,17,.12);
  border-radius:999px;
  color:rgba(17,17,17,.64);
  font-size:13px;
  font-weight:700;
  text-decoration:none
}
.order-complete-secondary:hover,.order-complete-secondary:focus-visible {
  border-color:rgba(17,17,17,.24);
  color:rgba(17,17,17,.86)
}
@media (max-width:900px) {
  .order-confirm-grid .order-confirm-list,
  .order-confirm-important-grid,
  .order-confirm-case .order-confirm-list,
  .order-confirm-section--payment .order-confirm-important-grid {
    grid-template-columns:1fr;
    width:100%;
    max-width:none
  }
  .order-confirm-production-head {
    display:grid;
    justify-content:start;
    gap:4px
  }
  .order-confirm-image-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .order-confirm-image-grid--used-materials,.order-confirm-image-grid--breathe-used {
    max-width:none
  }
  .order-confirm-actions {
    justify-content:flex-end
  }
  .order-confirm-send {
    width:auto;
    min-width:min(100%,260px)
  }
  .order-complete-actions {
    justify-content:stretch
  }
  .order-complete-invoice-head {
    display:grid
  }
  .order-complete-invoice iframe {
    height:68vh;
    min-height:440px
  }
  .order-complete-save {
    display:grid;
    justify-items:center;
    gap:10px
  }
  .order-complete-save-line {
    display:block
  }
  .order-complete-save-line:not(:last-child)::after {
    content:none
  }
  .order-complete-save-arrow {
    display:none
  }
  .order-complete-secondary,.order-complete-view-link,.order-complete-save-link {
    width:100%
  }
  .order-complete-save .order-complete-save-link {
    width:auto
  }
  .order-complete-url-row {
    grid-template-columns:1fr
  }
  .order-complete-copy {
    width:100%
  }
}
.order-progress {
  display:grid;
  gap:10px;
  margin-top:14px;
  padding:16px;
  border:1px solid rgba(17,17,17,.08);
  border-radius:18px;
  background:#fafaf7
}
.order-progress[hidden] {
  display:none
}
.order-progress-bar {
  overflow:hidden;
  height:10px;
  border-radius:999px;
  background:rgba(17,17,17,.08)
}
.order-progress-bar span {
  display:block;
  width:0;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#111 0,#315fa8 100%);
  transition:width .18s linear
}
.order-progress-text {
  color:rgba(17,17,17,.72);
  font-size:13px;
  font-weight:700;
  letter-spacing:0;
  text-align:center
}
@media (max-width:600px) {
  .service-page--order {
    background:#fff
  }
  .order-page {
    width:100%;
    padding:0 0 calc(var(--s-5) + 12px)
  }
  .order-shell {
    padding:0 var(--gutter) 40px;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none
  }
  .order-form {
    gap:24px
  }
  .order-side {
    gap:18px
  }
  .order-mobile-section-title {
    display:block;
    margin:44px 0 8px;
    padding:0 0 12px;
    border-bottom:1px solid rgba(17,17,17,.12);
    color:#111;
    font-size:22px;
    font-weight:900;
    line-height:1.25;
    letter-spacing:.02em
  }
  .order-contact-title {
    display:none
  }
  .order-contact-head {
    justify-content:flex-end;
    min-height:30px;
    margin-bottom:-2px
  }
  .order-service-panel {
    padding:16px 0 0;
    border:0;
    border-radius:0;
    background:transparent
  }
  .order-service-panel.is-active {
    gap:14px
  }
  .order-service-panel[data-service-panel="breathe"]>h2,.order-service-panel[data-service-panel="impact"]>h2 {
    padding:16px 0 0;
    border:0;
    border-radius:0;
    background:transparent
  }
  .order-case-stack {
    gap:20px
  }
  .order-case {
    gap:18px;
    padding:0 14px 18px;
    border-radius:20px
  }
  .order-case-head {
    margin:0 -14px;
    padding:16px 14px 14px;
    border-radius:20px 20px 0 0
  }
  .order-dropzone {
    min-height:220px;
    padding:26px 18px;
    border-radius:22px
  }
  .order-case-dropzone {
    min-height:156px;
    padding:18px 14px;
    border-radius:18px
  }
  .order-tabs {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .order-file {
    grid-template-columns:96px minmax(0,1fr)
  }
  .order-file-remove {
    top:8px;
    right:8px;
    width:26px;
    height:26px
  }
  .order-file-remove::before {
    font-size:17px
  }
  .order-dropzone-copy {
    display:none
  }
  .order-append-zone {
    min-height:118px;
    padding:16px 18px
  }
  .order-append-zone-copy {
    display:none
  }
  .order-summary,.order-contact {
    padding:18px
  }
  .order-form:not(.order-form--case-service) .order-field--compact {
    grid-area:note;
    width:100%
  }
  .order-form:not(.order-form--case-service) .order-files>.order-file {
    grid-template-areas:"thumb body" "note note"
  }
}
@media (max-width:700px) {
  .order-policy-consent {
    text-align:left
  }
}
