.service-page{background:#faf9f6;color:#443a32;padding:0 max(6%,24px)}
.service-page>header,.service-page>section,.service-closing{max-width:1240px;margin-inline:auto}
.service-heading{padding:34px 0 48px}.service-heading .editorial-back{margin-bottom:32px}.service-heading-line{display:flex;align-items:flex-end;justify-content:space-between;gap:32px}.service-heading h1{font-family:var(--serif);font-size:clamp(34px,3.7vw,54px);line-height:1.45;letter-spacing:.03em;font-weight:400;margin:13px 0 0}.service-heading-note{font-size:14px;line-height:2.1;color:#8a7b6e;padding-bottom:8px}
.service-list{border-top:1px solid #d8cfc3}.service-row{display:grid;grid-template-columns:1fr 2.2fr .85fr;gap:34px;align-items:center;padding:35px 0;border-bottom:1px solid #ded7ce;transition:background .4s}.service-label{align-self:start;display:flex;align-items:baseline;gap:20px;padding-top:3px}.service-number{font-size:10px;letter-spacing:.12em;color:#a28d77}.service-label h2{font-size:21px;font-weight:400;letter-spacing:.04em}.service-description h3{font-size:16px;line-height:1.8;font-weight:400;margin:0 0 9px}.service-description>p{font-size:13px;line-height:2;color:#807367;max-width:540px;margin:0}.service-description .service-prep{font-size:10px;margin-top:17px;color:#948879}.service-prep span{display:inline-block;margin-left:12px}.service-action{justify-self:end;display:flex;gap:20px;align-items:center;font-size:12px;min-height:48px;color:#514032}.service-action-arrow{width:36px;height:36px;border:1px solid #d3c5b5;display:grid;place-items:center;border-radius:50%;font-size:16px;transition:transform .4s,background .4s,color .4s}.service-action:hover .service-action-arrow{transform:translate(2px,-2px);background:#3b2d25;color:#faf9f6}.service-action:focus-visible{outline:2px solid #896e55;outline-offset:6px}.service-action:active .service-action-arrow{transform:scale(.94)}
.service-process{padding:62px 0;border-bottom:1px solid #ded7ce}.service-process h2,.service-faq>h2{font-family:var(--serif);font-size:29px;line-height:1.5;font-weight:400;margin:10px 0 30px}.service-process ol{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;list-style:none;padding:0;margin:0}.service-process li{border-left:1px solid #d8cfc3;padding-left:22px}.service-process li>span{font-size:10px;color:#9f8b76}.service-process h3{font-size:15px;font-weight:400;margin:13px 0 10px}.service-process li p{font-size:12px;line-height:1.9;color:#86796c}
.service-faq{display:grid;grid-template-columns:1fr 2fr;gap:40px;padding:55px 0}.service-faq>h2{font-size:25px;margin:9px 0}.service-faq details{border-bottom:1px solid #ded7ce}.service-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;align-items:center;padding:22px 0;font-size:14px;line-height:1.7}.service-faq summary::-webkit-details-marker{display:none}.service-faq summary>span{color:#9c866e;transition:transform .3s}.service-faq details[open] summary>span{transform:rotate(45deg)}.service-faq details>p{font-size:13px;line-height:2;color:#807367;padding:0 32px 23px 0;margin:0}.service-closing{padding:0 0 65px;display:flex;align-items:center;justify-content:space-between;gap:24px}.service-closing>p{font-size:13px;line-height:1.9;color:#8a7b6e}
@media(max-width:760px){.service-heading{padding:26px 0 34px}.service-heading .editorial-back{margin-bottom:27px}.service-heading-line{display:block}.service-heading-note{font-size:13px;margin:20px 0 0}.service-heading h1{font-size:34px}.service-row{grid-template-columns:1fr;gap:18px;padding:28px 0}.service-label{gap:13px}.service-label h2{font-size:21px;margin:0}.service-description h3{font-size:15px}.service-prep span{display:block;margin-left:0}.service-action{justify-self:start;gap:22px}.service-process{padding:38px 0}.service-process h2{font-size:25px}.service-process ol{grid-template-columns:1fr;gap:25px}.service-process h3{margin:8px 0}.service-process li p{margin:0}.service-faq{grid-template-columns:1fr;gap:6px;padding:35px 0}.service-faq summary{font-size:13px}.service-closing{align-items:flex-start;flex-direction:column;gap:13px;padding-bottom:40px}}
@media(prefers-reduced-motion:reduce){.service-row,.service-action-arrow,.service-faq summary>span{transition:none}}

/* Small photographic studies paired with the service list. */
.service-row{grid-template-columns:170px minmax(130px,.85fr) minmax(0,2fr) auto;gap:28px;padding:30px 0}
.service-visual{margin:0;width:100%;aspect-ratio:4/3;overflow:hidden;background:#e9e3da}
.service-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .7s cubic-bezier(.22,1,.36,1)}



.service-label{gap:12px}.service-label h2{font-size:20px}.service-action{gap:14px}
@media(hover:hover) and (pointer:fine){.service-row:hover .service-visual img{transform:scale(1.035)}}
@media(min-width:761px) and (max-width:1100px){.service-row{grid-template-columns:135px minmax(0,1fr) auto;gap:20px}.service-visual{grid-row:span 2;align-self:start}.service-label{grid-column:2}.service-description{grid-column:2;grid-row:2}.service-action{grid-column:3;grid-row:1/3}.service-description .service-prep{margin-top:12px}}
@media(max-width:760px){.service-row{grid-template-columns:minmax(0,1fr);gap:20px;padding:27px 0}.service-visual{aspect-ratio:16/9;max-height:210px}.service-label h2{font-size:21px}.service-action{justify-self:start}}
@media(prefers-reduced-motion:reduce){.service-visual img{transition:none}.service-row:hover .service-visual img{transform:none}}

/* A single consultation action follows the service overview. */
@media(min-width:1101px){.service-row{grid-template-columns:170px minmax(130px,.85fr) minmax(0,2fr)}}
@media(min-width:761px) and (max-width:1100px){.service-row{grid-template-columns:135px minmax(0,1fr)}}

/* Larger textile studies: keep material and stitching legible. */
@media(min-width:1101px){.service-row{grid-template-columns:260px minmax(130px,.75fr) minmax(0,1.7fr);gap:38px;padding:36px 0}.service-label{padding-top:8px}}
@media(min-width:761px) and (max-width:1100px){.service-row{grid-template-columns:220px minmax(0,1fr);gap:18px 30px}}
.service-row-2 .service-visual img{object-position:50% 58%}
@media(max-width:760px){.service-visual{aspect-ratio:4/3;max-height:none}}
