/* Editorial service pages: readable copy, textile diagrams, product comparisons. */
.service-page .page-hero-inner{min-height:calc(100svh - var(--page-chrome));grid-template-rows:1fr auto;padding-block:clamp(35px,6svh,76px) 25px;gap:25px 55px}
.service-page .page-hero h1{font-size:clamp(56px,min(6.6vw,12svh),103px)}
.service-page .page-hero-visual img{max-height:min(49svh,450px)}
/* Framed hero visual: artwork held by a rectangular frame fitted to it, instead of the round cutout halo.
   --hv-ar is the artwork's width/height; it keeps the frame on the image and caps height on short screens. */
.page-hero-visual-framed{--hv-ar:1;margin:0;justify-self:center;align-self:center;width:min(100%,560px,calc(58svh * var(--hv-ar)));aspect-ratio:var(--hv-ar)}
.page-hero-visual-framed:before{inset:0;border-radius:0;z-index:2;pointer-events:none}
.service-page .page-hero-visual-framed img{width:100%;height:100%;max-height:none;object-fit:contain}
.service-hero-flow{grid-column:1/-1;display:flex;justify-content:center;padding:18px 0 8px}
.service-hero-flow .button{min-height:58px;font-size:15px;gap:25px}
.service-hero-flow .arrow-right{width:38px;height:22px}
.service-content{min-width:0}
.service-jump{display:flex;flex-wrap:wrap;gap:15px 30px;padding:30px 0;border-bottom:1px solid var(--line)}
.service-jump a{font-size:14px;line-height:1.7;text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:4px}
.service-jump a:hover{color:var(--accent);border-color:var(--accent)}
.service-section{position:relative;padding-block:clamp(58px,7vw,100px);border-bottom:1px solid var(--line)}
.service-section h2{font-size:clamp(42px,4.9vw,70px);line-height:1.02;max-width:1020px;margin-bottom:34px}
.service-section h3{font-size:30px;line-height:1.13;margin:0 0 19px}
.service-section p,.service-section li{font-size:17px;line-height:1.9;color:var(--muted)}
.service-section p{max-width:870px;margin-block:0 22px}
.service-section p:last-child{margin-bottom:0}
.service-section .eyebrow{font-size:12px;line-height:1.6;color:var(--accent);margin-bottom:24px}
.service-section a:not(.flow-link){color:var(--ink);text-underline-offset:4px}
.service-section a:hover{color:var(--accent)}
.service-section strong{color:var(--ink);font-weight:600}
.service-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:65px}
.service-split>*{min-width:0}
.service-intro{max-width:870px;margin-bottom:40px!important}
.service-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:40px 0 33px}
.service-cards article{position:relative;padding:35px 28px;border:1px solid var(--line);background:linear-gradient(150deg,#aa414b0c,transparent 65%),var(--surface);min-width:0}
.service-cards article:before{content:'';position:absolute;top:-1px;left:28px;width:48px;height:2px;background:var(--accent)}
.service-section .card-tag{font-size:11px;color:var(--accent);letter-spacing:1.3px;margin-bottom:34px}
.service-cards p{font-size:16px;line-height:1.9}
.service-section .service-note{font-size:15px;border-left:2px solid var(--accent);padding:8px 0 8px 24px;margin-block:30px 0;max-width:960px}
.service-checklist{padding:36px;background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--accent)}
.service-checklist ul{list-style:none;padding:0;margin:20px 0 28px}
.service-checklist li{position:relative;padding:0 0 15px 22px;font-size:16px}
.service-checklist li:before{content:'';position:absolute;top:12px;left:0;width:5px;height:5px;background:var(--accent)}
.service-checklist p{font-size:15px}
.service-table-wrap{max-width:100%;overflow-x:auto;margin:40px 0 30px;border:1px solid var(--line)}
.service-table{width:100%;border-collapse:collapse;text-align:left;table-layout:fixed}
.service-table caption{text-align:left;padding:20px 24px;font-size:14px;background:var(--surface);color:var(--muted)}
.service-table th,.service-table td{vertical-align:top;padding:23px 24px;border-top:1px solid var(--line);font-size:16px;line-height:1.8;overflow-wrap:break-word}
.service-table thead th{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--accent);font-weight:600}
.service-table td{color:var(--muted)}
.service-table th:first-child{width:23%;font-weight:600}
.service-table tbody tr:nth-child(2n){background:#9d595c06}
.service-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;list-style:none;padding:0;margin:40px 0 30px}
.service-steps>li{border-top:1px solid var(--line);padding-top:23px}
.service-steps>li>span{display:block;font:600 58px/1 var(--font-display);color:var(--accent);margin-bottom:25px}
.service-steps h3{color:var(--ink)}
.service-steps p{font-size:16px}
.service-section .flow-next{padding-top:46px;padding-bottom:0}
.service-final{border:0}
.service-final>p:not(.eyebrow){max-width:780px}
.service-product-rows{border-top:1px solid var(--line);margin-top:40px}
.service-product-rows article{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:45px;padding:29px 0;border-bottom:1px solid var(--line)}
.service-product-rows h3{font-size:clamp(32px,3vw,44px);margin:0}
.service-product-rows p{font-size:16px;max-width:720px;margin:0}
.stitch-guide{display:grid;grid-template-columns:1fr 1fr;gap:24px;background:#191617;color:#f1e8e4;padding:34px;border:1px solid #604248}
.stitch-guide h3{font-size:27px;margin-top:25px}.stitch-guide p{font-size:15px;color:#c9c0bd}
.stitch-sample{display:block;height:110px;width:100%;border-radius:3px;border:1px solid #926b6a;box-shadow:inset 0 0 15px #0005}
.stitch-sample.satin{background:repeating-linear-gradient(100deg,#723740 0 1px,#eab3ac 2px,#a6565d 3px,#522e37 4px)}
.stitch-sample.tatami{background:repeating-linear-gradient(0deg,transparent 0 4px,#391d2459 5px 6px),repeating-linear-gradient(127deg,#713840 0 1px,#d89490 2px,#91515a 3px,#3a242c 4px)}
.catalog-pair{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:35px 0}
.catalog-pair>a{display:flex;flex-direction:column;gap:22px;padding:35px;color:var(--ink);text-decoration:none;background:linear-gradient(140deg,#a44a541a,transparent),var(--surface);border:1px solid var(--line)}
.catalog-pair>a:hover{border-color:var(--accent)}
.catalog-pair>a>span:not(.ember-surface){font-size:12px;letter-spacing:1px;color:var(--accent)}
.catalog-pair strong{font:700 clamp(34px,3.4vw,48px)/1.05 var(--font-display)}
.catalog-pair>a>span:nth-of-type(2){display:flex;align-items:center;justify-content:space-between;color:var(--ink);font-size:14px;letter-spacing:0;margin-top:10px}
@media(max-width:1000px){.service-split{gap:35px}.service-cards{gap:15px}.service-cards article{padding:28px 21px}.service-section h3{font-size:27px}.service-checklist{padding:28px}.service-table th,.service-table td{padding:19px 16px}.stitch-guide{padding:25px;gap:16px}.service-steps{gap:25px}}
@media(max-width:700px){
 .service-page .page-hero-inner{grid-template-columns:minmax(0,1fr);padding-top:35px;gap:15px;min-height:calc(100svh - var(--page-chrome))}
 .service-page .page-hero h1{font-size:clamp(48px,11vw,70px)}
 .service-page .page-hero-visual{max-width:300px;width:100%;justify-self:center}
 .service-page .page-hero-visual img{max-height:230px}
 .service-page .page-hero-visual-framed{max-width:none;width:min(100%,340px)}
 .service-page .page-hero-visual-framed img{max-height:none}
 .service-hero-flow{padding-top:10px}.service-hero-flow .button{min-height:54px;font-size:14px}
 .service-jump{gap:13px 23px;padding-block:25px}.service-jump a{font-size:13px}
 .service-split,.service-cards,.service-steps,.catalog-pair{grid-template-columns:minmax(0,1fr);gap:25px}
 .service-section{padding-block:50px}.service-section h2{font-size:clamp(38px,9vw,55px);margin-bottom:28px}
 .service-section p,.service-section li{font-size:16px;line-height:1.85}.service-section .eyebrow{font-size:11px}
 .service-cards{margin-block:30px}.service-cards article{padding:30px 25px}.service-section .card-tag{font-size:11px;margin-bottom:24px}
 .service-table th,.service-table td{font-size:14px;line-height:1.7;padding:16px 12px}.service-table thead th{font-size:10px;letter-spacing:.3px}
 .service-table th:first-child{width:27%}.service-table caption{font-size:12px;padding:16px 12px}
 .service-product-rows article{grid-template-columns:1fr;gap:15px;padding-block:25px}
 .service-product-rows h3{font-size:35px}.service-checklist{padding:27px 24px}
 .service-steps>li{position:relative;padding-left:63px}.service-steps>li>span{position:absolute;left:0;top:26px;font-size:43px}
 .service-section .flow-next{padding-top:32px}.catalog-pair>a{padding:28px}
}
@media(max-width:370px){.service-table th,.service-table td{font-size:12px;padding:14px 8px}.stitch-guide{padding:22px 18px}.stitch-guide p{font-size:14px}}
@media print{.service-hero-flow,.service-jump{display:none}.service-page .page-hero-inner{min-height:0;display:block}.service-section{padding-block:30px}.service-split,.service-cards,.service-steps{display:block}.service-cards article{break-inside:avoid;margin-block:18px}.service-table-wrap{overflow:visible}}
