/*
Theme Name: Terranobre Institucional
Theme URI: https://terranobre.test
Author: Terranobre
Description: Tema institucional da Terranobre Engenharia e Construção, baseado na template Const.
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: terranobre
*/

/*
 * Fontes oficiais: Guton (textos) e Lenia Sans (assinatura/logotipo).
 * Quando os arquivos licenciados .woff2 forem disponibilizados, coloque-os em
 * assets/fonts/ e descomente as declarações @font-face abaixo.
 * @font-face {font-family:"Guton";src:url("assets/fonts/Guton-Regular.woff2") format("woff2");font-display:swap}
 * @font-face {font-family:"Lenia Sans";src:url("assets/fonts/LeniaSans-Bold.woff2") format("woff2");font-weight:700;font-display:swap}
 */

:root {
  --tn-blue: #001661;
  --tn-blue-dark: #000d3b;
  --tn-blue-mid: #031f93;
  --tn-blue-light: #123ab5;
  --tn-champagne: #fff4e3;
  --tn-champagne-dark: #f3e5d1;
  --tn-ink: #111522;
  --tn-muted: #606575;
  --tn-white: #fff;
  --themecolor: var(--tn-blue);
  --themecolor_secondary: var(--tn-blue-dark);
  --themecolor_bg: var(--tn-blue);
  --theme_black: var(--tn-ink);
  --theme_bg_dark: var(--tn-blue-dark);
  --theme_bg_primary: var(--tn-champagne);
  --body-color: var(--tn-muted);
  --body-font-family: "Guton", "Avenir Next", "Montserrat", Arial, sans-serif;
  --heading-font-family: "Guton", "Avenir Next", "Montserrat", Arial, sans-serif;
  --heading-1-font-family: var(--heading-font-family);
  --heading-2-font-family: var(--heading-font-family);
  --heading-3-font-family: var(--heading-font-family);
  --paragraph-font-family: var(--body-font-family);
}

