:root{font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:#241921;background:#fbf9f7;font-synthesis:none;--ink:#241921;--muted:#665a62;--rose:#a44367;--rose-dark:#853354;--gold:#c7a46c;--line:#e6dce0;--cream:#fbf9f7;--serif:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;font-size:16px;line-height:1.65}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}img{max-width:100%;display:block}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #c4587b;outline-offset:3px}.skip{position:absolute;left:-9999px;top:8px;background:white;padding:8px;z-index:100}.skip:focus{left:8px}
.site-header{background:var(--ink);color:white}.header-inner{max-width:1440px;min-height:78px;margin:auto;padding:0 clamp(20px,4.4vw,64px);display:flex;align-items:center;gap:38px}.brand{display:inline-flex;align-items:center;gap:12px;white-space:nowrap}.brand-mark{display:grid;place-items:center;border:1px solid var(--gold);border-radius:50%;width:42px;height:42px;color:var(--gold);font-size:30px;line-height:1}.brand strong{display:block;font:700 1.18rem/1.1 Georgia,serif;letter-spacing:.12em}.brand small{display:block;margin-top:2px;color:#c8b5bc;font-size:.65rem;letter-spacing:.18em}.site-header nav{display:flex;gap:30px;margin-left:auto}.site-header nav a{font-size:.88rem;letter-spacing:.06em;color:#dfd3d9}.site-header nav a:hover,.site-header nav .nav-active{color:white}.preview-pill{border:1px solid rgba(215,184,117,.55);border-radius:999px;padding:5px 12px;color:#e6c994;font-size:.7rem;white-space:nowrap}.notice-strip{text-align:center;padding:8px 20px;background:#f5e9ee;color:#70505f;font-size:.79rem}.notice-strip span{font-weight:700}
.search-hero{position:relative;max-width:1440px;min-height:470px;margin:auto;padding:65px clamp(20px,4.4vw,64px) 80px;overflow:hidden;background:linear-gradient(105deg,#f9f2f3 0%,#f7e9ed 52%,#f0dce3 100%)}.hero-copy{position:relative;z-index:2;max-width:660px}.eyebrow{margin:0 0 14px;color:var(--rose);font:700 .73rem/1.3 Georgia,serif;letter-spacing:.26em}.search-hero h1{margin:0;color:var(--ink);font:600 clamp(2.45rem,4.6vw,4.65rem)/1.22 var(--serif);letter-spacing:.035em}.search-hero h1 em{color:var(--rose);font-style:normal}.hero-desc{max-width:530px;margin:21px 0 0;color:#5c4d56;font-size:.95rem;line-height:1.85}.hero-art{position:absolute;right:0;top:0;bottom:0;width:42%;overflow:hidden}.hero-art:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,#f6e9ed 0%,rgba(246,233,237,.12) 40%,rgba(36,25,33,.08) 100%)}.hero-art img{height:100%;width:100%;object-fit:cover;object-position:58% 35%}.search-panel{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr 1.45fr auto;gap:12px;align-items:end;max-width:1160px;margin:48px 0 0;padding:20px;background:#fff;border:1px solid #eee1e5;box-shadow:0 16px 42px rgba(65,32,48,.12);border-radius:12px}.search-panel label{display:grid;gap:7px;min-width:0}.search-panel label span{font-size:.78rem;font-weight:700;color:#5b4853}.search-panel select,.search-panel input{width:100%;height:48px;border:1px solid #e1d5da;background:white;border-radius:6px;padding:0 13px;color:var(--ink);font-size:.88rem}.search-panel select:disabled{background:#faf8f8;color:#82747c}.search-button{height:48px;border:0;border-radius:6px;background:var(--rose);color:white;font-size:.87rem;font-weight:700;padding:0 23px;white-space:nowrap;transition:background .2s,transform .2s}.search-button:hover{background:var(--rose-dark);transform:translateY(-2px)}.search-button span{margin-left:12px}.quick-links{position:relative;z-index:2;display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:16px;font-size:.77rem}.quick-links>span{font-weight:700;color:#6e5d65;margin-right:5px}.quick-links button{border:1px solid #dbc4cc;border-radius:999px;padding:5px 13px;background:rgba(255,255,255,.72);color:#765465;font-size:.75rem}.quick-links button:hover{border-color:var(--rose);color:var(--rose)}
.results-section{max-width:1440px;margin:auto;padding:62px clamp(20px,4.4vw,64px) 80px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px}.section-heading .eyebrow{margin-bottom:6px}.section-heading h2{font:600 clamp(1.8rem,3vw,2.7rem)/1.3 var(--serif);margin:0}.section-heading p:last-child{font-size:.85rem;color:var(--muted);margin:7px 0 0}.sort-control{display:flex;align-items:center;gap:9px;font-size:.78rem;color:var(--muted)}.sort-control select{background:white;border:1px solid var(--line);border-radius:6px;padding:9px 28px 9px 10px;min-width:120px}.filter-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 4px;margin:28px 0 24px;font-size:.86rem}.filter-row label{display:flex;align-items:center;gap:8px}.filter-row input{accent-color:var(--rose);width:16px;height:16px}.filter-row button{background:none;border:0;color:var(--rose);font-size:.82rem;text-decoration:underline}.results-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.loading,.empty-state{grid-column:1/-1;padding:70px 25px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:12px;color:var(--muted)}.empty-state h3{color:var(--ink);font:600 1.5rem var(--serif);margin:0 0 12px}.empty-state p{max-width:600px;margin:0 auto 18px}.empty-state a{color:var(--rose);font-weight:700;text-decoration:underline}.salon-card{overflow:hidden;background:white;border:1px solid var(--line);border-radius:11px;transition:transform .2s,box-shadow .2s}.salon-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(57,26,38,.10)}.salon-card .card-image{position:relative;height:228px;background:#f0e7e9;overflow:hidden}.salon-card img{width:100%;height:100%;object-fit:cover}.salon-card .sample-label,.salon-card .card-badge{position:absolute;left:13px;top:13px;background:#fff9f2;color:#795266;border-radius:3px;padding:5px 8px;font-size:.69rem;font-weight:700;letter-spacing:.04em}.salon-card .card-badge{background:#fff;color:var(--rose)}.card-body{padding:19px 20px 21px}.card-meta{color:var(--rose);font-size:.72rem;font-weight:700;letter-spacing:.07em}.card-body h3{margin:7px 0 4px;font:600 1.36rem/1.3 var(--serif)}.card-body p{margin:0;color:var(--muted);font-size:.83rem}.card-tags{display:flex;gap:5px;flex-wrap:wrap;margin:15px 0}.card-tags span{background:#f8f0f3;color:#69515d;padding:4px 7px;border-radius:3px;font-size:.7rem}.card-bottom{display:flex;align-items:end;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding-top:12px}.card-bottom strong{font:700 1.15rem Georgia,serif;color:var(--ink)}.card-bottom small{display:block;font-size:.68rem;color:var(--muted)}.card-bottom a{font-size:.79rem;font-weight:700;color:var(--rose)}.card-bottom a:hover{text-decoration:underline}.pagination{display:flex;justify-content:center;gap:8px;margin-top:30px}.pagination button{border:1px solid var(--line);background:white;border-radius:6px;padding:8px 14px}.pagination button[aria-current]{background:var(--ink);color:white}.pagination button:disabled{opacity:.45;cursor:not-allowed}
.guide-section{background:var(--ink);color:white;padding:68px max(20px,calc((100vw - 1312px)/2)) 78px;display:grid;grid-template-columns:90px 330px 1fr;gap:30px;align-items:start}.guide-number{font:.78rem Georgia,serif;color:var(--gold);letter-spacing:.14em;margin-top:13px}.guide-section h2{font:600 2.45rem/1.42 var(--serif);margin:0}.guide-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.guide-steps>div{border-top:1px solid #806a6e;padding-top:18px}.guide-steps b{color:var(--gold);font:700 1.2rem Georgia,serif}.guide-steps h3{font:600 1.15rem var(--serif);margin:13px 0 5px}.guide-steps p{color:#d2c5ca;font-size:.8rem;line-height:1.7;margin:0}.site-footer{background:#1b121a;color:#d9ccd2;padding:30px max(20px,calc((100vw - 1312px)/2));display:flex;justify-content:space-between;gap:24px;font-size:.75rem}.site-footer span{font:700 1rem Georgia,serif;white-space:nowrap;letter-spacing:.1em}.site-footer span small{font-size:.57rem;color:var(--gold)}.site-footer p{margin:0}
@media(max-width:1050px){.hero-art{width:48%;opacity:.67}.search-panel{grid-template-columns:1fr 1fr}.guide-section{grid-template-columns:1fr 2fr}.guide-number{display:none}.guide-steps{grid-column:1/-1}.results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.header-inner{min-height:65px;gap:10px;padding:0 18px}.brand strong{font-size:.93rem}.brand small{font-size:.54rem}.brand-mark{width:35px;height:35px;font-size:25px}.site-header nav{display:none}.preview-pill{margin-left:auto;padding:4px 8px;font-size:.62rem}.notice-strip{font-size:.7rem}.search-hero{min-height:auto;padding:34px 18px 38px;background:#f7edef}.hero-copy{max-width:100%}.search-hero h1{font-size:2.15rem}.hero-desc{font-size:.84rem;max-width:82%;margin-top:12px}.hero-art{top:0;right:0;width:65%;height:245px;bottom:auto;opacity:.32}.hero-art:before{background:linear-gradient(90deg,#f7edef 0%,rgba(247,237,239,.25) 80%)}.search-panel{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px;margin-top:24px}.search-panel .keyword,.search-button{grid-column:1/-1}.search-panel select,.search-panel input,.search-button{height:44px;font-size:.8rem}.search-button{font-size:.85rem}.quick-links{margin-top:14px}.quick-links>span{width:100%}.results-section{padding:42px 18px 55px}.section-heading{align-items:start}.section-heading h2{font-size:1.7rem}.sort-control{display:grid;gap:2px}.sort-control select{min-width:100px}.results-grid{grid-template-columns:1fr;gap:14px}.salon-card{display:grid;grid-template-columns:40% 60%;min-height:182px}.salon-card .card-image{height:100%;min-height:182px}.salon-card .card-badge,.salon-card .sample-label{font-size:.57rem;left:6px;top:7px;padding:3px 5px}.card-body{padding:13px 12px}.card-body h3{font-size:1.08rem;margin:4px 0}.card-meta{font-size:.64rem}.card-body p{font-size:.73rem}.card-tags{margin:8px 0}.card-tags span{font-size:.61rem}.card-bottom{padding-top:7px}.card-bottom strong{font-size:1rem}.card-bottom a{font-size:.7rem}.guide-section{padding:48px 18px;display:block}.guide-section h2{font-size:1.9rem}.guide-steps{grid-template-columns:1fr;margin-top:26px;gap:17px}.guide-steps>div{padding-top:12px}.guide-steps h3{display:inline-block;margin:0 0 0 12px}.site-footer{display:block;padding:25px 18px}.site-footer p{margin-top:9px}}
@media(max-width:390px){.brand strong{font-size:.82rem}.preview-pill{font-size:.57rem}.search-hero h1{font-size:1.9rem}.hero-desc{max-width:92%}.search-panel{grid-template-columns:1fr}.search-panel .keyword,.search-button{grid-column:auto}.salon-card{grid-template-columns:37% 63%}.card-tags span:nth-child(n+3){display:none}}
/* Search and preview refinements */
[hidden]{display:none!important}
.search-hero{min-height:390px;padding-top:48px;padding-bottom:48px}
.search-panel{margin-top:28px}
.results-section{padding-top:42px}
.demo-section{margin-top:42px;padding-top:28px;border-top:1px solid var(--line)}
.demo-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}
.demo-heading h3{margin:0;font:600 1.55rem/1.3 var(--serif)}
.demo-heading p{max-width:670px;margin:0;color:var(--muted);font-size:.88rem}
.sample-end{font-size:.78rem;color:var(--muted)}
.retry-button{margin-top:10px;border:1px solid var(--rose);color:var(--rose);background:#fff;border-radius:6px;padding:10px 18px}
@media(max-width:680px){
  .search-hero{padding-top:32px;padding-bottom:32px}
  .search-panel{margin-top:20px}
  .results-section{padding-top:34px}
  .demo-heading{display:block}
  .demo-heading p{margin-top:8px}
}
/* Kansai search */
.search-panel{grid-template-columns:.82fr 1fr 1fr 1.25fr auto;max-width:1250px}
.back-link{display:inline-flex;margin:24px 0;color:var(--rose);font-weight:700;font-size:.88rem}
.detail-main,.booking-main{max-width:1320px;margin:auto;padding:0 clamp(20px,4.4vw,64px) 90px}
.page-loading,.detail-error,.booking-success{padding:70px 28px;text-align:center;background:white;border:1px solid var(--line);border-radius:12px}
.detail-error h1,.booking-success h1{font:600 2rem/1.3 var(--serif)}
.detail-error p,.booking-success p{color:var(--muted)}
.primary-link{display:inline-block;margin-top:18px;padding:13px 22px;border-radius:6px;background:var(--rose);color:white;font-size:.91rem;font-weight:700}
.primary-link:hover{background:var(--rose-dark)}
.text-link{color:var(--rose);font-weight:700;text-decoration:underline}
.detail-hero{display:grid;grid-template-columns:minmax(0,47%) minmax(0,1fr);background:#f7edf0;border-radius:12px;overflow:hidden;min-height:420px}
.detail-photo{background:#e8dadd}
.detail-photo img{height:100%;width:100%;object-fit:cover}
.detail-intro{padding:clamp(26px,4vw,58px);align-self:center}
.detail-intro .eyebrow{margin-bottom:12px}
.detail-kicker{font-size:.83rem;color:var(--rose);font-weight:700;letter-spacing:.06em}
.detail-intro h1{margin:12px 0;font:600 clamp(2rem,3.2vw,3.25rem)/1.3 var(--serif)}
.detail-catch{font:600 1.25rem/1.6 var(--serif);margin:0 0 15px}
.detail-description{color:var(--muted);line-height:1.9;white-space:pre-line}
.detail-facts{display:flex;flex-wrap:wrap;gap:7px;margin:22px 0 6px}
.detail-facts span{padding:5px 9px;background:white;border:1px solid var(--line);border-radius:4px;font-size:.78rem}
.detail-help{color:var(--muted);font-size:.88rem}
.campaign-box{margin-top:24px;padding:22px 28px;border-left:4px solid var(--gold);background:#fff9ef}
.campaign-box b{font-size:.78rem;color:#7c6042}
.campaign-box h2{margin:6px 0;font:600 1.5rem var(--serif)}
.campaign-box p{margin:6px 0;color:var(--muted)}
.campaign-box small{font-size:.78rem;color:var(--muted)}
.detail-nav{display:flex;flex-wrap:wrap;gap:20px;margin-top:36px;padding:15px 0;border-block:1px solid var(--line)}
.detail-nav a{color:var(--rose);font-size:.85rem;font-weight:700}
.detail-nav a:hover{text-decoration:underline}
.detail-section{padding:42px 0 8px;scroll-margin-top:24px}
.detail-section h2{font:600 clamp(1.65rem,2.4vw,2.2rem)/1.3 var(--serif);margin:0 0 23px}
.muted{color:var(--muted)}
.menu-group{border-top:1px solid var(--line);padding:18px 0}
.menu-group h3{font:600 1.25rem var(--serif);margin:0 0 6px;color:var(--rose)}
.menu-row{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}
.menu-row strong{display:block;font-weight:600}
.menu-row small{display:block;color:var(--muted);font-size:.78rem;margin-top:4px}
.menu-row b{white-space:nowrap;font-size:.95rem}
.cast-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.cast-card{display:grid;grid-template-columns:100px 1fr;gap:14px;background:white;border:1px solid var(--line);border-radius:8px;overflow:hidden;min-height:126px}
.cast-card img{width:100px;height:100%;object-fit:cover}
.cast-card>div{padding:13px 12px 13px 0}
.cast-card h3{font:600 1.1rem var(--serif);margin:0 0 5px}
.cast-card p{font-size:.78rem;color:var(--muted);margin:0 0 7px}
.cast-status{font-size:.75rem;color:var(--muted)}
.cast-status.status-open{color:#24775b;font-weight:700}
.schedule-list{border-top:1px solid var(--line)}
.schedule-row{display:grid;grid-template-columns:180px 1fr 120px;gap:12px;padding:13px 10px;border-bottom:1px solid var(--line);font-size:.88rem}
.info-list{margin:0;max-width:900px}
.info-row{display:grid;grid-template-columns:145px 1fr;gap:18px;padding:15px 0;border-bottom:1px solid var(--line)}
.info-row dt{font-weight:700;color:var(--muted)}
.info-row dd{margin:0;white-space:pre-line}
.booking-main{max-width:1000px}
.booking-heading{text-align:center;margin:14px 0 32px}
.booking-heading h1{font:600 clamp(2rem,3vw,2.75rem)/1.3 var(--serif);margin:0 0 10px}
.booking-heading>p:last-child{color:var(--muted);margin:0}
.booking-form{background:white;border:1px solid var(--line);border-radius:12px;padding:clamp(20px,4vw,42px)}
.booking-section+.booking-section{border-top:1px solid var(--line);margin-top:32px;padding-top:32px}
.booking-section h2{font:600 1.55rem var(--serif);margin:0 0 22px}
.booking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.booking-field{display:grid;gap:7px;font-size:.89rem;font-weight:700;min-width:0}
.booking-field>span{display:flex;align-items:center;gap:8px}
.required-label{font-size:.69rem;color:#a52d50;border:1px solid #dbacbb;border-radius:3px;padding:1px 5px}
.booking-field input,.booking-field select,.booking-field textarea{width:100%;min-height:47px;border:1px solid #d9cbd1;border-radius:6px;padding:9px 12px;background:white;color:var(--ink);font-weight:400}
.booking-field textarea{resize:vertical}
.booking-field input:disabled,.booking-field select:disabled{background:#f8f5f6}
.booking-options{border:1px solid var(--line);border-radius:7px;margin:22px 0;padding:14px 18px}
.booking-options legend{font-size:.89rem;font-weight:700;padding:0 6px}
.booking-options label{display:flex;align-items:center;gap:9px;margin:8px 0;font-size:.85rem}
.booking-options input{accent-color:var(--rose);width:17px;height:17px}
.time-wrap{max-width:470px}
.next-date{margin-top:10px}
.next-date-button{border:1px solid var(--rose);border-radius:6px;background:white;color:var(--rose);padding:9px 13px;font-size:.84rem}
.field-help{margin:9px 0 22px;color:var(--muted);font-size:.78rem}
.booking-status{background:#f6eef1;padding:12px 15px;border-radius:6px;color:#6b4758;font-size:.86rem;min-height:48px}
.booking-status.warning{background:#fff5e6;color:#785c2f}
.booking-status.error{background:#fff0f0;color:#a13544}
.booking-submit{margin-top:18px;min-width:220px}
.booking-submit:disabled{opacity:.5;cursor:not-allowed;transform:none}
.booking-disclaimer{color:var(--muted);font-size:.81rem;margin:12px 0 0}
.honeypot{position:absolute;left:-9999px}
.booking-success{text-align:left;max-width:700px;margin:auto}
.booking-success .success-note{color:var(--ink);font-weight:700;background:#f9f1f4;padding:12px}
.booking-success .info-list{margin:20px 0}
@media(max-width:1050px){.search-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.search-panel .keyword,.search-button{grid-column:1/-1}.cast-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){
  .search-panel{grid-template-columns:repeat(2,minmax(0,1fr))}
  .search-panel .keyword,.search-button{grid-column:1/-1}
  .detail-main,.booking-main{padding:0 18px 55px}
  .detail-hero{display:block}
  .detail-photo{height:230px}
  .detail-intro{padding:25px 20px 30px}
  .detail-nav{gap:12px}
  .detail-section{padding-top:32px}
  .cast-grid{grid-template-columns:1fr}
  .schedule-row{grid-template-columns:110px 1fr;gap:4px;font-size:.78rem}
  .schedule-row span:last-child{grid-column:2}
  .info-row{grid-template-columns:100px 1fr;gap:10px;font-size:.87rem}
  .booking-grid{grid-template-columns:1fr}
  .booking-form{padding:20px 15px}
  .booking-submit{width:100%}
}
@media(max-width:390px){.search-panel{grid-template-columns:1fr}.search-panel .keyword,.search-button{grid-column:auto}}
/* Individual store pages */
.demo-detail-banner{display:flex;align-items:center;gap:18px;margin:4px 0 20px;padding:14px 20px;background:#f6e9ee;border-left:4px solid var(--rose);border-radius:4px}
.demo-detail-banner strong{flex:0 0 auto;color:var(--rose);font-size:.86rem}
.demo-detail-banner p{margin:0;color:#5c4853;font-size:.86rem}
.demo-detail-hero .detail-photo{position:relative}
.demo-detail-hero .detail-photo::after{content:"架空の掲載イメージ";position:absolute;left:16px;top:16px;padding:6px 10px;background:#fff9f2;color:#795266;border-radius:3px;font-size:.76rem;font-weight:700}
.demo-unavailable{font-weight:700;color:var(--rose);margin:22px 0 0}
.demo-section-help{color:var(--muted);margin:-10px 0 20px;font-size:.88rem}
.demo-end-note{margin-top:38px;padding:25px 28px;background:#f6eef1;border-radius:8px}
.demo-end-note h2{font:600 1.3rem var(--serif);margin:0 0 7px}
.demo-end-note p{margin:0;color:var(--muted);font-size:.88rem}
.detail-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}
.detail-gallery img{width:100%;height:175px;object-fit:cover;border-radius:7px;background:#eee5e8}
.info-links{display:flex;flex-wrap:wrap;gap:16px;margin-top:20px}
@media(max-width:680px){
  .demo-detail-banner{display:block;padding:13px 15px}
  .demo-detail-banner p{margin-top:4px}
  .detail-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .detail-gallery img{height:115px}
}
/* Store hero */
.detail-hero{
  grid-template-columns:minmax(0,54%) minmax(0,46%);
  align-items:center;
  max-width:1160px;
  min-height:0;
  margin-inline:auto;
  overflow:visible;
  background:transparent;
  border-radius:0;
  isolation:isolate;
}
.detail-photo{
  position:relative;
  width:100%;
  height:auto;
  min-height:0;
  aspect-ratio:3/2;
  overflow:hidden;
  border-radius:12px;
  box-shadow:0 16px 38px rgba(41,22,33,.14);
}
.detail-photo::before{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  background:linear-gradient(180deg,transparent 75%,rgba(25,16,24,.12));
  pointer-events:none;
}
.detail-photo img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-position:center 42%;
  transition:transform .7s ease;
}
.detail-hero:hover .detail-photo img{transform:scale(1.015)}
.detail-intro{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-self:center;
  min-height:0;
  margin:0 0 0 -30px;
  padding:clamp(28px,3.4vw,48px);
  background:#fcf8f9;
  border-left:3px solid var(--gold);
  border-radius:0 10px 10px 0;
  box-shadow:0 12px 34px rgba(72,40,55,.10);
}
.detail-intro .eyebrow{margin:0 0 11px}
.detail-intro .detail-kicker{margin:0 0 10px}
.detail-intro h1{
  margin:0 0 13px;
  font-size:clamp(2.1rem,3.15vw,3.25rem);
  line-height:1.17;
}
.detail-intro .detail-catch{margin:0}
.demo-detail-hero .detail-photo::after{content:none}
.detail-summary{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,.82fr);
  gap:clamp(20px,3vw,42px);
  align-items:start;
  max-width:1160px;
  margin:23px auto 0;
  padding:22px 0 28px;
  border-bottom:1px solid var(--line);
}
.detail-summary > :only-child{grid-column:1/-1}
.detail-summary .detail-description{margin:0}
.detail-summary .detail-facts{margin:0}
.detail-summary .detail-help,.detail-summary .demo-unavailable{margin:14px 0 0}
.detail-summary .primary-link{margin-top:14px}
@media(max-width:780px){
  .detail-hero{display:block}
  .detail-photo{
    height:clamp(260px,75vw,340px);
    aspect-ratio:auto;
  }
  .detail-intro{
    display:block;
    margin:-22px 12px 0;
    padding:27px 23px 29px;
    border-left:0;
    border-top:3px solid var(--gold);
    border-radius:9px;
  }
  .detail-summary{grid-template-columns:1fr;gap:16px;margin-top:16px;padding:8px 2px 26px}
}
@media(max-width:390px){
  .detail-intro{margin:-20px 10px 0;padding:25px 20px 27px}
  .detail-intro h1{font-size:2.1rem}
}
@media(prefers-reduced-motion:reduce){
  .detail-photo img{transition:none}
  .detail-hero:hover .detail-photo img{transform:none}
}
