:root{--ink:#092f35;--ink-2:#16464c;--copper:#b66a3c;--paper:#f7f5ef;--white:#fff;--muted:#66777a;--line:#d8dfdd;--serif:"Libre Caslon Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.02}h1{font-size:clamp(3.1rem,7vw,7.2rem);letter-spacing:-.045em;margin-bottom:1.6rem}h1 em{color:var(--copper);font-style:italic}h2{font-size:clamp(2.3rem,4.5vw,4.5rem);letter-spacing:-.035em}.site-header{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.25rem,5vw,5rem);border-bottom:1px solid rgba(9,47,53,.14);position:sticky;top:0;background:rgba(247,245,239,.94);backdrop-filter:blur(12px);z-index:10}.brand{display:flex;align-items:center;text-decoration:none}.brand-logo{display:block;width:clamp(205px,18vw,250px);height:auto}.site-header nav{display:flex;align-items:center;gap:2rem}.site-header nav a{text-decoration:none;font-size:.92rem;font-weight:600}.nav-cta{border:1px solid var(--ink);padding:.75rem 1.1rem}.menu{display:none;border:0;background:none;font:600 1rem var(--sans)}.hero{min-height:720px;padding:clamp(4rem,9vw,8.5rem) clamp(1.25rem,5vw,5rem) 5rem;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr);gap:clamp(3rem,7vw,7rem);align-items:end;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(182,106,60,.25);border-radius:50%;right:-230px;top:-140px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:700;color:var(--copper);margin-bottom:1.35rem}.lead{max-width:780px;font-size:clamp(1.15rem,1.8vw,1.5rem);color:var(--ink-2);line-height:1.55}.hero-actions{display:flex;gap:1rem;margin-top:2.2rem;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;padding:1rem 1.35rem;text-decoration:none;font-weight:700;transition:.2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--ink);color:var(--white)}.secondary{border:1px solid var(--ink)}.decision-card{background:var(--ink);color:var(--white);padding:2.2rem}.decision-card>p{text-transform:uppercase;letter-spacing:.13em;font-size:.75rem;color:#b8c9c8}.decision-card ul{list-style:none;padding:0;margin:2rem 0}.decision-card li{border-top:1px solid rgba(255,255,255,.2);padding:1rem 0;display:flex;gap:1rem}.decision-card li span{color:#d99568;font-size:.8rem}.card-note{border-top:1px solid rgba(255,255,255,.2);padding-top:1.3rem;color:#b8c9c8;font-size:.9rem}.trust-strip{display:grid;grid-template-columns:repeat(3,1fr);background:var(--white);padding:2rem clamp(1.25rem,5vw,5rem);border-block:1px solid var(--line)}.trust-strip p{margin:0;padding:0 2rem;border-right:1px solid var(--line)}.trust-strip p:first-child{padding-left:0}.trust-strip p:last-child{border:0}.trust-strip strong,.trust-strip span{display:block}.trust-strip span{font-size:.85rem;color:var(--muted)}.section{padding:clamp(5rem,10vw,9rem) clamp(1.25rem,5vw,5rem)}.section-heading{display:grid;grid-template-columns:1fr 2fr;column-gap:3rem;margin-bottom:4rem}.section-heading .eyebrow{grid-row:1/3}.section-heading h2{margin-bottom:1rem;max-width:800px}.section-heading>p:last-child{grid-column:2;max-width:630px;color:var(--muted)}.services{background:var(--white)}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-grid article{padding:2.6rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:300px;display:flex;flex-direction:column}.service-number{color:var(--copper);font-weight:700;font-size:.8rem}.service-grid h3{font-family:var(--serif);font-size:2rem;font-weight:400;margin:2rem 0 1rem}.service-grid p{color:var(--muted);max-width:500px}.service-grid a{margin-top:auto;text-decoration:none;font-weight:700}.profile{background:var(--ink);color:var(--white);display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(3rem,8vw,9rem)}.profile-quote{align-self:center}.profile-quote>span{font-family:var(--serif);color:var(--copper);font-size:8rem;line-height:.5}.profile blockquote{font-family:var(--serif);font-size:clamp(2rem,3.2vw,3.5rem);line-height:1.18;margin:1rem 0}.profile-copy .eyebrow{color:#dda27c}.profile-copy h2{margin-bottom:.3rem}.role{color:#b8c9c8}.profile-copy>p:not(.eyebrow):not(.role){color:#d9e1df}.credentials{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:2rem}.credentials span{border:1px solid rgba(255,255,255,.25);padding:.6rem .8rem;font-size:.78rem}.method ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.method li{padding:2rem 1.5rem 0 0;border-right:1px solid var(--line);min-height:250px}.method li+li{padding-left:1.5rem}.method li:last-child{border:0}.method li>span{color:var(--copper);font-weight:700;font-size:.8rem}.method h3{font-family:var(--serif);font-size:2rem;font-weight:400;margin:2.5rem 0 .5rem}.method p{color:var(--muted)}.contact{background:var(--copper);color:var(--white);padding:clamp(4rem,8vw,7rem) clamp(1.25rem,5vw,5rem);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:end}.contact .eyebrow{color:#f6ded0}.contact h2{font-size:clamp(2.6rem,5vw,5.3rem);max-width:900px;margin:0}.light{background:var(--white);color:var(--ink);white-space:nowrap}.contact-actions{display:flex;flex-direction:column;gap:.75rem}.contact-secondary{border:1px solid rgba(255,255,255,.72);color:var(--white);white-space:nowrap}.contact-details{grid-column:1/3;display:flex;flex-wrap:wrap;gap:.55rem 1.5rem;color:#f7dfd0}.contact-details a{font-weight:700;text-decoration-thickness:1px;text-underline-offset:3px}.contact-details span{flex-basis:100%}footer{padding:2.5rem clamp(1.25rem,5vw,5rem);display:grid;grid-template-columns:1.1fr 1fr auto auto;align-items:center;gap:1.25rem;font-size:.82rem;color:var(--muted)}footer p{margin:0}.footer-brand .brand-logo{width:200px}.footer-contact{display:flex;flex-direction:column}.footer-contact a{text-underline-offset:2px}footer p:last-of-type{text-align:right}
@media(max-width:850px){.site-header{height:74px}.site-header .brand-logo{width:190px}.site-header nav{display:none;position:absolute;top:74px;left:0;right:0;background:var(--paper);padding:1.5rem;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.site-header nav.open{display:flex}.menu{display:block}.hero{grid-template-columns:1fr;min-height:auto}.decision-card{max-width:520px}.trust-strip{grid-template-columns:1fr}.trust-strip p{padding:1rem 0;border-right:0;border-bottom:1px solid var(--line)}.section-heading{grid-template-columns:1fr}.section-heading .eyebrow,.section-heading>p:last-child{grid-column:auto;grid-row:auto}.service-grid,.profile{grid-template-columns:1fr}.method ol{grid-template-columns:1fr 1fr}.contact{grid-template-columns:1fr}.contact-details{grid-column:auto}footer{grid-template-columns:1fr}footer p:last-of-type{text-align:left}}
@media(max-width:560px){h1{font-size:3.35rem}.hero{padding-top:4.5rem}.hero-actions{flex-direction:column}.button{width:100%}.service-grid{grid-template-columns:1fr}.service-grid article{padding:2rem;min-height:270px}.method ol{grid-template-columns:1fr}.method li,.method li+li{padding:1.5rem 0;min-height:auto;border-right:0;border-bottom:1px solid var(--line)}.method h3{margin:1.2rem 0 .3rem}.profile blockquote{font-size:2.1rem}.contact{align-items:start}}
.team{background:#eef1ee}.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(9,47,53,.16);border:1px solid rgba(9,47,53,.16)}.team-card{background:var(--paper);display:grid;grid-template-columns:42% 58%;min-height:420px}.portrait{overflow:hidden;background:var(--ink)}.portrait img{width:100%;height:100%;display:block;object-fit:cover;object-position:center top;filter:saturate(.82);transition:transform .45s ease,filter .45s ease}.team-card:hover .portrait img{transform:scale(1.025);filter:saturate(1)}.team-copy{padding:clamp(1.5rem,3vw,2.7rem);display:flex;flex-direction:column}.team-role{color:var(--copper);font-size:.75rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.team-copy h3{font-family:var(--serif);font-size:clamp(1.7rem,2.4vw,2.5rem);font-weight:400;line-height:1.05;margin:.8rem 0 1.2rem}.team-copy>p:last-child{color:var(--muted);font-size:.94rem;margin:auto 0 0}
@media(max-width:1050px){.team-card{grid-template-columns:1fr;min-height:0}.portrait{aspect-ratio:4/3}.team-copy>p:last-child{margin-top:1.5rem}}
@media(max-width:650px){.team-grid{grid-template-columns:1fr}.portrait{aspect-ratio:1/1}}
.portrait{background:#fff;display:flex;align-items:flex-end}.portrait img{object-fit:contain;object-position:center bottom}
.valuation{background:var(--paper);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(3rem,8vw,8rem);align-items:start}.valuation-intro h2{font-size:clamp(2.6rem,4.8vw,4.9rem);margin-bottom:1.5rem}.valuation-intro>p:last-child{max-width:610px;color:var(--muted);font-size:1.08rem}.valuation-methods{border-top:1px solid var(--line)}.valuation-methods article{display:grid;grid-template-columns:48px 1fr;padding:2rem 0;border-bottom:1px solid var(--line)}.valuation-methods article>span{color:var(--copper);font-size:.8rem;font-weight:700}.valuation-methods h3{font-family:var(--serif);font-size:2rem;font-weight:400;margin:0 0 .8rem}.valuation-methods p{grid-column:2;color:var(--muted);margin:0}.valuation-close{grid-column:1/3;border-left:3px solid var(--copper);padding:1rem 0 1rem 1.5rem;margin:0;font-weight:600;max-width:980px}
@media(max-width:850px){.valuation{grid-template-columns:1fr}.valuation-close{grid-column:auto}}
.valuation-flow{grid-column:1/3;list-style:none;padding:0;margin:1rem 0 0;display:grid;grid-template-columns:repeat(5,1fr);border-block:1px solid var(--line)}.valuation-flow li{padding:1.25rem 1rem 1.25rem 0;font-size:.88rem;font-weight:600;border-right:1px solid var(--line)}.valuation-flow li+li{padding-left:1rem}.valuation-flow li:last-child{border-right:0}.valuation-flow span{display:block;color:var(--copper);font-size:.75rem;margin-bottom:.45rem}
@media(max-width:850px){.valuation-flow{grid-column:auto;grid-template-columns:1fr}.valuation-flow li,.valuation-flow li+li{padding:1rem 0;border-right:0;border-bottom:1px solid var(--line)}.valuation-flow li:last-child{border-bottom:0}}
.tourism-link{background:#e7ece9;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(2rem,7vw,7rem);align-items:end;border-top:1px solid rgba(9,47,53,.12);border-bottom:1px solid rgba(9,47,53,.12)}.tourism-copy{max-width:920px}.tourism-copy h2{font-size:clamp(2.45rem,4.3vw,4.4rem);margin-bottom:1.4rem}.tourism-copy>p:last-child{max-width:760px;color:var(--muted);font-size:1.08rem;margin-bottom:0}.tourism-button{background:var(--ink);color:var(--white);white-space:nowrap;gap:.7rem}.tourism-button span{color:#dda27c;font-size:1.15rem}
@media(max-width:900px){.tourism-link{grid-template-columns:1fr;align-items:start}.tourism-button{justify-self:start}}
@media(max-width:560px){.tourism-button{justify-self:stretch;white-space:normal}}
.work-scenes{display:grid;grid-template-columns:1.65fr 1fr;grid-template-rows:1fr 1fr;height:clamp(360px,48vw,620px);gap:4px;background:var(--ink);padding:4px}.scene{position:relative;margin:0;overflow:hidden;background:var(--ink)}.scene-main{grid-row:1/3}.scene img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(.42) saturate(.62) contrast(.94);opacity:.9;transition:filter .35s ease,transform .5s ease}.scene:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(9,47,53,.18),transparent 55%);pointer-events:none}.scene:hover img{filter:grayscale(.15) saturate(.82);transform:scale(1.012)}.photo-credits{grid-column:1/-1;text-align:center!important;font-size:.68rem;color:#859295}.photo-credits a{text-underline-offset:2px}
@media(max-width:700px){.work-scenes{grid-template-columns:1fr 1fr;grid-template-rows:1.25fr 1fr;height:560px}.scene-main{grid-column:1/3;grid-row:auto}.photo-credits{grid-column:auto;text-align:left!important}}

/* Firma visual de marca en cada sección */
main>section{position:relative}
main>section::after{content:"";position:absolute;top:1.35rem;right:clamp(1.25rem,3vw,3rem);width:clamp(118px,12vw,168px);aspect-ratio:909/135;background:url("assets/cgt-logo.png") center/contain no-repeat;opacity:.14;pointer-events:none;z-index:3}
.profile::after,.contact::after,.work-scenes::after{filter:brightness(0) invert(1);opacity:.28}
.trust-strip::after{top:.75rem;width:112px;opacity:.09}
.work-scenes::after{top:1.5rem;right:1.5rem}
@media(max-width:700px){main>section::after{top:.85rem;right:.9rem;width:108px;opacity:.11}.profile::after,.contact::after,.work-scenes::after{opacity:.24}.trust-strip::after{width:92px}}

/* Imágenes empresariales y visualización fotográfica */
.business-panorama{margin:0;background:var(--ink);overflow:hidden}
.business-panorama figure{margin:0}
.business-panorama img{display:block;width:100%;height:auto}
.work-scenes{height:auto;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1.5fr);grid-template-rows:auto;align-items:center}
.scene,.scene-main{grid-row:auto;overflow:hidden;background:#e9eeec}
.scene img{width:100%;height:auto;object-fit:contain;filter:none;opacity:1;transition:transform .5s ease}
.scene:after{background:linear-gradient(135deg,rgba(9,47,53,.06),transparent 55%)}
.scene:hover img{filter:none;transform:scale(1.008)}
.business-panorama::after{filter:brightness(0) invert(1);opacity:.28}

/* Pie de página con navegación rápida */
footer{padding:3.5rem clamp(1.25rem,5vw,5rem) 2rem;grid-template-columns:1.15fr 1fr 1fr;align-items:start;gap:clamp(2rem,5vw,5rem);font-size:.9rem;border-top:1px solid var(--line)}
.footer-intro>p{margin-top:1rem;max-width:270px}
.footer-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem 1.5rem}
.footer-nav p,.footer-contact p{grid-column:1/-1;color:var(--ink);font-weight:700;margin-bottom:.35rem}
.footer-intro p,.footer-nav p,.footer-contact p{text-align:left}
.footer-nav a,.footer-contact a{text-decoration:none;text-underline-offset:3px}
.footer-nav a:hover,.footer-contact a:hover{text-decoration:underline}
.footer-contact{align-items:flex-start;gap:.45rem}
.footer-legal,footer .photo-credits{grid-column:1/-1;text-align:left!important}
.footer-legal{padding-top:1.5rem;border-top:1px solid var(--line)}
main section[id]{scroll-margin-top:100px}

@media(max-width:850px){footer{grid-template-columns:1fr 1fr}.footer-intro,.footer-legal,footer .photo-credits{grid-column:1/-1}}
@media(max-width:700px){.work-scenes{grid-template-columns:1fr 1fr;grid-template-rows:auto;height:auto;align-items:start}.scene-main{grid-column:1/3}.business-panorama img{min-height:190px;object-fit:cover;object-position:center}.business-panorama::after{opacity:.24}footer{grid-template-columns:1fr}.footer-intro,.footer-legal,footer .photo-credits{grid-column:auto}.footer-nav{grid-template-columns:1fr 1fr}}

/* Mayor legibilidad en textos corrientes; títulos y subtítulos se conservan */
body{font-size:17.33px}
.site-header nav a{font-size:1rem}
.card-note{font-size:.98rem}
.trust-strip span{font-size:.93rem}
.credentials span{font-size:.86rem}
.valuation-flow li{font-size:.96rem}
.team-copy>p:last-child{font-size:1.02rem}
footer{font-size:.98rem}
.photo-credits{font-size:.76rem}
