*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:#fff;padding-bottom:140px}main{width:min(100%,560px);margin:0 auto;overflow:hidden}.section{position:relative;width:100%;aspect-ratio:2/3;isolation:isolate}.part{position:absolute;display:block;margin:0;padding:0;border:0;background:none;line-height:0;overflow:visible}.part img{display:block;width:100%;height:100%;object-fit:contain}.photo{overflow:hidden}.photo img{object-fit:cover}.background img{object-fit:fill}.cta{cursor:pointer;text-decoration:none;appearance:none}.cta:disabled{opacity:1;cursor:default}.cta:focus-visible{outline:3px solid #121212;outline-offset:4px}.sticky-cta{position:fixed;bottom:max(0px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(calc(100% - 12px),548px);aspect-ratio:1024/270;z-index:100;isolation:isolate}.sticky-cta[hidden]{display:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.section[data-section="02-a"] [data-part="02-a-background"]::after{content:"";position:absolute;inset:0;background:#fff;clip-path:polygon(0 0,100% 0,100% 97.52604167%,0 92.90364583%)}
.section[data-section="02-a"] [data-part="02-a-family"]{top:0%!important;height:52.34375%!important;clip-path:none}

.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.section-seam{pointer-events:none;overflow:visible}.section-seam img{pointer-events:none}

