/*
Theme Name: truong-cung-renovation
Description: Professional, lightweight and maintainable theme for Truong Cung home renovation and repair services in Hanoi.
Version: 1.0.1
*/
:root{--font:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--ink:#202321;--muted:#6d706c;--paper:#f7f5f0;--white:#fff;--line:#ddd9d0;--accent:#a85b3f;--accent-dark:#84452f;--sand:#e9e1d4;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--white);font-family:var(--font);font-size:16px;line-height:1.7;font-kerning:normal;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}.tc-skip-link{position:fixed;top:-60px;left:16px;z-index:100;padding:10px 16px;background:var(--ink);color:#fff;font-size:13px;font-weight:700}.tc-skip-link:focus{top:16px}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}p{margin:0 0 1rem}h1,h2,h3,h4{margin:0 0 1rem;line-height:1.18;letter-spacing:-.025em;font-family:var(--font);font-weight:700}h1{font-size:clamp(42px,6vw,76px)}h2{font-size:clamp(34px,4vw,52px)}h3{font-size:22px}.tc-wrap{width:min(var(--max),calc(100% - 48px));margin:auto}.tc-kicker{display:inline-flex;align-items:center;gap:12px;color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.tc-kicker:before{content:"";width:34px;height:1px;background:currentColor}.tc-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border:1px solid transparent;font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;transition:.2s ease}.tc-btn-primary{background:var(--accent);color:#fff}.tc-btn-primary:hover{background:var(--accent-dark);transform:translateY(-1px)}.tc-btn-outline{border-color:rgba(255,255,255,.65);color:#fff}.tc-btn-outline:hover{background:#fff;color:var(--ink)}.tc-link{color:var(--accent);font-weight:700;font-size:14px}.tc-link:hover{text-decoration:underline}.tc-section{padding:92px 0}.tc-section-alt{background:var(--paper)}

/* Header */
.tc-header{position:relative;z-index:20;background:#fff;border-bottom:1px solid var(--line)}.tc-header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:32px}.tc-brand{display:flex;align-items:center;gap:13px}.tc-brand-mark{width:38px;height:38px;border:1px solid var(--ink);display:grid;place-items:center;font-family:var(--font);font-size:17px}.tc-brand-name{font-size:16px;font-weight:800;letter-spacing:.12em}.tc-brand-sub{display:block;color:var(--muted);font-size:10px;letter-spacing:.12em;margin-top:1px}.tc-nav ul{display:flex;align-items:center;gap:25px;list-style:none;margin:0;padding:0}.tc-nav li{position:relative}.tc-nav a{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.tc-nav a:hover{color:var(--accent)}.tc-header-contact{display:flex;align-items:center;gap:14px}.tc-phone{font-size:13px;font-weight:800}.tc-menu-toggle{display:none;background:none;border:0;padding:8px;width:44px;height:44px;align-items:center;justify-content:center;color:var(--ink);cursor:pointer}.tc-menu-icon{width:22px;height:22px;display:block}.tc-menu-icon-close{display:none}.tc-nav-open .tc-menu-icon-open{display:none}.tc-nav-open .tc-menu-icon-close{display:block}

/* Hero */
.tc-hero{min-height:680px;display:grid;align-items:end;position:relative;overflow:hidden;background:#222;color:#fff}.tc-hero-media{position:absolute;inset:0;z-index:0}.tc-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center}.tc-hero:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(20,22,20,.78),rgba(20,22,20,.24))}.tc-hero:after{content:"";position:absolute;inset:auto 0 0;height:28%;z-index:1;background:linear-gradient(transparent,rgba(0,0,0,.28))}.tc-hero-inner{position:relative;z-index:2;padding:100px 0 86px;max-width:800px}.tc-hero .tc-kicker{color:#e9b99f}.tc-hero h1{max-width:820px;margin:18px 0 22px}.tc-hero-lead{max-width:650px;color:rgba(255,255,255,.88);font-size:19px}.tc-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.tc-hero-note{margin-top:26px;color:rgba(255,255,255,.7);font-size:12px;letter-spacing:.08em;text-transform:uppercase}

/* Intro */
.tc-split{display:grid;grid-template-columns:1.05fr .95fr;gap:80px;align-items:center}.tc-image-frame{position:relative}.tc-image-frame img{width:100%;aspect-ratio:4/3;object-fit:cover}.tc-image-frame:before{content:"";position:absolute;left:-16px;bottom:-16px;width:45%;height:45%;border-left:1px solid var(--accent);border-bottom:1px solid var(--accent);z-index:-1}.tc-copy h2{margin:15px 0 22px}.tc-copy>p{color:var(--muted);font-size:17px}.tc-points{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:35px 0}.tc-point{border-top:1px solid var(--line);padding-top:15px}.tc-point strong{display:block;font-family:var(--font);font-size:28px;color:var(--accent);font-weight:600}.tc-point span{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}

/* Services */
.tc-section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:42px}.tc-section-head>div:first-child{max-width:650px}.tc-section-head h2{margin:12px 0 0}.tc-section-head p{color:var(--muted);max-width:560px}.tc-services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.tc-service{background:#fff;display:flex;flex-direction:column;min-height:370px}.tc-service-img{aspect-ratio:16/10;overflow:hidden}.tc-service-img img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.tc-service:hover img{transform:scale(1.04)}.tc-service-body{padding:25px 25px 28px;display:flex;flex-direction:column;flex:1}.tc-service-number{color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.15em}.tc-service h3{margin:10px 0 8px}.tc-service p{color:var(--muted);font-size:14px}.tc-service .tc-link{margin-top:auto}

/* Quote strip */
.tc-quote{background:var(--ink);color:#fff;padding:58px 0}.tc-quote-inner{display:grid;grid-template-columns:1fr auto;align-items:center;gap:40px}.tc-quote h2{font-size:clamp(30px,3vw,43px);margin:10px 0 8px}.tc-quote p{color:#bfc2bd;margin:0}

/* Feature/project */
.tc-projects{display:grid;grid-template-columns:1.35fr .65fr;gap:2px;background:var(--line)}.tc-project{position:relative;min-height:470px;overflow:hidden;background:#333;color:#fff}.tc-project-small{min-height:235px}.tc-project img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.tc-project:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.72),transparent 65%)}.tc-project:hover img{transform:scale(1.035)}.tc-project-content{position:absolute;z-index:2;left:30px;right:30px;bottom:28px}.tc-project-content span{font-size:11px;letter-spacing:.15em;font-weight:800;color:#e7b29a}.tc-project-content h3{font-family:var(--font);font-size:30px;margin:8px 0 0}.tc-project-stack{display:grid;grid-template-rows:1fr 1fr}

/* Articles */
.tc-articles{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.tc-article{border-top:1px solid var(--line);padding-top:18px}.tc-article img{width:100%;aspect-ratio:16/10;object-fit:cover;margin-bottom:20px}.tc-article h3{font-family:var(--font);font-size:25px}.tc-article p{color:var(--muted);font-size:14px}.tc-article-meta{color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}

/* Process */
.tc-process-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.tc-process-item{padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.tc-process-number{display:inline-flex;width:38px;height:38px;border:1px solid var(--accent);align-items:center;justify-content:center;color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.08em}.tc-process-item h3{margin:22px 0 8px;font-size:20px}.tc-process-item p{margin:0;color:var(--muted);font-size:14px}

/* FAQ */
.tc-faq-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:start}.tc-faq-layout>div:first-child h2{margin:14px 0 18px}.tc-faq-layout>div:first-child p{color:var(--muted);margin-bottom:22px}.tc-faq-list{border-top:1px solid var(--line)}.tc-faq-list details{border-bottom:1px solid var(--line)}.tc-faq-list summary{cursor:pointer;list-style:none;padding:22px 42px 22px 0;font-weight:700;font-size:17px;position:relative}.tc-faq-list summary::-webkit-details-marker{display:none}.tc-faq-list summary:after{content:"+";position:absolute;right:4px;top:18px;color:var(--accent);font-size:24px;font-weight:400}.tc-faq-list details[open] summary:after{content:"−"}.tc-faq-list details p{color:var(--muted);font-size:14px;padding:0 42px 20px 0;margin:0}

/* CTA / Footer */
.tc-final{background:var(--sand);padding:90px 0}.tc-final-inner{display:grid;grid-template-columns:1fr auto;align-items:end;gap:50px}.tc-final h2{max-width:700px;margin:12px 0}.tc-final p{color:var(--muted);max-width:600px}.tc-final-actions{display:flex;gap:10px;flex-wrap:wrap}.tc-footer{background:#181a18;color:#fff;padding:62px 0 25px}.tc-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:50px}.tc-footer h3{font-size:13px;letter-spacing:.1em;text-transform:uppercase}.tc-footer p,.tc-footer a{color:#aeb2ac;font-size:14px}.tc-footer a:hover{color:#fff}.tc-footer ul{list-style:none;padding:0;margin:0}.tc-footer li{margin:7px 0}.tc-footer-bottom{border-top:1px solid #343734;margin-top:40px;padding-top:20px;color:#777b76;font-size:12px;display:flex;justify-content:space-between;gap:20px}.tc-footer-contact-title{margin-top:28px}


.tc-mobile-nav{display:none}.tc-nav-open .tc-mobile-nav{display:block;background:#fff;border-bottom:1px solid var(--line);padding:8px 16px}.tc-mobile-nav ul{list-style:none;margin:0;padding:0}.tc-mobile-nav li{border-top:1px solid #eee}.tc-mobile-nav a{display:block;padding:12px 0;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.tc-mobile-cta{display:none}

/* Search */
.tc-search-form{display:flex;gap:12px;max-width:760px;margin-top:28px}.tc-search-form input{flex:1;min-width:0;border:1px solid var(--line);background:#fff;padding:15px 17px;font:inherit;color:var(--ink);outline:none}.tc-search-form input:focus{border-color:var(--accent)}.tc-search-form .tc-btn{border:1px solid var(--accent)}

/* Content templates */
.tc-page{padding:75px 0}.tc-page-head{max-width:820px;margin-bottom:45px}.tc-page-head h1{font-size:clamp(38px,5vw,62px);margin:14px 0}.tc-page-head p{color:var(--muted);font-size:18px}.tc-content{max-width:820px}.tc-content img{margin:28px 0}.tc-content a{color:var(--accent)}.tc-content ul,.tc-content ol{padding-left:25px}.tc-content h2,.tc-content h3{font-family:var(--font);margin-top:38px}.tc-search-form{display:flex;gap:12px;max-width:760px;margin-top:28px}.tc-search-form input{flex:1;min-width:0;border:1px solid var(--line);background:#fff;padding:15px 17px;font:inherit;color:var(--ink);outline:none}.tc-search-form input:focus{border-color:var(--accent)}.tc-search-form .tc-btn{border:0;cursor:pointer}.tc-post-list{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.tc-post-card{border:1px solid var(--line);background:#fff}.tc-post-card img{width:100%;aspect-ratio:16/10;object-fit:cover}.tc-post-card-body{padding:23px}.tc-post-card h2{font-size:26px}.tc-post-card p{color:var(--muted);font-size:14px}.tc-empty{padding:60px 0;color:var(--muted)}.tc-archive-cta{margin-top:70px;padding:52px 55px;background:var(--paper);display:grid;grid-template-columns:1fr auto;align-items:end;gap:40px;border-top:1px solid var(--line)}.tc-archive-cta h2{margin:12px 0 8px}.tc-archive-cta p{max-width:650px;color:var(--muted);margin:0}.tc-btn-outline-dark{border-color:var(--ink);color:var(--ink)}.tc-btn-outline-dark:hover{background:var(--ink);color:#fff}.tc-service-head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:40px;padding-bottom:42px;border-bottom:1px solid var(--line);margin-bottom:42px}.tc-service-head h1{margin:14px 0 12px}.tc-service-desc{max-width:760px;color:var(--muted);font-size:17px}.tc-service-desc p{margin:0}.tc-service-head-cta{display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:flex-end}.tc-service-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:48px;align-items:start}.tc-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.tc-service-post{border-top:1px solid var(--line);background:#fff}.tc-service-post-img{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--paper)}.tc-service-post-img img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.tc-service-post:hover .tc-service-post-img img{transform:scale(1.035)}.tc-service-post-img span{height:100%;display:grid;place-items:center;color:var(--muted);font-size:11px;letter-spacing:.16em;font-weight:800}.tc-service-post-body{padding:18px 2px 10px}.tc-service-post-date{font-size:11px;color:var(--accent);font-weight:800;letter-spacing:.12em}.tc-service-post h2{font-size:24px;margin:9px 0 8px}.tc-service-post h2 a:hover{color:var(--accent)}.tc-service-post p{color:var(--muted);font-size:14px}.tc-service-post .tc-link{font-size:13px}.tc-service-aside{position:sticky;top:24px}.tc-service-aside-box{background:var(--ink);color:#fff;padding:28px}.tc-service-aside-box .tc-kicker{color:#e9b99f}.tc-service-aside-box h2{font-size:28px;margin:14px 0}.tc-service-aside-box p{color:#bfc2bd;font-size:14px}.tc-service-aside-box .tc-btn{width:100%;margin:8px 0 17px}.tc-service-aside-box .tc-link{color:#e9b99f}

/* Single post */
.tc-single-head{max-width:900px;padding-bottom:42px;border-bottom:1px solid var(--line)}.tc-single-meta{display:flex;align-items:center;gap:18px;color:var(--muted);font-size:12px}.tc-single-head h1{font-size:clamp(40px,5.4vw,68px);margin:18px 0}.tc-single-excerpt{max-width:760px;color:var(--muted);font-size:18px;line-height:1.65;margin:0}.tc-single-layout{display:grid;grid-template-columns:minmax(0,820px) 280px;gap:70px;align-items:start;margin-top:48px}.tc-single-content{max-width:none}.tc-single-featured{margin:0 0 42px}.tc-single-featured img{width:100%;margin:0}.tc-single-content>p,.tc-single-content>ul,.tc-single-content>ol{font-size:17px;line-height:1.85}.tc-single-content h2{font-size:32px}.tc-single-content h3{font-size:23px}.tc-single-content blockquote{margin:35px 0;padding:25px 28px;border-left:3px solid var(--accent);background:var(--paper);font-size:20px}.tc-single-aside{position:sticky;top:25px}.tc-single-box{padding:28px;background:var(--paper);border-top:2px solid var(--accent)}.tc-single-box h2{font-size:25px;margin:13px 0 10px}.tc-single-box p{color:var(--muted);font-size:14px}.tc-single-box .tc-btn{width:100%;margin:8px 0 14px}.tc-post-nav{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:65px 0 10px;padding-top:25px;border-top:1px solid var(--line)}.tc-post-nav a{font-weight:700;color:var(--accent)}.tc-post-nav div:last-child{text-align:right}

.tc-404-actions{margin-top:25px}

/* Process */
.tc-process-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.tc-process-item{padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.tc-process-number{display:inline-flex;width:38px;height:38px;border:1px solid var(--accent);align-items:center;justify-content:center;color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.08em}.tc-process-item h3{margin:22px 0 8px;font-size:20px}.tc-process-item p{margin:0;color:var(--muted);font-size:14px}

/* FAQ */
.tc-faq-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:start}.tc-faq-layout>div:first-child h2{margin:14px 0 18px}.tc-faq-layout>div:first-child p{color:var(--muted);margin-bottom:22px}.tc-faq-list{border-top:1px solid var(--line)}.tc-faq-list details{border-bottom:1px solid var(--line)}.tc-faq-list summary{cursor:pointer;list-style:none;padding:22px 42px 22px 0;font-weight:700;font-size:17px;position:relative}.tc-faq-list summary::-webkit-details-marker{display:none}.tc-faq-list summary:after{content:"+";position:absolute;right:4px;top:18px;color:var(--accent);font-size:24px;font-weight:400}.tc-faq-list details[open] summary:after{content:"−"}.tc-faq-list details p{color:var(--muted);font-size:14px;padding:0 42px 20px 0;margin:0}

@media(max-width:980px){.tc-faq-layout{grid-template-columns:1fr;gap:45px}.tc-process-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.tc-process-grid{grid-template-columns:1fr}.tc-faq-list summary{font-size:16px}.tc-final-actions{display:flex}.tc-final-actions .tc-btn{min-width:150px}}


/* Standard pages */
.tc-page-layout{display:grid;grid-template-columns:minmax(0,820px) 280px;gap:70px;align-items:start}.tc-page-content{max-width:none}.tc-page-aside{position:sticky;top:25px}.tc-page-box{padding:28px;background:var(--paper);border-top:2px solid var(--accent)}.tc-page-box h2{font-size:25px;margin:13px 0 10px}.tc-page-box p{color:var(--muted);font-size:14px}.tc-page-box .tc-btn{width:100%;margin:8px 0 14px}
@media(max-width:820px){.tc-single-layout,.tc-page-layout{grid-template-columns:1fr}.tc-single-aside,.tc-page-aside{position:static}.tc-single-layout,.tc-page-layout{gap:40px}}
@media(max-width:980px){.tc-header-contact{display:none}.tc-nav ul{gap:14px}.tc-split{gap:45px}.tc-services-grid{grid-template-columns:repeat(2,1fr)}.tc-projects{grid-template-columns:1fr}.tc-project-stack{grid-template-columns:1fr 1fr;grid-template-rows:none}.tc-articles,.tc-post-list{grid-template-columns:repeat(2,1fr)}.tc-final-inner{grid-template-columns:1fr}.tc-footer-grid{grid-template-columns:1fr 1fr}.tc-service-layout{grid-template-columns:1fr}.tc-service-aside{position:static}.tc-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tc-service-head{grid-template-columns:1fr}}
@media(max-width:700px){.tc-wrap{width:min(var(--max),calc(100% - 32px))}.tc-header-inner{min-height:70px}.tc-nav{display:none}.tc-header-contact{display:none}.tc-menu-toggle{display:flex}.tc-hero{min-height:620px}.tc-hero-inner{padding:85px 0 65px}.tc-hero h1{font-size:clamp(40px,12vw,58px)}.tc-hero-lead{font-size:17px}.tc-hero-actions .tc-btn{min-width:155px}.tc-split{grid-template-columns:1fr;gap:55px}.tc-points{grid-template-columns:1fr}.tc-section{padding:68px 0}.tc-section-head{display:block}.tc-section-head .tc-link{display:inline-block;margin-top:15px}.tc-services-grid{grid-template-columns:1fr}.tc-service-head{display:block;padding-bottom:30px;margin-bottom:30px}.tc-service-head h1{font-size:clamp(38px,11vw,54px)}.tc-service-head-cta{justify-content:flex-start;margin-top:25px}.tc-service-layout{gap:38px}.tc-service-grid{grid-template-columns:1fr}.tc-service-aside-box{padding:25px}.tc-quote-inner{grid-template-columns:1fr}.tc-project{min-height:360px}.tc-project-stack{grid-template-columns:1fr}.tc-project-small{min-height:300px}.tc-articles,.tc-post-list{grid-template-columns:1fr}.tc-footer-grid{grid-template-columns:1fr}.tc-footer-bottom{display:block}.tc-footer-bottom span{display:block;margin-top:7px}.tc-final-actions{margin-top:25px}.tc-final-actions .tc-btn{flex:1}.tc-archive-cta{grid-template-columns:1fr;padding:38px 25px;margin-top:50px}.tc-archive-cta .tc-final-actions{margin-top:5px}.tc-search-form{display:grid;grid-template-columns:1fr}.tc-search-form .tc-btn{width:100%}.tc-brand-name{font-size:14px}.tc-brand-sub{font-size:9px}.tc-mobile-nav{display:none}.tc-nav-open .tc-mobile-nav{display:block}.tc-mobile-cta{position:fixed;z-index:50;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr;background:#181a18;box-shadow:0 -5px 20px rgba(0,0,0,.14)}.tc-mobile-cta a{display:flex;align-items:center;justify-content:center;min-height:54px;color:#fff;font-size:12px;font-weight:800;letter-spacing:.08em}.tc-mobile-cta a+a{background:var(--accent)}body{padding-bottom:54px}}