html { scroll-behavior: smooth; }
body { color: var(--tn-muted); background: var(--tn-white); font-family: var(--body-font-family); font-weight: 400; }
body.admin-bar .cs_site_header { top: 32px; }
h1,h2,h3,h4,h5,h6 { color: var(--tn-ink); font-family: var(--heading-font-family); }
a { color: var(--tn-blue); text-decoration: none; }
a:hover { color: var(--tn-blue-dark); }
img { max-width: 100%; height: auto; }
.screen-reader-text { position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.skip-link:focus { clip:auto; width:auto; height:auto; top:10px; left:10px; z-index:100000; background:#fff; padding:12px; }

#terranobre-preloader { position:fixed; inset:0; z-index:99999; display:flex; align-items:center; justify-content:center; gap:7px; background:var(--tn-blue); transition:opacity .45s,visibility .45s; }
#terranobre-preloader span { width:8px; height:54px; background:var(--tn-champagne); animation:tn-loader 1s infinite ease-in-out; }
#terranobre-preloader span:nth-child(2){animation-delay:.1s} #terranobre-preloader span:nth-child(3){animation-delay:.2s} #terranobre-preloader span:nth-child(4){animation-delay:.3s}
body.tn-loaded #terranobre-preloader { opacity:0; visibility:hidden; }
@keyframes tn-loader { 0%,100%{transform:scaleY(.35)} 50%{transform:scaleY(1)} }

.cs_site_header { background:rgba(255,255,255,.98)!important; box-shadow:0 6px 25px rgba(0,22,97,.07); z-index:1000; }
.cs_main_header_in { min-height:100px; }
.cs_main_header_left { padding-left:clamp(20px,4vw,70px); }
.cs-constr-header-logo img,.custom-logo { width:min(310px,27vw); max-height:74px; object-fit:contain; }
.custom-logo-link { display:block; }
.cs-constr-header-middle { flex:1; }
.cs_nav_list { display:flex; align-items:center; justify-content:center; gap:clamp(20px,2.2vw,42px); margin:0; padding:0; list-style:none; }
.cs_nav_list li { margin:0!important; }
.cs_nav_list a { color:var(--tn-ink)!important; font-weight:700; font-size:14px; letter-spacing:.055em; text-transform:uppercase; }
.cs_nav_list a:hover,.cs_nav_list .current-menu-item>a,.cs_nav_list .current_page_item>a { color:var(--tn-blue-light)!important; }
.cs_main_header_right { background:var(--tn-blue)!important; min-width:280px; padding:0 28px; }
.header-contact { display:none!important; }
.tn-header-cta { color:#fff!important; font-size:14px; font-weight:700; text-transform:uppercase; text-align:center; }
.tn-header-cta:hover { color:var(--tn-champagne)!important; }
.cs_icon_btn { display:none; background:none; border:0; }

.cs_side_header { display:block!important; left:0; width:100%; height:100vh; z-index:1200; }
.cs_side_header_in { width:88vw; min-width:88vw; max-width:500px; box-sizing:border-box; background:var(--tn-champagne)!important; padding:52px 36px!important; }
.cs_side_header .cs_site_branding img { width:260px; margin-bottom:36px; }
.cs_side_header .tn-side-logo { display:block; width:220px; max-width:76%; margin:0 auto 32px; }
.cs_side_header .tn-side-logo img { width:100%; max-height:none; margin:0; }
.cs_side_header .mobile-nav .cs_nav_list { display:block; margin:30px 0; }
.cs_side_header .mobile-nav li { border-bottom:1px solid rgba(0,22,97,.16); padding:13px 0; }
.tn-side-contact { display:grid; gap:10px; margin-top:30px; }
.cs_close:before,.cs_close:after { background:var(--tn-blue)!important; }

.cs-primary-btn,.wp-element-button,button[type=submit] { display:inline-flex; align-items:center; justify-content:center; min-height:58px; padding:15px 28px; border:0; border-radius:3px!important; background:var(--tn-blue)!important; color:#fff!important; font-weight:700; letter-spacing:.025em; box-shadow:none!important; transform:none!important; transition:background-color .25s,color .25s,border-color .25s!important; }
.cs-primary-btn:before,.cs-primary-btn:after { display:none!important; }
.cs-primary-btn span { color:#fff!important; transform:none!important; }
.cs-primary-btn:hover,.cs-primary-btn:focus,.wp-element-button:hover,button[type=submit]:hover { background:var(--tn-blue-dark)!important; color:#fff!important; transform:none!important; }
.tn-btn-outline { background:transparent!important; border:1px solid rgba(255,255,255,.75)!important; }
.tn-btn-outline:hover { background:var(--tn-blue-dark)!important; border-color:var(--tn-blue-dark)!important; }
.tn-btn-champagne { background:var(--tn-champagne)!important; }
.tn-btn-champagne span { color:var(--tn-blue)!important; }
.tn-btn-champagne:hover { background:var(--tn-champagne-dark)!important; }

.tn-overline { display:inline-flex; align-items:center; gap:12px; color:var(--tn-champagne); font-size:13px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; margin-bottom:20px; }
.tn-overline:before { content:""; width:42px; height:2px; background:currentColor; }
.tn-overline.tn-blue { color:var(--tn-blue); }

.tn-hero { position:relative; min-height:850px; display:flex; align-items:center; overflow:hidden; background-image:var(--hero-bg); background-position:center; background-size:cover; }
.tn-hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,13,59,.96) 0%,rgba(0,22,97,.87) 48%,rgba(0,22,97,.28) 100%); }
.tn-hero-grid { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr); align-items:end; min-height:850px; padding-top:140px; }
.tn-hero-content { align-self:center; max-width:760px; padding:80px 0 150px; }
.tn-hero h1 { color:#fff; font-size:clamp(54px,6.2vw,100px); line-height:.98; letter-spacing:-.05em; max-width:760px; margin-bottom:30px; }
.tn-hero p { color:rgba(255,255,255,.82); font-size:20px; max-width:610px; line-height:1.6; }
.tn-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:40px; }
.tn-hero-foreground { align-self:end; position:relative; z-index:2; }
.tn-hero-foreground img { max-height:620px; object-fit:contain; object-position:bottom; mix-blend-mode:multiply; filter:saturate(.95) contrast(1.08); }
.tn-pattern { position:absolute; z-index:1; top:120px; right:-80px; width:430px; height:330px; opacity:.08; background-image:linear-gradient(45deg,transparent 42%,var(--tn-champagne) 42% 58%,transparent 58%); background-size:60px 60px; transform:rotate(-8deg); }
.tn-organic-cut { position:absolute; z-index:3; left:-3%; right:-3%; bottom:-1px; height:78px; background:var(--tn-white); clip-path:polygon(0 73%,8% 42%,17% 62%,28% 23%,39% 50%,51% 18%,63% 52%,76% 28%,88% 58%,100% 34%,100% 100%,0 100%); }

.tn-about { padding:120px 0 130px; background-color:var(--tn-white)!important; }
.tn-about .cs-about-wrap-in { align-items:center; }
.tn-about-media { padding:0 4vw 0 0; }
.tn-about-media img { width:100%; min-height:620px; object-fit:cover; }
.animate-img-wrap .reveal { display:none!important; }
.animate-img-wrap .the-animated-image { transform:none!important; }
.tn-about .cs-about-content { padding:50px clamp(30px,6vw,100px)!important; }
.tn-about .cs-heading { font-size:clamp(42px,4.2vw,68px); line-height:1.08; letter-spacing:-.04em; }
.cs-heading-with-animation { position:relative; }
.cs-animated-text { color:rgba(0,22,97,.055)!important; font-size:clamp(70px,10vw,160px)!important; pointer-events:none; }
.tn-about p { font-size:18px; line-height:1.75; max-width:720px; margin:30px 0; }
.tn-about .list-feature { margin:35px 0; }
.tn-about .list-feature h6 { color:var(--tn-blue); padding:12px 0; font-size:18px; }
.cs-list-border { border-color:rgba(0,22,97,.16)!important; }

.tn-moving { overflow:hidden; background:var(--tn-champagne)!important; color:var(--tn-blue); padding:28px 0; }
.tn-moving h2 { color:var(--tn-blue)!important; font-family:"Lenia Sans",var(--heading-font-family); font-size:clamp(52px,7vw,105px)!important; white-space:nowrap; }

.tn-solutions,.tn-archive-solutions { position:relative; padding:140px 0; background:#f8f8f7; }
.tn-section-heading { position:relative; max-width:900px; margin:0 auto 70px; }
.tn-section-heading h2 { font-size:clamp(42px,5vw,72px); line-height:1.08; letter-spacing:-.045em; }
.tn-ghost-title { position:absolute; inset:auto 0 -20px; z-index:0; color:rgba(0,22,97,.04); font-size:clamp(80px,12vw,170px); font-weight:900; line-height:1; }
.tn-section-heading h2,.tn-section-heading .tn-overline { position:relative; z-index:1; }
.tn-solutions-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.tn-solution-card { position:relative; min-width:0; background:var(--tn-blue); overflow:hidden; }
.tn-solution-card>a { display:block; overflow:hidden; }
.tn-solution-card img { width:100%; aspect-ratio:4/3; object-fit:cover; transition:transform .65s; }
.tn-solution-card:hover img { transform:scale(1.04); }
.tn-card-body { position:relative; min-height:260px; padding:38px; color:rgba(255,255,255,.75); }
.tn-card-body>span { position:absolute; right:28px; top:22px; color:rgba(255,244,227,.2); font-size:54px; font-weight:900; }
.tn-card-body h2,.tn-card-body h3,.tn-card-body h2 a { position:relative; color:#fff!important; font-size:27px; margin:0 0 17px; }
.tn-card-body p { color:rgba(255,255,255,.72); line-height:1.65; }
.tn-text-link { color:var(--tn-champagne)!important; font-weight:700; text-transform:uppercase; font-size:13px; letter-spacing:.08em; }

.tn-highlights { background:var(--tn-champagne); padding:100px 0; }
.tn-highlights-grid { display:grid; grid-template-columns:repeat(3,1fr); }
.tn-highlight { padding:25px 55px; border-right:1px solid rgba(0,22,97,.18); }
.tn-highlight:last-child { border:0; }
.tn-highlight h3 { color:var(--tn-blue); font-size:28px; margin:24px 0 12px; }
.tn-feature-icon { display:grid; place-items:center; width:76px; height:76px; color:var(--tn-blue); background:#fff; border:1px solid rgba(0,22,97,.13); border-radius:50%; box-shadow:0 10px 25px rgba(0,22,97,.07); }
.tn-feature-icon svg { display:block; width:42px; height:42px; fill:none; stroke:currentColor; stroke-width:2.8; stroke-linecap:round; stroke-linejoin:round; }

.tn-commitment { position:relative; min-height:720px; display:flex; align-items:center; overflow:hidden; background-image:var(--commitment-bg); background-size:cover; background-position:center; }
.tn-commitment-mask { position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,13,59,.98) 0%,rgba(0,22,97,.86) 48%,rgba(0,22,97,.05) 100%); }
.tn-commitment-content { position:relative; z-index:2; max-width:700px; padding:120px 0 150px; }
.tn-commitment h2 { color:#fff; font-size:clamp(50px,5.6vw,86px); line-height:1; letter-spacing:-.045em; }
.tn-commitment p { color:rgba(255,255,255,.78); font-size:19px; line-height:1.7; margin:30px 0 38px; }
.tn-pattern-bottom { top:auto; bottom:20px; right:5%; }

.tn-contact-home { padding:0; background:var(--tn-white); }
.tn-contact-image img { width:100%; height:100%; min-height:740px; object-fit:cover; }
.tn-contact-panel { padding:clamp(70px,8vw,135px)!important; background:var(--tn-white); }
.tn-contact-panel h2 { font-size:clamp(42px,4.6vw,68px); line-height:1.08; margin-bottom:38px; }
.tn-contact-form { display:grid; gap:14px; }
.tn-contact-form label { display:block; margin:0; }
.tn-contact-form input,.tn-contact-form textarea { width:100%; background:#f6f5f2!important; border:1px solid transparent!important; border-bottom:2px solid rgba(0,22,97,.24)!important; border-radius:0!important; padding:17px 18px!important; color:var(--tn-ink)!important; outline:0; }
.tn-contact-form input:focus,.tn-contact-form textarea:focus { border-bottom-color:var(--tn-blue)!important; }
.tn-contact-form .input-col-two { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.tn-contact-form .cs-primary-btn { justify-self:start; }
.tn-form-success { background:#e7f5ec; color:#145a32; padding:14px 18px; }

.cs-constr-footer-container { padding-top:110px; background-color:var(--tn-blue)!important; background-size:cover; }
.tn-footer-logo { width:360px; max-width:90%; height:auto; }
.tn-footer-about { color:rgba(255,255,255,.72); max-width:430px; font-size:18px; margin:25px 0; }
footer h6 { color:var(--tn-champagne)!important; text-transform:uppercase; letter-spacing:.12em; margin-bottom:25px; }
.tn-footer-menu,.tn-footer-menu ul,.tn-footer-menu .cs_nav_list { display:grid!important; justify-content:start; gap:12px; list-style:none; margin:0; padding:0; }
.tn-footer-menu a,.tn-footer-contact a { color:#fff!important; }
.tn-footer-contact { display:grid; align-content:start; justify-items:start; gap:14px; }
.tn-footer-contact p { color:rgba(255,255,255,.72); }
.theme-social ul { display:flex; gap:10px; list-style:none; margin:0; padding:0; }
.theme-social a { display:grid; place-items:center; width:42px; height:42px; border:1px solid rgba(255,255,255,.28); border-radius:50%; color:#fff!important; }
.cs-theme-copyright { margin-top:90px; padding:24px; border-top:1px solid rgba(255,255,255,.13); text-align:center; }
.cs-theme-copyright p { margin:0; color:rgba(255,255,255,.58); }
.cs_scrollup { background:var(--tn-blue)!important; color:#fff!important; border:1px solid rgba(255,244,227,.35); box-shadow:none!important; }

.tn-internal-hero { position:relative; min-height:560px; display:flex; align-items:center; padding:170px 0 100px; overflow:hidden; background-color:var(--tn-blue); background-size:cover; background-position:center; }
.tn-internal-hero-slide { background-position:center 38%; }
.tn-internal-hero .container { position:relative; z-index:2; }
.tn-internal-hero h1 { color:#fff; font-size:clamp(58px,7vw,100px); letter-spacing:-.05em; }
.tn-internal-hero nav { display:flex; gap:10px; color:rgba(255,255,255,.65); margin-top:30px; }
.tn-internal-hero nav a { color:#fff; }
.tn-page-content { padding-top:110px; padding-bottom:130px; font-size:18px; line-height:1.8; }
.tn-page-content>p:first-child { max-width:950px; color:var(--tn-ink); font-size:clamp(26px,3vw,40px); line-height:1.45; }
.tn-about-values { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:80px; background:rgba(0,22,97,.15); }
.tn-about-values>div { padding:55px; background:var(--tn-champagne); }
.tn-about-values h2 { color:var(--tn-blue); }
.tn-contact-page-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:80px; margin-top:70px; }
.tn-contact-details { background:var(--tn-champagne); padding:55px; }
.tn-contact-details p { display:grid; margin-bottom:22px; }
.tn-contact-details iframe { width:100%; height:320px; border:0; margin-top:20px; }
.tn-archive-solutions .tn-section-heading { margin-left:0; }
.tn-single-solution { display:grid; grid-template-columns:minmax(0,2fr) minmax(300px,1fr); gap:70px; padding-top:110px; padding-bottom:130px; }
.tn-single-main { font-size:18px; line-height:1.8; }
.tn-single-solution aside { align-self:start; background:var(--tn-champagne); padding:45px; }
.tn-single-solution aside h2 { color:var(--tn-blue); }
.tn-error { min-height:80vh; display:grid; place-items:center; text-align:center; padding:160px 20px 80px; background:var(--tn-champagne); }
.tn-error>div>span { color:rgba(0,22,97,.12); font-size:clamp(130px,25vw,330px); font-weight:900; line-height:.75; }
.tn-error h1 { font-size:clamp(42px,6vw,75px); }

@media (max-width:1199px) {
  .cs_main_header_in { min-height:86px; }
  .cs-constr-header-middle,.tn-header-cta { display:none; }
  .cs_main_header_right { min-width:88px; padding:0; justify-content:center; }
  .cs_icon_btn { display:block!important; }
  .cs-constr-header-logo img,.custom-logo { width:280px; max-width:62vw; }
  .tn-hero,.tn-hero-grid { min-height:760px; }
  .tn-hero-grid { grid-template-columns:1fr; }
  .tn-hero-content { padding-bottom:120px; }
  .tn-hero-foreground { position:absolute; right:-20%; bottom:0; width:58%; opacity:.4; }
  .tn-about-media { padding:0 20px; }
  .tn-about .cs-about-content { padding:70px 30px!important; }
  .tn-contact-image img { min-height:520px; }
}

@media (max-width:991px) {
  body.admin-bar .cs_site_header { top:46px; }
  .tn-solutions-grid { grid-template-columns:repeat(2,1fr); }
  .tn-highlights-grid,.tn-about-values { grid-template-columns:1fr; }
  .tn-highlight { border-right:0; border-bottom:1px solid rgba(0,22,97,.18); padding:35px 15px; }
  .tn-contact-page-grid,.tn-single-solution { grid-template-columns:1fr; }
  .tn-internal-hero { min-height:480px; }
}

@media (max-width:767px) {
  .cs_main_header_left { padding-left:18px; }
  .tn-hero { min-height:720px; }
  .tn-hero-grid { min-height:720px; padding-top:90px; }
  .tn-hero-content { padding:90px 0 110px; }
  .tn-hero h1 { font-size:50px; }
  .tn-hero p { font-size:17px; }
  .tn-hero-foreground { display:none; }
  .tn-organic-cut { height:48px; }
  .tn-about,.tn-solutions,.tn-archive-solutions { padding:90px 0; }
  .tn-about-media img { min-height:420px; }
  .tn-about .cs-about-content { padding:60px 20px!important; }
  .tn-solutions-grid { grid-template-columns:1fr; }
  .tn-highlights { padding:65px 0; }
  .tn-commitment { min-height:650px; }
  .tn-contact-panel { padding:70px 22px!important; }
  .tn-contact-form .input-col-two { grid-template-columns:1fr; }
  .tn-internal-hero { min-height:420px; padding-top:140px; }
  .tn-internal-hero-slide { background-position:62% center; }
  .tn-page-content { padding-top:75px; padding-bottom:90px; }
  .tn-about-values>div,.tn-contact-details { padding:35px 25px; }
  .tn-contact-page-grid { gap:45px; }
  .tn-footer-logo { width:290px; }
}

/* Cabeçalho e hero preservados da home original da template Const. */
.cs_site_header.cs_style1 { background:var(--tn-white)!important; box-shadow:none; }
.cs_site_header.cs_style1 .cs_main_header_in { min-height:100px; flex-wrap:nowrap; }
.cs_site_header.cs_style1 .cs_main_header_left { flex:0 0 auto; padding-left:0; }
.cs_site_header.cs_style1 .cs-constr-header-logo img,
.cs_site_header.cs_style1 .custom-logo { width:280px; max-width:22vw; max-height:62px; }
.cs_site_header.cs_style1 .cs-constr-header-middle { display:flex; flex:1 1 auto; justify-content:center; }
.cs_site_header.cs_style1 .cs_nav_list { gap:clamp(18px,2vw,36px); }
.cs_site_header.cs_style1 .cs_nav_list a { font-size:14px; color:var(--tn-ink)!important; }
.cs_site_header.cs_style1 .cs_main_header_right { display:flex; min-width:520px; padding:0; height:100px; gap:0; background:var(--tn-blue)!important; }
.cs_site_header.cs_style1 .cs_toolbox { display:flex; align-items:center; justify-content:center; flex:0 0 105px; height:100px; padding:30px; background:var(--tn-champagne); border-color:rgba(0,22,97,.12); }
.cs_site_header.cs_style1 .cs_icon_btn { display:flex!important; margin:0; padding:0; color:var(--tn-blue); background:transparent!important; }
.cs_site_header.cs_style1 .header-contact { display:flex!important; flex:1; align-items:center; justify-content:center; gap:42px; max-width:none; margin:0; padding:0 42px; text-align:right; }
.cs_site_header.cs_style1 .header-contact>div { min-width:max-content; }
.cs_site_header.cs_style1 .header-contact span { color:rgba(255,244,227,.72); font-size:13px; }
.cs_site_header.cs_style1 .header-contact a span { color:var(--tn-white); font-size:15px; font-weight:700; }
.cs_site_header.cs_style1.cs_sticky-active { box-shadow:0 10px 20px rgba(0,22,97,.08); }

.tn-template-hero .cs-height-100 { height:100px; }
.tn-template-hero .cs-hero-wrap { overflow:hidden; background:var(--tn-champagne); }
.tn-template-hero .hero-slider-item { position:relative; height:calc(100vh - 100px); min-height:680px; background-position:center; }
.tn-template-hero .hero-slider-item:after { content:""; position:absolute; inset:0; z-index:0; background:linear-gradient(90deg,rgba(255,255,255,.45) 0%,rgba(255,255,255,.08) 48%,transparent 68%); pointer-events:none; }
.tn-template-hero .slider-item-content { position:relative; z-index:2; padding-left:max(50px,7vw)!important; max-width:990px!important; }
.tn-template-hero .cs-hero-title { max-width:900px; }
.tn-template-hero .cs-hero-title h1 { margin:0; }
.tn-template-hero .hero-strong-title { display:block; color:var(--tn-blue); font-family:"Lenia Sans",var(--heading-font-family); font-size:clamp(70px,6.2vw,112px)!important; font-weight:900!important; letter-spacing:-.055em; line-height:1!important; }
.tn-template-hero .cs-hero-title-normal { display:block; max-width:850px; color:var(--tn-ink); font-size:clamp(46px,4vw,68px)!important; font-weight:700!important; letter-spacing:-.05em; line-height:1.06!important; }
.tn-template-hero .hero-backdrop-text { top:-18px!important; left:-6px!important; opacity:.065; }
.tn-template-hero .hero-backdrop-text h2 { color:var(--tn-blue); font-size:clamp(70px,8.5vw,155px); line-height:.8; font-weight:900; white-space:nowrap; }
.tn-template-hero .hero-subtitle { max-width:580px!important; margin:28px 0 30px!important; color:var(--tn-ink); font-size:18px; line-height:1.55; }
.tn-template-hero .cs-couple-btn { position:relative; z-index:3; }
.tn-template-hero .theme-black-bg { background:var(--tn-blue-dark)!important; }
.tn-template-hero .cs-hero-social { background:var(--tn-champagne); }
.tn-template-hero .cs-hero-social a { color:var(--tn-blue)!important; font-size:12px; font-weight:800; letter-spacing:.08em; }
.tn-template-hero .cs-arrow-style-fill { gap:0; }
.tn-template-hero .cs-arrow-style-fill button { display:grid; place-items:center; width:80px; height:80px; margin:0; padding:0; border:0; border-radius:0!important; box-shadow:none; transform:none; }
.tn-template-hero .cs-left-arrow,
.tn-template-hero .cs-right-arrow { color:#101010; background:#fff; }
.tn-template-hero .cs-arrow-style-fill button:hover { color:#fff; background:#101010; transform:none; }
.tn-template-hero .split-parent { overflow:visible!important; padding-block:.08em .12em; margin-block:-.08em -.12em; }
.tn-template-hero .split-char { display:inline-block; will-change:transform,opacity; }

@media (max-width:1559px) {
  .cs_site_header.cs_style1 .header-contact { display:none!important; }
  .cs_site_header.cs_style1 .cs_main_header_right { min-width:105px; }
  .cs_site_header.cs_style1 .cs_main_header_left { margin-left:30px; }
}

@media (max-width:1199px) {
  .cs_site_header.cs_style1 .cs_main_header_in { min-height:86px; }
  .cs_site_header.cs_style1 .cs-constr-header-middle { display:none; }
  .cs_site_header.cs_style1 .cs_main_header_right { height:86px; min-width:86px; }
  .cs_site_header.cs_style1 .cs_toolbox { height:86px; flex-basis:86px; padding:22px; }
  .cs_site_header.cs_style1 .cs-constr-header-logo img,
  .cs_site_header.cs_style1 .custom-logo { width:260px; max-width:62vw; }
  .tn-template-hero .cs-height-100 { height:86px; }
  .tn-template-hero .hero-slider-item { height:calc(100vh - 86px); min-height:650px; background-position:center; }
  .tn-template-hero .slider-item-content { max-width:74vw!important; padding-left:35px!important; }
  .tn-template-hero .hero-strong-title { font-size:clamp(54px,6vw,76px)!important; }
  .tn-template-hero .cs-hero-title-normal { font-size:clamp(42px,5.2vw,62px)!important; }
}

@media (max-width:786px) {
  .cs_site_header.cs_style1 .cs_main_header_left { margin-left:16px; }
  .tn-template-hero .hero-slider-item { min-height:690px; background-position:64% center; }
  .tn-template-hero .hero-slider-item:after { background:linear-gradient(90deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.78) 52%,rgba(255,255,255,.08) 100%); }
  .tn-template-hero .slider-item-content { max-width:92vw!important; padding:0 24px!important; }
  .tn-template-hero .hero-strong-title { font-size:42px!important; }
  .tn-template-hero .cs-hero-title-normal { font-size:40px!important; }
  .tn-template-hero .hero-subtitle { max-width:90%; font-size:16px; }
  .tn-template-hero .cs-couple-btn { flex-direction:column; align-items:flex-start; }
  .tn-template-hero .cs-couple-btn .cs-primary-btn { width:auto; min-width:210px; }
  .tn-template-hero .cs-arrow-style-fill button { width:58px; height:58px; }
}

/* Aviso de cookies */
.tn-cookie-notice { position:fixed; right:24px; bottom:24px; z-index:1600; display:flex; align-items:center; gap:28px; width:min(760px,calc(100vw - 48px)); padding:24px 26px; color:#fff; background:var(--tn-blue); border:1px solid rgba(255,255,255,.18); box-shadow:0 20px 60px rgba(0,13,59,.28); opacity:0; visibility:hidden; transform:translateY(18px); transition:opacity .25s,visibility .25s,transform .25s; }
.tn-cookie-notice[hidden] { display:none!important; }
.tn-cookie-notice.is-visible { opacity:1; visibility:visible; transform:translateY(0); }
.tn-cookie-copy { flex:1; }
.tn-cookie-copy strong { display:block; margin-bottom:6px; color:#fff; font-size:18px; }
.tn-cookie-copy p { margin:0; color:rgba(255,255,255,.76); font-size:14px; line-height:1.55; }
.tn-cookie-copy a { display:inline-block; margin-top:7px; color:var(--tn-champagne)!important; font-size:13px; text-decoration:underline; }
.tn-cookie-actions { display:flex; flex:0 0 auto; gap:10px; }
.tn-cookie-actions button { min-height:46px; padding:10px 17px; border:1px solid var(--tn-champagne); border-radius:0!important; font-size:13px; font-weight:800; cursor:pointer; }
.tn-cookie-primary { color:var(--tn-blue)!important; background:var(--tn-champagne)!important; }
.tn-cookie-secondary { color:#fff!important; background:transparent!important; }
.tn-cookie-actions button:hover,.tn-cookie-actions button:focus-visible { color:var(--tn-blue)!important; background:#fff!important; border-color:#fff; }

@media (max-width:767px) {
  .tn-cookie-notice { right:12px; bottom:12px; align-items:stretch; flex-direction:column; gap:18px; width:calc(100vw - 24px); padding:21px; }
  .tn-cookie-actions { display:grid; grid-template-columns:1fr 1fr; }
  .tn-cookie-actions button { padding-inline:10px; }
}
