.studio-main { max-width: 1180px; margin: auto; padding: 68px 24px 100px; }
.studio-main > h1 { max-width: 820px; font: 700 clamp(2.7rem, 5vw, 5rem)/1.06 Fraunces, Georgia, serif; margin: 12px 0 22px; }
.studio-lead { max-width: 800px; font-size: 1.12rem; line-height: 1.65; }
.studio-tour { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(25px, 5vw, 75px); align-items: center; padding: 44px; margin: 55px 0 24px; border: 1px solid #d9c9aa; border-radius: 22px; background: #fffaf0; }
.studio-tour h2 { font: 700 2.4rem Fraunces, Georgia, serif; margin: 5px 0 26px; }
.studio-tour h3 { font: 700 1.65rem Fraunces, Georgia, serif; margin: 27px 0 8px; }
.studio-tour p { line-height: 1.6; }
.tour-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
.tour-tabs button { border: 1px solid #cbbba1; border-radius: 99px; padding: 9px 13px; background: white; color: #365044; font: 700 .85rem 'DM Sans', sans-serif; cursor: pointer; }
.tour-tabs button[aria-selected=true] { background: #345a48; color: white; border-color: #345a48; }
.tour-actions { margin-top: 28px; }
.tour-actions p { font-size: .86rem; color: #5a675e; }
.tour-preview { box-shadow: 0 24px 55px #3a463224; border: 1px solid #d2c2a7; border-radius: 16px; overflow: hidden; background: #f4ecda; }
.preview-top { display: flex; justify-content: space-between; gap: 12px; padding: 13px 20px; background: #345a48; color: white; font: 700 .72rem 'DM Sans',sans-serif; letter-spacing: .12em; }
.preview-top span { opacity: .8; }
.preview-body { padding: 23px; }
.preview-body > span:first-child { color: #a7503a; font: 700 .72rem 'DM Sans',sans-serif; letter-spacing: .12em; }
.preview-body > strong { display: block; font: 700 2.3rem Fraunces,Georgia,serif; margin: 5px 0; }
.preview-body > p { font-size: .9rem; min-height: 40px; }
.preview-board { height: 190px; position: relative; overflow: hidden; border-radius: 10px; background: #d8d0b7; }
.preview-board img { width: 100%; height: 100%; object-fit: cover; object-position: center 43%; }
.preview-board span { position: absolute; right: 10px; bottom: 10px; background: #fffaf0; padding: 6px 10px; border-radius: 6px; font-size: .78rem; font-weight: 700; }
.studio-links { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.studio-links a { display: grid; gap: 10px; padding: 25px; border: 1px solid #d9c9aa; border-radius: 14px; background: #fffaf0; text-decoration: none; color: #27362e; }
.studio-links strong { font: 700 1.6rem Fraunces,Georgia,serif; }
.studio-links a > span:last-child { line-height: 1.5; }
@media (max-width: 750px) { .studio-tour, .studio-links { grid-template-columns: 1fr; } .studio-tour { padding: 24px; } }
