/* Dream Gift Studio route-only styles. Declarations are preserved from globals.css. */

.dream-page .dream-faq > div > details:last-child {
  border-bottom:0;
}

/* The workspace owns the outer corners; its two panes share one straight seam. */
#dream-studio > .dream-consult > .dream-chat-panel,
#dream-studio > .dream-consult > .dream-live-brief {
  border-radius:0;
  box-shadow:none;
  margin:0;
  align-self:stretch;
}
#dream-studio > .dream-consult > .dream-chat-panel {
  border:0;
  border-right:1px solid var(--dream-line);
}
@media (max-width:900px) {
  #dream-studio > .dream-consult > .dream-chat-panel {
    border-right:0;
    border-bottom:1px solid var(--dream-line);
  }
}

.dream-progress li{display:block}
.dream-progress li button{width:100%;padding:3px 0;display:flex;align-items:center;gap:8px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
.dream-progress li button:disabled{cursor:default;opacity:.42}
.dream-chat-quick{min-height:auto;flex-wrap:wrap;overflow:visible}
.dream-chat-quick button{padding:8px 12px;font-size:11px;font-weight:520;line-height:1.2}
.dream-chat-composer textarea{font-size:15px;line-height:1.45}
.dream-chat-composer .voice-input-control,.dream-chat-composer label{font-size:10px}
.dream-refinement>label{font-size:14px}.dream-refinement>p{font-size:10px}
.dream-refinement input{height:46px;font-size:14px}.dream-refinement button{min-height:46px;font-size:12px}
.dream-concept-copy>h2{font-size:clamp(38px,4vw,60px)}
.dream-image-generating{position:absolute;z-index:3;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center;background:rgba(24,20,15,.76);backdrop-filter:blur(9px);color:#fff}
.dream-image-generating .oo-ai-mark{margin-bottom:18px}.dream-image-generating strong{font-size:18px;font-weight:560}
.dream-image-generating>span{display:flex;gap:7px;margin:18px 0 12px}.dream-image-generating>span i{width:7px;height:7px;border-radius:50%;background:#d7ad59;animation:dreamPulse 1s infinite ease-in-out}.dream-image-generating>span i:nth-child(2){animation-delay:.15s}.dream-image-generating>span i:nth-child(3){animation-delay:.3s}
.dream-image-generating small{max-width:420px;color:#e7dece;font-size:11px;line-height:1.5}
.dream-image-error{position:absolute;z-index:4;right:24px;bottom:24px;left:24px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 18px;align-items:center;padding:16px 18px;border:1px solid rgba(255,255,255,.2);border-radius:18px;background:rgba(24,20,15,.9);backdrop-filter:blur(12px);color:#fff;text-align:left}
.dream-image-error strong{font-size:13px;font-weight:600}.dream-image-error small{grid-column:1;max-width:560px;color:#e7dece;font-size:10px;line-height:1.45}
.dream-image-error button{grid-column:2;grid-row:1/3;padding:10px 16px;border:1px solid rgba(255,255,255,.55);border-radius:999px;background:transparent;color:#fff;font:600 10px var(--sans);white-space:nowrap}
.dream-estimate-actions{grid-template-columns:repeat(3,minmax(0,1fr))}
.dream-estimate-actions button{min-width:0}

@media(max-width:600px){
  .dream-progress li button{justify-content:center;font-size:9px}
}

@media(max-width:600px){
  .dream-chat-quick{gap:6px}
}

@media(max-width:600px){.dream-chat-quick button{max-width:100%;white-space:normal;font-size:10px}
}

@media(max-width:600px){
  .dream-chat-composer textarea{font-size:16px}
}

@media(max-width:600px){
  .dream-concept-copy>h2{font-size:38px;line-height:1}
}

@media(max-width:600px){
  .dream-refinement>label{font-size:13px}
}

@media(max-width:600px){.dream-refinement input{font-size:16px}
}

@media(max-width:600px){
  .dream-image-generating strong{font-size:16px}
}

@media(max-width:600px){
  .dream-image-error{right:14px;bottom:14px;left:14px;padding:14px;border-radius:15px}
}

@media(max-width:600px){.dream-image-error strong{font-size:12px}
}

@media(max-width:600px){.dream-image-error small{font-size:9px}
}

@media(max-width:600px){
  .dream-estimate-actions{grid-template-columns:1fr}
}
.dream-page { --dream-line:#d9cfbe; --dream-gold:#a87928; --dream-soft:#eee5d5; background:#f5f1e8; }
.dream-page .experience-hero { min-height:390px; }
.dream-page .experience-hero > div:first-child { padding-top:48px; padding-bottom:48px; }
.dream-page .experience-hero h1 { max-width:650px; }
.dream-page .experience-hero-actions a,
.dream-page .experience-hero > div:first-child > div a { min-height:48px; padding:0 20px; display:inline-flex; align-items:center; gap:18px; border:1px solid rgba(255,255,255,.34); border-radius:999px; color:inherit; font-size:12px; font-weight:650; }
.dream-page .experience-hero > div:first-child > div a:first-child { background:#17140f; border-color:#17140f; color:#fff; }
.dream-progress { position:relative; width:min(1280px,calc(100% - 24px)); margin:20px auto 0; padding:16px 24px; overflow:hidden; border:1px solid var(--dream-line); border-radius:20px; background:rgba(255,255,255,.5); }
.dream-progress > span { position:absolute; left:0; bottom:0; height:2px; background:var(--dream-gold); transition:width .35s ease; }
.dream-progress ol { margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); list-style:none; }
.dream-progress li { display:flex; align-items:center; gap:8px; color:#918779; font-size:10px; font-weight:650; }
.dream-progress li i { font-style:normal; font-size:8px; letter-spacing:.08em; }
.dream-progress li.active { color:#6f511f; }
.dream-workspace { width:min(1280px,calc(100% - 24px)); margin:12px auto 0; overflow:hidden; border:1px solid var(--dream-line); border-radius:30px; background:#fbf8f2; }
.dream-workspace.stage-brief { display:grid; grid-template-columns:1.45fr .8fr; }
.dream-brief { padding:clamp(30px,4vw,54px); border-right:1px solid var(--dream-line); }
.dream-brief header { max-width:700px; }
.dream-brief h2,.dream-direction h2,.dream-complete h2 { margin:12px 0 12px; font:500 clamp(35px,4vw,55px)/.98 var(--hero); letter-spacing:-.055em; }
.dream-brief header p,.dream-direction > div > p { max-width:680px; margin:0; color:#70685d; font-size:13px; line-height:1.65; }
.dream-idea-field { margin-top:28px; display:grid; gap:8px; color:#39342e; font-size:12px; font-weight:650; }
.dream-idea-field textarea { min-height:148px; padding:17px; resize:vertical; border:1px solid #d6cbb9; border-radius:16px; background:#fff; color:#211e19; font:400 15px/1.55 var(--sans); outline-color:#ac8033; }
.dream-input-tools { margin:10px 0 0; display:flex; flex-wrap:wrap; gap:8px; }
.dream-input-tools .voice-input-control,.dream-input-tools > label { min-height:42px; padding:0 14px; display:inline-flex; align-items:center; gap:9px; border:1px solid #d4c8b5; border-radius:999px; background:#fffaf2; color:#3d352b; font-size:10px; font-weight:650; cursor:pointer; }
.dream-input-tools > label input { display:none; }
.dream-input-tools small { color:#8b8174; font-size:8px; font-weight:500; }
.dream-reference-strip { margin-top:12px; display:flex; gap:8px; overflow-x:auto; scrollbar-width:none; }
.dream-reference-strip figure { min-width:72px; width:72px; margin:0; }
.dream-reference-strip img { width:72px; height:62px; object-fit:cover; border-radius:12px; }
.dream-reference-strip figcaption { margin-top:4px; overflow:hidden; color:#7a7165; font-size:7px; text-overflow:ellipsis; white-space:nowrap; }
.dream-form-grid { margin-top:22px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.dream-form-grid label { min-width:0; display:grid; gap:7px; color:#4b453d; font-size:10px; font-weight:650; }
.dream-form-grid input,.dream-form-grid select { width:100%; min-height:46px; padding:0 12px; border:1px solid #d7cdbc; border-radius:12px; background:#fff; color:#28231d; font:500 12px var(--sans); outline-color:#ad8439; }
.dream-date-field { grid-column:span 1; }
.dream-date-field .angroos-date-picker { width:100%; }
.dream-date-field .angroos-date-trigger { min-height:46px; border-radius:12px; }
.dream-primary { margin-top:22px; min-width:260px; }
.dream-brief-aside { padding:clamp(30px,3vw,46px); display:flex; flex-direction:column; justify-content:center; background:linear-gradient(145deg,#efe5d1,#e8dcc7); }
.dream-brief-aside .oo-ai-mark { margin-bottom:28px; }
.dream-brief-aside h2 { margin:14px 0 15px; font:500 clamp(28px,3vw,40px)/1.05 var(--hero); letter-spacing:-.045em; }
.dream-brief-aside > p { color:#6c6357; font-size:12px; line-height:1.6; }
.dream-brief-aside > div { margin:24px 0; border-top:1px solid rgba(122,95,48,.22); }
.dream-brief-aside > div > span { min-height:74px; padding:14px 0; display:grid; grid-template-columns:30px 1fr; align-content:center; gap:2px 10px; border-bottom:1px solid rgba(122,95,48,.22); }
.dream-brief-aside > div i { grid-row:span 2; color:#9a7029; font-size:9px; font-style:normal; }
.dream-brief-aside > div strong { font-size:12px; font-weight:650; }
.dream-brief-aside > div small { color:#776e61; font-size:9px; }
.dream-disclaimer { color:#786f62; font-size:8px; line-height:1.55; }
.dream-direction { min-height:520px; display:grid; grid-template-columns:1.18fr .82fr; }
.dream-direction > div { padding:clamp(36px,5vw,68px); display:flex; flex-direction:column; justify-content:center; }
.dream-direction blockquote { margin:30px 0 18px; padding:18px 22px; border-left:2px solid var(--dream-gold); color:#4d4439; font:400 clamp(20px,2.4vw,31px)/1.3 var(--serif); }
.dream-direction-tags { display:flex; flex-wrap:wrap; gap:7px; }
.dream-direction-tags span { padding:8px 11px; border:1px solid #d7cbb8; border-radius:999px; color:#645a4d; font-size:9px; }
.dream-direction-actions { margin-top:30px; display:flex; gap:9px; }
.dream-direction > aside { padding:clamp(32px,4vw,56px); display:flex; flex-direction:column; justify-content:center; background:#201b16; color:#fff9ee; }
.dream-direction > aside > div { padding:18px 0; display:grid; grid-template-columns:34px 1fr; border-bottom:1px solid rgba(255,255,255,.14); }
.dream-direction > aside b { color:#d4ad62; font-size:9px; }
.dream-direction > aside span { display:grid; gap:5px; }
.dream-direction > aside strong { font-size:13px; }
.dream-direction > aside small,.dream-direction > aside p { color:#bcb1a3; font-size:9px; line-height:1.55; }
.dream-direction > aside p { margin-top:25px; }
.dream-build { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(320px,.72fr); align-items:start; }
.dream-build-main { min-width:0; padding:clamp(28px,3.5vw,48px); border-right:1px solid var(--dream-line); }
.dream-build-main > header { margin-bottom:34px; }
.dream-build-main > header h2 { margin:10px 0 8px; font:500 clamp(34px,4vw,50px)/1 var(--hero); letter-spacing:-.05em; }
.dream-build-main > header p { margin:0; color:#736b5f; font-size:11px; }
.dream-build-section { margin-top:36px; }
.dream-section-title { margin-bottom:14px; display:flex; align-items:center; gap:12px; }
.dream-section-title > span { width:34px; height:34px; display:grid; place-items:center; border:1px solid #c9aa72; border-radius:50%; color:#8a6222; font-size:9px; }
.dream-section-title h3 { margin:0; font-size:21px; font-weight:570; letter-spacing:-.025em; }
.dream-section-title small { color:#81786c; font-size:9px; }
.dream-item-list { display:grid; gap:8px; }
.dream-item-list article { min-height:126px; padding:12px; display:grid; grid-template-columns:104px minmax(0,1fr) 116px; align-items:center; gap:15px; border:1px solid #dbd0be; border-radius:20px; background:#fffdf9; }
.dream-item-list img { width:104px; height:100px; object-fit:cover; border-radius:14px; background:#eee8de; }
.dream-item-list article > div:nth-child(2) { min-width:0; display:grid; gap:5px; }
.dream-item-list em { width:max-content; color:#9c6a42; font-size:7px; font-style:normal; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.dream-item-list em.catalogue { color:#4f7a58; }
.dream-item-list em.adapted { color:#a2772c; }
.dream-item-list strong { overflow:hidden; font-size:15px; font-weight:630; text-overflow:ellipsis; white-space:nowrap; }
.dream-item-list p { margin:0; overflow:hidden; color:#756c60; font-size:9px; line-height:1.45; text-overflow:ellipsis; white-space:nowrap; }
.dream-item-list b { font-size:12px; }
.dream-item-controls { display:grid; justify-items:end; gap:5px; }
.dream-item-controls > span { display:grid; grid-template-columns:32px 34px 32px; border:1px solid #d2c5b1; border-radius:999px; }
.dream-item-controls > span button { min-height:32px; border:0; background:transparent; }
.dream-item-controls > span i { display:grid; place-items:center; font-size:10px; font-style:normal; }
.dream-item-controls > button { padding:2px 0; border:0; background:transparent; color:#8b6424; font-size:9px; }
.dream-choice-rail { display:flex; gap:9px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
.dream-choice-rail > button { position:relative; flex:0 0 174px; min-width:0; padding:9px; display:grid; gap:6px; scroll-snap-align:start; border:1px solid #d8cdbb; border-radius:18px; background:#fffdf9; text-align:left; }
.dream-choice-rail > button.selected { border-color:#a87827; box-shadow:inset 0 0 0 1px #a87827; background:#f8efd9; }
.dream-box-rail img { width:100%; aspect-ratio:1; object-fit:cover; border-radius:12px; }
.dream-choice-rail strong { font-size:11px; font-weight:610; }
.dream-choice-rail small { min-height:26px; color:#807568; font-size:8px; line-height:1.4; }
.dream-choice-rail b { color:#8e6423; font-size:10px; }
.dream-choice-rail > button > i { position:absolute; top:16px; right:16px; width:26px; height:26px; display:grid; place-items:center; border-radius:50%; background:#211c16; color:#fff; font-style:normal; }
.dream-card-rail > button { flex-basis:134px; }
.dream-card-rail > button > span { aspect-ratio:4/5; display:grid; place-items:center; border-radius:12px; background:linear-gradient(145deg,#ead59d,#f7ecd0); color:#8e6423; font:500 24px var(--serif); }
.dream-card-rail > button:nth-child(3n+2) > span { background:#dde2d7; }
.dream-card-rail > button:nth-child(3n) > span { background:#e9e2da; }
.dream-finishing > div:nth-child(2) { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.dream-finishing > div:nth-child(2) > button { min-height:78px; padding:12px; display:grid; grid-template-columns:34px 1fr 22px; align-items:center; gap:9px; border:1px solid #d8cdbb; border-radius:16px; background:#fffdf9; text-align:left; }
.dream-finishing > div:nth-child(2) > button.selected { border-color:#a87827; background:#f7edd2; }
.dream-finishing button > i { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; background:#201b16; color:#d5ad5f; font-style:normal; }
.dream-finishing button > span { display:grid; gap:4px; }
.dream-finishing button strong { font-size:10px; }
.dream-finishing button small { color:#7a7165; font-size:8px; }
.dream-finishing button > b { color:#9d722b; }
.dream-finishing > label { margin-top:10px; display:grid; gap:7px; color:#514a41; font-size:10px; font-weight:650; }
.dream-finishing textarea { min-height:94px; padding:13px; border:1px solid #d8cdbb; border-radius:14px; background:#fff; color:#211e19; font:400 12px/1.5 var(--sans); resize:vertical; }
.dream-estimate { position:sticky; top:118px; min-height:620px; padding:clamp(28px,3vw,42px); background:linear-gradient(155deg,#efe5d3,#e7dbc4); }
.dream-estimate h3 { margin:12px 0 7px; font:500 30px/1.04 var(--serif); }
.dream-estimate > p { margin:0 0 23px; color:#756a5b; font-size:9px; }
.dream-estimate dl { margin:0; border-top:1px solid rgba(118,87,35,.22); }
.dream-estimate dl > div { min-height:46px; display:flex; align-items:center; justify-content:space-between; gap:14px; border-bottom:1px solid rgba(118,87,35,.22); }
.dream-estimate dt { color:#6d6255; font-size:9px; }
.dream-estimate dd { margin:0; font-size:10px; font-weight:650; }
.dream-unit-total,.dream-order-total,.dream-saving,.dream-timeline { margin-top:13px; padding:14px; display:grid; grid-template-columns:1fr auto; align-items:center; gap:5px; border-radius:14px; background:rgba(255,255,255,.48); }
.dream-unit-total span,.dream-order-total span,.dream-saving span,.dream-timeline span { font-size:8px; }
.dream-unit-total strong { font-size:19px; }
.dream-order-total strong { font-size:24px; }
.dream-order-total small { grid-column:1/-1; color:#776c5d; font-size:7px; }
.dream-saving { background:#dfe7d6; color:#4f6545; }
.dream-saving strong,.dream-timeline strong { font-size:9px; }
.dream-estimate > .button { width:100%; margin-top:16px; }
.dream-estimate-actions { margin-top:8px; display:grid; grid-template-columns:1fr 1fr; gap:7px; }
.dream-estimate-actions button,.dream-estimate-actions a { min-height:38px; padding:8px; display:grid; place-items:center; border:1px solid #c7b694; border-radius:999px; background:transparent; color:#5d4c31; font-size:8px; font-weight:650; }
.dream-estimate-actions a { grid-column:1/-1; }
.dream-estimate > .text-link { width:max-content; margin:15px auto 0; display:block; border:0; border-bottom:1px solid; background:transparent; color:#74634a; font-size:8px; }
.dream-complete { min-height:520px; padding:50px; display:grid; place-content:center; justify-items:center; text-align:center; background:radial-gradient(circle at 50% 20%,#f7e8bf,#eee3d0 66%,#e3d6c0); }
.dream-complete > span { width:56px; height:56px; margin-bottom:24px; display:grid; place-items:center; border-radius:50%; background:#1d1914; color:#d6ae62; font-size:22px; }
.dream-complete p { max-width:650px; color:#6f6659; font-size:13px; line-height:1.65; }
.dream-complete > div { margin-top:20px; display:flex; justify-content:center; gap:8px; }
.dream-seo,.dream-faq { width:min(1280px,calc(100% - 24px)); margin:76px auto 0; }
.dream-seo { padding:0 8px 72px; display:grid; grid-template-columns:.75fr 1.25fr; gap:70px; border-bottom:1px solid #d7cdbc; }
.dream-seo h2,.dream-faq h2 { margin:15px 0 0; font:400 clamp(39px,5vw,65px)/.98 var(--hero); letter-spacing:-.055em; }
.dream-seo > div:last-child > p { margin:0 0 17px; color:#696157; font-size:13px; line-height:1.75; }
.dream-seo-links { margin-top:30px; display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.dream-seo-links a { min-height:104px; padding:16px; display:grid; grid-template-columns:1fr auto; align-content:center; border:1px solid #d7cdbc; border-radius:17px; background:rgba(255,255,255,.4); }
.dream-seo-links a small { grid-column:1/-1; margin-bottom:6px; color:#8c7d68; font-size:8px; }
.dream-seo-links a strong { font-size:12px; }
.dream-faq { padding-bottom:15px; display:grid; grid-template-columns:.65fr 1.35fr; gap:68px; }
.dream-faq header { align-self:start; position:sticky; top:120px; }
.dream-faq details { border-top:1px solid #d7cdbc; }
.dream-faq details:last-child { border-bottom:1px solid #d7cdbc; }
.dream-faq summary { min-height:68px; display:flex; align-items:center; justify-content:space-between; gap:18px; cursor:pointer; list-style:none; font-size:12px; font-weight:650; }
.dream-faq summary::-webkit-details-marker { display:none; }
.dream-faq summary span { color:#a2762b; font-size:18px; font-weight:400; transition:transform .2s; }
.dream-faq details[open] summary span { transform:rotate(45deg); }
.dream-faq details p { max-width:720px; margin:0 40px 22px 0; color:#6d655b; font-size:11px; line-height:1.65; }

@media (max-width:900px) {
  .dream-workspace.stage-brief,.dream-direction,.dream-build,.dream-seo,.dream-faq { grid-template-columns:1fr; }
}

@media (max-width:900px) {
  .dream-brief { border-right:0; border-bottom:1px solid var(--dream-line); }
}

@media (max-width:900px) {
  .dream-brief-aside { min-height:400px; }
}

@media (max-width:900px) {
  .dream-direction > aside { min-height:400px; }
}

@media (max-width:900px) {
  .dream-build-main { border-right:0; border-bottom:1px solid var(--dream-line); }
}

@media (max-width:900px) {
  .dream-estimate { position:static; min-height:0; }
}

@media (max-width:900px) {
  .dream-seo,.dream-faq { gap:30px; }
}

@media (max-width:900px) {
  .dream-faq header { position:static; }
}

@media (max-width:600px) {
  .dream-page.concept-page {
    padding-bottom:0;
  }
  .dream-page .dream-faq {
    margin-bottom:12px;
  }
  .dream-page .experience-hero { min-height:0; }
}

@media (max-width:600px) {
  .dream-progress,.dream-workspace,.dream-seo,.dream-faq { width:calc(100% - 12px); }
}

@media (max-width:600px) {
  .dream-progress { padding:13px 10px; border-radius:16px; }
}

@media (max-width:600px) {
  .dream-progress ol { gap:4px; }
}

@media (max-width:600px) {
  .dream-progress li { justify-content:center; font-size:8px; }
}

@media (max-width:600px) {
  .dream-progress li i { display:none; }
}

@media (max-width:600px) {
  .dream-workspace { border-radius:22px; }
}

@media (max-width:600px) {
  .dream-brief,.dream-brief-aside,.dream-direction > div,.dream-direction > aside,.dream-build-main,.dream-estimate { padding:26px 17px; }
}

@media (max-width:600px) {
  .dream-brief h2,.dream-direction h2,.dream-complete h2 { font-size:34px; }
}

@media (max-width:600px) {
  .dream-form-grid { grid-template-columns:1fr 1fr; gap:9px; }
}

@media (max-width:600px) {
  .dream-form-grid label { font-size:9px; }
}

@media (max-width:600px) {
  .dream-date-field { grid-column:1/-1; }
}

@media (max-width:600px) {
  .dream-input-tools { display:grid; grid-template-columns:1fr 1fr; }
}

@media (max-width:600px) {
  .dream-input-tools .voice-input-control,.dream-input-tools > label { width:100%; justify-content:center; padding:0 9px; }
}

@media (max-width:600px) {
  .dream-primary { width:100%; min-width:0; }
}

@media (max-width:600px) {
  .dream-direction-actions,.dream-complete > div { align-items:stretch; flex-direction:column; }
}

@media (max-width:600px) {
  .dream-direction-actions .button,.dream-complete .button { width:100%; }
}

@media (max-width:600px) {
  .dream-build-main > header h2 { font-size:34px; }
}

@media (max-width:600px) {
  .dream-item-list article { min-height:0; padding:10px; grid-template-columns:72px minmax(0,1fr); gap:10px; border-radius:16px; }
}

@media (max-width:600px) {
  .dream-item-list img { width:72px; height:72px; }
}

@media (max-width:600px) {
  .dream-item-list strong { font-size:12px; }
}

@media (max-width:600px) {
  .dream-item-list p { white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
}

@media (max-width:600px) {
  .dream-item-controls { grid-column:2; display:flex; align-items:center; justify-content:space-between; }
}

@media (max-width:600px) {
  .dream-choice-rail > button { flex-basis:148px; }
}

@media (max-width:600px) {
  .dream-card-rail > button { flex-basis:112px; }
}

@media (max-width:600px) {
  .dream-finishing > div:nth-child(2) { grid-template-columns:1fr; }
}

@media (max-width:600px) {
  .dream-section-title { align-items:flex-start; }
}

@media (max-width:600px) {
  .dream-section-title h3 { font-size:18px; }
}

@media (max-width:600px) {
  .dream-estimate h3 { font-size:27px; }
}

@media (max-width:600px) {
  .dream-complete { min-height:470px; padding:35px 20px; }
}

@media (max-width:600px) {
  .dream-seo { margin-top:54px; padding:0 8px 48px; }
}

@media (max-width:600px) {
  .dream-seo h2,.dream-faq h2 { font-size:38px; }
}

@media (max-width:600px) {
  .dream-seo > div:last-child > p { font-size:11px; }
}

@media (max-width:600px) {
  .dream-seo-links { grid-template-columns:1fr; }
}

@media (max-width:600px) {
  .dream-faq { margin-top:50px; }
}

@media (max-width:600px) {
  .dream-faq summary { font-size:11px; }
}
.dream-workspace.stage-brief{display:block}
.dream-consult{display:grid;grid-template-columns:minmax(0,.96fr) minmax(360px,1.04fr);min-height:650px}
.dream-chat-panel{min-width:0;padding:clamp(28px,3.4vw,50px);border-right:1px solid var(--dream-line);background:#fbf8f2}
.dream-chat-panel>header{display:flex;align-items:flex-start;gap:16px}
.dream-chat-panel>header .oo-ai-mark{flex:0 0 auto}
.dream-chat-panel>header h2{margin:7px 0 7px;font:500 clamp(31px,3.3vw,46px)/1 var(--hero);letter-spacing:-.05em}
.dream-chat-panel>header p{max-width:540px;margin:0;color:#756c60;font-size:11px;line-height:1.55}
.dream-chat-stream{height:300px;margin:25px 0 12px;padding:18px;display:flex;flex-direction:column;gap:11px;overflow:auto;border:1px solid #ded4c4;border-radius:22px;background:rgba(255,255,255,.68);scrollbar-width:thin}
.dream-bubble{width:min(82%,520px);padding:12px 15px;border-radius:16px;background:#eee5d5;color:#2a251f}
.dream-bubble.customer{align-self:flex-end;background:#211c16;color:#fffaf0}
.dream-bubble small{display:block;margin-bottom:4px;color:#9a7029;font-size:7px;font-weight:750;letter-spacing:.12em;text-transform:uppercase}
.dream-bubble.customer small{color:#d7b775}
.dream-bubble p{margin:0;font-size:11px;line-height:1.55}
.dream-chat-quick{min-height:30px;display:flex;gap:7px;overflow-x:auto;scrollbar-width:none}
.dream-chat-quick button{flex:0 0 auto;padding:6px 10px;border:1px solid #d8cdbb;border-radius:999px;background:#fffaf2;color:#665c4f;font-family:var(--font-geist),Arial,sans-serif;font-size:12px;font-weight:600;line-height:1.2}
.dream-chat-composer{margin-top:9px;padding:12px;border:1px solid #d4c7b4;border-radius:20px;background:#fff}
.dream-chat-composer textarea{width:100%;min-height:52px;padding:3px;border:0;resize:none;outline:0;background:transparent;color:#201c17;font-family:var(--font-geist),Arial,sans-serif;font-size:14px;font-weight:450;line-height:1.45}
.dream-chat-composer>div{display:flex;align-items:center;gap:7px}
.dream-chat-composer .voice-input-control,.dream-chat-composer label{min-height:32px;padding:0 10px;display:inline-flex;align-items:center;gap:7px;border:1px solid #ded3c2;border-radius:999px;background:#fbf7ef;color:#5d5346;font-family:var(--font-geist),Arial,sans-serif;font-size:12px;font-weight:600;line-height:1.2;cursor:pointer}
.dream-chat-composer label input{display:none}
.dream-chat-composer>div>button:last-child{width:36px;height:36px;margin-left:auto;display:grid;place-items:center;border:0;border-radius:50%;background:#1e1a15;color:#fff}
.dream-chat-composer>div>button:last-child:disabled{opacity:.35}
.dream-generate-button{width:100%;margin-top:10px;justify-content:center}
.dream-live-brief{min-width:0;padding:clamp(34px,4vw,58px);display:flex;flex-direction:column;background:linear-gradient(145deg,#efe4cf 0%,#f5ecdc 55%,#e5d6bd 100%)}
.dream-canvas-mark{display:flex;align-items:center;gap:10px;color:#80602a;font-size:8px;font-weight:720;letter-spacing:.12em;text-transform:uppercase}
.dream-live-brief>.eyebrow{margin-top:auto}
.dream-live-brief>h2{max-width:610px;margin:12px 0 12px;font:500 clamp(36px,4.6vw,62px)/.96 var(--hero);letter-spacing:-.06em}
.dream-live-brief>p{max-width:600px;margin:0 0 24px;color:#665d51;font:400 13px/1.65 var(--sans)}
.dream-live-brief dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;border-top:1px solid rgba(126,92,38,.23)}
.dream-live-brief dl>div{min-height:72px;padding:14px 0;border-bottom:1px solid rgba(126,92,38,.23)}
.dream-live-brief dl>div:nth-child(odd){padding-right:16px;border-right:1px solid rgba(126,92,38,.23)}
.dream-live-brief dl>div:nth-child(even){padding-left:16px}
.dream-live-brief dt{color:#897b68;font-size:7px;text-transform:uppercase;letter-spacing:.1em}
.dream-live-brief dd{margin:6px 0 0;color:#2b251e;font-size:11px;font-weight:650}
.dream-canvas-reference{width:100%;height:150px;margin-top:18px;object-fit:cover;border-radius:18px}
.dream-live-brief>small{margin-top:auto;padding-top:22px;color:#756a5b;font-size:7px;line-height:1.5}
.dream-canvas-empty{margin:auto 0;text-align:center}
.dream-canvas-empty>span{width:60px;height:60px;margin:0 auto 22px;display:grid;place-items:center;border:1px solid rgba(128,90,28,.32);border-radius:50%;color:#a5792c;font-size:20px}
.dream-canvas-empty h2{margin:0 0 10px;font:500 clamp(34px,4vw,54px)/1 var(--hero);letter-spacing:-.055em}
.dream-canvas-empty p{max-width:470px;margin:auto;color:#716657;font-size:11px;line-height:1.6}
.dream-generation{min-height:650px;padding:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(circle at 50% 45%,#f4e2b9,#eee4d3 46%,#f9f6ef 75%)}
.dream-generation .oo-ai-mark{margin-bottom:25px}
.dream-generation h2{max-width:720px;margin:12px 0;font:500 clamp(38px,5vw,68px)/.96 var(--hero);letter-spacing:-.06em}
.dream-generation p{max-width:620px;margin:0;color:#6f6559;font-size:12px;line-height:1.6}
.dream-generation>div{margin-top:30px;display:flex;gap:8px}
.dream-generation>div i{width:7px;height:7px;border-radius:50%;background:#b38534;animation:dreamPulse 1s infinite ease-in-out}
.dream-generation>div i:nth-child(2){animation-delay:.15s}.dream-generation>div i:nth-child(3){animation-delay:.3s}
.dream-concept-result{min-height:650px;display:grid;grid-template-columns:minmax(380px,.9fr) minmax(0,1.1fr);background:#faf7f1}
.dream-concept-result.is-revising{opacity:.64;pointer-events:none}
.dream-concept-visual{position:relative;min-height:650px;overflow:hidden;background:#211c16}
.dream-concept-visual>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;opacity:.88}
.dream-concept-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,12,9,.05),rgba(15,12,9,.7))}
.dream-concept-badge{position:absolute;z-index:1;top:24px;left:24px;padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.9);color:#3e3428;font-size:8px;font-weight:750;letter-spacing:.07em;text-transform:uppercase}
.dream-concept-download{position:absolute;z-index:3;top:24px;right:24px;min-height:38px;padding:0 14px;display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.55);border-radius:999px;background:rgba(28,24,19,.78);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;font-family:var(--font-geist),Arial,sans-serif;font-size:9px;font-weight:650;cursor:pointer;transition:background .2s ease,transform .2s ease}
.dream-concept-download:hover{background:rgba(28,24,19,.94);transform:translateY(-1px)}
.dream-concept-download span{font-size:15px;line-height:1}
.dream-concept-visual>small{position:absolute;z-index:1;right:28px;bottom:26px;left:28px;color:#f2eadc;font-size:8px;line-height:1.5}
.dream-concept-copy{padding:clamp(34px,4.5vw,64px)}
.dream-concept-copy>h2{max-width:700px;margin:13px 0 12px;font:500 clamp(40px,5.4vw,70px)/.94 var(--hero);letter-spacing:-.065em}
.dream-concept-copy>p{max-width:680px;margin:0;color:#70675c;font-size:12px;line-height:1.65}
.dream-concept-metrics{margin-top:25px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--dream-line);border-left:1px solid var(--dream-line)}
.dream-concept-metrics>span{min-height:78px;padding:13px;display:flex;flex-direction:column;justify-content:center;border-right:1px solid var(--dream-line);border-bottom:1px solid var(--dream-line)}
.dream-concept-metrics small{color:#8b7e6d;font-size:7px;text-transform:uppercase;letter-spacing:.08em}
.dream-concept-metrics strong{margin-top:6px;font-size:10px;font-weight:650}
.dream-match-summary{margin-top:16px;display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.dream-match-summary>span{padding:11px;display:grid;grid-template-columns:8px 1fr;gap:2px 7px;border:1px solid #ddd2c1;border-radius:13px;background:#fffdf9}
.dream-match-summary i{grid-row:span 2;width:7px;height:7px;margin-top:3px;border-radius:50%;background:#9b7130}.dream-match-summary i.catalogue{background:#638069}.dream-match-summary i.adapted{background:#c0933f}
.dream-match-summary strong{font-size:9px}.dream-match-summary small{color:#807568;font-size:7px}
.dream-refinement{margin-top:18px;padding:16px;border:1px solid #d8cbb8;border-radius:17px;background:#f4ecdd}
.dream-refinement>label{font-size:11px;font-weight:680}.dream-refinement>p{margin:5px 0 10px;color:#74695b;font-size:8px;line-height:1.45}
.dream-refinement>div{display:flex;gap:7px}.dream-refinement input{min-width:0;flex:1;height:40px;padding:0 12px;border:1px solid #d7cbb8;border-radius:11px;background:#fff;font-family:var(--font-geist),Arial,sans-serif;font-size:14px;font-weight:450;line-height:1.3}
.dream-refinement button{padding:0 15px;border:0;border-radius:11px;background:#211c16;color:#fff;font-family:var(--font-geist),Arial,sans-serif;font-size:12px;font-weight:650;line-height:1.2}

@media(max-width:900px){
  .dream-consult,.dream-concept-result{grid-template-columns:1fr}
}

@media(max-width:900px){
  .dream-chat-panel{border-right:0;border-bottom:1px solid var(--dream-line)}
}

@media(max-width:900px){
  .dream-live-brief{min-height:480px}
}

@media(max-width:900px){
  .dream-concept-visual{min-height:520px}
}
@media(max-width:600px){
  .dream-consult{min-height:0}
}
@media(max-width:600px){.dream-chat-panel{padding:25px 16px}
}
@media(max-width:600px){.dream-chat-panel>header{gap:10px}
}
@media(max-width:600px){.dream-chat-panel>header h2{font-size:34px}
}
@media(max-width:600px){
  .dream-chat-stream{height:330px;padding:12px;border-radius:18px}
}
@media(max-width:600px){.dream-bubble{width:88%;padding:11px 12px}
}
@media(max-width:600px){.dream-bubble p{font-size:10px}
}
@media(max-width:600px){
  .dream-chat-composer>div{flex-wrap:wrap}
}
@media(max-width:600px){.dream-chat-composer .voice-input-control,.dream-chat-composer label{font-size:0;padding:0;width:36px;justify-content:center}
}
@media(max-width:600px){.dream-chat-composer .voice-input-control svg,.dream-chat-composer label svg{margin:0}
}
@media(max-width:600px){
  .dream-live-brief{min-height:430px;padding:30px 20px}
}
@media(max-width:600px){.dream-live-brief>h2{font-size:40px}
}
@media(max-width:600px){.dream-live-brief dl{grid-template-columns:1fr}
}
@media(max-width:600px){.dream-live-brief dl>div:nth-child(odd){padding-right:0;border-right:0}
}
@media(max-width:600px){.dream-live-brief dl>div:nth-child(even){padding-left:0}
}
@media(max-width:600px){
  .dream-generation{min-height:520px;padding:32px 20px}
}
@media(max-width:600px){.dream-generation h2{font-size:42px}
}
@media(max-width:600px){
  .dream-concept-result{display:block}
}
@media(max-width:600px){.dream-concept-visual{min-height:430px}
}
@media(max-width:600px){.dream-concept-copy{padding:30px 18px}
}
@media(max-width:600px){.dream-concept-copy>h2{font-size:44px}
}
@media(max-width:600px){
  .dream-concept-download{top:18px;right:16px;min-height:34px;padding:0 11px;font-size:8px}
}
@media(max-width:600px){
  .dream-concept-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){.dream-match-summary{grid-template-columns:1fr}
}
@media(max-width:600px){.dream-refinement>div{display:grid}
}
@media(max-width:600px){.dream-refinement input{width:100%}
}
@media(max-width:600px){.dream-refinement button{min-height:42px}
}
@media(max-width:600px){
  .dream-direction-actions{display:grid}
}
@media(max-width:600px){.dream-direction-actions .button{width:100%}
}
.dream-page .experience-hero.dream-page-hero {
  width:min(calc(100% - 24px),1280px) !important;
  max-width:1280px !important;
  height:390px !important;
  min-height:390px !important;
  margin:12px auto 0 !important;
  grid-template-columns:54fr 46fr !important;
  border-radius:30px !important;
}
.dream-page .dream-page-hero .experience-hero-copy {
  height:390px;
  padding:34px clamp(34px,4.5vw,64px) !important;
  overflow:hidden;
}
.dream-page .dream-page-hero h1 {
  max-width:610px;
  margin:10px 0 12px;
  font-size:clamp(37px,3.45vw,47px);
  line-height:.98;
}
.dream-page .dream-page-hero .experience-hero-image {
  height:366px !important;
  min-height:366px !important;
  margin:12px;
  border-radius:22px;
}

@media(max-width:780px) {
  .dream-page .experience-hero.dream-page-hero {
    width:calc(100% - 12px) !important;
    height:auto !important;
    min-height:0 !important;
    margin:6px auto 0 !important;
    grid-template-columns:1fr !important;
    border-radius:22px !important;
  }
}

@media(max-width:780px) {
  .dream-page .dream-page-hero .experience-hero-copy {
    height:auto !important;
    min-height:205px !important;
    padding:18px !important;
    overflow:visible;
  }
}

@media(max-width:780px) {
  .dream-page .dream-page-hero h1 {
    margin:9px 0 10px;
    font-size:clamp(27px,7.2vw,36px);
  }
}

@media(max-width:780px) {
  .dream-page .dream-page-hero .experience-hero-image {
    height:100px !important;
    min-height:100px !important;
    margin:0 6px 6px;
    border-radius:16px;
  }
}
.dream-page {
  --dream-control-height: 48px;
  --dream-card-radius: 20px;
  --dream-readable: #6f675c;
}

.dream-page :is(button, input, select, textarea) {
  font-family: var(--font-geist), Arial, sans-serif;
}

.dream-page .experience-hero > div:first-child > div a,
.dream-page .button {
  min-height: var(--dream-control-height);
  padding-inline: 20px;
  font-size: 13px;
  font-weight: 610;
  line-height: 1.2;
}

.dream-page .dream-progress {
  margin-top: 20px;
  padding: 15px 20px;
  border-radius: 18px;
  background: rgba(255, 253, 248, .74);
  box-shadow: 0 12px 32px rgba(55, 42, 21, .035);
}

.dream-page .dream-progress li button {
  min-height: 40px;
  padding: 0 10px;
  gap: 9px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 580;
}

.dream-page .dream-progress li button:not(:disabled):hover {
  background: #f6efe2;
}

.dream-page .dream-progress li i {
  font-size: 9px;
  font-weight: 680;
}

/* Compact desktop consultation workspace: preserve the workflow while removing
   unused vertical space from both equal-height panels. */
@media (min-width: 901px) {
  .dream-page .dream-consult {
    min-height: 462px;
  }

  .dream-page .dream-chat-panel {
    padding: 25px 34px;
  }

  .dream-page .dream-chat-panel > header h2 {
    margin-block: 6px;
  }

  .dream-page .dream-chat-stream {
    height: 198px;
    margin: 16px 0 9px;
    padding: 15px;
  }

  .dream-page .dream-chat-quick button {
    min-height: 34px;
  }

  .dream-page .dream-chat-composer {
    margin-top: 8px;
    padding: 10px;
  }

  .dream-page .dream-chat-composer textarea {
    min-height: 47px;
  }

  .dream-page .dream-live-brief {
    min-height: 462px;
    padding: 27px 36px;
  }

  .dream-page .dream-canvas-empty > span {
    width: 46px;
    height: 46px;
    margin-bottom: 13px;
  }

  .dream-page .dream-live-brief > small {
    padding-top: 12px;
  }
}

/* The circular microphone is sufficient; remove its redundant outer pill. */
.dream-page .dream-chat-composer .voice-input-control {
  width: 38px;
  min-width: 38px;
  height: 38px;
  min-height: 38px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
}

.dream-page .dream-chat-composer .voice-input-control .voice-input-button {
  width: 38px;
  min-width: 38px;
  height: 38px;
  min-height: 38px;
}

.dream-page .dream-workspace {
  margin-top: 14px;
  border-radius: 28px;
  background: #fcfaf5;
  box-shadow: 0 20px 54px rgba(55, 42, 21, .045);
}

.dream-page :is(.dream-chat-panel, .dream-live-brief, .dream-concept-copy, .dream-build-main, .dream-estimate) .eyebrow,
.dream-page :is(.dream-generation, .dream-complete, .dream-seo, .dream-faq) .eyebrow {
  font-size: 10px;
  font-weight: 720;
  line-height: 1.3;
  letter-spacing: .17em;
}

.dream-page .dream-consult {
  min-height: 680px;
}

.dream-page .dream-chat-panel {
  padding: clamp(32px, 3.5vw, 52px);
  background: #fcfaf5;
}

.dream-page .dream-chat-panel > header {
  gap: 17px;
}

.dream-page .dream-chat-panel > header h2 {
  margin: 8px 0;
  font-size: clamp(32px, 3.2vw, 44px);
  font-weight: 520;
  line-height: 1.02;
}

.dream-page .dream-chat-panel > header p {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.6;
}

.dream-page .dream-chat-stream {
  height: 320px;
  margin: 26px 0 14px;
  padding: 19px;
  gap: 12px;
  border-radius: 20px;
  background: rgba(255, 255, 255, .78);
}

.dream-page .dream-bubble {
  padding: 13px 15px;
  border-radius: 16px;
}

.dream-page .dream-bubble small {
  margin-bottom: 5px;
  font-size: 9px;
  font-weight: 680;
}

.dream-page .dream-bubble p {
  font-size: 12.5px;
  font-weight: 430;
  line-height: 1.55;
}

.dream-page .dream-chat-quick {
  gap: 8px;
}

.dream-page .dream-chat-quick button {
  min-height: 38px;
  padding: 0 13px;
  font-size: 11.5px;
  font-weight: 540;
}

.dream-page .dream-chat-composer {
  margin-top: 11px;
  padding: 13px;
  border-radius: 18px;
  box-shadow: 0 8px 24px rgba(55, 42, 21, .035);
}

.dream-page .dream-chat-composer textarea {
  min-height: 60px;
  font-size: 15px;
  font-weight: 430;
  line-height: 1.5;
}

.dream-page .dream-chat-composer .voice-input-control,
.dream-page .dream-chat-composer label {
  min-height: 38px;
  padding-inline: 12px;
  font-size: 11px;
  font-weight: 570;
}

.dream-page .dream-chat-composer > div > button:last-child {
  width: 40px;
  height: 40px;
}

.dream-page .dream-reference-strip {
  margin-top: 14px;
  gap: 9px;
}

.dream-page .dream-reference-strip figure {
  min-width: 82px;
  width: 82px;
}

.dream-page .dream-reference-strip img {
  width: 82px;
  height: 72px;
  border-radius: 13px;
}

.dream-page .dream-reference-strip figcaption {
  margin-top: 5px;
  font-size: 9.5px;
  font-weight: 430;
}

.dream-page .dream-live-brief {
  padding: clamp(36px, 4vw, 58px);
}

.dream-page .dream-canvas-mark {
  font-size: 10px;
  font-weight: 680;
}

.dream-page .dream-live-brief > h2 {
  margin: 13px 0;
  font-size: clamp(38px, 4.2vw, 54px);
  font-weight: 510;
  line-height: .99;
}

.dream-page .dream-live-brief > p {
  font-size: 14px;
  font-weight: 430;
  line-height: 1.65;
}

.dream-page .dream-live-brief dl > div {
  min-height: 76px;
  padding-block: 15px;
}

.dream-page .dream-live-brief dt {
  font-size: 9.5px;
  font-weight: 650;
}

.dream-page .dream-live-brief dd {
  margin-top: 7px;
  font-size: 12.5px;
  font-weight: 580;
  line-height: 1.35;
}

.dream-page .dream-live-brief > small {
  padding-top: 24px;
  font-size: 10.5px;
  font-weight: 430;
  line-height: 1.55;
}

.dream-page .dream-canvas-empty h2 {
  font-size: clamp(34px, 3.6vw, 48px);
  font-weight: 510;
}

.dream-page .dream-canvas-empty p {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.6;
}

.dream-page .dream-generation {
  min-height: 620px;
  padding: 56px;
}

.dream-page .dream-generation h2 {
  font-size: clamp(38px, 4.6vw, 58px);
  font-weight: 510;
}

.dream-page .dream-generation p {
  font-size: 14px;
  font-weight: 430;
}

.dream-page .dream-concept-result {
  min-height: 650px;
}

.dream-page .dream-concept-badge {
  padding: 9px 12px;
  font-size: 9.5px;
  font-weight: 680;
}

.dream-page .dream-concept-download {
  min-height: 42px;
  padding-inline: 14px;
  font-size: 10.5px;
  font-weight: 580;
}

.dream-page .dream-concept-visual > small {
  font-size: 10.5px;
  font-weight: 430;
  line-height: 1.55;
}

.dream-page .dream-concept-copy {
  padding: clamp(38px, 4.5vw, 62px);
}

.dream-page .dream-concept-copy > h2 {
  margin: 14px 0 13px;
  font-size: clamp(40px, 4.6vw, 58px);
  font-weight: 510;
  line-height: .98;
}

.dream-page .dream-concept-copy > p {
  font-size: 14px;
  font-weight: 430;
  line-height: 1.65;
}

.dream-page .dream-concept-metrics {
  margin-top: 27px;
}

.dream-page .dream-concept-metrics > span {
  min-height: 84px;
  padding: 14px;
}

.dream-page .dream-concept-metrics small {
  font-size: 9.5px;
  font-weight: 650;
}

.dream-page .dream-concept-metrics strong {
  margin-top: 7px;
  font-size: 12px;
  font-weight: 580;
  line-height: 1.35;
}

.dream-page .dream-match-summary {
  margin-top: 18px;
  gap: 8px;
}

.dream-page .dream-match-summary > span {
  min-height: 70px;
  padding: 12px;
  border-radius: 14px;
}

.dream-page .dream-match-summary strong {
  font-size: 11.5px;
  font-weight: 590;
}

.dream-page .dream-match-summary small {
  font-size: 10px;
  font-weight: 430;
  line-height: 1.4;
}

.dream-page .dream-refinement {
  margin-top: 20px;
  padding: 18px;
  border-radius: 18px;
}

.dream-page .dream-refinement > label {
  font-size: 13px;
  font-weight: 600;
}

.dream-page .dream-refinement > p {
  margin: 6px 0 12px;
  font-size: 11px;
  font-weight: 430;
  line-height: 1.5;
}

.dream-page .dream-refinement input {
  height: var(--dream-control-height);
  padding-inline: 14px;
  font-size: 14px;
  font-weight: 430;
}

.dream-page .dream-refinement button {
  min-height: var(--dream-control-height);
  padding-inline: 17px;
  font-size: 12px;
  font-weight: 600;
}

.dream-page .dream-direction-actions {
  margin-top: 24px;
  gap: 10px;
}

.dream-page .dream-direction-actions .button {
  font-size: 13px;
  font-weight: 610;
}

.dream-page .dream-build-main {
  padding: clamp(32px, 3.5vw, 50px);
}

.dream-page .dream-build-main > header h2 {
  margin: 11px 0 9px;
  font-size: clamp(36px, 3.8vw, 48px);
  font-weight: 510;
  line-height: 1;
}

.dream-page .dream-build-main > header p {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.55;
}

.dream-page .dream-build-section {
  margin-top: 38px;
}

.dream-page .dream-section-title {
  margin-bottom: 16px;
}

.dream-page .dream-section-title > span {
  width: 38px;
  height: 38px;
  font-size: 10px;
  font-weight: 650;
}

.dream-page .dream-section-title h3 {
  font-size: 22px;
  font-weight: 560;
}

.dream-page .dream-section-title small {
  margin-top: 4px;
  font-size: 11px;
  font-weight: 430;
  line-height: 1.4;
}

.dream-page .dream-item-list {
  gap: 9px;
}

.dream-page .dream-item-list article {
  min-height: 138px;
  padding: 13px;
  grid-template-columns: 112px minmax(0, 1fr) 122px;
  border-radius: var(--dream-card-radius);
}

.dream-page .dream-item-list img {
  width: 112px;
  height: 108px;
  border-radius: 15px;
}

.dream-page .dream-item-list em {
  font-size: 9.5px;
  font-weight: 680;
}

.dream-page .dream-item-list strong {
  font-size: 15.5px;
  font-weight: 600;
}

.dream-page .dream-item-list p {
  font-size: 11.5px;
  font-weight: 430;
  line-height: 1.5;
}

.dream-page .dream-item-list b {
  font-size: 13px;
  font-weight: 620;
}

.dream-page .dream-item-controls {
  gap: 7px;
}

.dream-page .dream-item-controls > span {
  grid-template-columns: 36px 38px 36px;
}

.dream-page .dream-item-controls > span button,
.dream-page .dream-item-controls > span i {
  min-height: 38px;
  font-size: 12px;
}

.dream-page .dream-item-controls > button {
  min-height: 30px;
  padding-inline: 8px;
  border-radius: 999px;
  font-size: 10.5px;
  font-weight: 560;
}

.dream-page .dream-finishing > div:nth-child(2) {
  gap: 10px;
}

.dream-page .dream-finishing > div:nth-child(2) > button {
  min-height: 92px;
  padding: 14px;
  grid-template-columns: 38px 1fr 24px;
  border-radius: 17px;
}

.dream-page .dream-finishing button > i {
  width: 38px;
  height: 38px;
}

.dream-page .dream-finishing button strong {
  font-size: 12px;
  font-weight: 590;
}

.dream-page .dream-finishing button small {
  font-size: 10.5px;
  font-weight: 430;
  line-height: 1.4;
}

.dream-page .dream-finishing > label {
  margin-top: 13px;
  font-size: 12px;
  font-weight: 590;
}

.dream-page .dream-finishing textarea {
  min-height: 104px;
  padding: 14px;
  font-size: 14px;
  font-weight: 430;
  line-height: 1.55;
}

.dream-page .dream-estimate {
  min-height: 640px;
  padding: clamp(30px, 3vw, 44px);
}

.dream-page .dream-estimate h3 {
  margin: 13px 0 8px;
  font-size: 30px;
  font-weight: 520;
  line-height: 1.06;
}

.dream-page .dream-estimate > p {
  margin-bottom: 24px;
  font-size: 12px;
  font-weight: 430;
  line-height: 1.5;
}

.dream-page .dream-estimate dl > div {
  min-height: 52px;
}

.dream-page .dream-estimate dt {
  font-size: 11px;
  font-weight: 430;
}

.dream-page .dream-estimate dd {
  font-size: 12px;
  font-weight: 590;
}

.dream-page :is(.dream-unit-total, .dream-order-total, .dream-saving, .dream-timeline) {
  margin-top: 14px;
  padding: 15px;
  border-radius: 15px;
}

.dream-page :is(.dream-unit-total, .dream-order-total, .dream-saving, .dream-timeline) span {
  font-size: 11px;
  font-weight: 480;
}

.dream-page .dream-unit-total strong {
  font-size: 21px;
  font-weight: 620;
}

.dream-page .dream-order-total strong {
  font-size: 25px;
  font-weight: 630;
}

.dream-page .dream-order-total small {
  font-size: 10px;
  font-weight: 430;
  line-height: 1.45;
}

.dream-page :is(.dream-saving, .dream-timeline) strong {
  font-size: 11.5px;
  font-weight: 590;
}

.dream-page .dream-estimate > .button {
  margin-top: 18px;
  font-size: 12.5px;
}

.dream-page .dream-estimate-actions {
  margin-top: 9px;
  gap: 8px;
}

.dream-page .dream-estimate-actions button,
.dream-page .dream-estimate-actions a {
  min-height: 42px;
  padding: 0 10px;
  font-size: 11.5px;
  font-weight: 570;
}

.dream-page .dream-estimate > .text-link {
  min-height: 36px;
  margin-top: 14px;
  padding: 0 8px;
  border: 0;
  font-size: 11px;
  font-weight: 550;
}

.dream-page .dream-complete {
  min-height: 540px;
  padding: 52px;
}

.dream-page .dream-complete h2 {
  font-size: clamp(38px, 4.2vw, 54px);
  font-weight: 510;
}

.dream-page .dream-complete p {
  font-size: 14px;
  font-weight: 430;
  line-height: 1.65;
}

.dream-page .dream-complete > div {
  margin-top: 22px;
  gap: 10px;
}

.dream-page .dream-seo,
.dream-page .dream-faq {
  margin-top: 68px;
}

.dream-page .dream-seo {
  padding-bottom: 68px;
}

.dream-page .dream-seo h2,
.dream-page .dream-faq h2 {
  font-size: clamp(38px, 4.2vw, 54px);
  font-weight: 480;
  line-height: 1;
}

.dream-page .dream-seo > div:last-child > p {
  font-size: 14px;
  font-weight: 430;
  line-height: 1.72;
}

.dream-page .dream-seo-links {
  margin-top: 28px;
  gap: 10px;
}

.dream-page .dream-seo-links a {
  min-height: 112px;
  padding: 20px;
  border-radius: 18px;
}

.dream-page .dream-seo-links a small {
  font-size: 10px;
  font-weight: 650;
  letter-spacing: .04em;
}

.dream-page .dream-seo-links a strong {
  font-size: 15px;
  font-weight: 600;
}

.dream-page .dream-faq {
  padding-bottom: 20px;
}

.dream-page .dream-faq summary {
  min-height: 76px;
  font-size: 15px;
  font-weight: 580;
  line-height: 1.35;
}

.dream-page .dream-faq details p {
  margin-bottom: 25px;
  font-size: 13.5px;
  font-weight: 430;
  line-height: 1.7;
}

@media (max-width: 900px) {
  .dream-page .dream-consult,
  .dream-page .dream-concept-result {
    min-height: 0;
  }
}

@media (max-width: 900px) {

  .dream-page .dream-live-brief {
    min-height: 500px;
  }
}

@media (max-width: 900px) {

  .dream-page .dream-estimate {
    min-height: 0;
  }
}

@media (max-width: 600px) {
  .dream-page .experience-hero > div:first-child > div a,
  .dream-page .button {
    width: 100%;
    justify-content: center;
    font-size: 13px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-progress {
    padding: 10px 7px;
    border-radius: 15px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-progress li button {
    min-height: 40px;
    padding-inline: 4px;
    justify-content: center;
    font-size: 10px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-progress li i {
    display: none;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-workspace {
    border-radius: 22px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-chat-panel {
    padding: 28px 16px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-chat-panel > header h2 {
    font-size: 30px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-chat-panel > header p {
    font-size: 13px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-chat-stream {
    height: 340px;
    padding: 13px;
    border-radius: 17px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-bubble {
    width: 90%;
    padding: 12px 13px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-bubble p {
    font-size: 12px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-chat-quick button {
    min-height: 36px;
    font-size: 11px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-chat-composer textarea,
  .dream-page .dream-refinement input,
  .dream-page .dream-finishing textarea {
    font-size: 16px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-chat-composer .voice-input-control,
  .dream-page .dream-chat-composer label,
  .dream-page .dream-chat-composer > div > button:last-child {
    width: 40px;
    min-width: 40px;
    height: 40px;
    min-height: 40px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-live-brief {
    min-height: 440px;
    padding: 32px 20px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-live-brief > h2 {
    font-size: 34px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-live-brief > p,
  .dream-page .dream-canvas-empty p {
    font-size: 13px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-live-brief dt {
    font-size: 10px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-live-brief dd {
    font-size: 13px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-live-brief > small {
    font-size: 10.5px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-generation {
    min-height: 520px;
    padding: 34px 20px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-generation h2 {
    font-size: 38px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-generation p {
    font-size: 13px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-concept-visual {
    min-height: 430px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-concept-badge {
    top: 18px;
    left: 16px;
    font-size: 9px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-concept-download {
    top: 18px;
    right: 16px;
    min-height: 38px;
    font-size: 10px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-concept-visual > small {
    right: 18px;
    bottom: 18px;
    left: 18px;
    font-size: 10px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-concept-copy {
    padding: 32px 18px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-concept-copy > h2 {
    font-size: 38px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-concept-copy > p {
    font-size: 13px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-concept-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {

  .dream-page .dream-concept-metrics small {
    font-size: 9px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-concept-metrics strong {
    font-size: 11.5px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-refinement > div {
    display: grid;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-refinement button {
    width: 100%;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-build-main,
  .dream-page .dream-estimate {
    padding: 28px 17px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-build-main > header h2 {
    font-size: 34px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-build-main > header p {
    font-size: 12.5px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-section-title h3 {
    font-size: 19px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-section-title small {
    font-size: 10.5px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-item-list article {
    min-height: 0;
    padding: 11px;
    grid-template-columns: 80px minmax(0, 1fr);
    gap: 11px;
    border-radius: 17px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-item-list img {
    width: 80px;
    height: 80px;
    border-radius: 13px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-item-list em {
    font-size: 9px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-item-list strong {
    font-size: 13.5px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-item-list p {
    font-size: 11px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-item-controls {
    grid-column: 2;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-finishing > div:nth-child(2) {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-finishing > div:nth-child(2) > button {
    min-height: 84px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-estimate h3 {
    font-size: 28px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-estimate-actions {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-complete {
    min-height: 470px;
    padding: 38px 20px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-complete h2 {
    font-size: 36px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-complete p {
    font-size: 13px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-complete > div {
    width: 100%;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-seo,
  .dream-page .dream-faq {
    margin-top: 52px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-seo h2,
  .dream-page .dream-faq h2 {
    font-size: 34px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-seo > div:last-child > p {
    font-size: 13px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-seo-links {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-faq summary {
    min-height: 70px;
    font-size: 14px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-faq details p {
    margin-right: 20px;
    font-size: 12.5px;
  }
}
.dream-page {
  overflow-x: clip;
  background: #f4f1e9;
}

.dream-page .dream-seo,
.dream-page .dream-faq {
  width: min(1280px, calc(100% - 32px));
  margin-inline: auto;
  box-sizing: border-box;
  padding-inline: 12px;
}

.dream-page .dream-seo {
  margin-top: 60px;
  padding-block: 0;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 350px);
  align-items: start;
  gap: clamp(38px, 5vw, 72px);
  border: 0;
}

.dream-page .dream-seo-copy {
  max-width: 790px;
}

.dream-page .dream-seo-copy h2,
.dream-page .dream-faq h2 {
  margin: 15px 0 0;
  font-family: var(--font-geist), Arial, sans-serif;
  font-size: 38.5px;
  font-weight: 480;
  line-height: 1.02;
  letter-spacing: -.05em;
  text-wrap: balance;
}

.dream-page .dream-seo-copy h2 {
  max-width: 720px;
  margin-bottom: 27px;
}

.dream-page .dream-seo-copy p {
  max-width: 770px;
  margin: 0 0 17px;
  color: #6f6d64;
  font-size: 13.5px;
  font-weight: 400;
  line-height: 1.72;
}

.dream-page .dream-seo-links {
  width: 100%;
  max-width: 350px;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 9px;
  justify-self: end;
}

.dream-page .dream-seo-links a {
  min-height: 86px;
  padding: 16px 17px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-content: center;
  gap: 7px 12px;
  border: 1px solid #d9cfb9;
  border-radius: 16px;
  background: rgba(255, 255, 255, .58);
  box-shadow: none;
  transition: border-color .18s ease, background .18s ease, transform .18s ease;
}

.dream-page .dream-seo-links a:hover {
  border-color: #b48a3a;
  background: rgba(255, 255, 255, .84);
  transform: translateY(-1px);
}

.dream-page .dream-seo-links a small {
  grid-column: 1 / -1;
  margin: 0;
  color: #8b6b32;
  font-size: 9px;
  font-weight: 400;
  letter-spacing: .075em;
  text-transform: uppercase;
}

.dream-page .dream-seo-links a strong {
  font-size: 12.5px;
  font-weight: 570;
  line-height: 1.3;
}

.dream-page .dream-seo-links a svg {
  width: 15px;
  height: 15px;
  padding: 6px;
  box-sizing: content-box;
  border: 1px solid #d9cfb9;
  border-radius: 50%;
  background: #fffdf8;
}

.dream-page .dream-faq {
  margin-top: 48px;
  margin-bottom: 66px;
  padding-top: 32px;
  padding-bottom: 0;
  display: grid;
  grid-template-columns: minmax(330px, .52fr) minmax(0, 1.48fr);
  gap: clamp(38px, 5vw, 66px);
  border-top: 1px solid #d9cfb9;
}

.dream-page .dream-faq header {
  position: static;
  top: auto;
}

.dream-page .dream-faq h2 {
  max-width: 380px;
}

.dream-page .dream-faq details,
.dream-page .dream-faq details:last-child {
  border-top: 0;
  border-bottom: 1px solid #d8cfbf;
}

.dream-page .dream-faq summary {
  min-height: 64px;
  padding: 14px 4px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  color: #2b2a25;
  font-size: 13.5px;
  font-weight: 560;
  line-height: 1.4;
}

.dream-page .dream-faq summary span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid #d9cfb9;
  border-radius: 50%;
  background: rgba(255, 255, 255, .48);
  color: #a77e2d;
  font-size: 16px;
  font-weight: 400;
}

.dream-page .dream-faq details[open] {
  margin-inline: -12px;
  padding-inline: 12px;
  border-radius: 13px;
  background: rgba(255, 255, 255, .44);
}

.dream-page .dream-faq details p {
  max-width: 760px;
  margin: -2px 44px 18px 4px;
  color: #6f6d64;
  font-size: 12.5px;
  font-weight: 400;
  line-height: 1.7;
}

.site-shell:has(> .dream-page) > .footer {
  width: 100%;
  max-width: none;
  margin: 0;
  border-radius: 30px 30px 0 0;
}

@media (max-width: 900px) {
  .dream-page .dream-seo,
  .dream-page .dream-faq {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {

  .dream-page .dream-seo-links {
    max-width: none;
    grid-template-columns: 1fr 1fr;
    justify-self: stretch;
  }
}

@media (max-width: 900px) {

  .dream-page .dream-faq h2 {
    max-width: none;
  }
}

@media (max-width: 600px) {
  .dream-page .dream-seo,
  .dream-page .dream-faq {
    width: calc(100% - 20px);
    padding-inline: 4px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-seo {
    margin-top: 34px;
    gap: 18px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-seo-copy h2,
  .dream-page .dream-faq h2 {
    font-size: 26px;
    font-weight: 470;
    line-height: 1.06;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-seo-copy h2 {
    margin-bottom: 20px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-seo-copy p {
    font-size: 12.5px;
    line-height: 1.64;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-seo-links {
    grid-template-columns: 1fr 1fr;
    gap: 7px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-seo-links a {
    min-height: 78px;
    padding: 13px;
    gap: 8px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-seo-links a small {
    font-size: 8px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-seo-links a strong {
    font-size: 11px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-seo-links a svg {
    width: 13px;
    height: 13px;
    padding: 5px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-faq {
    margin-top: 36px;
    margin-bottom: 52px;
    padding-top: 24px;
    gap: 10px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-faq summary {
    min-height: 58px;
    padding: 13px 2px;
    font-size: 12px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-faq summary span {
    width: 26px;
    height: 26px;
    font-size: 15px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-faq details[open] {
    margin-inline: -8px;
    padding-inline: 8px;
  }
}

@media (max-width: 600px) {

  .dream-page .dream-faq details p {
    margin: -1px 34px 16px 2px;
    font-size: 11.5px;
  }
}

@media (max-width: 600px) {

  .site-shell:has(> .dream-page) > .footer {
    border-radius: 22px 22px 0 0;
  }
}
.dream-page .dream-chat-panel > header h2,
.dream-page .dream-canvas-empty h2 {
  font-family: var(--hero);
  font-size: clamp(34px, 3.05vw, 42px);
  font-weight: 480;
  line-height: 1.04;
  letter-spacing: -0.04em;
}

.dream-page .dream-live-brief {
  background: linear-gradient(145deg, #f6f1e8 0%, #f1e7d7 56%, #eadcc5 100%);
}

@media (min-width: 901px) {
  .dream-page .dream-consult {
    min-height: 578px;
  }
}

@media (min-width: 901px) {

  .dream-page .dream-chat-panel {
    padding-block: clamp(28px, 3vw, 44px);
  }
}

@media (min-width: 901px) {

  .dream-page .dream-chat-stream {
    height: 250px;
    margin: 20px 0 10px;
  }
}

@media (min-width: 901px) {

  .dream-page .dream-live-brief {
    padding-block: clamp(30px, 3.4vw, 48px);
  }
}

@media (min-width: 901px) {

  .dream-page .dream-canvas-empty > span {
    width: 52px;
    height: 52px;
    margin-bottom: 18px;
  }
}

@media (min-width: 901px) {

  .dream-page .dream-live-brief > small {
    padding-top: 16px;
  }
}

@media (max-width: 600px) {
  .dream-page .dream-chat-panel > header h2,
  .dream-page .dream-canvas-empty h2 {
    font-size: 30px;
    font-weight: 480;
  }
}

/* Authoritative Dream Gift Studio hero: the same responsive banner, type and
   CTA contract used by the homepage hero. */
.dream-page .experience-hero.dream-hero-full-bleed {
  position:relative;
  isolation:isolate;
  width:min(1280px,calc(100% - 24px));
  height:392px !important;
  min-height:392px !important;
  display:grid;
  grid-template-columns:1fr !important;
  overflow:hidden;
  border-radius:30px;
  background:#f6efe6;
}
.dream-page .dream-hero-full-bleed::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(250,247,241,.48) 0%,rgba(250,247,241,.18) 40%,rgba(250,247,241,0) 62%);
}
.dream-page .dream-hero-full-bleed .experience-hero-copy {
  position:relative;
  z-index:2;
  width:55%;
  height:392px !important;
  min-height:392px;
  padding:30px 48px;
  overflow:visible !important;
  grid-column:1;
  grid-row:1;
}
.dream-page .dream-hero-full-bleed .experience-hero-image {
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100% !important;
  min-height:100% !important;
  margin:0 !important;
  border-radius:0;
}
.dream-page .dream-hero-full-bleed .experience-hero-image img {
  width:100%;
  height:100%;
  min-height:100%;
  object-fit:cover;
  object-position:right center;
  transform-origin:center center;
  transform:scale(1.1);
}
.dream-page .dream-hero-full-bleed h1 {
  display:block;
  margin:8px 0 12px;
  font-size:clamp(38px,3.5vw,50px);
  font-weight:480;
  line-height:.96;
  letter-spacing:-.06em;
  white-space:nowrap;
}
.dream-page .dream-hero-full-bleed p {
  max-width:350px;
  margin:0;
  font-size:15px;
  line-height:1.6;
}
.dream-page .dream-hero-full-bleed .experience-hero-actions {
  margin-top:14px;
  display:flex;
  flex-flow:row nowrap;
  gap:8px;
}
.dream-page .dream-hero-full-bleed .experience-hero-actions .button {
  width:max-content;
  min-width:max-content;
  min-height:40px;
  padding-inline:22px;
  border-radius:999px;
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
}

/* Keep the two-line headline and both actions inside the calm copy area on
   narrower desktop windows, while preserving the complete object at right. */
@media (min-width:721px) and (max-width:1100px) {
  .dream-page .dream-hero-full-bleed .experience-hero-copy {
    width:60%;
    padding-inline:38px;
  }
  .dream-page .dream-hero-full-bleed h1 {
    font-size:38px;
    letter-spacing:-.055em;
  }
  .dream-page .dream-hero-full-bleed .experience-hero-actions .button {
    padding-inline:18px;
  }
}

/* Final compact desktop workspace: 20% less height without removing content. */
@media (min-width:901px) {
  .dream-page .dream-consult {
    min-height:462px;
  }
  .dream-page .dream-chat-panel {
    padding:25px 34px;
  }
  .dream-page .dream-chat-panel > header h2 {
    margin-block:6px;
  }
  .dream-page .dream-chat-stream {
    height:198px;
    margin:16px 0 9px;
    padding:15px;
  }
  .dream-page .dream-chat-quick button {
    min-height:34px;
  }
  .dream-page .dream-chat-composer {
    margin-top:8px;
    padding:10px;
  }
  .dream-page .dream-chat-composer textarea {
    min-height:47px;
  }
  .dream-page .dream-live-brief {
    min-height:462px;
    padding:27px 36px;
  }
  .dream-page .dream-canvas-empty > span {
    width:46px;
    height:46px;
    margin-bottom:13px;
  }
  .dream-page .dream-live-brief > small {
    padding-top:12px;
  }
}

.dream-page .dream-chat-composer .voice-input-control {
  width:38px;
  min-width:38px;
  height:38px;
  min-height:38px;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
}
.dream-page .dream-chat-composer .voice-input-control .voice-input-button {
  width:38px;
  min-width:38px;
  height:38px;
  min-height:38px;
}

@media (max-width:720px) {
  .dream-page .experience-hero.dream-hero-full-bleed {
    width:calc(100% - 12px);
    height:auto !important;
    min-height:0 !important;
    margin-top:8px;
    aspect-ratio:750 / 612;
    border-radius:22px;
  }
  .dream-page .dream-hero-full-bleed::after {
    background:linear-gradient(90deg,rgba(250,247,241,.78) 0%,rgba(250,247,241,.5) 43%,rgba(250,247,241,.08) 74%);
  }
  .dream-page .dream-hero-full-bleed .experience-hero-copy {
    width:68%;
    height:100% !important;
    min-height:100% !important;
    padding:15px;
    justify-content:center;
  }
  .dream-page .dream-hero-full-bleed h1 {
    min-height:0;
    margin:5px 0 8px;
    font-size:clamp(19px,5.3vw,22px);
    line-height:.94;
  }
  .dream-page .dream-hero-full-bleed p {
    max-width:205px;
    font-size:8px;
    line-height:1.4;
    text-wrap:balance;
  }
  .dream-page .dream-hero-full-bleed .experience-hero-actions {
    width:auto;
    min-width:max-content;
    margin-top:8px;
    flex-flow:row nowrap;
    gap:5px;
  }
  .dream-page .dream-hero-full-bleed .experience-hero-actions .button {
    width:max-content;
    min-width:max-content;
    min-height:34px;
    padding-inline:12px;
    font-size:9px;
    font-weight:750;
  }
}

/* Final mobile consultation controls. Keep both prompt suggestions on one row
   and prevent the reference label from inheriting the circular icon width. */
@media (max-width:600px) {
  .dream-page .dream-progress {
    padding:5px 6px;
    border-radius:24px;
  }
  .dream-page .dream-progress li button {
    min-height:34px;
    padding-inline:3px;
    border-radius:18px;
    font-size:11px;
  }
  .dream-page .dream-consult {
    min-height:0;
  }
  .dream-page .dream-chat-panel {
    padding:20px 14px;
  }
  .dream-page .dream-chat-panel > header {
    gap:11px;
  }
  .dream-page .dream-chat-panel > header h2 {
    margin:5px 0 6px;
    font-size:27px;
  }
  .dream-page .dream-chat-panel > header p {
    font-size:11px;
    line-height:1.45;
  }
  .dream-page .dream-chat-stream {
    height:220px;
    margin:16px 0 9px;
    padding:11px;
  }
  .dream-page .dream-bubble {
    padding:10px 11px;
  }
  .dream-page .dream-bubble p {
    font-size:10.5px;
    line-height:1.45;
  }
  .dream-page .dream-chat-quick {
    width:100%;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
    overflow:visible;
  }
  .dream-page .dream-chat-quick button {
    width:100%;
    min-width:0;
    min-height:40px;
    padding:6px 8px;
    justify-content:center;
    font-size:9px;
    line-height:1.25;
    text-align:center;
    white-space:normal;
  }
  .dream-page .dream-chat-composer textarea {
    min-height:44px;
    font-size:13px !important;
    line-height:1.45;
  }
  .dream-page .dream-chat-composer > div {
    width:100%;
    display:grid;
    grid-template-columns:40px minmax(0,1fr) 40px;
    gap:7px;
    align-items:center;
  }
  .dream-page .dream-chat-composer .voice-input-control {
    width:40px !important;
    min-width:40px !important;
    height:40px !important;
    min-height:40px !important;
  }
  .dream-page .dream-chat-composer label {
    width:auto !important;
    min-width:0 !important;
    height:40px !important;
    min-height:40px !important;
    padding:0 12px !important;
    justify-content:center;
    border-radius:999px;
    font-size:10px !important;
    white-space:nowrap;
  }
  .dream-page .dream-chat-composer label span {
    display:inline;
  }
  .dream-page .dream-chat-composer > div > button:last-child {
    width:40px !important;
    min-width:40px !important;
    height:40px !important;
    min-height:40px !important;
    margin-left:0;
  }
  .dream-page .dream-live-brief {
    min-height:0 !important;
    padding:22px 14px;
    display:grid;
    grid-template-rows:auto auto auto;
    gap:16px;
  }
  .dream-page .dream-canvas-mark {
    justify-self:start;
  }
  .dream-page .dream-canvas-empty {
    width:100%;
    margin:0;
    display:grid;
    justify-items:center;
  }
  .dream-page .dream-canvas-empty > span {
    width:42px;
    height:42px;
    margin:0 auto 12px;
    font-size:16px;
  }
  .dream-page .dream-canvas-empty h2 {
    max-width:330px;
    margin-bottom:7px;
    font-size:27px;
    text-align:center;
  }
  .dream-page .dream-canvas-empty p {
    max-width:350px;
    font-size:10px;
    line-height:1.45;
    text-align:center;
    text-wrap:balance;
  }
  .dream-page .dream-live-brief > small {
    margin-top:0;
    padding-top:11px;
    border-top:1px solid rgba(126,92,38,.2);
    font-size:8px;
    line-height:1.45;
    text-align:left;
  }
}

@media (max-width:540px) {
  .dream-page .dream-hero-full-bleed .experience-hero-copy {
    width:78%;
  }
  .dream-page .dream-hero-full-bleed h1 {
    font-family:var(--font-geist),Arial,sans-serif;
    font-size:28px !important;
    font-style:normal;
    font-weight:480;
    line-height:.94;
    letter-spacing:-.065em;
  }
}

/* Authoritative mobile vertical rhythm for the complete Dream Gift page. */
/* Related destinations use the same thumbnail row as Build Your Own Hamper. */
.dream-page .dream-seo-links { grid-template-columns:minmax(0,1fr); }
.dream-page .dream-seo-links a {
  grid-template-columns:56px minmax(0,1fr) auto;
  min-height:76px;
  align-items:center;
  gap:12px;
  padding:7px 14px 7px 7px;
  border-radius:17px;
  overflow:hidden;
}
.dream-page .dream-seo-links a > img {
  display:block;
  width:56px;
  height:56px;
  object-fit:cover;
  border-radius:12px;
  background:#ece3d5;
}
.dream-page .dream-seo-links .dream-related-copy {
  min-width:0;
  display:grid;
  gap:5px;
}
.dream-page .dream-seo-links a:focus-visible {
  outline:2px solid #98702d;
  outline-offset:3px;
}

/* Match the homepage mobile hero: one compact image with copy overlaid left.
   Typography, pill colours and 750:350 frame come from universal-mobile-heroes. */
@media (max-width:800px) {
  .dream-page .dream-hero-full-bleed .experience-hero-image img {
    /* Move 10% left from the prior +20% position; net shift is +10%. */
    transform:translateX(10%) scale(1.2);
  }
  #angroos-site .site-shell .dream-page .dream-hero-full-bleed .experience-hero-copy {
    position:absolute;
    inset:0 auto 0 0;
    width:62% !important;
    height:100% !important;
    min-height:0 !important;
    padding:15px !important;
    background:transparent;
    align-items:flex-start;
    justify-content:center;
  }
  #angroos-site .site-shell .dream-page .dream-hero-full-bleed .experience-hero-actions {
    width:max-content;
    min-width:0;
    max-width:100%;
    margin:5px 0 0;
    gap:5px;
    flex-flow:row nowrap;
    justify-content:flex-start;
    align-items:center;
    transform:none;
  }
  body#angroos-site .site-shell main.dream-page .experience-hero.dream-hero-full-bleed .experience-hero-actions a.button {
    width:max-content !important;
    min-width:0 !important;
    height:20px !important;
    min-height:20px !important;
    padding:0 9px !important;
    border:1px solid rgba(157,122,58,.25) !important;
    border-radius:999px !important;
    background:rgba(255,253,248,.76) !important;
    color:#655a49 !important;
    box-shadow:none !important;
    font-size:6.25px !important;
    font-weight:800 !important;
    line-height:1 !important;
    letter-spacing:.025em !important;
    transform:none;
    flex:0 0 auto;
  }
  #angroos-site .dream-page .dream-hero-full-bleed .experience-hero-actions .icon {
    display:none !important;
  }
}

.dream-page.concept-page {
  padding-bottom:0;
}
.dream-page .dream-faq {
  margin-bottom:20px;
}

@media (max-width:600px) {
  .dream-page.concept-page {
    padding-bottom:0 !important;
  }
  .dream-page .experience-hero.dream-hero-full-bleed {
    margin-top:8px;
  }
  .dream-page .dream-progress {
    margin-top:8px;
  }
  .dream-page .dream-workspace {
    margin-top:8px;
  }
  .dream-page .dream-seo {
    margin-top:32px;
  }
  .dream-page .dream-faq {
    margin-top:32px;
    margin-bottom:12px !important;
    padding-top:20px;
    gap:8px;
  }
}
