/* Cacio 2 Process page — prototype-led, scoped to the Process route. */
body.cacio2-process-page-active #content>.ast-container{display:block;width:100%;max-width:none;margin:0;padding:0}
body.cacio2-process-page-active #content #primary,body.cacio2-process-page-active #content #main{float:none;width:100%;max-width:none;margin:0}
body.cacio2-process-page-active .entry-header{display:none}
body.cacio2-process-page-active .entry-content{margin:0}
body.cacio2-process-page-active #content .cacio2-process-page{width:100%;max-width:none;margin:0}
.cacio2-process-page{--process-ink:#1d211d;--process-paper:#f5f3ec;--process-warm:#e7e2d7;--process-step-three:#e8e3d8;--process-line:#d5d1c6;--process-green:#50604d;--process-page:1320px;--process-gutter:clamp(20px,4vw,64px);overflow:clip;background:var(--process-paper);color:var(--process-ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;font-size:15px;line-height:1.7;line-break:strict;word-break:normal;overflow-wrap:normal}
.cacio2-process-page *{box-sizing:border-box}
.cacio2-process-page h1,.cacio2-process-page h2{margin:0;color:inherit;font-family:Georgia,"Times New Roman",serif;font-weight:400;line-break:strict;word-break:normal;overflow-wrap:normal;text-wrap:pretty}
.cacio2-process-page p{margin:0;color:#4e504d;font-size:16px;line-height:1.95;white-space:pre-line;line-break:strict;word-break:normal;overflow-wrap:normal}
@supports(word-break:auto-phrase){.cacio2-process-page,.cacio2-process-page p,.cacio2-process-page h1,.cacio2-process-page h2{word-break:auto-phrase}}
.cacio2-process-page .cacio-guide-eyebrow{display:block;color:var(--process-green);font-size:10px;line-height:1.5;letter-spacing:.1em;text-transform:uppercase}
.cacio2-process-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(36px,4vw,64px);align-items:center;width:min(1480px,100%);margin:0 auto;padding:56px var(--process-gutter) 82px}
.cacio2-process-hero-copy{min-width:0;max-width:640px}
body.cacio2-process-page-active #content .cacio2-process-hero h1{margin:8px 0 22px;font-size:clamp(44px,4.7vw,70px);line-height:1.12;letter-spacing:-.055em}
.cacio2-process-phrase{display:inline-block;max-width:100%;white-space:normal;vertical-align:top}
.cacio2-process-heading-lines>span{display:block;max-width:100%;white-space:pre-line}
.cacio2-process-hero-copy p{max-width:510px}
.cacio2-process-hero-media{display:block;min-width:0;width:100%;aspect-ratio:1.32;margin:0;overflow:hidden;background:var(--process-warm)}
.cacio2-process-image{display:block;width:100%;height:100%;object-fit:cover}
.cacio2-process-hero-media img{object-position:center 58%}
.cacio2-process-intro{padding:clamp(78px,10vw,132px) var(--process-gutter)}
.cacio2-process-intro-inner{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(28px,5vw,72px);align-items:start;max-width:1080px;margin:0 auto}
body.cacio2-process-page-active #content .cacio2-process-intro h2{font-size:clamp(34px,4vw,58px);line-height:1.15;letter-spacing:-.04em}
.cacio2-process-intro h2 .cacio2-process-phrase{width:max-content}
.cacio2-process-intro-copy{min-width:0;max-width:620px}
.cacio2-process-intro-copy p+p{margin-top:.65em}
.cacio2-process-map{max-width:var(--process-page);margin:0 auto;padding:0 var(--process-gutter) clamp(44px,6vw,78px)}
.cacio2-process-map ol{position:relative;display:flex;justify-content:center;gap:clamp(24px,6vw,92px);margin:0;padding:18px 0;border-top:1px solid var(--process-line);border-bottom:1px solid var(--process-line);list-style:none}
.cacio2-process-map li{position:relative;z-index:1;min-width:0}
.cacio2-process-map a{display:flex;align-items:baseline;gap:10px;color:#575953;font-size:13px;text-decoration:none;transition:color .2s ease}
.cacio2-process-map a:hover,.cacio2-process-map a:focus-visible{color:var(--process-ink);text-decoration:underline;text-underline-offset:5px}
.cacio2-process-map a span{color:var(--process-green);font-size:10px;letter-spacing:.1em}
.cacio2-process-steps{border-top:1px solid var(--process-line)}
.cacio2-process-step{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr);min-height:clamp(560px,48vw,720px);align-items:center;border-bottom:1px solid var(--process-line)}
.cacio2-process-step.is-reverse{grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr)}
.cacio2-process-step.is-reverse .cacio2-process-step-media{grid-column:2;grid-row:1}
.cacio2-process-step.is-reverse .cacio2-process-step-copy{grid-column:1;grid-row:1}
.cacio2-process-step-media{display:flex;flex-direction:column;min-width:0;height:100%;min-height:560px;margin:0;overflow:hidden;background:var(--process-warm)}
.cacio2-process-step-media img{flex:1;min-height:0;width:100%;height:100%;object-fit:cover}
#process-step_01 .cacio2-process-step-media img{object-position:center 58%}
#process-step_02 .cacio2-process-step-media img{object-position:center}
#process-step_03 .cacio2-process-step-media img,#process-step_04 .cacio2-process-step-media img{object-position:center 52%}
.cacio2-process-step-media figcaption{margin:0;padding:10px 20px 12px;color:#5b5d58;font-size:11px;line-height:1.5}
.cacio2-process-step-copy{min-width:0;max-width:650px;padding:clamp(42px,7vw,110px) clamp(30px,7vw,120px)}
body.cacio2-process-page-active #content .cacio2-process-step-copy h2{margin:12px 0 24px;font-size:clamp(42px,5vw,72px);line-height:1.1;letter-spacing:-.045em}
.cacio2-process-step-copy p{max-width:470px;margin:0 0 18px;font-size:15px;line-height:1.9}
.cacio2-process-step-copy p:last-child{margin-bottom:0}
.cacio2-process-step-copy p.cacio2-process-lead{margin-bottom:20px;color:var(--process-ink);font-size:18px;line-height:1.75}
.cacio2-process-step.is-wide{grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);background:var(--process-step-three)}
.cacio2-process-step.is-wide .cacio2-process-step-media{min-height:620px}
.cacio2-process-final{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr);gap:clamp(30px,7vw,104px);align-items:start;width:min(var(--process-page),100%);margin:0 auto;padding:clamp(72px,8vw,104px) var(--process-gutter)}
body.cacio2-process-page-active #content .cacio2-process-final h2{margin:8px 0 28px;font-size:clamp(38px,4vw,58px);line-height:1.15}
.cacio2-process-final-copy{max-width:620px}
.cacio2-process-final-copy p{font-size:17px;line-height:1.9}
.cacio2-process-final-copy p+p{margin-top:.65em}
.cacio2-process-page .motion-reveal,.cacio2-process-page .motion-image{opacity:1;transform:none}
.cacio-cheese-guide-reveal-ready .cacio2-process-page .motion-reveal{opacity:0;transform:translateY(14px);transition:opacity .72s ease,transform .72s cubic-bezier(.22,.61,.36,1)}
.cacio2-process-page .motion-reveal.is-visible{opacity:1;transform:none}
.cacio-cheese-guide-reveal-ready .cacio2-process-page .motion-image{opacity:0;transform:scale(1.018);transition:opacity .9s ease,transform 1.15s cubic-bezier(.22,.61,.36,1)}
.cacio2-process-page .motion-image.is-visible{opacity:1;transform:scale(1)}
@media(max-width:800px){
	.cacio2-process-hero{grid-template-columns:1fr;gap:24px;padding:26px 20px 58px}
	body.cacio2-process-page-active #content .cacio2-process-hero h1{font-size:clamp(38px,9.5vw,52px);line-height:1.16}
	.cacio2-process-hero-media{aspect-ratio:1.12}
	.cacio2-process-intro{padding:68px 20px}
	.cacio2-process-intro-inner{display:block;width:100%;min-width:0}
	body.cacio2-process-page-active #content .cacio2-process-intro h2{font-size:38px;margin-bottom:24px}
	.cacio2-process-intro-copy p{font-size:15px;line-height:1.9}
	.cacio2-process-map{padding:0 20px 42px}
	.cacio2-process-map ol{justify-content:space-between;gap:10px;padding:15px 0 17px}
	.cacio2-process-map a{display:block;font-size:13.5px}
	.cacio2-process-map a span{display:block;margin-bottom:4px;font-size:11px;font-weight:600}
	.cacio2-process-step,.cacio2-process-step.is-reverse,.cacio2-process-step.is-wide{display:flex;flex-direction:column;min-height:0}
	.cacio2-process-step-media,.cacio2-process-step.is-wide .cacio2-process-step-media{width:100%;min-height:300px;height:clamp(300px,78vw,430px)}
	.cacio2-process-step.is-reverse .cacio2-process-step-media,.cacio2-process-step.is-reverse .cacio2-process-step-copy{order:initial}
	#process-step_01 .cacio2-process-step-media{display:none}
	.cacio2-process-step-copy{width:100%;max-width:none;padding:52px 20px 64px}
	body.cacio2-process-page-active #content .cacio2-process-step-copy h2{font-size:46px;margin-bottom:22px}
	.cacio2-process-step-copy p{font-size:15px;line-height:1.85}
	.cacio2-process-step-copy p.cacio2-process-lead{font-size:17px;line-height:1.75}
	.cacio2-process-final{display:block;padding:62px 20px 66px}
	body.cacio2-process-page-active #content .cacio2-process-final h2{font-size:42px;margin-bottom:28px}
	.cacio2-process-final-copy p{font-size:15px;line-height:1.85}
}
@media(prefers-reduced-motion:reduce){.cacio-cheese-guide-reveal-ready .cacio2-process-page .motion-reveal,.cacio-cheese-guide-reveal-ready .cacio2-process-page .motion-image{opacity:1;transform:none;transition:none}}
