/* Perfil por oficio y funciones opcionales. */
.dir-decision{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding:26px 0;border-bottom:1px solid var(--dir-brand,#cabaa5)}
.dir-decision span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#655849}
.dir-decision p{font-size:16px;margin:8px 0}
.dir-brand-logo{width:64px;height:64px;object-fit:contain;border:2px solid var(--dir-brand,#cabaa5);margin-bottom:12px}
.dir-person{display:flex;gap:24px;align-items:center;padding:26px 0;border-top:1px solid #d8cabc;margin:24px 0}
.dir-person img{width:110px;height:140px;object-fit:cover;border-radius:4px}
.dir-person h2{font-family:Georgia,serif;font-size:28px;margin:8px 0}
.dir-transformation{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.dir-transformation figure,.dir-variants figure{margin:0}
.dir-transformation img,.dir-variants img{width:100%;height:220px;object-fit:cover}
.dir-transformation figcaption{padding:12px 0}
.dir-panel video{width:100%;max-height:500px;background:#222}
.dir-process{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding-left:24px}
.dir-process li{padding:12px;font-size:17px;line-height:1.6}
.dir-collection{border-top:1px solid #cbb8a6;padding:20px 0}
.dir-collection summary{font-family:Georgia,serif;font-size:28px;cursor:pointer;padding:8px}
.dir-collection-item{display:grid;grid-template-columns:110px 1fr auto;gap:16px;align-items:center;padding:14px 0}
.dir-collection-item img{width:110px;height:110px;object-fit:cover}
.dir-scene{margin:24px 0;display:grid;grid-template-columns:2fr 1fr;gap:24px}
.dir-scene__visual{position:relative;align-self:start}
.dir-scene__visual>img{width:100%;height:auto;display:block}
.dir-scene__pin{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;background:#fff9ef;color:#302c25;border:2px solid #302c25;box-shadow:0 2px 10px #0004;font-size:18px;cursor:pointer}
.dir-scene__pin:focus-visible{outline:3px solid #e1ad38;outline-offset:3px}
.dir-scene__list{display:flex;flex-direction:column;gap:12px}
.dir-selection-tray{padding:24px;border:1px solid #bda78f;background:#fffaf2;margin:24px 0}
.dir-selection-tray .dir-input{width:150px}
.dir-query-selection img,.dir-reference img{width:140px;height:110px;object-fit:cover}
.dir-query-selection{border-left:3px solid #a18665;padding:12px;margin:12px 0}
.dir-reference{padding:18px 0}
.dir-reference summary{cursor:pointer;min-height:44px}
.dir-reference label{display:block}
.dir-feature{border-bottom:1px solid #d9cfc0;padding:16px 0}
.dir-feature>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer;min-height:44px;font-size:18px}
.dir-feature>summary::before{content:'+';font-size:22px}
.dir-feature[open]>summary::before{content:'−'}
.dir-feature>summary>span:first-child{flex:1}
.dir-feature__content{padding:16px 0}
.dir-switch{position:relative;display:inline-flex;align-items:center;cursor:pointer;padding:8px}
.dir-switch input{position:absolute;opacity:0;width:44px;height:28px}
.dir-switch__track{width:44px;height:26px;border-radius:20px;background:#b5aaa0;border:1px solid #807567;pointer-events:none}
.dir-switch__track::after{content:'';display:block;width:20px;height:20px;background:#fff;border-radius:50%;margin:2px;transition:transform .15s}
.dir-switch input:checked+.dir-switch__track{background:#364c40}
.dir-switch input:checked+.dir-switch__track::after{transform:translateX(18px)}
.dir-switch input:disabled+.dir-switch__track{opacity:.4}
.dir-switch input:focus-visible+.dir-switch__track{outline:3px solid #8e5a22;outline-offset:3px}
.dir-switch--personal{display:flex;justify-content:space-between;gap:18px;padding:16px;width:100%}
.dir-switch--personal input{right:16px}
.dir-switch--personal input:checked~.dir-switch__track{background:#364c40}
.dir-switch--personal input:checked~.dir-switch__track::after{transform:translateX(18px)}
.dir-switch--personal input:focus-visible~.dir-switch__track{outline:3px solid #8e5a22;outline-offset:3px}
.dir-experience-row{border:1px solid #cfc4b5;padding:20px;margin:16px 0;min-width:0}
.dir-experience-editor .dir-field{display:block;margin:12px 0}
.dir-experience-editor .dir-input,.dir-experience-editor .dir-textarea{max-width:100%}
.dir-experience-editor .dir-btn{margin:6px}
.dir-plan-caption{font-weight:600}
.dir-event-filter{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:20px 0}
body[data-tipos-evento=no] .dir-event-filter{display:none}
.dir-profile[data-oficio=fotografia] .dir-project{grid-template-columns:1fr;background:transparent}
.dir-profile[data-oficio=fotografia] .dir-project__photos{grid-auto-rows:300px}
.dir-profile[data-oficio=fotografia] .dir-project__story{padding:20px 0}
.dir-profile[data-oficio=banquete] .dir-service-feature{background:#f5eee2;border-top:3px solid #55614c}
.dir-profile[data-oficio=renta] .dir-catalog-grid{gap:24px}
.dir-profile[data-oficio=espacio] .dir-cover--3{grid-template-columns:2fr 1fr}
@media(max-width:768px){.dir-decision{grid-template-columns:repeat(2,minmax(0,1fr))}.dir-scene{grid-template-columns:1fr}.dir-process{grid-template-columns:1fr;gap:0}.dir-collection-item{grid-template-columns:90px 1fr}.dir-collection-item img{width:90px;height:90px}.dir-collection-item .dir-btn{grid-column:2}.dir-transformation img{height:140px}}
@media(max-width:600px){
 .dir-showcase .dir-cover{grid-row:1;height:270px}
 .dir-showcase__identity{grid-row:2;padding:22px;min-height:0}
 .dir-showcase__signature{margin-bottom:12px}
 .dir-showcase .dir-profile__titulo{font-size:42px;margin-bottom:12px}
 .dir-showcase__actions{padding-top:12px}
 .dir-showcase__intro{padding:18px 0}
 .dir-showcase__lead{font-size:21px}
 .dir-showcase__intro .dir-showcase__lead{font-size:18px;line-height:1.5}
 .dir-decision p{font-size:15px;line-height:1.5}
 .dir-showcase__intro-kicker{display:none}
 .dir-decision{gap:12px;padding:18px 0}
 .dir-profile-nav{gap:12px;justify-content:space-between}
 .dir-profile-nav .dir-btn{min-height:44px;padding:8px}
 .dir-person{gap:16px}.dir-person img{width:80px;height:100px}
 .dir-transformation{grid-template-columns:1fr}.dir-transformation img{height:240px}
 .dir-experience-row{padding:14px}
}
@media(prefers-reduced-motion:reduce){.dir-switch__track::after{transition:none}}
