/* Consolidated existing home presentation styles: V2 + V3 + V4 + V5. */
/* SavorIP main v1. All presentation is scoped to the authored main subtree. */
#main > [data-savorip-home-v1] {
  --sm-bg:#0b1425; --sm-panel:#111f34; --sm-line:#33475e; --sm-gold:#e6c77f;
  --sm-text:#f8f5eb; --sm-muted:#bcc8d6; --sm-green:#0b312b;
  box-sizing:border-box; color:var(--sm-text); background:var(--sm-bg);
  font-family:inherit; width:100%; max-width:none; padding:0 0 32px;
  line-height:1.6; -webkit-font-smoothing:antialiased;
}
#main .sm1 *, #main .sm1 *::before, #main .sm1 *::after {box-sizing:border-box}
#main .sm1 :is(h1,h2,h3,p,figure,ol) {margin:0; padding:0; color:inherit}
#main .sm1 :is(a,button) {font-family:inherit}
#main .sm1 a {color:inherit; text-decoration:none}
#main .sm1 img {display:block; max-width:100%; border:0}
#main .sm1 svg {width:20px; height:20px; flex:none}
#main .sm1 a:focus-visible {outline:3px solid #f6dc94; outline-offset:5px}
#main .sm1 :is(section) {scroll-margin-top:92px; position:relative}
#main .sm1 .sm1-eyebrow {font:700 10px/1.4 inherit; font-size:10px; font-weight:700; line-height:1.4; letter-spacing:.16em; color:var(--sm-gold)}
#main .sm1 .sm1-hero {max-width:1264px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; min-height:590px; padding:64px 42px 56px; gap:36px; align-items:center; overflow:hidden}
#main .sm1 .sm1-lead {position:relative; z-index:2; min-width:0}
#main .sm1 #heroTitle {font-family:inherit; font-weight:800; font-size:clamp(32px,4.3vw,57px); line-height:1.17; letter-spacing:-.045em; margin:20px 0 22px; text-wrap:balance; max-width:700px}
#main .sm1 #heroTitle span {color:var(--sm-gold)}
#main .sm1 .sm1-intro {color:var(--sm-muted); font-size:16px; line-height:1.85; max-width:400px; margin-bottom:28px; word-break:keep-all; overflow-wrap:anywhere}
#main .sm1 .sm1-primary {display:inline-flex; align-items:center; justify-content:space-between; gap:28px; min-height:50px; padding:13px 22px; border:1px solid var(--sm-gold); border-radius:9px; background:var(--sm-gold); color:#14251f; font-size:14px; font-weight:750; line-height:1.5; transition:background .18s ease,transform .18s ease}
#main .sm1 .sm1-primary:hover {background:#f2d99b; transform:translateY(-2px)}
#main .sm1 .sm1-hero-art {height:465px; position:relative; margin:0; isolation:isolate}
#main .sm1 .sm1-art-halo {position:absolute; inset:16% -12% 8%; background:radial-gradient(ellipse,#38534555,transparent 67%); z-index:-1}
#main .sm1 .sm1-hero-phone {position:absolute; width:63%; height:84%; left:2%; top:0; overflow:hidden; border-radius:110px 110px 14px 14px; border:1px solid #a4a38c55; box-shadow:0 28px 58px #020a1688; transform:rotate(-5deg)}
#main .sm1 .sm1-hero-phone img {width:100%; height:100%; object-fit:cover}
#main .sm1 .sm1-hero-mug {position:absolute; width:46%; aspect-ratio:1; bottom:32px; right:0; border:7px solid var(--sm-bg); border-radius:16px; box-shadow:0 12px 40px #0005; transform:rotate(6deg); overflow:hidden}
#main .sm1 .sm1-hero-mug img {width:100%;height:100%;object-fit:cover}
#main .sm1 .sm1-hero-art figcaption {position:absolute; bottom:1px; left:0; display:flex; align-items:center; gap:8px; font-size:11px; color:var(--sm-muted)}
#main .sm1 .sm1-dot {width:5px; height:5px; border-radius:100%; background:var(--sm-gold)}
#main .sm1 .sm1-section {max-width:1264px; margin:0 auto; padding:48px 42px 60px}
#main .sm1 .sm1-section-heading {display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:28px}
#main .sm1 h2 {font-family:inherit; font-size:clamp(24px,2.7vw,36px); font-weight:750; line-height:1.3; letter-spacing:-.035em; word-break:keep-all; overflow-wrap:anywhere}
#main .sm1 .sm1-section-heading h2 {margin-top:11px}
#main .sm1 .sm1-section-intro {max-width:380px; color:var(--sm-muted); font-size:14px; line-height:1.8; word-break:keep-all; overflow-wrap:anywhere}
#main .sm1 .sm1-ideas {display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:20px}
#main .sm1 .sm1-entry {grid-column:span 2; overflow:hidden; min-width:0; border:1px solid var(--sm-line); border-radius:14px; background:var(--sm-panel); transition:border-color .18s ease,transform .18s ease}
#main .sm1 .sm1-entry:hover {border-color:var(--sm-gold);transform:translateY(-3px)}
#main .sm1 .sm1-entry-0,#main .sm1 .sm1-entry-1 {grid-column:span 3}
#main .sm1 .sm1-entry-photo {position:relative; width:100%; aspect-ratio:16/10; overflow:hidden; background:#132235}
#main .sm1 .sm1-entry-photo img {width:100%; height:100%; object-fit:cover; transition:transform .3s ease}
#main .sm1 .sm1-entry-0 .sm1-entry-photo img {object-position:50% 48%}
#main .sm1 .sm1-entry:hover .sm1-entry-photo img {transform:scale(1.025)}
#main .sm1 .sm1-entry-number {position:absolute; top:12px; left:12px; font-size:10px; color:#f5dfab; background:#071522ce; border:1px solid #e6c77f6b; border-radius:5px; padding:3px 7px; font-variant-numeric:tabular-nums}
#main .sm1 .sm1-entry-copy {padding:21px 22px 19px}
#main .sm1 h3 {font-size:19px; line-height:1.4; font-weight:750; letter-spacing:-.025em; word-break:keep-all; overflow-wrap:anywhere}
#main .sm1 .sm1-entry-copy p {font-size:13px; line-height:1.8; color:var(--sm-muted); margin:8px 0 22px; word-break:keep-all; overflow-wrap:anywhere}
#main .sm1 .sm1-entry-action {display:flex; align-items:center; justify-content:space-between; gap:14px; color:var(--sm-gold); font-size:12px; font-weight:700; line-height:1.5}
#main .sm1 .sm1-how {max-width:1180px; margin:12px auto 28px; padding:35px 34px 26px; border-top:1px solid var(--sm-line); border-bottom:1px solid var(--sm-line); background:linear-gradient(110deg,#0c2926aa,#15203455); border-radius:0}
#main .sm1 .sm1-how-heading {display:flex; flex-wrap:wrap; align-items:center; gap:12px 28px; margin-bottom:28px}
#main .sm1 .sm1-how-heading h2 {font-size:25px}
#main .sm1 .sm1-steps {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; list-style:none}
#main .sm1 .sm1-steps li {display:flex; align-items:flex-start; gap:14px; min-width:0}
#main .sm1 .sm1-step-no {font-size:12px; color:var(--sm-gold); line-height:25px; border-bottom:1px solid #e6c77f66; flex:none}
#main .sm1 .sm1-steps h3 {font-size:15px}
#main .sm1 .sm1-steps p {font-size:12px; color:var(--sm-muted); margin-top:5px; overflow-wrap:anywhere}
#main .sm1 .sm1-how-note {font-size:11px; color:var(--sm-muted); margin-top:25px}
#main .sm1 .sm1-collection .sm1-section-intro {margin-top:14px; max-width:500px}
#main .sm1 .sm1-link {display:inline-flex; align-items:center; justify-content:space-between; gap:20px; min-height:44px; color:var(--sm-gold); font-size:13px; font-weight:700; border-bottom:1px solid #e6c77f66; line-height:1.5; padding:6px 0; flex:none}
#main .sm1 .sm1-link:hover {color:#ffe4a4; border-color:#ffe4a4}
#main .sm1 .sm1-artworks {display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px}
#main .sm1 .sm1-artwork {display:block; min-width:0}
#main .sm1 .sm1-artwork > div {height:285px; background:#131f30; padding:14px; display:flex; align-items:center; justify-content:center; border:1px solid #2a3b51; border-radius:3px}
#main .sm1 .sm1-artwork img {max-height:100%; max-width:100%; width:auto; height:auto; object-fit:contain; box-shadow:0 9px 18px #0006}
#main .sm1 .sm1-artwork p {font-size:12px; line-height:1.6; margin-top:12px; overflow-wrap:anywhere}
#main .sm1 .sm1-artwork small {font-size:10px; color:var(--sm-muted); letter-spacing:.06em}
#main .sm1 .sm1-guide {max-width:1180px; margin:16px auto 0; display:grid; grid-template-columns:180px 1fr; align-items:center; gap:34px; padding:24px 54px; border:1px solid #3b554b; border-radius:18px; background:var(--sm-green); overflow:hidden}
#main .sm1 .sm1-guide-portrait {height:235px; display:flex; align-items:center; justify-content:center}
#main .sm1 .sm1-guide-portrait img {width:auto; height:100%; object-fit:contain}
#main .sm1 .sm1-guide h2 {font-size:29px; margin-top:12px}
#main .sm1 .sm1-guide-text {font-size:14px; color:#c4d5cc; max-width:580px; line-height:1.8; margin:14px 0}
#main .sm1 .sm1-closing {padding:70px 24px 48px; text-align:center}
#main .sm1 .sm1-closing h2 {font-size:30px; margin-bottom:25px}
#main .sm1 .sm1-closing h2 span {color:var(--sm-gold)}
@media(max-width:980px) {
 #main .sm1 .sm1-hero {padding:38px 30px 40px;gap:24px;min-height:510px}
 #main .sm1 .sm1-hero-art {height:385px}
 #main .sm1 .sm1-section {padding:40px 28px}
 #main .sm1 .sm1-how,#main .sm1 .sm1-guide {margin-left:28px;margin-right:28px}
 #main .sm1 .sm1-entry-copy {padding:18px}
 #main .sm1 .sm1-artwork > div {height:220px}
}
@media(max-width:760px) {
 #main .sm1 {padding-bottom:18px}
 #main .sm1 .sm1-hero {display:flex;flex-direction:column;align-items:stretch;gap:22px;min-height:0;padding:31px 20px 28px}
 #main .sm1 #heroTitle {font-size:clamp(29px,8.3vw,44px);line-height:1.2;letter-spacing:-.045em;margin:14px 0 15px;text-wrap:initial}
 #main .sm1 .sm1-eyebrow {font-size:9px;letter-spacing:.12em}
 #main .sm1 .sm1-intro {font-size:13px;line-height:1.8;margin-bottom:19px;max-width:440px}
 #main .sm1 .sm1-primary {font-size:13px;min-height:48px;border-radius:8px;padding:12px 17px}
 #main .sm1 .sm1-hero-art {height:clamp(258px,75vw,380px);max-width:450px;width:100%;align-self:center}
 #main .sm1 .sm1-hero-phone {width:61%;height:88%;left:6%;border-radius:70px 70px 12px 12px}
 #main .sm1 .sm1-hero-mug {width:44%;right:3%;bottom:28px;border-width:5px}
 #main .sm1 .sm1-hero-art figcaption {left:7%;font-size:10px}
 #main .sm1 .sm1-section {padding:35px 20px}
 #main .sm1 .sm1-section-heading {display:block;margin-bottom:21px}
 #main .sm1 h2 {font-size:25px}
 #main .sm1 .sm1-section-heading h2 {margin-top:10px}
 #main .sm1 .sm1-section-intro {font-size:13px;line-height:1.8;margin-top:13px;max-width:none}
 #main .sm1 .sm1-ideas {grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 #main .sm1 .sm1-entry,#main .sm1 .sm1-entry-0,#main .sm1 .sm1-entry-1 {grid-column:auto;border-radius:10px}
 #main .sm1 .sm1-entry-4 {grid-column:1/-1;display:grid;grid-template-columns:43% 1fr;align-items:stretch}
 #main .sm1 .sm1-entry-photo {aspect-ratio:4/3}
 #main .sm1 .sm1-entry-4 .sm1-entry-photo {height:100%;aspect-ratio:auto;min-height:170px}
 #main .sm1 .sm1-entry-copy {padding:13px 12px}
 #main .sm1 h3 {font-size:15px;line-height:1.4}
 #main .sm1 .sm1-entry-copy p {font-size:11px;line-height:1.7;margin:7px 0 14px}
 #main .sm1 .sm1-entry-action {font-size:11px;gap:5px;align-items:flex-start}
 #main .sm1 .sm1-entry-action svg {width:16px;height:16px}
 #main .sm1 .sm1-entry-number {font-size:9px;top:8px;left:8px;padding:2px 5px}
 #main .sm1 .sm1-how {margin:10px 20px 12px;padding:25px 0 22px;background:transparent}
 #main .sm1 .sm1-how-heading {display:block;margin-bottom:22px}
 #main .sm1 .sm1-how-heading h2 {font-size:24px;margin-top:10px}
 #main .sm1 .sm1-steps {grid-template-columns:1fr;gap:18px}
 #main .sm1 .sm1-steps h3 {font-size:14px}
 #main .sm1 .sm1-steps p {font-size:12px}
 #main .sm1 .sm1-how-note {font-size:11px;line-height:1.7;margin-top:21px}
 #main .sm1 .sm1-collection .sm1-link {margin-top:13px;font-size:12px}
 #main .sm1 .sm1-artworks {grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}
 #main .sm1 .sm1-artwork > div {height:210px;padding:10px}
 #main .sm1 .sm1-artwork p {font-size:11px;margin-top:10px}
 #main .sm1 .sm1-artwork small {font-size:9px}
 #main .sm1 .sm1-guide {margin:12px 20px 0;grid-template-columns:80px 1fr;gap:15px;padding:23px 17px;border-radius:12px;align-items:start}
 #main .sm1 .sm1-guide-portrait {height:130px;margin-top:22px}
 #main .sm1 .sm1-guide h2 {font-size:21px;margin-top:9px}
 #main .sm1 .sm1-guide-text {font-size:12px;margin:11px 0;line-height:1.8}
 #main .sm1 .sm1-guide .sm1-link {font-size:11px;gap:8px}
 #main .sm1 .sm1-closing {padding:48px 20px 33px}
 #main .sm1 .sm1-closing h2 {font-size:24px;line-height:1.4;margin-bottom:20px}
}
@media(max-width:359px) {
 #main .sm1 .sm1-hero {padding-left:16px;padding-right:16px}
 #main .sm1 #heroTitle {font-size:29px}
 #main .sm1 .sm1-section {padding-left:16px;padding-right:16px}
 #main .sm1 .sm1-entry-copy {padding:11px 10px}
 #main .sm1 h3 {font-size:14px}
 #main .sm1 .sm1-entry-copy p {font-size:11px}
 #main .sm1 .sm1-artwork > div {height:180px}
 #main .sm1 .sm1-guide {margin-left:16px;margin-right:16px;padding:20px 14px;grid-template-columns:64px 1fr;gap:12px}
 #main .sm1 .sm1-guide-portrait {height:112px}
 #main .sm1 .sm1-guide h2 {font-size:20px}
 #main .sm1 .sm1-closing h2 {font-size:22px}
}
@media(prefers-reduced-motion:reduce) {#main .sm1 *,#main .sm1 *::before,#main .sm1 *::after{transition:none!important;scroll-behavior:auto!important}}
/* Existing r742 observer marks every homepage h1. Contain its legacy !important sizing here. */
#main .sm1 .sm1-hero {min-height:590px!important;padding:64px 42px 56px!important}
#main .sm1 .sm1-lead {max-width:none!important}
#main .sm1 #heroTitle {max-width:700px!important;font-size:clamp(32px,4.3vw,57px)!important;line-height:1.17!important;margin:20px 0 22px!important;letter-spacing:-.045em!important}
#main .sm1 .sm1-eyebrow {font-size:10px!important;line-height:1.4!important;max-width:none!important;display:block!important;overflow:visible!important;-webkit-line-clamp:unset!important}
#main .sm1 .sm1-hero-art img {width:100%!important;max-width:100%!important;height:100%!important;max-height:none!important;object-fit:cover!important;margin:0!important}
@media(max-width:980px){#main .sm1 .sm1-hero{min-height:510px!important;padding:38px 30px 40px!important}}
@media(max-width:760px){
 #main .sm1 .sm1-hero{min-height:0!important;padding:31px 20px 28px!important}
 #main .sm1 #heroTitle{font-size:clamp(29px,8.3vw,44px)!important;line-height:1.2!important;margin:14px 0 15px!important}
 #main .sm1 .sm1-eyebrow{font-size:9px!important}
}
@media(max-width:359px){#main .sm1 .sm1-hero{padding-left:16px!important;padding-right:16px!important}#main .sm1 #heroTitle{font-size:29px!important}}
/* r742 subsequently recognizes its own generated class on this copy block; keep it a normal grid child. */
#main .sm1 .sm1-lead {min-height:0!important;height:auto!important;max-height:none!important;padding:0!important;overflow:visible!important}

/* Home-only cleanup. The native help dialog and workspace guides remain available. */
html[data-savorip-home-tidy-v3="1"] body > section.svh-overview,
html[data-savorip-home-tidy-v3="1"] #main section.svh-overview {
  display: none !important;
}

/* The requested home promotions are hidden; Saebori guidance, characters and native menus stay. */
html[data-savorip-home-copy-v4="1"] #main [data-savorip-home-v1] > section.sm1-closing,
html[data-savorip-home-copy-v4="1"] #cyborg-learning-home-v2,
html[data-savorip-home-copy-v4="1"] body > #press-discovery-links {
  display: none !important;
}

/* Home-only finish: remove the guide card and obsolete bottom space; keep footer and floating helpers. */
html[data-savorip-home-finish-v5="1"] #main [data-savorip-home-v1] > section.sm1-guide {
  display: none !important;
}
html[data-savorip-home-finish-v5="1"] #main,
html[data-savorip-home-finish-v5="1"] #main > [data-savorip-home-v1] {
  padding-bottom: 0 !important;
}

/* Home header: service links are available in the existing hamburger menu. */
html[data-savorip-home-startup-v6]:has(#siteHeader) #siteHeader .desktop-nav{display:none!important}

/* Current home titles wrap naturally on small screens. */
#main .sm1 .sm1-entry-copy h3{overflow-wrap:anywhere;word-break:keep-all;white-space:normal}
