.studio-section { padding-block: clamp(56px,7vw,104px); border-top: 1px solid #1717132b; }
.studio-section[id] { scroll-margin-top:120px; }
.work-card-image,.project-image { position:relative; }
.studio-concept-label { position:absolute; z-index:2; left:16px; right:auto; bottom:16px; margin:0; padding:9px 13px; color:#fff; background:#171713e6; border:1px solid #ffffff45; border-radius:22px; font-size:14px; line-height:1.4; max-width:calc(100% - 48px); overflow-wrap:break-word; }
.project-image .studio-concept-label { left:clamp(16px,2.5vw,30px); bottom:24px; max-width:calc(100% - 64px); }
.project-cover figcaption { font-size:14px; line-height:1.5; color:#716b60; padding-top:12px; }
.studio-section-head { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:end; margin-bottom:38px; }
.studio-section h2, .studio-home-scope h2 { font-size:clamp(34px,4.2vw,62px); line-height:1.06; font-weight:550; letter-spacing:-.045em; margin:0; }
.studio-section-head > p { max-width:560px; color:#716b60; line-height:1.65; margin:0; }
.studio-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px 40px; }
.studio-service-card { padding:26px 0 10px; border-top:1px solid #1717132b; }
.studio-service-card > span, .studio-steps li > span { font-size:14px; color:#b74427; font-variant-numeric:tabular-nums; }
.studio-service-card h3 { font-size:25px; font-weight:550; line-height:1.15; letter-spacing:-.025em; margin:20px 0 14px; }
.studio-service-card p { font-size:16px; line-height:1.7; color:#625d54; margin:0; }
.studio-deliverables { display:grid; grid-template-columns:1fr 1fr; gap:70px; padding:clamp(30px,4vw,64px); background:#e9e4da; border-radius:3px 56px 3px 3px; }
.studio-deliverables h2 { font-size:clamp(30px,3.5vw,48px); }
.studio-checklist { list-style:none; margin:0; padding:0; }
.studio-checklist li { padding:17px 0 17px 30px; position:relative; border-bottom:1px solid #17171320; line-height:1.65; }
.studio-checklist li:first-child { padding-top:0; }
.studio-checklist li::before { content:''; position:absolute; left:0; color:#c34a28; }
.studio-steps { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:70px; }
.studio-steps li { display:grid; grid-template-columns:35px 1fr; gap:16px; padding:26px 0; border-top:1px solid #1717132b; }
.studio-steps h3 { font-size:24px; font-weight:550; line-height:1.2; letter-spacing:-.02em; margin:0 0 12px; }
.studio-steps p { color:#625d54; font-size:16px; line-height:1.65; margin:0; }
.studio-photo-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; gap:44px 26px; }
.studio-photo { margin:0; min-width:0; }
.studio-photo a { display:block; overflow:hidden; background:#e3ddd1; aspect-ratio:4/3; border-radius:3px; position:relative; }
.studio-photo a:focus-visible { outline:3px solid #c44a27; outline-offset:5px; }
.studio-photo a::after { content:'+'; position:absolute; right:13px; bottom:13px; display:grid; place-items:center; width:38px; height:38px; color:white; background:#171713b5; border:1px solid #ffffff5b; border-radius:50%; font-size:25px; line-height:1; font-weight:400; }
.studio-photo img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s; }
.studio-photo a:hover img { transform:scale(1.025); }
.studio-photo figcaption { padding-top:14px; font-size:14px; line-height:1.5; color:#625d54; }
.studio-photo figcaption strong { display:block; font-size:clamp(18px,1.5vw,20px); line-height:1.3; font-weight:550; color:#27261f; }
.studio-photo-description { margin:10px 0 0; font-size:15px; line-height:1.6; color:#625d54; }
.studio-photo-price { margin:12px 0 0; font-size:15px; line-height:1.5; font-weight:600; color:#9b442a; }
.studio-photo figcaption small { display:block; margin-top:5px; font-size:14px; color:#7a7266; }
.studio-gallery-note, .studio-source { font-size:14px; line-height:1.7; color:#766e62; max-width:900px; }
.studio-source a { text-decoration:underline; text-underline-offset:3px; }
.studio-gallery-more { margin-top:30px; }
.studio-gallery-more summary { cursor:pointer; list-style:none; padding:17px 22px; border:1px solid #17171355; width:fit-content; border-radius:50px; }
.studio-gallery-more summary::-webkit-details-marker { display:none; }
.studio-gallery-more[open] summary { margin-bottom:30px; }
.studio-gallery-more summary::after { content:' +'; padding-left:16px; }
.studio-gallery-more[open] summary::after { content:' −'; }
.studio-prepare { display:grid; grid-template-columns:1fr 1fr; gap:70px; }
.studio-prepare p { font-size:17px; line-height:1.7; max-width:500px; color:#625d54; }
.studio-faq { max-width:1020px; }
.studio-faq details { border-top:1px solid #1717132b; }
.studio-faq details:last-child { border-bottom:1px solid #1717132b; }
.studio-faq summary { cursor:pointer; list-style:none; font-size:23px; line-height:1.3; padding:24px 42px 24px 0; position:relative; }
.studio-faq summary::-webkit-details-marker { display:none; }
.studio-faq summary::after { content:'+'; position:absolute; right:4px; color:#b74427; }
.studio-faq details[open] summary::after { content:'−'; }
.studio-faq details > p { margin:0 40px 25px 0; max-width:880px; line-height:1.75; color:#625d54; font-size:17px; }
.studio-jump-nav, .studio-project-filters { display:flex; gap:12px; flex-wrap:wrap; margin:38px 0 48px; }
.studio-jump-nav a, .studio-project-filters a { border:1px solid #17171340; padding:11px 17px; border-radius:30px; font-size:14px; transition:background .2s ease,color .2s ease,border-color .2s ease; }
.studio-project-empty { max-width:620px; font-size:17px; line-height:1.65; color:#625d54; padding-block:12px 40px; }
.studio-jump-nav a:hover, .studio-project-filters a:hover, .studio-project-filters a[aria-current] { background:#171713; color:#fff; }
.studio-home-scope { padding-block:90px; }
.studio-home-scope .studio-section-head { margin-bottom:40px; }
.studio-home-scope .studio-service-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.studio-lightbox { width:100vw; max-width:none; height:100dvh; max-height:none; box-sizing:border-box; padding:64px 30px 22px; border:0; color:#fff; background:#151510f7; margin:0; }
.studio-lightbox::backdrop { background:#151510; }
.studio-lightbox[open] { display:flex; flex-direction:column; align-items:center; gap:12px; }
.studio-lightbox figure { width:100%; flex:1; min-height:0; margin:0; display:flex; flex-direction:column; gap:12px; align-items:center; }
.studio-lightbox img { max-width:100%; width:auto; min-height:0; flex:1; object-fit:contain; }
.studio-lightbox figcaption { flex:none; max-width:1000px; text-align:center; font-size:15px; line-height:1.5; }
.studio-lightbox-close { position:absolute; right:24px; top:14px; min-height:42px; padding:8px 18px; color:white; background:transparent; border:1px solid #ffffff70; border-radius:30px; }
.studio-lightbox-controls { display:flex; gap:24px; align-items:center; flex:none; }
.studio-lightbox-controls button { width:46px; height:44px; color:white; background:transparent; border:1px solid #ffffff70; border-radius:50%; font-size:23px; }
.studio-lightbox button:focus-visible { outline:2px solid #ff885f; outline-offset:3px; }
.studio-lightbox button:disabled { opacity:.3; }
@media(max-width:1000px) {
 .studio-service-grid,.studio-home-scope .studio-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .studio-photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .studio-deliverables,.studio-prepare { gap:35px; }
}
@media(min-width:651px) and (max-width:1000px) {
 .studio-photo-grid > .studio-photo:last-child:nth-child(odd):not(:first-child) { grid-column:1/-1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px; align-items:center; }
 .studio-photo-grid > .studio-photo:last-child:nth-child(odd):not(:first-child) figcaption { padding-top:0; }
}
@media(max-width:650px) {
 .studio-section { padding-block:52px; }
 .studio-section-head,.studio-service-grid,.studio-steps,.studio-deliverables,.studio-prepare,.studio-home-scope .studio-service-grid { grid-template-columns:1fr; gap:26px; }
 .studio-section-head { margin-bottom:28px; }
 .studio-service-grid { gap:14px; }
 .studio-service-card { padding-top:20px; }
 .studio-service-card h3 { margin-top:12px; font-size:24px; }
 .studio-deliverables { padding:28px 22px; border-radius:3px 35px 3px 3px; }
 .studio-steps { gap:0; }
 .studio-photo-grid { grid-template-columns:1fr; gap:36px; }
 .studio-photo figcaption { padding-top:10px; }
 .studio-faq summary { font-size:21px; }
 .studio-faq details > p { margin-right:0; font-size:16px; }
 .studio-jump-nav { gap:8px; margin-block:28px 38px; }
 .studio-jump-nav a { padding:9px 13px; font-size:14px; }
 .studio-home-scope { padding-block:65px; }
 .studio-lightbox { padding:70px 12px 24px; }
 .studio-lightbox figcaption { font-size:14px; }
}
@media(prefers-reduced-motion:reduce) { .studio-photo img { transition:none; } }
