:root{--navy:#002f22;--navy2:#0b4332;--gold:#d6ae71;--cream:#f8f5ee;--ink:#15372c;--muted:#64756c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:#fff}a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit}button{cursor:pointer}.container{width:min(1160px,calc(100% - 44px));margin:auto}.top{position:sticky;top:0;z-index:20;background:rgba(0,47,34,.97);color:white;border-bottom:1px solid #ffffff22}.nav{min-height:83px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:13px}.mark{width:46px;height:46px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font:27px 'Playfair Display',serif}.brand b{display:block;letter-spacing:.16em;font-size:17px;font-weight:600}.brand small{display:block;color:#d8c19b;letter-spacing:.15em;font-size:9px;margin-top:5px}.links{display:flex;align-items:center;gap:25px;font-size:12px;letter-spacing:.02em}.links a:hover,.links a:focus{color:var(--gold)}.navcta,.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 20px;background:var(--gold);color:#092c22;font-weight:700;font-size:12px;letter-spacing:.09em;text-transform:uppercase;border:1px solid var(--gold);border-radius:2px;transition:.2s}.btn:hover,.navcta:hover{background:#e1bf86}.btn.outline{background:transparent;color:white;border-color:#c5a16a}.btn.outline:hover{background:#ffffff15}.menu{display:none;background:none;border:1px solid #ffffff55;color:white;padding:8px 11px;border-radius:4px}.hero{color:white;position:relative;overflow:hidden;background:radial-gradient(ellipse at 79% 27%,#5c6370 0%,transparent 38%),linear-gradient(116deg,#012b20 5%,#15513c 58%,#7c6b4c 100%)}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#002f22ee 0%,#002f22aa 48%,#002f2220 100%)}.hero:after{content:'';position:absolute;width:570px;height:570px;border:1px solid #d3b27e44;border-radius:50%;right:-90px;top:10px;box-shadow:0 0 0 90px #d3b27e0c,0 0 0 180px #d3b27e09}.hero .container{position:relative;z-index:1;padding:110px 0 125px}.eyebrow{color:var(--gold);letter-spacing:.24em;font-size:11px;text-transform:uppercase;font-weight:700}.hero h1{font:500 clamp(44px,6vw,78px)/1.13 'Playfair Display',Georgia,serif;max-width:780px;letter-spacing:-.03em;margin:23px 0}.hero h1 em{font-style:normal;color:#e0bd83}.hero p{font-size:17px;line-height:1.85;max-width:585px;color:#e4e7e8;margin-bottom:35px}.actions{display:flex;gap:14px;flex-wrap:wrap}.pillars{background:#063b2c;color:white}.pillars .container{display:grid;grid-template-columns:repeat(3,1fr)}.pillar{padding:27px 22px;border-right:1px solid #ffffff24;display:flex;gap:14px;align-items:center}.pillar:first-child{padding-left:0}.pillar:last-child{border:0}.num{font:29px 'Playfair Display',serif;color:var(--gold)}.pillar b{font-size:14px}.pillar span{display:block;color:#c6d1d7;font-size:12px;margin-top:5px}.section{padding:100px 0}.section.alt{background:var(--cream)}.section.dark{background:var(--navy);color:white}.section-head{max-width:740px;margin-bottom:43px}.section h2{font:500 clamp(34px,4vw,52px)/1.2 'Playfair Display',Georgia,serif;letter-spacing:-.025em;margin:15px 0 18px}.lead{color:var(--muted);font-size:16px;line-height:1.85}.dark .lead{color:#c8d2d8}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.feature{padding:34px 28px;border:1px solid #e3e1dc;background:white;min-height:275px}.feature .glyph{font:36px 'Playfair Display',serif;color:#b48e57}.feature h3{font:500 25px 'Playfair Display',serif;margin:21px 0 12px}.feature p{font-size:14px;color:#63707a;line-height:1.8}.feature a{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#947142;font-weight:700}.split{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.visual{min-height:430px;background:linear-gradient(135deg,#0a3e2e,#577967 60%,#b69a77);display:flex;align-items:end;padding:37px;position:relative;overflow:hidden}.visual:before{content:'PORTO  •  BRASIL';position:absolute;top:50%;left:-20px;font:75px 'Playfair Display',serif;white-space:nowrap;color:#ffffff13;transform:rotate(-17deg)}.visual blockquote{position:relative;font:34px/1.35 'Playfair Display',serif;color:white;margin:0}.check{padding:0;list-style:none}.check li{margin:17px 0;padding-left:25px;position:relative;line-height:1.6}.check li:before{content:'✦';position:absolute;left:0;color:var(--gold)}.programs{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.program{background:#fff;border:1px solid #e8e3d9;padding:28px;display:flex;flex-direction:column;gap:13px}.program small{color:#a17c4a;letter-spacing:.13em;text-transform:uppercase;font-weight:700}.program h3{font:26px 'Playfair Display',serif;margin:0}.program p{font-size:14px;line-height:1.7;color:var(--muted);flex:1}.program a{font-weight:700;font-size:13px;color:#88653c}.note{font-size:12px;color:#7b858c;margin-top:19px}.dark-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.dark-card{border:1px solid #ffffff2d;padding:30px;background:#ffffff08}.dark-card h3{font:25px 'Playfair Display',serif;margin:0 0 12px}.dark-card p{color:#c6d2d9;line-height:1.8;font-size:14px}.team{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.person{background:#fff;border:1px solid #e5e2dc;padding:26px 20px}.avatar{height:94px;width:94px;background:#e9e1d4;border-radius:50%;display:grid;place-items:center;font:32px 'Playfair Display',serif;color:#866c4d;margin-bottom:20px}.person h3{font:23px 'Playfair Display',serif;margin:0 0 10px}.person p{font-size:13px;color:#64717a;line-height:1.65}.contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:75px}.contact form{background:white;padding:32px;color:var(--ink)}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:15px}.field label{font-size:12px;font-weight:700}.field input,.field textarea,.field select{border:1px solid #cbd1d4;padding:13px;border-radius:0;background:white;color:#16283a;width:100%}.field textarea{min-height:115px;resize:vertical}.contact form .btn{width:100%}.contact small{color:#c6d1d8;line-height:1.7;display:block}.contact form small{color:#65727c;margin-top:10px}.footer{background:#051624;color:#b5c1c9;padding:32px 0;font-size:12px}.footer .container{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer b{color:white}.anchor{scroll-margin-top:95px}@media(max-width:960px){.links{gap:12px}.links a{font-size:11px}.navcta{display:none}.team{grid-template-columns:repeat(2,1fr)}}@media(max-width:740px){.nav{min-height:72px}.brand b{font-size:14px}.mark{width:39px;height:39px}.menu{display:block}.links{display:none;position:absolute;left:0;right:0;top:72px;background:#002f22;padding:22px;flex-direction:column;align-items:stretch;gap:0}.links.open{display:flex}.links a{padding:12px 5px;font-size:14px;border-bottom:1px solid #ffffff1c}.hero .container{padding:90px 0 100px}.hero p{font-size:15px}.pillars .container{grid-template-columns:1fr}.pillar{padding:17px 0;border-right:0;border-bottom:1px solid #ffffff20}.section{padding:68px 0}.grid3,.programs,.split,.contact,.dark-cards{grid-template-columns:1fr}.split,.contact{gap:32px}.team{grid-template-columns:1fr 1fr}.person{padding:18px}.person h3{font-size:20px}.visual{min-height:320px}.contact form{padding:23px}.section-head{margin-bottom:29px}}@media(max-width:420px){.team{grid-template-columns:1fr}.actions .btn{width:100%}}
.logo-visual{background:#002b1f;padding:0;align-items:center;justify-content:center}.logo-visual:before{display:none}.logo-visual img{width:100%;height:100%;object-fit:contain;display:block}.brand small{max-width:235px;line-height:1.4}.mark{font-size:19px} .event-panel{margin-top:30px;padding:34px;background:#073b2d;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px}.event-panel h3{font:500 30px 'Playfair Display',serif;margin:10px 0}.event-panel p{max-width:690px;color:#d3dfd8;line-height:1.75;font-size:14px}.event-panel .btn{flex-shrink:0}@media(max-width:900px){.event-panel{flex-direction:column;align-items:flex-start}.links{gap:12px}.nav{gap:12px}}@media(max-width:1100px){.navcta{display:none}}@media(min-width:741px) and (max-width:960px){.links{flex-wrap:wrap;justify-content:flex-end}} .avatar{width:100%;height:auto;aspect-ratio:4/5;border-radius:0;background:#e9e1d4;overflow:hidden;margin-bottom:20px;display:block}.avatar img{width:100%;height:100%;object-fit:contain;object-position:center center;display:block;background:#e9e1d4}.person{padding:14px 14px 24px}.person h3,.person p{margin-left:7px;margin-right:7px}@media(max-width:600px){.avatar{aspect-ratio:4/4.5}} 
#instituto .feature{min-height:360px}#instituto .feature p{font-size:14px}.brand .mark{overflow:hidden;border-color:#c8a96d}.dark-cards{grid-template-columns:repeat(2,1fr)}@media(max-width:740px){.dark-cards{grid-template-columns:1fr}}

/* Fotografias da equipe: imagem inteira, sem recorte automático */
.person .avatar img{object-fit:contain!important;object-position:center center!important;}

.catalog{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{padding:25px;border:1px solid #e3e1dc;background:white}.card img,.course-image{width:100%;max-height:420px;object-fit:contain}.card h3{font:28px 'Playfair Display',serif}.empty{padding:24px;background:var(--cream)}.admin-shell{max-width:980px;margin:45px auto;padding:0 22px}.admin-nav{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-bottom:28px}.admin-nav form{margin:0}.panel{padding:25px;background:var(--cream);margin:18px 0}.field input,.field textarea,.field select{width:100%;padding:12px;border:1px solid #bbb}.errors{color:#9d2525}.success{padding:15px;background:#e3f2e6}.small-btn{padding:9px 13px;border:1px solid #c3b28f;background:white}.row-actions{display:flex;gap:10px;flex-wrap:wrap}.description{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}.whatsapp-float{position:fixed;right:20px;bottom:20px;background:#176c46;color:white;padding:15px 22px;border-radius:30px;z-index:30}.login-box{max-width:460px;margin:65px auto;padding:30px;background:var(--cream)}@media(max-width:740px){.catalog{grid-template-columns:1fr}}

/* Portraits retain their intrinsic proportions, including at mobile widths. */
.person .avatar{height:auto!important;aspect-ratio:auto!important;overflow:visible;background:transparent}
.person .avatar img{width:100%;height:auto!important;max-height:none;object-fit:contain!important;border-radius:6px;display:block}
.team{align-items:start}.person{border-radius:8px;padding:14px 14px 24px}
.brand-emblem{display:grid;place-items:center;border:1px solid #d6ae71;border-radius:50%;width:42px;height:42px;color:#d6ae71;font-family:Georgia,serif;flex-shrink:0}.simple-links{display:flex;gap:24px;font-size:13px}.simple-links a:hover{color:#d6ae71}
.social-links{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.social-links a{display:inline-flex;border:1px solid currentColor;padding:10px 14px;border-radius:6px;font-size:13px;font-weight:600}.contact .social-links{color:#15372c}
.catalog-hero{background:#002f22;color:white;padding:76px 0 82px;background-image:radial-gradient(ellipse at 90% 10%,#2b5843,transparent 58%)}.catalog-hero h1{font:500 clamp(36px,4.6vw,65px)/1.14 'Playfair Display',Georgia,serif;margin:20px 0 24px;letter-spacing:-.025em}.catalog-hero h1 em{color:#e6c38a;font-style:normal}.catalog-hero p{max-width:660px;color:#d9e7de;line-height:1.8;font-size:16px}.catalog-section{padding-top:60px;padding-bottom:65px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.section-title h2{font:38px 'Playfair Display',Georgia,serif;margin:10px 0 0}.count-pill{background:#edf3ef;color:#254b38;padding:9px 15px;border-radius:30px;font-size:13px;white-space:nowrap}.course-card{background:white;border:1px solid #dedfd6;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 5px 20px #15372c08;transition:transform .2s,box-shadow .2s}.course-card:hover{transform:translateY(-4px);box-shadow:0 10px 30px #15372c12}.course-cover{height:245px;display:flex;align-items:center;justify-content:center;background:#eeeae1;padding:10px}.course-cover img{width:100%;height:100%;object-fit:contain}.cover-placeholder{height:100%;width:100%;background:linear-gradient(135deg,#073c2e,#2f6350);display:flex;align-items:center;justify-content:center;flex-direction:column;color:#e0bd83;gap:20px}.cover-placeholder span{font:68px Georgia,serif}.cover-placeholder small{font-size:9px;letter-spacing:.16em;text-align:center}.course-content{padding:25px;display:flex;flex-direction:column;flex:1}.course-tag{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#765727}.course-content h3{font:27px/1.25 'Playfair Display',Georgia,serif;margin:14px 0}.course-summary{font-size:14px;color:#526358;line-height:1.7;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 24px}.course-meta{margin-top:auto;display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:#46584b;border-bottom:1px solid #e5e9e0;padding:0 0 18px}.text-link{font-weight:700;font-size:13px;color:#164a35;display:flex;justify-content:space-between;gap:15px;padding-top:18px}.empty{padding:35px;border:1px dashed #becabd;border-radius:12px}.empty h3{font:29px Georgia,serif;margin-bottom:12px}.empty p{color:#526358;line-height:1.7}.catalog-contact{display:flex;align-items:center;justify-content:space-between;gap:24px;background:#f4f0e7;border-radius:12px;padding:38px;margin-bottom:65px}.catalog-contact h2{font:32px Georgia,serif;margin:12px 0}.catalog-contact p{color:#526358}.public-footer{background:#002f22;color:#e0e9e2;padding:45px 0}.public-footer>.container{display:flex;justify-content:space-between;gap:30px}.public-footer b{letter-spacing:.14em}.public-footer p{font-size:13px;line-height:1.7}.public-footer .social-links{color:#e1bf86}.breadcrumb{font-size:13px;font-weight:600;display:inline-block;margin-bottom:35px;color:#53695b}.detail-main{padding-top:45px;padding-bottom:80px}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:50px;align-items:start}.detail-layout h1{font:500 clamp(34px,4vw,54px)/1.15 'Playfair Display',Georgia,serif;margin:15px 0 30px;overflow-wrap:anywhere}.detail-cover{background:#f2eee5;padding:16px;border-radius:10px}.detail-cover img{width:100%;height:auto;max-height:650px;object-fit:contain;display:block}.detail-description h2{font:30px Georgia,serif;margin:35px 0 18px}.enrollment-card{position:sticky;top:110px;padding:28px;background:#f6f3eb;border:1px solid #deddd0;border-radius:12px}.enrollment-card>.eyebrow{font-size:9px;color:#775b2f}.enrollment-card h2{font:28px/1.25 Georgia,serif;margin:14px 0 26px}.info-list{margin:0 0 25px}.info-list div{padding:14px 0;border-bottom:1px solid #d9ddcf}.info-list dt{font-size:11px;color:#5c6b60;margin-bottom:7px}.info-list dd{font-size:14px;font-weight:600;margin:0;overflow-wrap:anywhere}.enrollment-card .btn{width:100%;margin-bottom:12px;text-align:center}.contact-button{background:white;border-color:#174b35;color:#174b35}.contact-button:hover{background:#e5eee7}.helper{color:#55665c;font-size:13px;line-height:1.65}.btn{border-radius:6px}
/* Administration: clear surfaces, stable alignment, high-contrast controls. */
.admin-page{background:#f1f4f0;color:#18372a}.admin-page .top{position:relative}.admin-layout{display:grid;grid-template-columns:245px minmax(0,1fr);min-height:calc(100vh - 83px);max-width:1500px;margin:auto}.admin-nav{display:flex;flex-direction:column;align-items:stretch;gap:8px;background:#fff;border-right:1px solid #dce3da;padding:30px 18px;margin:0}.sidebar-label{color:#617265;font-size:10px;letter-spacing:.16em;font-weight:700;padding:0 14px;margin-bottom:20px}.admin-nav>a{padding:14px;border-radius:8px;font-size:14px;font-weight:700;color:#294a38}.admin-nav>a span{display:block;font-size:11px;color:#5c7062;font-weight:400;margin-top:6px;line-height:1.5}.admin-nav>a.active{background:#e6efe8;border-left:3px solid #174b35;padding-left:11px}.admin-nav>a:hover{background:#edf2ed}.sidebar-bottom{margin-top:35px;padding:20px 14px;border-top:1px solid #e0e6dd}.sidebar-bottom>a{font-size:13px;display:block;margin-bottom:18px}.admin-shell{width:100%;max-width:1040px;margin:0 auto;padding:38px 42px 70px;min-width:0}.admin-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:30px}.admin-heading .eyebrow{color:#76602f;font-size:10px}.admin-heading h1{font:500 36px/1.2 Georgia,serif;margin:12px 0}.admin-heading p{font-size:14px;color:#52685a;line-height:1.6;margin:0}.admin-heading .btn{flex-shrink:0}.form-panel{background:white;border:1px solid #dce3d9;border-radius:12px;padding:28px;margin-bottom:22px;box-shadow:0 3px 12px #14372a04}.form-panel h2{font-size:19px;margin:0 0 23px}.form-panel>.helper{margin-top:-10px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.full-width{grid-column:1/-1}.admin-page .field{margin-bottom:22px;gap:9px}.admin-page .field label{font-size:13px;color:#233f2e}.admin-page .field input,.admin-page .field textarea{background:#fff;border:1px solid #aab9ad;border-radius:6px;color:#173727;padding:12px 14px;min-width:0}.admin-page .field input::placeholder,.admin-page .field textarea::placeholder{color:#718276}.admin-page .field textarea{min-height:170px;line-height:1.6}.admin-page input:focus,.admin-page textarea:focus{outline:3px solid #d9e9dc;border-color:#275b3d}.field small{color:#596c5d;font-size:12px;line-height:1.6}.checkbox-row{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer}.checkbox-row input{width:18px!important;height:18px;accent-color:#1b5036;flex-shrink:0;margin:0}.upload-box{border:1px dashed #a6b9aa;background:#f7faf6;border-radius:8px;padding:22px}.upload-box>label{display:block;font-size:13px;font-weight:600;margin-bottom:15px}.upload-box input[type=file]{width:100%;font-size:13px;color:#35523d}.upload-box input[type=file]::file-selector-button{border:1px solid #a4b5a7;border-radius:6px;background:white;padding:10px 14px;margin-right:12px;color:#15372c;font-weight:600;cursor:pointer}.current-image{margin-top:22px}.current-image img{width:220px;max-width:100%;height:auto;max-height:250px;object-fit:contain;display:block;margin-bottom:18px}.form-actions{display:flex;gap:12px;align-items:center}.small-btn{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:9px 14px;background:white;color:#294b37;border:1px solid #a5b7a9;border-radius:6px;font-size:12px;font-weight:600;white-space:nowrap}.small-btn:hover{background:#edf3ed}.small-btn.danger{color:#962e2e;border-color:#dbb6b6}.small-btn.danger:hover{background:#fff0f0}.row-actions{gap:9px;align-items:center}.row-actions form{margin:0;display:flex}.admin-announcements{display:flex;flex-direction:column;gap:18px}.admin-announcement{display:grid;grid-template-columns:135px minmax(0,1fr);gap:24px;padding:22px;background:#fff;border:1px solid #dce3d9;border-radius:12px}.admin-thumbnail{height:150px;background:#eef2e9;display:grid;place-items:center;border-radius:7px;overflow:hidden}.admin-thumbnail img{height:100%;width:100%;object-fit:contain}.admin-thumbnail span{font:36px Georgia,serif;color:#63846a}.admin-announcement h2{font-size:21px;margin:13px 0 8px;overflow-wrap:anywhere}.admin-announcement p{font-size:13px;color:#5a6c5e;margin:0 0 18px}.status-badge{font-size:10px;font-weight:700;padding:6px 10px;border-radius:20px;display:inline-flex}.status-badge.published{background:#e0efe1;color:#245a31}.status-badge.draft{background:#f4eddc;color:#71551c}.success{background:#e4f2e5;border:1px solid #a8cbae;color:#255a32;border-radius:8px;margin:0 0 25px;line-height:1.5}.errors{font-size:12px;color:#982c2c;line-height:1.5}.social-admin-row{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px 0;border-bottom:1px solid #e0e6dc}.social-admin-row:last-child{border-bottom:0}.social-admin-row h3{margin:0 0 8px;font-size:16px}.social-admin-row a:not(.small-btn){font-size:12px;color:#526c5a;overflow-wrap:anywhere}.social-admin-row>div:first-child{min-width:0}.admin-page .empty{background:#fff}.admin-page .field input[type=url]{font-size:14px}
@media(max-width:1050px){.admin-layout{grid-template-columns:210px minmax(0,1fr)}.admin-shell{padding:30px 24px}.detail-layout{gap:30px;grid-template-columns:minmax(0,1fr) 300px}}
@media(max-width:740px){.simple-links{gap:12px;font-size:11px;flex-wrap:wrap;justify-content:flex-end}.simple-links a:first-child{display:none}.public-page .brand small,.admin-page .brand small{display:none}.admin-layout{display:block}.admin-nav{flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:1px solid #dce3da;padding:14px;gap:6px}.sidebar-label,.admin-nav>a span{display:none}.admin-nav>a{font-size:12px;padding:11px}.admin-nav>a.active{border-left:0;border-bottom:2px solid #174b35;padding:11px}.sidebar-bottom{margin:0;padding:0;border:0;display:flex;align-items:center;gap:10px}.sidebar-bottom>a{margin:0;font-size:11px}.sidebar-bottom .small-btn{font-size:11px;min-height:32px;padding:7px}.admin-shell{padding:26px 18px 50px}.admin-heading{align-items:flex-start;flex-direction:column;gap:18px}.admin-heading h1{font-size:31px}.form-panel{padding:21px}.form-grid{grid-template-columns:1fr}.admin-announcement{grid-template-columns:85px minmax(0,1fr);gap:15px;padding:16px}.admin-thumbnail{height:110px}.admin-announcement h2{font-size:18px}.social-admin-row{align-items:flex-start;flex-direction:column}.catalog-hero{padding:52px 0}.catalog-section{padding-top:40px;padding-bottom:40px}.course-cover{height:270px}.catalog-contact{padding:28px;flex-direction:column;align-items:flex-start}.detail-layout{grid-template-columns:1fr}.enrollment-card{position:static}.detail-main{padding-top:28px}.public-footer>.container{flex-direction:column}.count-pill{font-size:11px}.section-title h2{font-size:30px}}
.form-panel > .helper{margin-top:12px}.form-panel > h2 + .helper{margin-top:-10px}.catalog-section .eyebrow,.catalog-contact .eyebrow{color:#856033}

.home-programming{padding:75px 0;background:linear-gradient(120deg,#f8f5ee,#eeeee3)}.home-programming-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:38px}.home-programming-heading h2{margin:14px 0 20px}.home-programming-heading p{max-width:640px;line-height:1.8;color:#526358;margin:0}.home-programming-heading .eyebrow{color:#856033}.home-programming-heading .text-link{white-space:nowrap;padding-bottom:8px}.programming-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:30px;padding-top:24px;border-top:1px solid #d8ddcf}.programming-bottom p{font-size:14px;color:#526358}.single-course{grid-template-columns:1fr}.single-course .course-card{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr)}.single-course .course-cover{height:440px;padding:24px;background:#e9e8dc}.single-course .course-content{padding:42px}.single-course .course-content h3{font-size:39px}.single-course .course-summary{font-size:16px;-webkit-line-clamp:5;margin-bottom:30px}.single-course .course-meta{font-size:14px;gap:18px}.single-course .text-link{padding-top:24px;font-size:15px}.two-courses{grid-template-columns:repeat(2,1fr)}.social-links a{align-items:center;gap:10px}.social-icon{width:30px;height:30px;object-fit:contain;border-radius:6px;background:#fff}.social-letter{height:28px;width:28px;border-radius:50%;display:grid;place-items:center;background:#ffffff18;border:1px solid currentColor;font-weight:700}.social-admin-identity{display:flex;align-items:center;gap:15px;min-width:0}.social-admin-identity>img{width:48px;height:48px;object-fit:contain;border-radius:8px;background:#f2f5ef}.social-upload{margin-bottom:24px}.social-admin-identity>div{min-width:0}.panel-heading{display:flex;justify-content:space-between;gap:20px;align-items:start}.professional-manager{margin-top:36px}.professional-manager h2{margin-bottom:10px}.professional-admin-row{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #e0e6dd;padding:22px 0}.professional-identity{display:flex;align-items:center;gap:15px;min-width:0}.professional-identity img{width:64px;height:72px;object-fit:contain;background:#eef1e8;border-radius:8px;flex-shrink:0}.professional-identity h3{margin:0 0 6px;font-size:17px;overflow-wrap:anywhere}.professional-identity p{color:#586f5f;line-height:1.5;font-size:13px;margin:0 0 9px}.professional-identity>div{min-width:0}.contact-launcher{position:fixed;bottom:22px;right:22px;z-index:30;display:flex;gap:18px;align-items:center;padding:16px 23px;background:#174b35;border:1px solid #d6ae71;border-radius:32px;color:white;font-size:13px;font-weight:600;box-shadow:0 5px 22px #15372c22}.contact-launcher:hover{background:#0a3525}.contact-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(490px,100%);height:100dvh;max-height:none;max-width:100%;padding:30px;border:0;background:#f5f6ef;color:#18372a;overflow-y:auto;box-shadow:-8px 0 35px #14372a26}.contact-drawer::backdrop{background:#051e17a6;backdrop-filter:blur(3px)}.contact-drawer-open{overflow:hidden}.drawer-header{display:flex;align-items:start;justify-content:space-between;gap:15px}.drawer-header .eyebrow{color:#7c6233;font-size:9px}.drawer-header h2{font:32px/1.2 Georgia,serif;margin:12px 0 0}.drawer-close{border:1px solid #c0ccbd;background:white;flex-shrink:0;width:38px;height:38px;border-radius:50%;font-size:27px;color:#254b37}.drawer-intro{font-size:14px;line-height:1.7;color:#5b6e60;margin:20px 0 28px}.drawer-contact{background:#fff;border:1px solid #d7e0d1;padding:22px;border-radius:12px;margin-bottom:18px}.contact-monogram{height:55px;width:55px;border-radius:50%;display:grid;place-items:center;background:#e6eee3;color:#28533a;flex-shrink:0;font:23px Georgia,serif}.channel-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.channel-list>a{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:12px;border:1px solid #b4c6b6;border-radius:7px;color:#235339;font-size:12px;font-weight:600;overflow-wrap:anywhere}.channel-list>a:hover{background:#edf5e9}.channel-list>.helper{grid-column:1/-1}.drawer-socials{padding:8px 0}.drawer-socials h3{font-size:15px}.drawer-socials .social-links{color:#254c36}.contact-drawer button:focus-visible,.contact-drawer a:focus-visible{outline:3px solid #a6bea1;outline-offset:3px}
@media(max-width:740px){.home-programming{padding:45px 0}.home-programming-heading{flex-direction:column;align-items:start;gap:15px}.home-programming-heading h2{font-size:34px}.single-course .course-card{display:flex}.single-course .course-cover{height:340px;padding:15px}.single-course .course-content{padding:25px}.single-course .course-content h3{font-size:29px}.single-course .course-summary{font-size:14px}.single-course .course-meta{font-size:12px}.two-courses{grid-template-columns:1fr}.programming-bottom{flex-direction:column;align-items:start;gap:10px}.panel-heading,.professional-admin-row{flex-direction:column;align-items:start}.contact-drawer{padding:24px 18px}.drawer-header h2{font-size:29px}.drawer-contact{padding:18px}.contact-launcher{right:14px;bottom:14px;padding:13px 18px;font-size:12px}}

.professional-contact-button{margin:16px 7px 0;padding:10px 13px;color:#235339;background:#f0f5eb;border:1px solid #b6c8b5;border-radius:6px;font-size:12px;font-weight:600}.professional-contact-button:hover{background:#e1ecda}.drawer-contact.selected-contact{border:2px solid #9f814b;background:#fffdf6}

.validation-summary{background:#fff0ec;border:1px solid #d29482;border-left:4px solid #a54332;color:#7d3025;border-radius:8px;padding:18px 22px;margin:0 0 24px;font-size:14px;line-height:1.6}.validation-summary p{margin:7px 0}.validation-summary ul{padding-left:20px;margin:8px 0 0}.drawer-empty{padding:22px;background:white;border:1px dashed #c4d0c0;border-radius:10px;line-height:1.7;color:#576d5d}

/* Larger specialist cards, preserving every pixel of the source portrait. */
#especialistas .container{width:min(1240px,calc(100% - 44px))}
#especialistas .team{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:stretch}
#especialistas .person{padding:24px;border-radius:12px;display:flex;flex-direction:column;box-shadow:0 4px 18px #14372a08}
#especialistas .person .avatar{background:#f1eee6;padding:16px;border-radius:8px;margin-bottom:24px;overflow:visible}
#especialistas .person .avatar img{width:100%;max-width:340px;height:auto!important;max-height:none;margin:auto;object-fit:contain!important;display:block}
#especialistas .person h3{font-size:29px;margin:0 0 12px}
#especialistas .person p{font-size:14px;line-height:1.8;margin:0 0 14px}
#especialistas .professional-contact-button{align-self:start;margin:10px 0 0;margin-top:auto}
@media(max-width:740px){#especialistas .team{grid-template-columns:1fr;gap:22px}#especialistas .person{padding:20px}#especialistas .person .avatar img{max-width:300px}#especialistas .person h3{font-size:26px}}

.portrait-frame{--zoom:1;--x:0;--y:0;position:relative;width:100%;max-width:340px;aspect-ratio:4/5;overflow:hidden;background:#f0eee6;border-radius:7px;margin:auto}
.portrait-frame img,#especialistas .person .portrait-frame img{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;object-fit:contain!important;object-position:center;display:block}
.portrait-frame.adjusted img,#especialistas .person .portrait-frame.adjusted img{object-fit:cover!important;transform:translate(calc(var(--x)*1%),calc(var(--y)*1%)) scale(var(--zoom));transform-origin:center}
.specialist-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.specialist-photo-grid .form-panel{margin:0}.specialist-photo-grid h2{margin:22px 0 16px}
.portrait-editor-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:24px;align-items:start}.portrait-preview-panel{position:sticky;top:24px}.portrait-preview-panel .helper{margin-top:18px}.portrait-frame.adjusted{touch-action:none;cursor:grab}.portrait-frame.adjusted:active{cursor:grabbing}.admin-page .field input[type=range]{padding:0;accent-color:#235c39;cursor:pointer}.admin-page .field select{border:1px solid #aab9ad;border-radius:6px;background:white;color:#173727;padding:12px;font-size:13px}.admin-page output{float:right;font-weight:400;color:#5a7061}#adjustControls[hidden]{display:none}
@media(max-width:740px){.specialist-photo-grid,.portrait-editor-layout{grid-template-columns:1fr}.portrait-preview-panel{position:static}.portrait-frame{max-width:300px}}

.portrait-frame.adjusted img,#especialistas .person .portrait-frame.adjusted img{object-fit:contain!important}
.login-shell{max-width:480px;margin:130px auto 70px;padding:0 20px}.login-shell h1{font:36px Georgia,serif;margin:14px 0 30px}.login-shell .field{margin:20px 0}.login-shell label{display:block;margin-bottom:8px}.course-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:45px;margin:30px 0}.course-detail-image{border-radius:16px;background:#eeeae0;overflow:hidden}.course-detail-image img{display:block;width:100%;height:auto;max-height:650px;object-fit:contain}.course-detail h1{font:45px/1.2 'Playfair Display',Georgia,serif}.course-detail .actions{margin-top:30px;flex-wrap:wrap}.course-facts{color:#536a5a;line-height:1.6}.admin-thumb{width:120px;height:120px;object-fit:contain;display:block;margin:15px 0}.portrait-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.form-actions{flex-wrap:wrap}.safe-wrap{overflow-wrap:anywhere}.catalog-hero{padding-top:145px}.public-footer{margin-top:30px}@media(max-width:740px){.portrait-admin-grid,.course-detail-layout{grid-template-columns:1fr}.login-shell{margin-top:100px}.catalog-hero{padding-top:110px}.course-detail h1{font-size:34px}}
.admin-shell>form{margin-bottom:38px}.admin-shell .admin-heading h1{overflow-wrap:anywhere}.admin-shell .form-actions form{margin:0}.course-detail-layout .description{white-space:normal}

.hero .hero-flags{display:block;width:240px;height:120px;object-fit:contain;margin:-110px 0 20px;position:relative;z-index:1}@media(max-width:740px){.hero .hero-flags{width:190px;height:95px;margin:-45px 0 18px}}
