/*
Theme Name: Ledion Liço
Theme URI: https://ledionlico.com/
Author: Kledian Disha
Author URI: https://ledionlico.com/
Description: Editorial, cinematic personal-brand theme for a television presenter & producer. Full-bleed hero, custom post types for Programs, Timeline, Ventures and Gallery, native Posts for News, and a fully editable Customizer. Auto-creates its pages and menu on activation.
Version: 1.1.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ledion-lico
*/

/* ============================================================
   TOKENS  (--ll-accent is injected from the Customizer in header.php)
   ============================================================ */
:root{
  --ll-ink:#10100e;
  --ll-paper:#f3f0ea;
  --ll-paper-2:#e7e2d8;
  --ll-muted:#8a857c;
  --ll-body:#3a382f;
  --ll-line:rgba(16,16,14,0.12);
  --ll-accent:#b08d57;
  --ll-serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --ll-sans:'Helvetica Neue',Helvetica,Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--ll-paper);
  color:var(--ll-ink);
  font-family:var(--ll-sans);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;}
::selection{background:var(--ll-ink);color:var(--ll-paper);}

.ll-container{max-width:1280px;margin:0 auto;padding-left:clamp(20px,5vw,64px);padding-right:clamp(20px,5vw,64px);}
.ll-wide{max-width:1400px;}
.ll-narrow{max-width:1080px;}
.ll-display{font-family:var(--ll-serif);font-weight:300;letter-spacing:-0.01em;line-height:0.95;margin:0;}
.ll-eyebrow{font-size:11px;letter-spacing:0.3em;text-transform:uppercase;color:var(--ll-accent);margin:0 0 22px;}
.ll-lead{font-family:var(--ll-serif);font-weight:300;font-size:clamp(26px,4vw,48px);line-height:1.14;margin:0;}
.ll-italic{font-style:italic;}
em{font-style:italic;}

/* ============================================================
   NAV
   ============================================================ */
.ll-nav{
  position:fixed;top:0;left:0;right:0;z-index:60;
  display:flex;justify-content:space-between;align-items:center;
  padding:26px clamp(20px,5vw,64px);
  color:#f3f0ea;background:transparent;border-bottom:1px solid transparent;
  transition:padding .4s ease,background .4s ease,color .4s ease,border-color .4s ease;
}
.ll-nav.ll-solid,.ll-nav.ll-scrolled{
  padding:16px clamp(20px,5vw,64px);
  background:rgba(243,240,234,0.92);
  -webkit-backdrop-filter:saturate(140%) blur(10px);
  backdrop-filter:saturate(140%) blur(10px);
  color:var(--ll-ink);
  border-bottom:1px solid var(--ll-line);
}
.ll-logo{font-family:var(--ll-serif);font-weight:500;font-size:21px;letter-spacing:0.14em;text-transform:uppercase;text-decoration:none;color:inherit;}
.ll-nav-links{display:none;gap:38px;align-items:center;list-style:none;margin:0;padding:0;}
.ll-nav-links a{font-size:11px;letter-spacing:0.24em;text-transform:uppercase;text-decoration:none;color:inherit;opacity:0.82;padding:6px 0;transition:opacity .25s;}
.ll-nav-links a:hover,.ll-nav-links .current-menu-item a{opacity:1;}
.ll-toggle{display:flex;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;color:inherit;}
.ll-toggle span{width:24px;height:1.5px;background:currentColor;display:block;}
@media(min-width:900px){
  .ll-nav-links{display:flex;}
  .ll-toggle{display:none;}
}

