/* Parfum — /services/ : three lines on the left, a live preview on the right (2026-11-14). */
main:has(.sv-hero){padding-top:clamp(100px,14vh,140px)}
.sv-hero{display:grid;grid-template-columns:minmax(250px,330px) minmax(0,1fr);grid-template-areas:"intro live" "list live";grid-template-rows:auto 1fr;column-gap:clamp(36px,5vw,84px);align-items:start}
.sv-intro{grid-area:intro}
.sv-intro .display{font-size:clamp(52px,6vw,92px);margin-top:14px}
.sv-list{grid-area:list;margin-top:clamp(18px,3.4vh,40px);display:flex;flex-direction:column}
.sv-live{grid-area:live;margin-top:clamp(30px,5.4vh,58px);container-type:inline-size;min-width:0}

/* the three lines */
.sv-tab{position:relative;display:grid;grid-template-columns:2.4em 1fr auto;column-gap:6px;align-items:baseline;width:100%;padding:clamp(16px,2.6vh,24px) 4px clamp(16px,2.6vh,24px) 22px;border:0;border-bottom:1px solid var(--line);background:none;text-align:left;text-decoration:none;color:var(--ink);cursor:pointer;font:inherit}
.sv-tab::before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:3px;border-radius:3px;background:linear-gradient(180deg,#D9A9C6,#A9789A);transform:scaleY(0);transform-origin:top;transition:transform .6s var(--ease)}
.sv-tab::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,#C99BB8,rgba(201,155,184,.15));transform:scaleX(0);transform-origin:left;transition:transform .8s var(--ease)}
.sv-tab[aria-selected=true]::before{transform:scaleY(1)}
.sv-tab[aria-selected=true]::after{transform:scaleX(1)}
.sv-no{font:500 17px/1 'Cormorant Garamond',serif;letter-spacing:.04em;color:var(--muted)}
.sv-name{font:500 clamp(24px,2.2vw,31px)/1.15 'Cormorant Garamond',serif;letter-spacing:.005em}
.sv-arw{font:400 18px/1 'Hanken Grotesk',sans-serif;color:var(--muted);transition:transform .5s var(--ease),color .4s}
.sv-jp{grid-column:2/4;margin-top:8px;font-size:13.5px;letter-spacing:.05em;color:var(--muted)}
.sv-tab:hover .sv-arw,.sv-tab[aria-selected=true] .sv-arw{color:#9C6C8C;transform:translate(2px,-2px)}
.js-sv .sv-tab[aria-selected=false] .sv-name,.js-sv .sv-tab[aria-selected=false] .sv-no{opacity:.78;transition:opacity .4s}
.js-sv .sv-tab:hover .sv-name{opacity:1}

/* the preview panel */
.sv-panel{position:relative;padding:clamp(22px,2.4vw,32px) clamp(18px,2.4vw,30px) clamp(18px,2vw,26px);border-radius:14px;color:#F4ECEF;
  background:radial-gradient(120% 90% at 85% 0%,rgba(150,96,128,.28),transparent 60%),linear-gradient(160deg,#33262F,#221A20 70%);
  border:1px solid rgba(233,185,194,.22);box-shadow:0 44px 90px -46px rgba(60,28,44,.75),inset 0 1px 0 rgba(255,255,255,.06)}
.sv-panel[hidden]{display:none}
.js-sv .sv-panel.show{animation:svIn .7s var(--ease) both}
@keyframes svIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.sv-cap{display:flex;align-items:center;gap:14px;font:500 11.5px/1 'Hanken Grotesk',sans-serif;letter-spacing:.26em;text-transform:uppercase;color:rgba(244,236,239,.78)}
.sv-cap i{font-style:normal;opacity:.5}
.sv-cap::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(244,236,239,.4),rgba(244,236,239,.08))}
.sv-mjp{display:none}
.sv-scene{position:relative;min-height:280px;display:flex;align-items:center;margin:clamp(16px,2.6vh,26px) 0}
.sv-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:18px;border-top:1px solid rgba(244,236,239,.16)}
.sv-play[hidden]{display:none}
.sv-panel :focus-visible{outline-color:#F4ECEF}
.sv-desc{max-width:40em;margin:-4px 0 16px;font-size:13.5px;line-height:1.85;color:rgba(244,236,239,.88);letter-spacing:.02em}
.sv-play{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 22px;border:0;border-radius:99px;cursor:pointer;background:linear-gradient(180deg,#EED3E2,#D3A8C3);color:#2A1F27;font:600 11.5px/1 'Hanken Grotesk',sans-serif;letter-spacing:.24em;text-transform:uppercase;box-shadow:0 10px 26px -12px rgba(211,168,195,.8);transition:transform .3s var(--ease),box-shadow .3s}
.sv-play:hover{transform:translateY(-1px);box-shadow:0 14px 30px -12px rgba(211,168,195,.95)}
.sv-play svg{width:10px;height:10px}
.sv-more{display:inline-flex;gap:8px;align-items:center;padding:12px 0;font-size:13.5px;letter-spacing:.06em;color:#F4ECEF;text-decoration:underline;text-decoration-color:rgba(244,236,239,.35);text-underline-offset:7px}
.sv-more:hover{text-decoration-color:#F4ECEF}
.sv-fine{margin-top:12px;font-size:11.5px;color:rgba(244,236,239,.55);letter-spacing:.04em}

/* building blocks inside the scenes */
.sv-flow{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1.42fr);align-items:center;width:100%;gap:0}
.sv-card{position:relative;background:#FBF7F4;color:#2B2326;border-radius:10px;padding:14px 14px 12px;box-shadow:0 22px 44px -24px rgba(0,0,0,.6);font-size:12px;line-height:1.6}
.sv-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.sv-head svg{width:22px;height:22px;flex:none;color:#5A4651}
.sv-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:6px;background:#EBD6E2;color:#6B3D58;font-size:11px;font-weight:500;letter-spacing:.04em;white-space:nowrap}
.sv-pill svg{width:12px;height:12px;color:inherit}
.sv-ttl{font:500 14.5px/1.45 'Noto Sans JP',sans-serif;margin-bottom:6px;letter-spacing:.02em}
.sv-body{color:#5B4D52;font-size:11px;line-height:1.75;letter-spacing:-.01em}
.sv-pipe{display:flex;align-items:center;padding:0 2px}
/* one connector = a short line with a single dot in its middle (no dot pairs at the joints) */
.sv-line{position:relative;display:block;width:clamp(16px,1.8vw,24px);height:1px;background:rgba(233,185,194,.5);overflow:visible}
.sv-line::before{content:"";position:absolute;top:-3px;left:50%;margin-left:-3.5px;width:7px;height:7px;border-radius:50%;background:#E9B9C2;box-shadow:0 0 10px 2px rgba(233,185,194,.5)}
.sv-line.in{background:linear-gradient(90deg,rgba(233,185,194,.35),#F8E1EA,rgba(233,185,194,.35)) 0 0/200% 100%;animation:svFlow 1.8s linear infinite}
@keyframes svFlow{to{background-position:-200% 0}}
.sv-chip{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border:1px solid rgba(233,185,194,.6);border-radius:8px;background:rgba(51,38,47,.9);color:#F4ECEF;font-size:11px;white-space:nowrap;transition:box-shadow .6s var(--ease),border-color .6s}
.sv-chip svg{width:12px;height:12px}
.sv-chip.in{border-color:#EBC6D6;box-shadow:0 0 0 1px rgba(235,198,214,.25),0 0 22px -2px rgba(233,185,194,.45)}
.sv-doc .sv-head b{font:500 16px/1.2 'Noto Sans JP',sans-serif;margin-right:auto;white-space:nowrap}
.sv-doc{padding:12px 13px 11px}
.sv-sec+.sv-sec{margin-top:6px}
.sv-sec>b{display:block;font-size:11.5px;font-weight:500;margin-bottom:2px}
.sv-tbl{display:grid;grid-template-columns:max-content 1fr;font-size:10.5px;line-height:1.45;border-top:1px solid #E6DADC}
.sv-tbl dt,.sv-tbl dd{padding:2px 6px;border-bottom:1px solid #E6DADC}
.sv-tbl dt{background:#EFE6E8;color:#5B4D52;white-space:nowrap}
.sv-sec ul{list-style:none;font-size:10.5px;line-height:1.55}
.sv-sec li::before{content:"・";color:#8E6A7C}

/* scene 02: a small site that gets updated */
.sv-site{padding:0;overflow:hidden}
.sv-chrome{display:flex;align-items:center;gap:6px;padding:9px 12px;background:#EFE6E8;border-bottom:1px solid #E1D3D6}
.sv-chrome i{width:7px;height:7px;border-radius:50%;background:#CDBBC1}
.sv-chrome span:not(.sv-pill){margin-left:8px;padding:2px 10px;border-radius:99px;background:#FBF7F4;font:500 10.5px/1.6 'Hanken Grotesk',sans-serif;color:#7A6870;letter-spacing:.03em}
.sv-chrome .sv-pill{margin-left:auto}
.sv-shop{padding:12px 14px 14px}
.sv-shop-nav{display:flex;justify-content:space-between;align-items:center;font:600 11px/1 'Hanken Grotesk',sans-serif;letter-spacing:.18em;margin-bottom:10px}
.sv-shop-nav em{display:flex;gap:8px;font-style:normal}.sv-shop-nav em u{display:block;width:22px;height:4px;border-radius:2px;background:#E2D4D8;text-decoration:none}
.sv-shop-hero{height:62px;border-radius:6px;background:linear-gradient(120deg,#E9C7D2,#C9A0B6 55%,#8E6A7C);position:relative;overflow:hidden}
.sv-shop-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(60% 120% at 20% 0%,rgba(255,255,255,.5),transparent 60%)}
.sv-news{margin-top:10px;list-style:none;font-size:11px}
.sv-news li{display:grid;grid-template-columns:3.4em 1fr;gap:8px;padding:5px 6px;border-bottom:1px solid #EAE0E2;border-radius:4px;transition:background 1.2s ease}
.sv-news .sv-dt{font:500 10.5px/1.6 'Hanken Grotesk',sans-serif;color:#6E5C64}
.sv-news li.sv-new{background:rgba(233,185,194,.32)}
.sv-news li.sv-new.in{animation:svGlow 2.4s ease 1 both}
@keyframes svGlow{0%{background:rgba(233,185,194,.65)}100%{background:rgba(233,185,194,.22)}}

/* scene 03: things Parfum makes for itself */
.sv-shelf{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.4vw,18px);width:100%;align-items:end}
.sv-prod{position:relative;display:flex;flex-direction:column;gap:6px;padding:14px 14px 16px;border-radius:12px;background:linear-gradient(180deg,rgba(251,247,244,.10),rgba(251,247,244,.04));border:1px solid rgba(244,236,239,.16);color:#F4ECEF;min-height:250px}
.sv-pk{font:600 10.5px/1 'Hanken Grotesk',sans-serif;letter-spacing:.26em;text-transform:uppercase;color:rgba(244,236,239,.62)}
.sv-art{flex:1;display:grid;place-items:center;margin:6px 0 8px}
.sv-art svg{width:min(100%,128px);height:auto}
.sv-prod b{font:500 13.5px/1.5 'Noto Sans JP',sans-serif}
.sv-st{align-self:flex-start;padding:3px 9px;border-radius:99px;border:1px solid rgba(244,236,239,.3);font:500 10.5px/1.5 'Hanken Grotesk',sans-serif;letter-spacing:.12em;color:rgba(244,236,239,.8)}
.sv-st.open{background:linear-gradient(180deg,#EED3E2,#D3A8C3);border-color:transparent;color:#2A1F27}
a.sv-prod{text-decoration:none;transition:border-color .4s,transform .5s var(--ease)}
a.sv-prod:hover{border-color:rgba(244,236,239,.45);transform:translateY(-3px)}

/* the timeline: before a step runs its element waits; without JavaScript (or with reduced motion) everything is simply there */
.sv-armed [data-s]{transition:opacity .7s var(--ease),transform .8s var(--ease)}
.sv-armed [data-s]:not(.in){opacity:0;transform:translateY(8px)}
.sv-armed .sv-line[data-s]:not(.in){transform:scaleX(0);opacity:1}
.sv-armed .sv-line[data-s]{transition:transform .6s var(--ease);transform-origin:left}
.sv-reset [data-s]{transition:none!important}
@media print{.sv-armed [data-s]{opacity:1!important;transform:none!important}.sv-panel[hidden]{display:block!important}}
.sv-wait.in{animation:svPulse 2.6s ease-in-out 3}
@keyframes svPulse{50%{box-shadow:0 0 0 6px rgba(235,214,226,.35)}}
@media(prefers-reduced-motion:reduce){.sv-line.in,.sv-wait.in,.sv-news li.sv-new.in,.js-sv .sv-panel.show{animation:none}}

@media(max-width:900px){
  .sv-hero{grid-template-columns:1fr;grid-template-areas:"intro" "list" "live"}
  .sv-list{flex-direction:row;margin-top:22px;border-bottom:1px solid var(--line)}
  .sv-tab{grid-template-columns:1fr;padding:14px 8px 14px 12px;border-bottom:0;align-content:start}
  .sv-tab::before{top:auto;bottom:-1px;left:0;right:0;width:auto;height:2px;transform:scaleX(0);transform-origin:left}
  .sv-tab[aria-selected=true]::before{transform:scaleX(1)}
  .sv-tab::after{display:none}
  .sv-no{font-size:14px;margin-bottom:6px}
  .sv-name{font-size:clamp(17px,4.6vw,22px)}
  .sv-arw,.sv-tab .sv-jp{display:none}
  .sv-live{margin-top:22px}
  .sv-mjp{display:block;margin-top:12px;font-size:13px;color:rgba(244,236,239,.85)}
  .sv-tab .sv-jp{grid-column:1/-1}
}
@container (max-width:690px){
  .sv-scene{min-height:0}
  .sv-flow{grid-template-columns:1fr;gap:0}
  .sv-pipe{justify-content:center;padding:10px 0;flex-wrap:wrap;gap:0}
  .sv-line{width:14px}
  .sv-shelf{grid-template-columns:1fr 1fr}
  .sv-prod{min-height:0}
  .sv-prod:nth-child(3){grid-column:1/-1}
  .sv-prod:nth-child(3) .sv-art{display:none}
  .sv-art svg{width:min(100%,92px)}
  .sv-bar{flex-wrap:wrap}
  .sv-cap{gap:9px;font-size:10.5px;letter-spacing:.18em;white-space:nowrap}
  .sv-cap::after{display:none}
}
