/* Model 01: shared photographic direction, scoped to the two interior pages. */
.reference-inner .inner-hero{height:clamp(360px,31vw,460px);min-height:0;display:block;overflow:hidden}
.reference-inner .inner-hero:before,.reference-inner .inner-hero:after{display:none}
.reference-inner .inner-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 55%}
.reference-inner .inner-hero>.inner-panel{position:absolute;left:0;bottom:0;margin:0;width:57%;padding:30px 5.5vw 32px;background:var(--paper);border-radius:0 48px 0 0}
.reference-inner .inner-hero h1{font-size:clamp(44px,5.1vw,73px);line-height:1.02;max-width:12ch;margin:0 0 16px}
.reference-inner .inner-hero p{font-size:clamp(17px,1.65vw,23px);margin:0;max-width:34ch}
.reference-inner .inner-main{max-width:1300px;padding:12px 5.5vw 0}
.reference-inner .catalog-section,.reference-inner .catalog-section:not([open]){padding:0;border-bottom:1px solid var(--line);scroll-margin-top:145px}
.reference-inner .catalog-section:first-child{border-top:1px solid var(--line)}
.reference-inner .catalog-section summary{min-height:116px;gap:26px;padding:22px 12px;display:grid;grid-template-columns:68px 1fr 36px}
.reference-inner .catalog-section summary h2{font-size:clamp(28px,2.6vw,38px);line-height:1.1}
.reference-inner .catalog-label p{font-size:15px;margin-top:6px}
.reference-inner .category-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#7b3eb112;color:var(--accent)}
.reference-inner .category-icon svg{width:30px;height:30px}
.reference-inner .catalog-section summary>.category-icon,.reference-inner .catalog-section[open] summary>.category-icon{transform:none}
.reference-inner .catalog-section summary>span:last-child,.reference-inner .faq-group summary>span{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--accent);color:var(--accent);border-radius:50%;font-family:Hanken,sans-serif;font-size:24px;line-height:1;flex-shrink:0}
.reference-inner .catalog-section summary>span:last-child{position:relative;font-size:0}
.reference-inner .catalog-section summary>span:last-child:before,.reference-inner .catalog-section summary>span:last-child:after{content:'';position:absolute;top:50%;left:50%;width:12px;height:1.5px;border-radius:1px;background:currentColor;transform:translate(-50%,-50%)}
.reference-inner .catalog-section summary>span:last-child:after{transform:translate(-50%,-50%) rotate(90deg)}
.reference-inner .catalog-section[open] summary>span:last-child{transform:rotate(45deg)}
.reference-inner .catalog-content{padding:0 12px 24px 106px}
.reference-inner .catalog-content>p{font-size:14px;margin:0 0 16px}
.reference-inner .service-row{grid-template-columns:minmax(0,1fr) max-content 150px;gap:24px;padding:18px 0}
.reference-inner .service-row h3{font-family:Hanken,sans-serif;font-size:19px;letter-spacing:0}
.reference-inner .service-row p{font-size:14px;max-width:62ch}
.reference-inner .price{font-family:Hanken,sans-serif;font-size:23px}
.reference-inner .service-row .button,.reference-inner .pack>.button{font-size:15px;padding:11px 20px;border-radius:99px;min-height:44px}
.reference-inner .packs-grid{display:grid;grid-template-columns:1fr;gap:12px}
.reference-inner .pack{display:grid;grid-template-columns:minmax(0,1fr) max-content 150px;column-gap:24px;row-gap:6px;padding:22px 24px 22px 30px;min-height:0;border-radius:9px;background:#fffcf780;box-shadow:none;overflow:hidden}
.reference-inner .pack:before{height:auto;width:3px;bottom:0;right:auto}
.reference-inner .pack-top{grid-column:1;grid-row:1;justify-content:flex-start}
.reference-inner .pack-top .swatch{order:-1;width:23px;height:23px}
.reference-inner .pack h3{font-size:27px}
.reference-inner .pack>.price{grid-column:2;grid-row:1 / 3;text-align:right;align-self:center;margin:0;font-size:23px}
.reference-inner .pack>p{grid-column:1;grid-row:2;font-size:14px;margin:0}
.reference-inner .pack>.button{grid-column:3;grid-row:1 / 3;margin:0;align-self:center;justify-self:stretch}
.reference-inner .catalog-note{font-size:14px;padding:22px 12px 28px}
.reference-inner .faq-layout{display:block;padding:20px 0 24px}
.reference-inner .faq-group{margin:0 0 36px;scroll-margin-top:140px}
.reference-inner .faq-group h2{font-size:29px;padding:20px 12px 14px;color:var(--muted)}
.reference-inner .faq-group details,.reference-inner .faq-group details[open]{border:0;border-top:1px solid var(--line);background:transparent;border-radius:0;margin:0;padding:0}
.reference-inner .faq-group details:last-child{border-bottom:1px solid var(--line)}
.reference-inner .faq-group summary{overflow-wrap:anywhere;position:relative;align-items:center;padding:26px 12px 26px 106px;min-height:100px;font-family:JP Caslon,Georgia,serif;font-size:clamp(25px,2.25vw,32px);font-weight:400;line-height:1.15}
.reference-inner .faq-group summary:before{content:'?';position:absolute;left:12px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#7b3eb112;color:var(--accent);font-family:JP Caslon,serif;font-size:32px}
.reference-inner .faq-group details[open] summary{font-weight:400}
.reference-inner .faq-group details[open] summary>span{font-size:0}
.reference-inner .faq-group details p{margin:0 12px 24px 106px;padding:20px 24px;background:#eed6d480;border-radius:6px;font-size:16px;line-height:1.65;max-width:none;white-space:pre-line}
.reference-inner summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}
.reference-inner .faq-reassurance{background:#ead0ce;padding:30px 8vw;text-align:left}
.reference-inner .faq-reassurance h2{font-size:31px;margin-bottom:8px}
.reference-inner .faq-reassurance p{font-size:17px}
.reference-inner .closing{padding:32px 6vw;min-height:160px;gap:30px}
.reference-inner .closing h2{font-size:clamp(34px,3.7vw,53px)}
.reference-inner .closing .button{font-size:17px}
@media(max-width:760px){
 .reference-inner .inner-hero{height:430px}
 .reference-inner .inner-hero>img{object-position:70% 50%}
 .reference-inner .inner-hero>.inner-panel{width:94%;padding:25px 24px;border-radius:0 36px 0 0}
 .reference-inner .inner-hero h1{font-size:46px;margin-bottom:12px}
 .reference-inner .inner-hero p{font-size:17px}
 .reference-inner .inner-main{padding:12px 20px 0}
 .reference-inner .catalog-section summary{grid-template-columns:44px 1fr 28px;gap:14px;min-height:104px;padding:18px 0}
 .reference-inner .category-icon{width:44px;height:44px}.reference-inner .category-icon svg{width:25px;height:25px}
 .reference-inner .catalog-section summary h2{font-size:28px}.reference-inner .catalog-label p{font-size:13px}
 .reference-inner .catalog-section summary>span:last-child,.reference-inner .faq-group summary>span{width:28px;height:28px;font-size:22px}
 .reference-inner .catalog-content{padding:0 0 24px}
 .reference-inner .service-row{grid-template-columns:minmax(0,1fr) max-content;gap:10px;padding:18px 0}
 .reference-inner .service-row h3{font-size:18px}.reference-inner .service-row p{font-size:13px}
 .reference-inner .service-row .button{grid-column:1 / -1;justify-self:start;font-size:14px}
 .reference-inner .pack{grid-template-columns:minmax(0,1fr) max-content;padding:20px;column-gap:12px}
 .reference-inner .pack h3{font-size:26px}.reference-inner .pack>.price{grid-row:1}
 .reference-inner .pack>p{grid-column:1 / -1}.reference-inner .pack>.button{grid-column:1 / -1;grid-row:3;justify-self:start;margin-top:8px;font-size:14px}
 .reference-inner .catalog-note{display:block;padding:20px 0}.reference-inner .catalog-note span{display:block;margin-bottom:6px}
 .reference-inner .faq-group h2{font-size:27px;padding-left:0}.reference-inner .faq-group summary{font-size:25px;padding:22px 0 22px 57px;gap:12px}
 .reference-inner .faq-group summary:before{left:0;width:42px;height:42px;font-size:26px}
 .reference-inner .faq-group details p{margin:0 0 20px;padding:18px;font-size:16px}
 .reference-inner .faq-reassurance{padding:30px 24px}.reference-inner .faq-reassurance h2{font-size:30px}
 .reference-inner .closing{padding:30px 24px}.reference-inner .closing h2{font-size:39px}
 .reference-inner .closing .button{font-size:15px}
}
@media(prefers-reduced-motion:no-preference){
 .reference-inner.motion-ready .inner-hero>img{animation:home-photo-in 1.2s var(--ease) both}
 .reference-inner.motion-ready .inner-panel{animation:home-panel-in .85s .1s var(--ease) backwards}
}