/* overlay menu */
.ll-menu{
  position:fixed;inset:0;z-index:80;background:#0c0c0a;
  display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
  gap:6px;padding:0 clamp(24px,8vw,120px);
  opacity:0;pointer-events:none;transform:translateY(-8px);
  transition:opacity .5s ease,transform .5s ease;
}
.ll-menu.open{opacity:1;pointer-events:auto;transform:none;}
.ll-menu a{font-family:var(--ll-serif);font-size:clamp(34px,7vw,68px);font-weight:300;color:#f3f0ea;text-decoration:none;line-height:1.08;transition:color .25s;}
.ll-menu a:hover{font-style:italic;color:var(--ll-accent);}
.ll-menu-close{position:absolute;top:26px;right:26px;background:none;border:none;color:#f3f0ea;font-size:34px;line-height:1;cursor:pointer;font-family:var(--ll-serif);}
.ll-menu-loc{margin-top:30px;font-size:11px;letter-spacing:0.24em;text-transform:uppercase;color:rgba(243,240,234,0.55);}

/* ============================================================
   HERO
   ============================================================ */
.ll-hero{position:relative;height:100svh;min-height:620px;width:100%;overflow:hidden;background:#0c0c0a;}
.ll-hero-media{position:absolute;inset:0;background-size:cover;background-position:center;animation:llKen 16s ease-out forwards;
  background-color:#14140f;background-image:repeating-linear-gradient(125deg,rgba(255,255,255,0.028) 0 2px,transparent 2px 13px),radial-gradient(120% 90% at 70% 20%,rgba(255,255,255,0.06),transparent 55%);}
.ll-hero-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,8,6,0.55) 0%,rgba(8,8,6,0.15) 35%,rgba(8,8,6,0.35) 70%,rgba(8,8,6,0.85) 100%);}
.ll-hero-ph{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:ui-monospace,'SF Mono',Menlo,monospace;font-size:11px;letter-spacing:0.2em;color:rgba(243,240,234,0.35);text-align:center;pointer-events:none;}
.ll-hero-content{position:absolute;z-index:5;padding:0 clamp(20px,5vw,64px);bottom:clamp(90px,16vh,170px);left:0;max-width:920px;}
.ll-hero-content.centered{top:50%;left:50%;bottom:auto;transform:translate(-50%,-50%);text-align:center;width:100%;max-width:none;}
.ll-hero .ll-eyebrow{color:var(--ll-accent);animation:llFade 1.2s ease both;}
.ll-hero h1{font-family:var(--ll-serif);font-weight:300;font-size:clamp(58px,12vw,176px);line-height:0.92;margin:14px 0 0;color:#f6f3ec;letter-spacing:-0.01em;animation:llFade 1.4s ease both;}
.ll-hero h1 em{font-weight:400;}
.ll-hero-sub{max-width:520px;margin:26px 0 0;font-size:13px;line-height:1.7;letter-spacing:0.05em;color:rgba(243,240,234,0.82);animation:llFade 1.7s ease both;}
.ll-hero-content.centered .ll-hero-sub{margin-left:auto;margin-right:auto;}
.ll-hero-foot{position:absolute;bottom:30px;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:0 clamp(20px,5vw,64px);color:rgba(243,240,234,0.6);font-size:10px;letter-spacing:0.24em;text-transform:uppercase;}
.ll-hero-foot .line{width:42px;height:1px;background:rgba(243,240,234,0.5);display:inline-block;margin-left:10px;}
@keyframes llKen{0%{transform:scale(1.08) translateY(0);}100%{transform:scale(1.16) translateY(-2%);}}
@keyframes llFade{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}

/* ============================================================
   SECTIONS
   ============================================================ */
.ll-section{padding:clamp(80px,12vw,170px) 0;}
.ll-section.pad-sm{padding:clamp(70px,10vw,130px) 0;}
.ll-dark{background:var(--ll-ink);color:#f3f0ea;}
.ll-tint{background:var(--ll-paper-2);}
.ll-band{padding:clamp(130px,20vh,220px) clamp(20px,5vw,64px) clamp(50px,7vw,90px);max-width:1280px;margin:0 auto;}
.ll-band h1{font-size:clamp(52px,10vw,140px);}
.ll-band-lead{max-width:560px;margin:30px 0 0;font-size:14px;line-height:1.8;color:var(--ll-body);}
.ll-dark .ll-band-lead{color:rgba(243,240,234,0.7);}

.ll-two{display:grid;grid-template-columns:1fr;gap:clamp(40px,6vw,90px);align-items:start;}
@media(min-width:900px){.ll-two{grid-template-columns:1.2fr 0.8fr;}}
.ll-two .col-right{max-width:440px;}
@media(min-width:900px){.ll-two .col-right{justify-self:end;}}
.ll-body-text p{font-size:14px;line-height:1.85;color:var(--ll-body);margin:0 0 18px;}
.ll-body-text p:last-child{margin-bottom:0;}

.ll-stats{margin-top:28px;display:flex;gap:40px;flex-wrap:wrap;}
.ll-stat .num{font-family:var(--ll-serif);font-size:40px;font-weight:400;}
.ll-stat .num sup{font-size:22px;}
.ll-stat .lbl{font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:var(--ll-muted);margin-top:4px;}

.ll-arrow{display:inline-flex;align-items:center;gap:12px;margin-top:38px;font-size:11px;letter-spacing:0.24em;text-transform:uppercase;text-decoration:none;color:var(--ll-ink);border-bottom:1px solid rgba(16,16,14,0.3);padding-bottom:6px;transition:border-color .25s;}
.ll-arrow:hover{border-color:var(--ll-accent);}
.ll-dark .ll-arrow{color:rgba(243,240,234,0.85);border-color:rgba(243,240,234,0.3);}
.ll-dark .ll-arrow:hover{color:#fff;}

.ll-head-row{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:20px;margin-bottom:clamp(40px,6vw,70px);}

/* work grid */
.ll-work-grid{display:grid;grid-template-columns:1fr;gap:2px;}
@media(min-width:560px){.ll-work-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:900px){.ll-work-grid{grid-template-columns:repeat(3,1fr);}}
.ll-card{position:relative;display:block;text-decoration:none;color:inherit;aspect-ratio:4/5;overflow:hidden;
  background-color:#1a1a15;background-image:repeating-linear-gradient(125deg,rgba(255,255,255,0.03) 0 2px,transparent 2px 13px);}
.ll-tint .ll-card,.ll-light-card{background-color:#ded8cc;background-image:repeating-linear-gradient(125deg,rgba(16,16,14,0.05) 0 2px,transparent 2px 13px);}
.ll-card .ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:ui-monospace,Menlo,monospace;font-size:10px;letter-spacing:0.12em;color:rgba(243,240,234,0.28);text-align:center;padding:0 20px;}
.ll-light-card .ph{color:#9a938a;}
.ll-card .img{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 1.1s cubic-bezier(.22,.61,.36,1);}
.ll-card:hover .img{transform:scale(1.05);}
.ll-card .scrim{position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(8,8,6,0.82) 100%);}
.ll-light-card .scrim{background:linear-gradient(180deg,transparent 45%,rgba(16,16,14,0.72) 100%);}
.ll-card .meta{position:absolute;left:0;right:0;bottom:0;padding:26px 24px;color:#f3f0ea;}
.ll-card .kicker{font-size:10px;letter-spacing:0.24em;text-transform:uppercase;color:var(--ll-accent);margin-bottom:10px;}
.ll-card .title{font-family:var(--ll-serif);font-weight:400;font-size:clamp(22px,2.4vw,30px);line-height:1.05;}
.ll-card .note{font-size:12px;line-height:1.6;color:rgba(243,240,234,0.72);margin-top:8px;}

/* quote */
.ll-quote{padding:clamp(90px,14vw,190px) clamp(20px,5vw,64px);text-align:center;max-width:1080px;margin:0 auto;}
.ll-quote blockquote{font-family:var(--ll-serif);font-weight:300;font-size:clamp(30px,5.2vw,62px);line-height:1.16;margin:0;letter-spacing:-0.01em;}
.ll-quote .by{margin-top:34px;font-size:11px;letter-spacing:0.24em;text-transform:uppercase;color:var(--ll-muted);}

/* gallery */
.ll-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;}
@media(min-width:900px){.ll-gallery{grid-template-columns:repeat(3,1fr);}}
.ll-gitem{position:relative;overflow:hidden;background-color:#ded8cc;background-image:repeating-linear-gradient(125deg,rgba(16,16,14,0.05) 0 2px,transparent 2px 13px);aspect-ratio:3/4;}
.ll-gitem.wide{grid-column:span 2;aspect-ratio:16/10;}
.ll-gitem .img{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 1.1s cubic-bezier(.22,.61,.36,1);}
.ll-gitem:hover .img{transform:scale(1.04);}
.ll-gitem .cap{position:absolute;inset:0;display:flex;align-items:flex-end;padding:20px;font-family:ui-monospace,Menlo,monospace;font-size:10px;letter-spacing:0.1em;color:#9a938a;}

/* timeline */
.ll-tl-row{display:grid;grid-template-columns:1fr;gap:6px;padding:clamp(22px,3vw,32px) 0;border-top:1px solid rgba(243,240,234,0.14);}
@media(min-width:720px){.ll-tl-row{grid-template-columns:160px 1fr;gap:24px;}}
.ll-tl-row .yr{font-family:var(--ll-serif);font-size:clamp(20px,2.4vw,28px);color:var(--ll-accent);}
.ll-tl-row .t{font-family:var(--ll-serif);font-size:clamp(22px,2.8vw,34px);line-height:1.1;}
.ll-tl-row .d{font-size:13px;line-height:1.7;color:rgba(243,240,234,0.6);margin-top:8px;max-width:640px;}

/* ventures */
.ll-vrow{display:grid;grid-template-columns:1fr;gap:12px;padding:clamp(28px,4vw,48px) 0;border-top:1px solid var(--ll-line);}
@media(min-width:720px){.ll-vrow{grid-template-columns:170px 1.1fr 1fr;gap:24px;align-items:baseline;}}
.ll-vrow .yr{font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:var(--ll-muted);}
.ll-vrow .t{font-family:var(--ll-serif);font-weight:400;font-size:clamp(26px,3.4vw,44px);line-height:1.05;}
.ll-vrow .d{font-size:14px;line-height:1.8;color:var(--ll-body);max-width:560px;}

/* news */
.ll-news-item{display:grid;grid-template-columns:1fr;gap:22px;align-items:center;padding:clamp(26px,3.5vw,40px) 0;border-top:1px solid var(--ll-line);text-decoration:none;color:inherit;}
@media(min-width:640px){.ll-news-item{grid-template-columns:240px 1fr;}}
.ll-news-thumb{position:relative;aspect-ratio:4/3;overflow:hidden;background-color:#ded8cc;background-image:repeating-linear-gradient(125deg,rgba(16,16,14,0.05) 0 2px,transparent 2px 13px);}
.ll-news-thumb .img{position:absolute;inset:0;background-size:cover;background-position:center;}
.ll-news-item .date{font-size:10px;letter-spacing:0.24em;text-transform:uppercase;color:var(--ll-accent);margin-bottom:12px;}
.ll-news-item h2,.ll-news-item h3{font-family:var(--ll-serif);font-weight:400;font-size:clamp(24px,3vw,38px);line-height:1.08;margin:0;}
.ll-news-item .excerpt{font-size:14px;line-height:1.75;color:var(--ll-body);margin-top:12px;max-width:620px;}

/* contact + CTA */
.ll-cta{padding:clamp(90px,14vw,180px) clamp(20px,5vw,64px);text-align:center;}
.ll-cta a{font-family:var(--ll-serif);font-weight:300;font-size:clamp(52px,11vw,150px);line-height:0.95;letter-spacing:-0.01em;text-decoration:none;color:var(--ll-ink);}
.ll-cta a:hover{font-style:italic;}
.ll-contact-grid{display:grid;grid-template-columns:1fr;gap:clamp(44px,6vw,80px);}
@media(min-width:800px){.ll-contact-grid{grid-template-columns:1fr 1fr;}}
.ll-mail{font-family:var(--ll-serif);font-size:clamp(22px,3vw,34px);color:var(--ll-ink);text-decoration:none;border-bottom:1px solid rgba(16,16,14,0.3);padding-bottom:4px;transition:border-color .25s;}
.ll-mail:hover{border-color:var(--ll-accent);}
.ll-contact-label{font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:var(--ll-muted);margin-bottom:12px;}
.ll-socials{display:flex;gap:26px;flex-wrap:wrap;margin-top:40px;}
.ll-socials a{font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:var(--ll-body);text-decoration:none;transition:color .25s;}
.ll-socials a:hover{color:var(--ll-ink);}

/* contact form */
.ll-form{display:grid;gap:18px;max-width:520px;}
.ll-form label{font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:var(--ll-muted);display:block;margin-bottom:8px;}
.ll-form input,.ll-form textarea{width:100%;background:transparent;border:none;border-bottom:1px solid var(--ll-line);padding:10px 0;font-family:var(--ll-sans);font-size:15px;color:var(--ll-ink);}
.ll-form input:focus,.ll-form textarea:focus{outline:none;border-color:var(--ll-accent);}
.ll-form button{justify-self:start;margin-top:10px;background:var(--ll-ink);color:var(--ll-paper);border:none;padding:16px 38px;font-size:11px;letter-spacing:0.24em;text-transform:uppercase;cursor:pointer;transition:opacity .25s;}
.ll-form button:hover{opacity:0.85;}

/* ============================================================
   FOOTER
   ============================================================ */
.ll-footer{background:var(--ll-ink);color:#f3f0ea;padding:clamp(70px,10vw,120px) clamp(20px,5vw,64px) 44px;}
.ll-footer-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:40px;}
.ll-footer .ll-logo{color:#f3f0ea;}
.ll-footer-nav{list-style:none;margin:0;padding:0;display:flex;gap:26px;flex-wrap:wrap;}
.ll-footer-nav a{font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:rgba(243,240,234,0.7);text-decoration:none;}
.ll-footer-nav a:hover{color:#f3f0ea;}
.ll-footer-bottom{margin-top:clamp(50px,8vw,90px);padding-top:26px;border-top:1px solid rgba(243,240,234,0.14);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:rgba(243,240,234,0.4);}

/* ============================================================
   REVEAL + POST CONTENT
   ============================================================ */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s cubic-bezier(.22,.61,.36,1),transform .9s cubic-bezier(.22,.61,.36,1);}
.reveal.in{opacity:1;transform:none;}
.no-js .reveal{opacity:1;transform:none;}

.ll-post{max-width:760px;margin:0 auto;padding:clamp(120px,18vh,200px) clamp(20px,5vw,64px) clamp(80px,10vw,140px);}
.ll-post h1{font-family:var(--ll-serif);font-weight:300;font-size:clamp(40px,7vw,90px);line-height:1;margin:0 0 24px;}
.ll-post .date{font-size:11px;letter-spacing:0.24em;text-transform:uppercase;color:var(--ll-accent);margin-bottom:30px;}
.ll-post-content p{font-size:16px;line-height:1.85;color:var(--ll-body);margin:0 0 22px;}
.ll-post-content h2{font-family:var(--ll-serif);font-weight:400;font-size:clamp(26px,3vw,38px);margin:44px 0 16px;}
.ll-post-content img{margin:30px 0;}
.ll-post-content a{color:var(--ll-accent);}

.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);}
.ll-admin-hint{background:#fffae6;border:1px dashed #d9c97a;padding:14px 18px;font-size:12px;color:#7a6a1f;margin:20px 0;font-family:var(--ll-sans);}
