/* La Vie, second edition: photographs and tactile interactions. */
.photo-trigger{display:block;position:relative;width:100%;height:100%;padding:0;border:0;border-radius:inherit;overflow:hidden;background:#e8d9d5;cursor:zoom-in;box-shadow:none;line-height:1;color:inherit;isolation:isolate;transition:filter .35s,box-shadow .35s!important}
.photo-trigger img{width:100%;height:100%;object-fit:cover;transition:transform 1.25s cubic-bezier(.16,1,.3,1),filter .8s}
.photo-trigger:focus-visible{outline:3px solid #bd728d;outline-offset:4px}.photo-trigger:active,.photo-trigger.is-pressed{translate:none!important;scale:1!important;box-shadow:inset 0 0 0 5px #d49db46b!important;filter:none!important}.photo-trigger:active img,.photo-trigger.is-pressed img{transform:scale(1.04)!important;filter:brightness(1.08)}
.photo-hint{position:absolute;bottom:15px;right:15px;z-index:4;display:flex;align-items:center;gap:9px;min-height:35px;padding:8px 13px;border:1px solid #fff9;border-radius:3px 13px 3px 13px;background:linear-gradient(120deg,#593c3f8c,#593c3f35);backdrop-filter:blur(8px);color:#fff;font:10px/1.4 var(--sans);letter-spacing:.05em;transition:transform .3s,background .3s}
.photo-hint svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.2}.photo-trigger:hover .photo-hint{transform:translateY(-3px);background:#593c3fa6}.photo-trigger:hover img{transform:scale(1.035)}
.photo-sheen{pointer-events:none;position:absolute;inset:-25% -100%;z-index:2;background:linear-gradient(108deg,transparent 40%,#fffc 49%,#f5c6d45c 51%,transparent 60%);transform:translateX(-60%);opacity:0}
.photo-trigger.photo-enter .photo-sheen{animation:photo-light 1.45s .12s ease-out both}.photo-trigger.photo-enter img{animation:photo-curtain 1.35s cubic-bezier(.16,1,.3,1) both}
.hero-visual .photo-hint{top:41px;right:47px;bottom:auto}.hero-visual img{animation:hero-image 2.4s cubic-bezier(.16,1,.3,1) both!important}.hero-shade,.hero-frame,.hero-contour,.hero-caption{pointer-events:none}.hero-content{pointer-events:none}.hero-content a{pointer-events:auto}.hero-contour{position:absolute;inset:7% 11% 5% 51%;opacity:.34}.hero-contour svg{width:100%;height:100%;overflow:visible;fill:none;stroke:#ffdfd5;stroke-width:1;stroke-dasharray:1350;stroke-dashoffset:1350;animation:contour-draw 2.8s .5s ease forwards}.hero-contour svg path+path{stroke-width:.6;opacity:.6}
.hero h1>span{animation:none;clip-path:none;overflow:hidden}.hero-line{perspective:600px}.hero-letter{display:inline-block;animation:letter-arrive 1.15s cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--letter-delay,0s)}.hero-line em{white-space:nowrap}.hero h1{font-size:clamp(40px,4.8vw,72px);letter-spacing:-.025em}.hero-intro{margin-bottom:22px}.hero-copy{margin-top:22px}.hero-buttons{margin-top:28px}.hero-frame{border-color:#f5d4df73;box-shadow:inset 0 0 55px #593c3f0d}
.intro-image .photo-trigger{border-radius:48% 48% 0 0}.intro-image img{border-radius:0}.intro-image .image-label{bottom:65px}.image-stamp{pointer-events:none;z-index:5}.method-photo>span{pointer-events:none}.method-photo:after{pointer-events:none}.method-photo .photo-hint{right:10px;bottom:12px}.method-photo .photo-hint span{display:none}.method-photo .photo-hint{padding:9px}.method-item:hover img{transform:scale(1.04)}
.menu-card>.photo-trigger{position:absolute;inset:0}.menu-card:after{pointer-events:none}.menu-overlay{pointer-events:none}.menu-overlay a,.menu-overlay .menu-consult{pointer-events:auto}.menu-card .photo-hint{top:26px;right:25px;bottom:auto}.menu-card:hover .photo-trigger img{transform:scale(1.035)}.menu-card .photo-sheen{z-index:3}
.message-photo .image-label{bottom:65px}.subhero>.photo-trigger{position:absolute;inset:0}.subhero .photo-hint{top:30px;right:45px;bottom:auto}.subhero-shade,.subhero-copy{pointer-events:none}.subhero-copy a{pointer-events:auto}.subhero .photo-trigger img{object-position:center 35%;animation:hero-image 2s both!important}
.photo-dialog{border:1px solid #e0bfc7;background:#fbf4ef;color:#593c3f;padding:0;width:min(1100px,calc(100vw - 50px));max-width:none;max-height:90dvh;overflow:auto;border-radius:4px 35px 4px 35px;box-shadow:0 20px 100px #17090a80}.photo-dialog::backdrop{background:#2e1923d6;backdrop-filter:blur(12px)}.photo-dialog[open]{animation:viewer-open .6s cubic-bezier(.16,1,.3,1) both}.photo-dialog[open]::backdrop{animation:viewer-backdrop .4s both}.viewer-shell{display:grid;grid-template-columns:1.25fr 1fr;min-height:570px;position:relative}.viewer-close{position:absolute;z-index:10;right:16px;top:16px;width:42px;height:42px;border-radius:50%;border:1px solid #c8a5af;background:linear-gradient(130deg,#fff,#efd7dd);display:grid;place-content:center;font:27px/1 var(--sans);box-shadow:0 4px 0 #9c66782e}.viewer-close:hover{background:white}.viewer-media{background:#e9dcd5;overflow:hidden;min-height:570px}.viewer-zoom{display:block;position:relative;border:0;padding:0;width:100%;height:100%;overflow:hidden;background:none;cursor:zoom-in;touch-action:pan-y}.viewer-zoom:active,.viewer-zoom.is-pressed{translate:none!important;scale:1!important}.viewer-zoom img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .75s cubic-bezier(.16,1,.3,1);animation:viewer-photo .7s both}.viewer-zoom[aria-pressed=true]{cursor:zoom-out}.viewer-zoom[aria-pressed=true] img{transform:scale(1.65);transform-origin:var(--zoom-x,50%) var(--zoom-y,50%)}.zoom-hint{position:absolute;bottom:18px;left:18px;color:white;font:10px/1.5 var(--sans);border:1px solid #fff5;padding:8px 12px;border-radius:2px;background:#593c3f8a;backdrop-filter:blur(6px)}.zoom-hint>span{margin-left:10px}.viewer-info{padding:75px 38px 35px;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(ellipse at 10% 15%,#ebc9d85e,transparent 70%)}.viewer-info h2{font-size:30px;line-height:1.65;margin-bottom:22px}.viewer-info>p:not(.eyebrow){font-size:13px;line-height:2}.viewer-info .viewer-note{font-size:10px!important;line-height:1.8!important;margin:20px 0 28px;color:#947e87;font-family:var(--sans)}.viewer-info .btn{font-size:12px;gap:8px;min-height:52px;padding:12px 17px;white-space:normal}.viewer-nav{display:flex;align-items:center;gap:25px;margin-top:32px;justify-content:center}.viewer-nav button{width:46px;height:46px;border-radius:50%;background:linear-gradient(130deg,#fff,#f0dde4);border:1px solid #c6a5b1;box-shadow:0 4px 0 #b089981f;font:20px Arial,sans-serif}.viewer-nav span{font:italic 15px Georgia,serif;letter-spacing:.12em}.viewer-media.changing img{animation:viewer-photo .65s both}body.photo-open{overflow:hidden}.photo-dialog .control-arrived{animation:none}
/* A response that follows the finger, with one restrained chime per action. */
.btn{transform-origin:center;transition:transform .22s,box-shadow .22s,filter .22s}.btn.press-release{animation:press-rebound .55s cubic-bezier(.16,1,.3,1)}.touch-halo{position:absolute;border:1px solid #e9b9cd;border-radius:50%;width:24px;height:24px;transform:translate(-50%,-50%);animation:halo-bloom .85s ease-out both;box-shadow:0 0 15px #fff4}.touch-halo:after{content:'';position:absolute;inset:7px;border:1px solid #c9b58c;border-radius:50%;opacity:.6}.spark{width:6px;height:14px;box-shadow:0 0 8px #ffe3ec66}.btn:focus-visible{outline-offset:7px}.reading-progress{position:fixed;inset:0 0 auto;height:2px;z-index:101;background:none;pointer-events:none}.reading-progress i{display:block;width:100%;height:100%;background:linear-gradient(90deg,#bd728d,#dbbd8c);transform:scaleX(0);transform-origin:left}
.check-steps{display:flex;gap:7px;margin-bottom:17px}.check-steps i{height:3px;flex:1;background:#bd728d25;transition:background .4s,transform .4s}.check-steps i.active{background:linear-gradient(90deg,#bd728d,#dcc18e);transform:scaleY(1.5)}.concern:has(input:checked) .check-square{animation:check-seal .5s cubic-bezier(.16,1,.3,1)}.concern.is-selected{animation:concern-selected .5s ease both}.check-hint{font-size:12px!important;min-height:0;border-left:2px solid #bd728d;padding:0 0 0 12px;margin-top:16px;color:#9d6178}.check-hint:empty{display:none}.check-hint.hint-enter{animation:rise .45s both}.selected-themes{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}.selected-themes:empty{display:none}.selected-themes span{font-size:11px;line-height:1.5;background:linear-gradient(125deg,#fff9,#ead0db77);border:1px solid #c99dad88;padding:7px 12px;border-radius:20px;animation:rise .5s both}.replay-complete{font-size:11px;display:inline-flex;gap:20px;align-items:center;background:transparent;border:0;border-bottom:1px solid #bd728d88;padding:7px 0;margin-top:14px}.replay-complete[hidden]{display:none}.check-orbit.has-notes .face-line{stroke-dasharray:440;stroke-dashoffset:440;animation:contour-draw 1.1s ease forwards}.check-result.is-complete{border-radius:4px 28px 4px 28px;background:radial-gradient(ellipse at top right,#f0c9d4aa,transparent 75%),linear-gradient(125deg,#fff8,#fff2);padding:27px 20px 20px;margin-top:22px;border:1px solid #fff9}
.bloom-stage[hidden]{display:none}.bloom-stage{pointer-events:none;position:fixed;inset:0;z-index:120;display:grid;place-content:center;overflow:hidden;animation:bloom-scene 2.8s ease both}.bloom-light{position:absolute;inset:0;background:radial-gradient(ellipse at center,#fff9f3fb 0,#f3dce9ed 40%,#f8ebd8b3 68%,#e4b6c55c 100%);backdrop-filter:blur(5px)}.bloom-ring{position:absolute;width:min(530px,90vw);aspect-ratio:1;left:50%;top:50%;border:1px solid #b79f70;transform:translate(-50%,-50%);border-radius:50%;animation:bloom-circle 2.7s ease-out both}.bloom-ring:after{content:'';position:absolute;inset:-16px;border:1px solid #bd728d66;border-radius:50%}.bloom-flower{position:absolute;width:180px;height:180px;left:50%;top:calc(50% - 110px);transform:translate(-50%,-50%)}.bloom-flower i{position:absolute;width:65px;height:105px;bottom:50%;left:calc(50% - 32px);border-radius:90% 15% 85% 25%;background:linear-gradient(135deg,#fffdf9,#d2a7bd80);border:1px solid #bd728d80;transform-origin:bottom center;animation:petal-unfold 1.5s cubic-bezier(.16,1,.3,1) both;--turn:0deg}.bloom-flower i:nth-child(2){--turn:45deg}.bloom-flower i:nth-child(3){--turn:90deg}.bloom-flower i:nth-child(4){--turn:135deg}.bloom-flower i:nth-child(5){--turn:180deg}.bloom-flower i:nth-child(6){--turn:225deg}.bloom-flower i:nth-child(7){--turn:270deg}.bloom-flower i:nth-child(8){--turn:315deg}.bloom-message{position:relative;text-align:center;padding-top:130px;animation:bloom-word .8s .3s both}.bloom-message>span{font:9px/1.5 var(--sans);letter-spacing:.3em;color:#a66d83;display:block;margin-bottom:15px}.bloom-message strong{font-size:clamp(24px,3vw,38px);line-height:1.7;font-weight:400;display:block}.bloom-message small{font-size:12px;display:block;margin-top:14px;color:#986477}.bloom-stage~.reading-progress{z-index:121}.click-effects{z-index:130}.petal{box-shadow:0 2px 10px #b46b8322}
.faq-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:7%;align-items:start}.faq-layout .faq-list{width:100%}.faq-photo{position:sticky;top:35px}.faq-photo>.photo-trigger{height:300px;border-radius:2px 60px 2px 2px}.faq-photo>p{font-size:22px;margin:23px 0 12px;line-height:1.6}.faq-photo>span{font-size:12px;line-height:2;display:block}.faq-photo>.btn{margin-top:24px;font-size:12px}.faq-layout summary{font-size:15px;gap:15px}.faq-layout .answer{font-size:13px;padding-left:55px}.brand>span,.footer-brand{font-family:LaVieMincho,'Yu Mincho',serif}.faq-item[open]{background:linear-gradient(100deg,#f7ebef55,#fff)}.faq-item[open] summary{color:#9a5872}
@keyframes photo-light{0%{opacity:0;transform:translateX(-45%)}20%{opacity:.5}100%{opacity:0;transform:translateX(45%)}}@keyframes photo-curtain{from{transform:scale(1.16);filter:saturate(.6) brightness(.7);clip-path:inset(0 0 100%)}to{transform:scale(1);filter:saturate(1) brightness(1);clip-path:inset(0)}}@keyframes contour-draw{to{stroke-dashoffset:0}}@keyframes letter-arrive{from{opacity:0;transform:translate3d(0,110%,0) rotateX(35deg);filter:blur(7px)}to{opacity:1;transform:translate3d(0,0,0) rotateX(0);filter:blur(0)}}@keyframes viewer-open{from{opacity:0;transform:translateY(45px) scale(.88)}to{opacity:1;transform:none}}@keyframes viewer-backdrop{from{opacity:0}to{opacity:1}}@keyframes viewer-photo{from{opacity:.2;filter:brightness(1.3);scale:1.07}to{opacity:1;filter:brightness(1);scale:1}}@keyframes press-rebound{0%{transform:translateY(4px) scale(.98)}40%{transform:translateY(-3px) scale(1.015)}100%{transform:none}}@keyframes halo-bloom{to{width:135px;height:135px;opacity:0}}@keyframes check-seal{0%{transform:scale(.4)}60%{transform:scale(1.25)}100%{transform:scale(1)}}@keyframes concern-selected{40%{transform:translateX(6px);box-shadow:0 5px 0 #a9617935,0 0 24px #ebc0d0}100%{transform:none}}@keyframes bloom-scene{0%{opacity:0}15%,75%{opacity:1}100%{opacity:0}}@keyframes bloom-circle{from{opacity:0;transform:translate(-50%,-50%) scale(.4)}40%{opacity:.8}to{opacity:.3;transform:translate(-50%,-50%) scale(1.13)}}@keyframes petal-unfold{from{opacity:0;transform:rotate(var(--turn)) scale(.05)}to{opacity:.8;transform:rotate(var(--turn)) scale(1)}}@keyframes bloom-word{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@media(max-width:1050px){.viewer-shell{min-height:500px;grid-template-columns:1fr 1fr}.viewer-media{min-height:500px}.viewer-info{padding:70px 27px 27px}.viewer-info h2{font-size:25px}.hero h1{font-size:53px}.faq-layout{gap:4%;grid-template-columns:.65fr 1fr}.faq-photo>p{font-size:20px}}
@media(max-width:760px){.hero h1{font-size:clamp(29px,8vw,44px);line-height:1.7;letter-spacing:-.025em}.hero-content{bottom:125px}.hero-intro{margin-bottom:16px}.hero-copy{margin-top:18px}.hero-buttons{margin-top:23px}.hero-visual .photo-hint{top:27px;right:27px;font-size:9px;min-height:31px;padding:7px 10px}.hero-contour{inset:7% -2% 15% 28%;opacity:.25}.photo-hint{font-size:9px;bottom:13px;right:13px;gap:6px}.photo-hint svg{width:13px;height:13px}.intro-image .image-label{bottom:60px}.intro h2{font-size:32px}.section-heading h2{font-size:30px}.menu-card .photo-hint{top:25px;right:25px}.photo-dialog{width:calc(100vw - 28px);max-height:calc(100dvh - 35px);border-radius:3px 23px 3px 23px}.viewer-shell{display:block;min-height:0}.viewer-media{height:38svh;min-height:220px;max-height:330px}.viewer-info{padding:26px 23px}.viewer-close{width:37px;height:37px;top:12px;right:12px;font-size:25px;background:#fffc}.viewer-info .eyebrow{font-size:8px;margin-bottom:12px}.viewer-info h2{font-size:23px;line-height:1.6;margin-bottom:15px}.viewer-info>p:not(.eyebrow){font-size:12px;line-height:1.9}.viewer-info .viewer-note{font-size:9px!important;line-height:1.8!important;margin:13px 0 20px}.viewer-info .btn{font-size:11px;min-height:47px}.viewer-nav{margin-top:20px;gap:24px}.viewer-nav button{height:40px;width:40px}.zoom-hint{font-size:9px;left:12px;bottom:12px;padding:7px 10px}.subhero .photo-hint{top:55px;right:25px;font-size:9px}.bloom-flower{width:140px;height:140px;top:calc(50% - 80px)}.bloom-flower i{width:50px;height:82px;left:calc(50% - 25px)}.bloom-message{padding:95px 20px 0}.bloom-message strong{font-size:24px}.bloom-message small{font-size:10px}.bloom-ring{width:85vw}.check-result.is-complete{padding:23px 15px 18px}.check-hint{font-size:11px!important}.selected-themes span{font-size:10px;padding:6px 10px}.faq-layout{display:flex;flex-direction:column;gap:38px}.faq-photo{position:relative;top:0;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.faq-photo>.photo-trigger{grid-row:1/4;height:210px;border-radius:2px 35px 2px 2px}.faq-photo>p{font-size:18px;margin:0 0 12px;align-self:end}.faq-photo>span{font-size:10px;line-height:1.9}.faq-photo>.btn{font-size:10px;margin-top:15px;gap:7px;min-height:40px;padding:8px 10px;white-space:normal;align-self:start}.faq-photo .btn svg{display:none}.faq-photo .photo-hint span{display:none}.faq-photo .photo-hint{padding:8px;min-height:28px}.faq-layout summary{font-size:13px;gap:12px}.faq-layout .answer{font-size:12px;padding-left:44px}.brand>span{font-size:33px}.reading-progress{height:2px}}
@media(max-width:370px){.hero h1{font-size:28px}.intro h2{font-size:29px}.viewer-info{padding:23px 20px}.viewer-info h2{font-size:21px}.viewer-info .btn{font-size:10px}.faq-photo{gap:0 14px}.faq-photo>p{font-size:17px}.section-heading h2{font-size:27px}.bloom-message strong{font-size:21px}.check-result.is-complete{padding:20px 10px}.photo-hint{font-size:8px}}
@media(prefers-reduced-motion:reduce){.hero-letter{animation:none!important;opacity:1;transform:none;filter:none}.photo-trigger img{animation:none!important;clip-path:none;filter:none}.hero-contour svg{animation:none;stroke-dashoffset:0}.bloom-stage{display:none!important}.photo-dialog[open]{animation:none}.photo-dialog::backdrop{backdrop-filter:none}.viewer-zoom img{transition:none}.btn.press-release{animation:none}.photo-trigger.photo-enter .photo-sheen{animation:none;display:none}}
.viewer-effects{position:fixed;inset:0;pointer-events:none;z-index:30;overflow:hidden}.hero h1 .hero-line{overflow:visible}.hero-letter{white-space:pre}.hero h1 .hero-line:last-child{white-space:nowrap}