/* White story grounds; scoped to the 12 detailed stories, not 03-a/03-b. */
.section:is(
  [data-section="03-c"],
  [data-section="03-d"],
  [data-section="03-e"],
  [data-section="03-f"],
  [data-section="03-g"],
  [data-section="03-h"],
  [data-section="03-i"],
  [data-section="03-j"],
  [data-section="03-k"],
  [data-section="03-l"],
  [data-section="03-m"],
  [data-section="03-n"]
){background:#fff}
/* These four original backgrounds are entirely gray. Keep native warm gold RGB,
   key out cool/neutral pixels, and reveal the white section underneath. */
[data-part="03-d-background"] > img,
[data-part="03-g-background"] > img,
[data-part="03-j-background"] > img,
[data-part="03-m-background"] > img{filter:url(#ypc-testimonial-gold-on-white)}
[data-part="03-d-incoming-blend"],
[data-part="03-g-incoming-blend"],
[data-part="03-j-incoming-blend"],
[data-part="03-m-incoming-blend"]{display:none}
/* Only the bottom 8% of these four grounds contains the gray next-section tail.
   Preserve original white texture and native photograph frame/shadow above it. */
[data-part="03-c-background"] > img,
[data-part="03-f-background"] > img,
[data-part="03-i-background"] > img,
[data-part="03-l-background"] > img{clip-path:inset(0 0 8% 0)}
[data-part="03-c-background"]::after,
[data-part="03-f-background"]::after,
[data-part="03-i-background"]::after,
[data-part="03-l-background"]::after{content:"";position:absolute;inset:0;pointer-events:none;background-size:100% 100%;background-repeat:no-repeat;clip-path:inset(92% 0 0 0);filter:url(#ypc-testimonial-gold-on-white)}
[data-part="03-c-background"]::after{background-image:url("assets/03-c-background.webp")}
[data-part="03-f-background"]::after{background-image:url("assets/03-f-background.webp")}
[data-part="03-i-background"]::after{background-image:url("assets/03-i-background.webp")}
[data-part="03-l-background"]::after{background-image:url("assets/03-l-background.webp")}

[data-part="07-a-copy-1"] img,
[data-part="12-copy-1"] img{filter:url(#ypc-black-lettering)}

.story-focus{position:absolute;left:13%;width:13%;height:6%;z-index:2;pointer-events:none;opacity:.68}.story-focus--top{top:26%;border-top:1px solid #c9942c;border-left:1px solid #c9942c}.story-focus--bottom{top:49%;border-bottom:1px solid #c9942c;border-left:1px solid #c9942c}

/* Result cards link to the corresponding student stories. */
.student-story-link{cursor:pointer;text-decoration:none;border-radius:3px}
.student-story-link:hover{outline:1px solid #c9942c;outline-offset:2px}
.student-story-link:focus-visible{outline:3px solid #121212;outline-offset:3px}
.section[id^="student-story-"]{scroll-margin-top:16px}
.section[id^="student-story-"]:focus{outline:none}


/* Desktop navigation and offer reuse the existing YPC assets. */
.desktop-rail{display:none}
@media(min-width:1100px){
 body{padding-bottom:0}
 main{position:relative;z-index:1;background:#fff;box-shadow:0 0 36px rgb(65 52 25 / 5%)}
 .sticky-cta{display:none}
 .desktop-rail{display:block;position:fixed;z-index:40;top:50%;transform:translateY(-50%);width:min(280px,calc((100vw - 560px)/2 - 56px));max-height:calc(100dvh - 48px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#d7c491 transparent}
 .desktop-menu{right:calc(50% + 280px + 28px);padding:24px 18px 16px;border:1px solid #eadfc5;border-radius:12px;background:rgb(255 255 255 / 97%);box-shadow:0 8px 28px rgb(111 86 28 / 4%);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
 .desktop-menu-title{margin:0 10px 14px;padding-bottom:16px;border-bottom:1px solid #c59b3d;color:#715523;font-size:13px;line-height:1.5;letter-spacing:.18em}
 .desktop-menu nav a{display:flex;align-items:center;gap:12px;min-height:45px;padding:10px 9px;color:#302b23;text-decoration:none;font-size:14px;font-weight:500;line-height:1.55;border-radius:4px}
 .desktop-menu nav a+a{border-top:1px solid #f0eade}
 .desktop-menu-number{flex:0 0 19px;color:#b38a35;font-size:11px;letter-spacing:.05em;font-variant-numeric:tabular-nums}
 .desktop-menu nav a:hover,.desktop-menu nav a[aria-current="location"]{background:#faf6ea;color:#8b661e}
 .desktop-menu nav a[aria-current="location"]{box-shadow:inset 2px 0 #b58d35}
 .desktop-menu nav a:focus-visible,.desktop-brand:focus-visible{outline:2px solid #9f771e;outline-offset:4px}
 .desktop-offer{left:calc(50% + 280px + 28px);padding:12px 2px}
 .desktop-brand{display:block;margin-bottom:36px}
 .desktop-brand img{display:block;width:100%;height:auto}
 .desktop-offer-content{padding:22px 0;border-top:1px solid #eadfc5;border-bottom:1px solid #eadfc5}
 .desktop-offer-bonus{display:block;width:100%;height:auto;margin:0 auto 14px}
 .desktop-cta{display:block;width:100%;padding:0;border:0;background:none;border-radius:8px}
 .desktop-cta img{display:block;width:100%;height:auto}
}


/* A brief photographic focus-frame introduction using the original YPC logo. */
.ypc-loader{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 48%,#fff9e9 0,#fffdf8 30%,#fff 67%);opacity:1;pointer-events:none;animation:ypc-loader-failsafe 1ms step-end 2700ms forwards}
.ypc-loader[hidden]{display:none}
.ypc-loader__brand{position:relative;box-sizing:border-box;width:min(86vw,440px);padding:56px 28px 42px;display:grid;justify-items:center;gap:26px;animation:ypc-loader-enter 700ms cubic-bezier(.16,1,.3,1) both}
.ypc-loader__logo{display:block;width:100%;height:auto;animation:ypc-loader-logo 800ms ease-out both}
.ypc-loader__focus{position:absolute;inset:0;pointer-events:none;animation:ypc-loader-focus 950ms cubic-bezier(.16,1,.3,1) both}
.ypc-loader__focus i{position:absolute;display:block;width:24px;height:24px;border-color:#bd9138;border-style:solid;border-width:0}
.ypc-loader__focus i:nth-child(1){left:0;top:0;border-left-width:1px;border-top-width:1px}
.ypc-loader__focus i:nth-child(2){right:0;top:0;border-right-width:1px;border-top-width:1px}
.ypc-loader__focus i:nth-child(3){left:0;bottom:0;border-left-width:1px;border-bottom-width:1px}
.ypc-loader__focus i:nth-child(4){right:0;bottom:0;border-right-width:1px;border-bottom-width:1px}
.ypc-loader__line{display:block;width:96px;height:1px;transform-origin:center;animation:ypc-loader-line 1000ms cubic-bezier(.2,.65,.3,1) 100ms both}
.ypc-loader__line img{display:block;width:100%;height:1px;object-fit:fill}
.ypc-loader.is-leaving{opacity:0;pointer-events:none;transition:opacity 440ms ease-out}
@keyframes ypc-loader-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@keyframes ypc-loader-logo{from{opacity:0}to{opacity:1}}
@keyframes ypc-loader-focus{from{opacity:0;transform:scale(1.08)}to{opacity:.8;transform:scale(1)}}
@keyframes ypc-loader-line{from{transform:scaleX(0);opacity:.2}to{transform:scaleX(1);opacity:.8}}
@keyframes ypc-loader-failsafe{to{visibility:hidden;pointer-events:none}}
@media(prefers-reduced-motion:reduce){.ypc-loader{display:none!important}.ypc-loader__brand,.ypc-loader__logo,.ypc-loader__focus,.ypc-loader__line{animation:none}.ypc-loader.is-leaving{transition:none}}


[data-part="14-a-copy-1"] img{filter:url(#ypc-message-yo-black)}

/* Motion wraps original parts without changing their source geometry. */
.ypc-motion-group{position:absolute;inset:0;pointer-events:none}
.ypc-motion-group>.part{pointer-events:auto}
.ypc-motion-ready .cta.ypc-pulse-ready{animation:ypc-cta-breathe 3.8s ease-in-out infinite;animation-play-state:paused;transform-origin:center}
.ypc-motion-ready .cta.ypc-pulse-ready.ypc-pulse-visible{animation-play-state:running}
.ypc-motion-paused .cta{animation-play-state:paused!important}
.ypc-motion-ready .cta:focus-visible{animation-play-state:paused!important}
@keyframes ypc-cta-breathe{0%,100%{scale:1}50%{scale:1.018}}
@media(min-width:1100px){.desktop-offer{padding-inline:6px}}
@media(prefers-reduced-motion:reduce){.cta{animation:none!important}.ypc-motion-group{translate:none!important;rotate:none!important;scale:none!important;opacity:1!important}}

/* Ivory gift with a restrained gold ribbon; the title remains part of the static page. */
[data-section="12"] .ypc-gift-intro{position:absolute;inset:0;z-index:8;display:none;pointer-events:none;opacity:1}
[data-section="12"] .ypc-gift-stage{position:absolute;left:20%;top:28%;width:60%;aspect-ratio:640/540}
[data-section="12"] .ypc-gift-stage>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain}
[data-section="12"] .ypc-gift-lid{z-index:2;transform-origin:50% 43%;transition:transform .7s cubic-bezier(.22,.8,.25,1)}
[data-section="12"] .ypc-gift-glow{position:absolute;left:8%;top:35%;width:82%;height:38%;border-radius:50%;background:radial-gradient(ellipse,#fffdf0c9 0%,#fff5be50 50%,transparent 73%);opacity:0;transition:opacity .7s ease;filter:blur(8px)}
[data-section="12"] .ypc-gift-card{position:absolute;inset:0;z-index:4;pointer-events:none;transform-origin:50% 45%}
[data-section="12"].gift-ready .ypc-gift-intro{display:block}
[data-section="12"].gift-ready .ypc-gift-card:not(.gift-card-visible){opacity:0;visibility:hidden}
[data-section="12"].gift-opening .ypc-gift-lid{transform:translate(-3%,-23%) rotate(-12deg)}
[data-section="12"].gift-opening .ypc-gift-glow{opacity:1}
[data-section="12"].gift-revealing .ypc-gift-intro{opacity:0;transition:opacity .55s ease}
[data-section="12"].gift-complete .ypc-gift-intro{display:none}
[data-section="12"].gift-complete .ypc-gift-card{opacity:1;visibility:visible}
@media(prefers-reduced-motion:reduce){[data-section="12"] .ypc-gift-intro{display:none!important}[data-section="12"] .ypc-gift-card{opacity:1!important;visibility:visible!important;transform:none!important;translate:none!important;scale:1!important}}
@media print{[data-section="12"] .ypc-gift-intro{display:none!important}[data-section="12"] .ypc-gift-card{opacity:1!important;visibility:visible!important;transform:none!important;translate:none!important;scale:1!important}}

/* White pricing paper, a small champagne-gold corner and quiet reading accents. */
[data-section="11-c"] .pricing-gold-corner{left:79%;top:3.7922077922%;width:22%;aspect-ratio:1;z-index:1;pointer-events:none;opacity:.76}
[data-section="11-c"] .pricing-gold-corner img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
[data-section="11-c"] .pricing-decor-divider{height:1px;z-index:1;pointer-events:none;background:linear-gradient(90deg,transparent,#c4aa6b 28%,#c4aa6b 72%,transparent)}
[data-section="11-c"] .pricing-decor-divider-intro{left:31%;top:13.3864935065%;width:38%}
[data-section="11-c"] .pricing-decor-divider-intro::after{content:"";position:absolute;left:50%;top:50%;width:4px;height:4px;background:#b89b5d;box-shadow:0 0 0 4px #fff;transform:translate(-50%,-50%) rotate(45deg)}
[data-section="11-c"] .pricing-decor-divider-reading{left:4.6875%;top:65.9459740260%;width:17%}
[data-section="11-c"] .pricing-reading-accent{left:1.85%;top:47.1861471834%;width:1px;height:33.8354978384%;z-index:1;pointer-events:none;background:linear-gradient(180deg,#b89b5d00,#b89b5d66 5%,#b89b5d66 95%,#b89b5d00)}


/* Small botanical details and open corners around the original price card. */
[data-section="11-c"] .pricing-card-wash{left:0;top:14.3155844156%;width:100%;height:22.8480519481%;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 50% 49%,#f6e8c764 0%,#faf2df3b 49%,transparent 75%)}
[data-section="11-c"] .pricing-card-corners{left:3.3%;top:14.9792207792%;width:93.4%;height:21.0467532468%;z-index:1;pointer-events:none}
[data-section="11-c"] .pricing-card-corners::before,[data-section="11-c"] .pricing-card-corners::after{content:"";position:absolute;width:5.2%;aspect-ratio:1;border-color:#c3a05e88;border-style:solid;border-width:0}
[data-section="11-c"] .pricing-card-corners::before{left:0;top:0;border-left-width:1px;border-top-width:1px}
[data-section="11-c"] .pricing-card-corners::after{right:0;bottom:0;border-right-width:1px;border-bottom-width:1px}
[data-section="11-c"] .pricing-gold-corner-lower{left:0%;top:25.3129870130%;width:24%;z-index:4;opacity:.82;transform:rotate(180deg)}
[data-section="11-c"] .pricing-decor-divider-card{left:37%;top:35.8363636364%;width:26%;background:linear-gradient(90deg,transparent,#c4aa6b99 28%,#c4aa6b99 72%,transparent)}
[data-section="11-c"] .pricing-decor-divider-card::after{content:"";position:absolute;left:50%;top:50%;width:3px;height:3px;background:#b89b5d;box-shadow:0 0 0 4px #fff;transform:translate(-50%,-50%) rotate(45deg)}


/* The supplied works remain uncropped and level in clearly labelled pairs. */
.student-comparison{display:grid;grid-template-columns:1fr 1fr;gap:2.56410256%;container-type:inline-size}
.comparison-photo{height:100%;min-width:0;margin:0;display:flex;flex-direction:column;gap:8px}
.comparison-photo figcaption{flex:none;margin:0;text-align:center;font:500 clamp(10px,2.7cqw,15px)/1.45 Georgia,"Times New Roman",serif;letter-spacing:.11em;color:#777064}
.comparison-photo--after figcaption{color:#987029}
.comparison-image{flex:1;min-height:0;padding:0;border:0;background:transparent}

.comparison-image img{width:100%;height:100%;object-fit:contain}
.section.has-comparison>.part.background{display:none}


/* Keep the original sentence, with the key price comparison as a clear heading. */
.pricing-lowest-emphasis{container-type:inline-size;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9cqw;text-align:center;color:#15130f;font-family:"Hiragino Mincho ProN","Yu Mincho","Noto Serif JP",serif}
.pricing-lowest-emphasis p{margin:0;white-space:nowrap}
.pricing-lowest-line{font-size:3.5cqw;font-weight:600;line-height:1.3}
.pricing-lowest-line strong{display:inline-block;margin-left:.14em;padding:0 .04em .025em;color:#9e6a1c;font-size:8.7cqw;font-weight:700;line-height:1.2;background:linear-gradient(transparent 80%,#f0deae8f 80%)}
.pricing-lowest-note{font-size:3.45cqw;font-weight:600;line-height:1.5}


/* A welcoming consultation cue; the deadline remains in the original copy. */
.consultation-emphasis{container-type:inline-size;display:flex;flex-direction:column;align-items:flex-start;gap:4px;color:#171511;font-family:"Hiragino Mincho ProN","Yu Mincho","Noto Serif JP",serif}
.consultation-emphasis p{margin:0}
.consultation-intro{font-size:4cqw;font-weight:600;line-height:1.7;letter-spacing:.005em}
.consultation-deadline{font-size:3.6cqw;font-weight:500;line-height:1.6;color:#4e493e}
.consultation-invitation{font-size:5.65cqw;font-weight:700;line-height:1.55;white-space:nowrap;color:#9e6a1c}
.consultation-invitation strong{font-weight:700;background:linear-gradient(transparent 81%,#f0deae99 81%)}

/* Photographs are displayed without decorative mounts. */


/* Constrain portrait pairs to the same row instead of their intrinsic image height. */
.student-comparison{grid-template-rows:minmax(0,1fr)}
.comparison-photo{min-height:0;overflow:hidden}
.comparison-image{position:relative;overflow:hidden}
.comparison-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center top}

/* Generated payment images follow the approved white and gold artwork. */
html{scroll-behavior:smooth}
.payment-methods{aspect-ratio:auto;padding:56px 3.125% 64px;background:#fff;scroll-margin-top:16px}
.payment-methods:focus{outline:none}
.payment-methods-heading{display:block;width:100%;margin:0 auto 28px;padding:0;line-height:0}
.payment-methods-heading img,.payment-method img{display:block;width:100%;height:auto}
.payment-methods-options{display:grid;gap:22px}
.payment-method{display:block;width:100%;margin:0;padding:0;border:0;background:none;line-height:0;text-decoration:none;appearance:none;cursor:pointer}
.payment-method:disabled{opacity:1;cursor:default}
.payment-method:focus-visible{outline:3px solid #6b4b16;outline-offset:5px}
@media(max-width:480px){.payment-methods{padding-top:42px;padding-bottom:48px}.payment-methods-heading{margin-bottom:24px}.payment-methods-options{gap:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Client-requested price placement and generated payment artwork. */
.payment-methods{padding-top:44px;padding-bottom:72px}
.payment-price img{display:block;width:100%;height:auto}
.payment-cost-copy{margin:34px 0 42px;line-height:0}
.payment-cost-copy img,.payment-installment-caption img,.payment-note img{display:block;width:100%;height:auto}
.payment-methods-heading{margin-bottom:26px}
.payment-methods-options{gap:38px}
.payment-choice{min-width:0}
.payment-installment-caption{width:100%;margin:0 0 12px;line-height:0}
.payment-note{width:92%;margin:10px auto 0;line-height:0}
@media(max-width:480px){.payment-methods{padding-top:34px;padding-bottom:56px}.payment-cost-copy{margin-top:26px;margin-bottom:34px}.payment-methods-options{gap:30px}.payment-methods-heading{margin-bottom:22px}.payment-note{margin-top:8px}}
