/* Supplied method artwork and editorial typography. */
.process-page .process-stage h2 { font-family:"Profa Trial","Mulish",sans-serif!important; font-weight:600!important; text-transform:uppercase; font-size:clamp(18px,2.1vw,25px)!important; line-height:1.4!important; letter-spacing:.025em; margin-bottom:18px; }
.process-page .process-stage .process-lead { font-family:"Libre Caslon Condensed",Georgia,serif!important; font-size:clamp(26px,3vw,34px)!important; font-weight:400!important; line-height:1.25!important; }
.process-page img.process-letter-art { display:block; width:100px; height:100px; object-fit:contain; padding:0; border:0; background:none; border-radius:0; }
.process-page .process-logo { width:min(100%,460px)!important; height:auto!important; aspect-ratio:571/106; object-fit:contain; padding:0!important; background:transparent!important; border:0!important; box-shadow:none!important; }
@media(max-width:600px){ .process-page img.process-letter-art { width:64px; height:64px; } .process-page .process-stage { grid-template-columns:64px minmax(0,1fr); gap:20px; } }
.process-house { max-width:1040px; margin:24px auto 72px; padding:0 24px; }
.process-house img { display:block; width:100%; height:auto; border:1px solid #c6c4ae; border-radius:8px; }
.process-page .process-stage-ending { font-weight:600; }
@media(max-width:600px){ .process-page .process-stage { grid-template-columns:minmax(0,1fr); gap:20px; } .process-house { margin-bottom:40px; } }

.process-mosaics{display:flex;justify-content:center;gap:8px;margin:0 auto 32px}.process-mosaics img{display:block;width:48px;height:48px;object-fit:contain}@media(max-width:600px){.process-mosaics img{width:40px;height:40px}}
/* Editorial layout matching the supplied composition. */
.process-hero{position:relative;max-width:1240px;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(44px,7vw,100px);padding:100px 44px 72px}
.process-intro{min-width:0}.process-back{position:absolute;top:24px;left:44px;margin:0}
.process-page .process-logo{max-width:480px;margin:0 0 28px;padding-bottom:18px!important;border-bottom:1px solid #a1a082!important;aspect-ratio:auto}
.process-page .process-opening,.process-page .process-summary{font-family:"Libre Caslon Condensed",Georgia,serif;font-weight:400;font-size:clamp(26px,2.6vw,32px);line-height:1.3;color:#5d0a1f;margin:0 0 32px}
.process-page .process-personal{font-family:"Libre Caslon Condensed",Georgia,serif;font-size:28px;font-weight:700;line-height:1.3;text-transform:uppercase;margin:34px 0}
.process-intro>p{color:#5d0a1f;line-height:1.5;margin-bottom:32px}.process-page .process-routine{color:#6b4746;text-transform:uppercase;line-height:2;margin:32px 0}.process-page .process-origin{line-height:1.7;margin-bottom:32px}.process-page .process-summary{margin-bottom:0}.process-summary strong{font-weight:700}
.process-portrait{position:static;margin:0;width:100%;align-self:start}.process-portrait figcaption{padding:15px 20px}
.process-stages{max-width:1140px;padding:0 44px 60px}.process-page .process-stage{position:relative;grid-template-columns:52px minmax(0,1fr);column-gap:32px;border:0;padding:24px 0 38px}.process-page img.process-letter-art{width:52px;height:52px}.process-stage:after{content:"";position:absolute;left:26px;top:92px;bottom:16px;width:1px;background:#a1a082;pointer-events:none}
.process-page .process-stage h2{font-size:clamp(20px,2.4vw,28px)!important;letter-spacing:.14em;line-height:1.35!important;margin:5px 0 24px}.process-page .process-stage .process-lead{font-family:"Mulish",Arial,sans-serif!important;font-size:17px!important;line-height:1.6!important;margin:0 0 8px;color:#5d0a1f}.process-stage p{font-size:17px;line-height:1.6;margin:0 0 8px;color:#5d0a1f}.process-stage .process-stage-list{text-transform:uppercase;color:#933634}.process-page .process-stage-ending{font-weight:400;margin:8px 0 0}.process-stage-ending strong{font-weight:700}
@media(max-width:800px){.process-hero{grid-template-columns:minmax(0,1fr);padding:88px 24px 48px;gap:36px}.process-back{left:24px}.process-portrait{max-width:480px;justify-self:center}.process-stages{padding:0 24px 40px}.process-page .process-stage{grid-template-columns:44px minmax(0,1fr);gap:20px}.process-page img.process-letter-art{width:44px;height:44px}.process-stage:after{left:22px;top:82px}.process-page .process-stage h2{font-size:clamp(16px,4.4vw,23px)!important;letter-spacing:.075em;margin-top:8px}.process-stage p,.process-page .process-stage .process-lead{font-size:16px!important}.process-page .process-opening,.process-page .process-summary{font-size:28px}}

/* A quiet ivory transition followed by a focused closing invitation. */
.process-house{margin-bottom:28px}
.process-page>.process-mosaics{max-width:1040px;justify-content:center;gap:12px;margin:0 auto;padding:0 24px 56px;background:#F5EFE8}
.process-page>.process-mosaics img{width:52px;height:52px}
.process-page .process-result{padding:76px 28px 80px}
.process-page .process-result>p:first-child{max-width:520px;margin-bottom:26px;font-size:16px;line-height:1.7;color:#e6d8d3;text-wrap:pretty}
.process-page .process-result h2{max-width:670px;font-family:"Libre Caslon Condensed",Georgia,serif;font-size:clamp(36px,4.6vw,58px);font-weight:400;line-height:1.12;letter-spacing:-.015em;text-wrap:balance;margin-bottom:28px}
.process-page .process-result>p{max-width:550px;font-size:17px;line-height:1.75;text-wrap:pretty;margin-bottom:22px}
.process-page .process-result .process-signature{max-width:480px;font-family:"Libre Caslon Condensed",Georgia,serif;font-size:clamp(28px,3vw,36px);line-height:1.25;text-wrap:balance;margin-top:38px;margin-bottom:32px;color:#F5EFE8}
.process-page .process-result .process-cta{margin-top:0;min-height:58px;padding:18px 30px}
@media(max-width:600px){.process-page>.process-mosaics{gap:10px;padding-bottom:40px}.process-page>.process-mosaics img{width:44px;height:44px}.process-page .process-result{padding:48px 24px 52px}.process-page .process-result>p{font-size:16px}.process-page .process-result h2{font-size:38px;margin-bottom:24px}.process-page .process-result .process-signature{margin-top:30px;margin-bottom:28px}.process-page .process-result .process-cta{width:auto;max-width:100%;font-size:12px;padding:17px 22px}}

/* Final editorial details. The SVG already includes its own underline. */
.process-page .process-logo{border-bottom:0!important;padding-bottom:0!important;width:min(100%,400px)!important}
.process-stage:last-child:before{content:"";position:absolute;width:7px;height:7px;background:#a1a082;left:23px;bottom:13px;pointer-events:none}
.process-page .process-stage strong{font-weight:700}
.process-page .process-result>p:first-child{max-width:600px;text-wrap:balance}
.process-result>p:first-child>span{display:block}
@media(max-width:800px){.process-stage:last-child:before{left:19px}}
@media(max-width:600px){.process-result>p:first-child>span{display:inline}}
.process-page .process-routine{display:block}
.process-routine>.routine-row{display:block;white-space:normal}
@media(max-width:600px){
 .process-page .process-opening,.process-page .process-summary{font-size:clamp(25px,6.5vw,28px);line-height:1.3;text-wrap:pretty}
 .process-page .process-personal{font-size:clamp(23px,6vw,26px);line-height:1.2;max-width:100%;text-wrap:balance;margin:26px 0}
 .process-page .process-routine{display:block;font-size:clamp(11px,3.2vw,14px);line-height:1.8;margin:26px 0}
 .process-routine>.routine-row{display:block;white-space:nowrap}
 html:not([lang^="pt"]) .process-routine>.routine-row{white-space:normal}
 .process-page .process-origin{line-height:1.6;text-wrap:pretty}
 .process-origin>br{display:none}
 .process-origin>span{display:block}
 .process-origin>span+span{margin-top:12px}
 .process-summary>strong{white-space:nowrap}
}
/* The invitation begins in the ivory area below the mosaics. */
.process-page>.process-mosaics{padding-bottom:24px}
.process-page>.process-bridge{max-width:660px;padding:0 24px;margin:0 auto 52px;text-align:center;color:#5d0a1f;font-size:16px;line-height:1.7;text-wrap:balance}
.process-bridge>span{display:block}
.process-page .process-result .process-signature{font-family:"Profa Trial","Mulish",sans-serif;font-size:clamp(17px,1.9vw,22px);font-weight:600;line-height:1.65;letter-spacing:.065em;text-transform:uppercase;color:#A1A082;max-width:640px}
.process-page .process-result .process-cta{min-height:44px;padding:10px 24px;animation:none!important;box-shadow:none!important;font-size:13px}
.process-page .process-result .process-cta:before,.process-page .process-result .process-cta:after{display:none}
@media(max-width:600px){.process-page>.process-bridge{font-size:15px;margin-bottom:36px}.process-bridge>span{display:inline}.process-page .process-logo{width:90%!important}.process-page .process-result .process-cta{font-size:12px;padding:10px 20px}.process-page .process-result .process-signature{font-size:17px;letter-spacing:.05em}}
.process-recognition{background:#F5EFE8;text-align:center;padding:0 24px 64px}
.process-recognition h2{max-width:540px;margin:0 auto;font-family:"Libre Caslon Condensed",Georgia,serif;font-weight:600;font-size:clamp(28px,3vw,36px);line-height:1.35;text-wrap:balance;color:#5d0a1f}
.recognition-divider{position:relative;display:block;width:1px;height:30px;background:#6b4746;margin:58px auto}
.recognition-divider:after{content:"";position:absolute;width:6px;height:6px;left:-2.5px;bottom:0;background:#6b4746;transform:rotate(45deg)}
.process-page .process-recognition p{margin:0 auto;max-width:720px;font-family:"Profa Trial","Mulish",sans-serif;text-transform:uppercase;letter-spacing:.09em;font-size:clamp(13px,1.8vw,20px);line-height:2.2;color:#933634}
.process-recognition p>span{display:block}
.process-page .process-result .process-signature-photo{display:block;width:min(100%,340px);height:auto;border-radius:8px;border:1px solid #a1a08266;margin:32px auto 28px!important}
.process-page .process-result .process-signature{margin-top:0}
.process-signature>span{display:block}
.process-signature .signature-intro{color:#F5EFE8}
@media(max-width:600px){.process-recognition{padding-bottom:44px}.recognition-divider{margin:38px auto}.process-page .process-recognition p{font-size:12px;letter-spacing:.065em}.process-page .process-result .process-signature-photo{width:min(100%,300px)}}
/* Balanced mosaic spacing and a single, aligned divider graphic. */
.process-page>.process-mosaics{padding-bottom:44px}
.process-page .process-recognition p{font-family:"Profa Trial Bold","Profa Trial","Mulish",sans-serif;font-weight:700}
.recognition-divider{width:10px;height:34px;background:none;color:#6b4746;line-height:0}
.recognition-divider svg{display:block;width:10px;height:34px}
.recognition-divider:after{content:none;display:none}
@media(max-width:600px){.process-page>.process-mosaics{padding-bottom:36px}}
.process-page .process-eyebrow{font-family:"Profa Trial","Mulish",sans-serif;font-size:12px;font-weight:600;letter-spacing:.06em;line-height:1.6;color:#6b4746;margin:0 0 16px;text-transform:uppercase}
.process-page .process-logo{width:min(100%,350px)!important}
.process-page .process-routine{font-family:"Profa Trial","Mulish",sans-serif;font-weight:600;letter-spacing:.015em;font-size:14px}
.process-page .process-result .process-cta{min-height:50px;padding:13px 28px;font-size:14px;gap:14px}
@media(max-width:600px){.process-page .process-logo{width:min(88%,350px)!important}.process-page .process-eyebrow{font-size:10px;letter-spacing:.035em}.process-page .process-routine{font-size:clamp(10px,2.8vw,12px)}.process-page .process-result .process-cta{min-height:50px;padding:13px 22px;font-size:12px}}
.process-page .process-result .process-cta{border:0;box-shadow:none!important}
.process-signature>span:last-child{white-space:nowrap}
@media(max-width:600px){.process-page .process-routine{font-size:clamp(11px,3.4vw,14px);letter-spacing:0;padding-left:14px}.process-page .process-result .process-signature{font-size:clamp(10px,3.1vw,16px);letter-spacing:.015em}}

/* Method page: caption, paragraph spacing and closing call to action. */
.process-portrait figcaption{text-align:center;font-family:"Profa Trial","Mulish",sans-serif;font-weight:600;line-height:1.5}
.process-origin>span{display:block}
.process-origin>span+span{margin-top:1em}
.process-page .process-result .process-signature-divider{display:block;width:1px;height:64px;background:rgba(161,160,130,.65);margin:36px auto!important}
.process-page .process-result .process-cta{min-height:60px;min-width:300px;padding:17px 34px;font-size:15px;gap:18px}
@media(max-width:600px){.process-page .process-result .process-cta{min-width:0;width:min(100%,340px);min-height:58px;padding:17px 24px;font-size:13px;gap:16px}}

.process-page .process-result .process-cta{font-size:17px;line-height:1.25;min-height:56px;padding:15px 26px;min-width:280px;gap:14px}.process-page .process-result .process-cta svg{width:22px;height:22px}@media(max-width:600px){.process-page .process-result .process-cta{font-size:15px;min-height:54px;padding:14px 22px;min-width:0;width:min(100%,320px)}}

/* Method refinements */
.process-page .process-stages{border-top:1px solid rgba(107,71,70,.25);padding-top:clamp(32px,5vw,64px);}
.process-page .process-result-icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;margin:0 auto 28px;border-radius:50%;background:#A1A082;}
.process-page .process-result-icon img{display:block;width:24px;height:24px;animation:process-heart-pulse 2.6s ease-in-out infinite;}
@keyframes process-heart-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
@media(prefers-reduced-motion:reduce){.process-page .process-result-icon img{animation:none;}}
.process-page .process-result>p:first-of-type{max-width:600px;text-wrap:balance;margin-left:auto;margin-right:auto;}
.process-page .process-origin strong, .process-page .process-bridge strong, .process-page strong{font-weight:700;}
