/* A restrained material and motion layer; source typography/layout stays authoritative. */
:root{--polish-ease:cubic-bezier(.22,.7,.3,1);--light-x:25%}
main [data-sc-act]{--sc-p:.5}
.button,.header-cta,.solid-button{isolation:isolate;transition:box-shadow .24s,filter .24s,transform .24s!important}
.button:hover,.header-cta:hover,.solid-button:hover{box-shadow:inset 0 1px 1px #fff8,0 7px 18px #170e122b!important;filter:brightness(1.06)}
.button:active,.header-cta:active,.solid-button:active{filter:brightness(.97)}
.site-header nav a{position:relative;text-underline-offset:6px;text-decoration-thickness:1px}
.site-header nav a:hover,.site-header nav a:focus-visible{text-decoration:underline}
.portrait-depth{position:absolute;inset:0;overflow:hidden;pointer-events:none;opacity:0;z-index:0}
.portrait-depth img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;max-width:none}
.depth-ready .portrait-depth{opacity:1}
.depth-ready .depth-poster{opacity:0!important}
.portrait-subject{filter:drop-shadow(8px 14px 20px #0004)}
.motion-enhanced:not(.polish-paused) .portrait-plate{transform:scale(calc(1.025 + (var(--sc-p,.5) - .5)*.07)) translateY(calc((var(--sc-p,.5) - .5)*-22px))}
.motion-enhanced:not(.polish-paused) .portrait-subject{transform:translateY(calc((var(--sc-p,.5) - .5)*18px)) scale(1.015)}
/* Lawora: the photographic matter lens, composed beside its original practice list. */
.photo-index{display:grid;grid-template-columns:.9fr 1.15fr;gap:clamp(30px,5vw,80px);align-items:center;margin-top:40px}
.practice-window{position:relative;height:510px;overflow:hidden;border-radius:20px;background:#161d23;box-shadow:0 4px 8px #15232b18,0 28px 45px -24px #0c1c3870;border:1px solid #ffffff2a}
.practice-scene{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .55s var(--polish-ease);pointer-events:none}
.practice-scene.is-current{opacity:1;z-index:1}
.practice-scene:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(transparent 60%,#07101bc9)}
.practice-scene img{width:100%;height:100%;object-fit:cover;transform:scale(1.045);transition:transform 1s var(--polish-ease)}
.practice-scene.is-current img{transform:scale(1)}
.practice-scene figcaption{position:absolute;z-index:2;left:30px;bottom:28px;color:#fff;font-size:23px;letter-spacing:-.025em}
.photo-index .practice-row{grid-template-columns:30px 1fr 28px;gap:12px 18px;padding:25px 15px;border-radius:12px;position:relative;transition:background .3s,box-shadow .3s}
.photo-index .practice-row p{grid-column:2;grid-row:2;margin:0!important;max-width:34ch;font-size:17px!important;line-height:1.55!important}
.photo-index .practice-row>:last-child{grid-column:3;grid-row:1;align-self:center}
.photo-index .practice-row h3{font-size:clamp(24px,2.3vw,33px)!important;line-height:1.2!important}
.photo-index .practice-row.is-current{background:linear-gradient(110deg,#c4a96e12,#c4a96e26);box-shadow:inset 3px 0 #b99b5d}
[data-template=lawora] .practice-section{background:linear-gradient(120deg,#eeeae0,#f6f4ee 70%)}
[data-template=lawora] .practice-window{border-radius:80px 20px 20px 20px}
[data-template=lawora] .hero-note{backdrop-filter:blur(18px);box-shadow:inset 0 1px #e6d6a033,0 16px 35px #0003}
[data-template=lawora] .about-art{box-shadow:0 25px 48px -24px #07141a70}
/* Brian: library planes, soft editorial frames and a confident compact reading interval. */
[data-template=brian] .portrait-depth{border-radius:inherit}
[data-template=brian] .hero-shade{z-index:1}
[data-template=brian] .hero h1,[data-template=brian] .hero-support,[data-template=brian] .hero-principles,[data-template=brian] .hero-cta,[data-template=brian] .hero-footnote{z-index:2}
[data-template=brian] .mission{position:relative;border-top:1px solid #bda77755;border-bottom:1px solid #bda77755;margin-block:80px;padding-block:65px;background:linear-gradient(110deg,#f7f3e955,transparent)}
[data-template=brian] .mission:before{content:'';position:absolute;left:0;top:-1px;height:2px;width:100%;background:#ae8d50;transform-origin:left;transform:scaleX(var(--sc-p,.5))}
[data-template=brian] .practice-card{box-shadow:0 25px 38px -25px #34261480;transition:box-shadow .35s,transform .35s}
[data-template=brian] .practice-card:hover{transform:translateY(-5px);box-shadow:0 30px 45px -22px #34261485}
[data-template=brian] .principles-portrait{overflow:hidden;box-shadow:0 28px 45px -24px #30231790}
.motion-enhanced:not(.polish-paused) [data-photo-drift]{transform:scale(calc(1.025 + var(--sc-p,.5)*.035));transition:transform .15s linear}
/* Anthony: full photographs remain visible; the reading row opens its frame. */
[data-template=antony] [data-folio-row]{isolation:isolate;transition:background .4s,box-shadow .4s}
[data-template=antony] [data-folio-row] .service-preview{transition:transform .6s var(--polish-ease),box-shadow .6s,border-radius .6s;transform:scale(.94);border-radius:22px;box-shadow:0 12px 25px -14px #002f2580}
[data-template=antony] [data-folio-row].is-reading{background:linear-gradient(100deg,#f5f3e6,#e6ebe1);box-shadow:inset 3px 0 #3b5d48}
[data-template=antony] [data-folio-row].is-reading .service-preview,[data-template=antony] [data-folio-row]:focus-within .service-preview{transform:scale(1);border-radius:12px;box-shadow:0 18px 28px -17px #00362b99}
[data-template=antony] .hero-person{filter:drop-shadow(12px 16px 16px #092c232a)}
[data-template=antony] .approach-film{box-shadow:inset 0 1px #ffffff30,0 30px 45px -32px #14372b80}
/* Adrian: dark photographic windows, bronze edges that mark the reading position. */
[data-template=adrian] .portrait-depth{inset:30px 0 0}
[data-template=adrian] .portrait-depth img{object-position:center top}
[data-template=adrian] .hero-mid,[data-template=adrian] .hero-bottom{z-index:3}
[data-template=adrian] .hero:after{z-index:2}
[data-template=adrian] .practice-panel{position:relative;background:linear-gradient(140deg,#302d22,#141713 80%);box-shadow:inset 0 1px #e4c68a30,0 18px 32px #0004}
[data-template=adrian] .practice-panel:before{content:'';position:absolute;left:18px;right:18px;top:-1px;height:2px;background:#d3b373;transform:scaleX(.12);transform-origin:left;transition:transform .65s var(--polish-ease)}
[data-template=adrian] .practice-panel.is-reading:before,[data-template=adrian] .practice-panel:focus-within:before{transform:scaleX(1)}
[data-template=adrian] .panel-image{overflow:hidden}
[data-template=adrian] .panel-image img{transform:scale(1.045);transition:transform .8s var(--polish-ease)}
[data-template=adrian] .is-reading .panel-image img,[data-template=adrian] .practice-panel:hover .panel-image img{transform:scale(1)}
[data-template=adrian] .commitment-media{border-radius:18px;box-shadow:0 20px 55px #0005;overflow:hidden}
/* Alexander: name, library and suited person occupy separate planes. */
[data-template=alexander] .portrait-depth{overflow:visible}
[data-template=alexander] .portrait-plate{z-index:0}
[data-template=alexander] .portrait-subject{z-index:3}
[data-template=alexander] .depth-ready .portrait-depth{display:contents}
[data-template=alexander] .depth-ready .portrait-depth img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;object-position:center top;pointer-events:none}
[data-template=alexander] .hero-name{z-index:2;color:#eee6d3;text-shadow:0 2px 2px #3d2c1680,0 14px 28px #0003}
[data-template=alexander] .hero-copy{z-index:4}
[data-template=alexander] .hero:before{z-index:1}
.motion-enhanced:not(.polish-paused) [data-template=alexander] .story-card{transform:translateY(calc((.5 - var(--sc-p,.5))*var(--story-travel,32px)));transition:box-shadow .3s}
[data-story-depth='1']{--story-travel:72px}[data-story-depth='2']{--story-travel:48px}
[data-template=alexander] .story-card{box-shadow:0 24px 42px -22px #38241180}
[data-template=alexander] .process-grid ol{position:relative}
[data-template=alexander] [data-process-step]{position:relative;border-left:2px solid #c0af9166;padding-left:24px;transition:border-color .4s}
[data-template=alexander] [data-process-step].is-reading{border-left-color:#9c783f}
[data-template=alexander] [data-process-step]>span{transition:color .4s}
[data-template=alexander] [data-process-step].is-reading>span{color:#8e662c}
/* Firmly: sculpture registration and a stone-framed photographic index. */
.motion-enhanced:not(.polish-paused) [data-template=firmly] .hero-type-one{transform:translateX(calc((var(--sc-p,.5) - .5)*-54px))}
.motion-enhanced:not(.polish-paused) [data-template=firmly] .hero-type-two{transform:translateX(calc((var(--sc-p,.5) - .5)*54px))}
[data-template=firmly] .hero-sculpture{filter:drop-shadow(14px 20px 15px #3d1c1833)}
[data-template=firmly] .services{background:linear-gradient(130deg,#ede7d8,#f8f4e9 70%)}
[data-template=firmly] .practice-window{height:480px;border:9px solid #e4dcc9;border-radius:24px;box-shadow:inset 0 1px #fff,0 20px 36px -24px #301b1380}
[data-template=firmly] .photo-index{grid-template-columns:1.15fr .85fr}
[data-template=firmly] .photo-index-rows{grid-column:1;grid-row:1}
[data-template=firmly] .practice-window{grid-column:2;grid-row:1}
/* Interior photos share finish, never a second page skeleton. */
[data-interior-frame]{box-shadow:0 22px 42px -28px #17131280}
@media(min-width:1000px){.photo-index .practice-window{position:sticky;top:35px}.photo-index{align-items:start}}
@media(max-width:800px){
 .photo-index,[data-template=firmly] .photo-index{grid-template-columns:1fr;gap:24px}
 .practice-window,[data-template=firmly] .practice-window{height:300px;grid-column:auto;grid-row:auto;position:relative}
 [data-template=firmly] .photo-index-rows{grid-column:auto;grid-row:auto}
 .photo-index .practice-row{padding:22px 12px}
 [data-template=brian] .mission{margin-block:45px;padding-block:45px}
 .motion-enhanced:not(.polish-paused) .portrait-plate{transform:scale(1.02)}
 .motion-enhanced:not(.polish-paused) .portrait-subject{transform:translateY(calc((var(--sc-p,.5) - .5)*8px))}
 .motion-enhanced:not(.polish-paused) [data-story-depth]{transform:none!important}
}
@media(max-width:600px){
 [data-template=adrian] .portrait-depth{inset:0}
 [data-template=adrian] .portrait-depth img{object-position:60% top}
 [data-template=alexander] .depth-ready .portrait-depth img{height:440px;top:auto;bottom:0;object-position:66% top;mask-image:linear-gradient(transparent,#000 18%)}
 [data-template=alexander] .hero-name{z-index:4}
 .practice-window,[data-template=firmly] .practice-window{height:265px}
 .practice-scene figcaption{font-size:21px;left:22px;bottom:22px}
}
.polish-paused .portrait-depth img,.polish-paused [data-story-depth],.polish-paused [data-photo-drift]{transform:none!important}
.polish-paused .hero-type{transform:none!important}
.polish-paused .practice-scene,.polish-paused .practice-scene img,.polish-paused .service-preview,.polish-paused .panel-image img{transition:none!important;transform:none!important}
.polish-paused .mission:before{transform:none!important}
@media(prefers-reduced-motion:reduce){
 .portrait-depth img,[data-story-depth],[data-photo-drift],.hero-type,.service-preview,.panel-image img{transform:none!important}
 .practice-scene,.practice-scene img,.practice-panel:before,.practice-card,.button,.header-cta,.solid-button{transition:none!important}
 .practice-card:hover{transform:none!important}
}
/* Review corrections: state belongs to the selected practice, never a fixed first row. */
[data-template=lawora] .photo-index .practice-row:first-child{background:transparent;color:var(--ink)}
[data-template=lawora] .photo-index .practice-row:first-child p{color:#5e635f}
[data-template=lawora] .photo-index .practice-row:first-child>span{color:#92743e}
[data-template=lawora] .photo-index .practice-row.is-current{background:linear-gradient(110deg,#0a1a23,#24373d);color:#fff;box-shadow:inset 3px 0 #ccb778,0 8px 18px #10232a12}
[data-template=lawora] .photo-index .practice-row.is-current p,[data-template=lawora] .photo-index .practice-row.is-current>span{color:#e1d5b8}
[data-template=brian] .hero-shade{background:linear-gradient(90deg,#100b074f,transparent 42%,transparent 60%,#100b0755),linear-gradient(0deg,#130c0677,transparent 55%)}
@media(min-width:1101px){[data-template=antony] [data-folio-row]{grid-template-columns:minmax(220px,1fr) minmax(180px,.85fr) 250px 40px;gap:32px;padding:26px 24px;min-height:220px;border-radius:14px}[data-template=antony] [data-folio-row] .service-preview{width:250px;height:168px}}
@media(max-width:600px){[data-template=brian] .hero-shade{background:linear-gradient(0deg,#100b07ed,transparent 70%)}}
.polish-paused .practice-panel:before,.polish-paused [data-process-step],.polish-paused [data-process-step]>span,.polish-paused .practice-card{transition:none!important}
.polish-paused .practice-card:hover{transform:none!important}
@media(max-width:700px){[data-template=firmly] .hero-aside-left .button{width:max-content;max-width:calc(100% - 40px)}[data-template=firmly] .hero-aside-left .button:hover,[data-template=firmly] .hero-aside-left .button:active{transform:translateX(-50%)}[data-template=firmly] .hero-aside-left .button>b{flex:0 0 44px}}
