/* True Core Studio — site styles */
:root{
  --ink:#0d0d0e; --char:#151517; --panel:#1b1b1e; --line:#2b2b30;
  --amber:#e2a74b; --amber-2:#f2c27a; --cream:#f4eee4; --muted:#a8a39a;
  --display:'Fraunces',Georgia,serif; --body:'Manrope',system-ui,sans-serif;
  --wrap:1200px; --r:14px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body.tcs{margin:0;background:var(--ink);color:var(--cream);font-family:var(--body);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
.tcs a{color:inherit;text-decoration:none}
.tcs img{max-width:100%;height:auto;display:block}
.tcs h1,.tcs h2,.tcs h3,.tcs h4{font-family:var(--display);font-weight:500;line-height:1.1;margin:0 0 .5em;letter-spacing:-.01em;color:var(--cream)}
.tcs p{margin:0 0 1em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--amber);font-weight:700;margin-bottom:18px}
.eyebrow::before{content:"";width:28px;height:1px;background:var(--amber)}
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 28px;border-radius:999px;font-weight:700;font-size:15px;letter-spacing:.02em;transition:all .25s ease;border:1px solid transparent;cursor:pointer;font-family:var(--body)}
.btn-primary{background:var(--amber);color:#16120a}
.btn-primary:hover{background:var(--amber-2);transform:translateY(-2px)}
.btn-ghost{border-color:rgba(244,238,228,.3);color:var(--cream)}
.btn-ghost:hover{border-color:var(--amber);color:var(--amber)}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(13,13,14,.86);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:78px}
.brand{display:flex;align-items:center;gap:12px}
.brand svg{width:38px;height:38px;flex:none}
.brand-text{display:flex;flex-direction:column;line-height:1}
.brand-text strong{font-family:var(--display);font-size:21px;font-weight:600;letter-spacing:.01em}
.brand-text span{font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:var(--muted);margin-top:5px}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:30px;align-items:center}
.nav a{font-size:14.5px;font-weight:600;color:#d9d3c8;transition:color .2s}
.nav a:hover,.nav .current-menu-item>a{color:var(--amber)}
.nav-cta{margin-left:10px}
.nav-cta .btn{padding:11px 20px;font-size:14px}
.menu-toggle{display:none;background:none;border:1px solid var(--line);color:var(--cream);border-radius:10px;padding:9px 11px;cursor:pointer}
@media(max-width:900px){
  .menu-toggle{display:block}
  .nav{position:absolute;top:78px;left:0;right:0;background:var(--char);border-bottom:1px solid var(--line);display:none}
  .nav.open{display:block}
  .nav ul{flex-direction:column;align-items:flex-start;gap:0;padding:12px 24px 24px}
  .nav li{width:100%;border-bottom:1px solid var(--line)}
  .nav a{display:block;padding:14px 0}
  .nav-cta{display:none}
}

/* Hero */
.hero{position:relative;min-height:88vh;display:flex;align-items:flex-end;overflow:hidden}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.05);animation:heroZoom 14s ease-out forwards}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,13,14,.35) 0%,rgba(13,13,14,.55) 45%,var(--ink) 100%),linear-gradient(90deg,rgba(13,13,14,.85) 0%,rgba(13,13,14,0) 70%)}
.hero .wrap{position:relative;z-index:2;padding-bottom:90px;padding-top:120px}
.hero h1{font-size:clamp(44px,7vw,92px);max-width:900px;margin-bottom:24px}
.hero h1 em{font-style:italic;color:var(--amber)}
.hero p.lead{font-size:clamp(17px,1.6vw,20px);color:#d6d0c5;max-width:600px;margin-bottom:36px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.hero-stats{display:flex;gap:48px;margin-top:64px;padding-top:28px;border-top:1px solid rgba(244,238,228,.15);flex-wrap:wrap}
.hero-stats div strong{display:block;font-family:var(--display);font-size:34px;color:var(--cream)}
.hero-stats div span{font-size:13px;color:var(--muted);letter-spacing:.06em}
@keyframes heroZoom{to{transform:scale(1)}}
.reveal{opacity:0;transform:translateY(24px);animation:rise .9s ease forwards}
.d1{animation-delay:.1s}.d2{animation-delay:.25s}.d3{animation-delay:.4s}.d4{animation-delay:.55s}
@keyframes rise{to{opacity:1;transform:none}}

/* Sections */
.section{padding:110px 0}
.section-alt{background:var(--char);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:56px;flex-wrap:wrap}
.section-head h2{font-size:clamp(34px,4.4vw,56px);max-width:640px;margin:0}
.section-head p{max-width:420px;color:var(--muted);margin:0}

/* Service cards */
.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:26px}
.svc{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:transform .3s ease,border-color .3s}
.svc:hover{transform:translateY(-6px);border-color:rgba(226,167,75,.5)}
.svc-media{aspect-ratio:4/3;overflow:hidden;position:relative}
.svc-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.svc:hover .svc-media img{transform:scale(1.06)}
.svc-tag{position:absolute;top:16px;left:16px;background:rgba(13,13,14,.82);border:1px solid var(--line);color:var(--amber);font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;padding:6px 12px;border-radius:999px}
.svc-body{padding:28px;display:flex;flex-direction:column;flex:1}
.svc-body h3{font-size:26px;margin-bottom:10px}
.svc-body p{color:var(--muted);font-size:15.5px}
.price{display:flex;align-items:baseline;gap:8px;margin:6px 0 18px}
.price .from{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.price strong{font-family:var(--display);font-size:40px;font-weight:600;color:var(--amber);line-height:1}
.price .unit{color:var(--muted);font-size:14px}
.svc ul{list-style:none;padding:0;margin:0 0 24px}
.svc li{position:relative;padding:7px 0 7px 26px;font-size:15px;color:#d8d2c7;border-top:1px dashed var(--line)}
.svc li::before{content:"";position:absolute;left:2px;top:15px;width:12px;height:7px;border-left:2px solid var(--amber);border-bottom:2px solid var(--amber);transform:rotate(-45deg)}
.svc .btn{margin-top:auto;justify-content:center}
.svc-meta{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin-bottom:16px}
.svc-meta span{display:inline-flex;align-items:center;gap:6px}
.svc-meta svg{width:15px;height:15px;stroke:var(--amber)}

/* Split */
.split{display:grid;grid-template-columns:1.05fr 1fr;gap:70px;align-items:center}
.split-media{position:relative}
.split-media img{border-radius:var(--r);width:100%;aspect-ratio:4/5;object-fit:cover}
.split-media .badge{position:absolute;right:-22px;bottom:40px;background:var(--amber);color:#16120a;padding:22px 24px;border-radius:var(--r);font-family:var(--display);max-width:210px;box-shadow:0 20px 50px rgba(0,0,0,.45)}
.split-media .badge strong{display:block;font-size:40px;line-height:1}
.split-media .badge span{font-family:var(--body);font-size:13px;font-weight:700}
.split h2{font-size:clamp(32px,4vw,52px)}
.split p{color:#cfc9be}
@media(max-width:900px){.split{grid-template-columns:1fr;gap:44px}.split-media .badge{right:12px}}

/* Features / process */
.features{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.feature{padding:30px 26px;border:1px solid var(--line);border-radius:var(--r);background:var(--panel)}
.feature .num{font-family:var(--display);font-size:15px;color:var(--amber);margin-bottom:22px;display:block}
.feature h3{font-size:22px}
.feature p{color:var(--muted);font-size:15px;margin:0}
.icon{width:46px;height:46px;border-radius:12px;background:rgba(226,167,75,.12);display:grid;place-items:center;margin-bottom:20px}
.icon svg{width:22px;height:22px;stroke:var(--amber)}
@media(max-width:1000px){.features{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.features{grid-template-columns:1fr}}

/* Add-ons table */
.addons{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.addons th,.addons td{text-align:left;padding:18px 24px;border-bottom:1px solid var(--line);font-size:15.5px}
.addons th{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);background:var(--char)}
.addons td:last-child{color:var(--amber);font-weight:700;white-space:nowrap}
.addons tr:last-child td{border-bottom:0}

/* Testimonials */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.quote{padding:34px;border:1px solid var(--line);border-radius:var(--r);background:var(--panel)}
.quote p{font-family:var(--display);font-size:20px;line-height:1.45;font-style:italic}
.quote cite{font-style:normal;font-size:14px;color:var(--muted)}
@media(max-width:900px){.quotes{grid-template-columns:1fr}}

/* CTA band */
.cta-band{position:relative;border-radius:22px;overflow:hidden;padding:80px 60px;background:linear-gradient(120deg,#231a0d,#151517 60%);border:1px solid rgba(226,167,75,.35)}
.cta-band::before{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border-radius:50%;border:60px solid rgba(226,167,75,.08)}
.cta-band h2{font-size:clamp(32px,4vw,52px);max-width:700px;position:relative}
.cta-band p{color:#cfc9be;max-width:560px;position:relative}
.cta-band .hero-actions{position:relative}
@media(max-width:700px){.cta-band{padding:50px 28px}}

/* Page hero */
.page-hero{padding:120px 0 70px;border-bottom:1px solid var(--line);background:radial-gradient(1200px 400px at 10% 0%,rgba(226,167,75,.12),transparent 60%)}
.page-hero h1{font-size:clamp(42px,6vw,76px);margin-bottom:16px}
.page-hero p{color:var(--muted);max-width:640px;font-size:18px;margin:0}

/* Prose (policies) */
.prose-wrap{max-width:820px;margin:0 auto;padding:80px 24px 110px}
.prose-wrap h2{font-size:30px;margin:48px 0 14px}
.prose-wrap h3{font-size:22px;margin:30px 0 10px}
.prose-wrap p,.prose-wrap li{color:#d3cdc2}
.prose-wrap ul,.prose-wrap ol{padding-left:22px;margin:0 0 1.2em}
.prose-wrap li{margin-bottom:6px}
.prose-wrap a{color:var(--amber);text-decoration:underline}
.prose-wrap strong{color:var(--cream)}
.updated{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--amber)}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:50px;align-items:start}
.info-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:34px}
.info-row{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid var(--line)}
.info-row:last-child{border-bottom:0}
.info-row .icon{margin:0;flex:none}
.info-row small{display:block;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.info-row a,.info-row div{font-size:17px;font-weight:600}
.info-row a:hover{color:var(--amber)}
.form-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:38px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-grid .full{grid-column:1/-1}
.tcs label{display:block;font-size:13px;font-weight:700;letter-spacing:.04em;margin-bottom:8px;color:#d9d3c8}
.tcs input[type=text],.tcs input[type=email],.tcs input[type=tel],.tcs input[type=date],.tcs select,.tcs textarea{width:100%;background:var(--ink);border:1px solid var(--line);border-radius:10px;padding:14px 16px;color:var(--cream);font-family:var(--body);font-size:15.5px;transition:border-color .2s}
.tcs input:focus,.tcs select:focus,.tcs textarea:focus{outline:none;border-color:var(--amber)}
.tcs textarea{min-height:150px;resize:vertical}
.hp{position:absolute!important;left:-9999px!important}
.notice{padding:16px 20px;border-radius:10px;margin-bottom:22px;font-weight:600}
.notice.ok{background:rgba(92,170,110,.15);border:1px solid rgba(92,170,110,.5);color:#bfe8c8}
.notice.err{background:rgba(220,90,80,.12);border:1px solid rgba(220,90,80,.5);color:#f3c1bb}
.map{margin-top:24px;border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}
.map iframe{display:block;width:100%;height:260px;border:0;filter:grayscale(1) invert(.9) contrast(.9)}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}}

/* Values grid (about) */
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:900px){.values{grid-template-columns:1fr}}

/* Footer */
.site-footer{background:#09090a;border-top:1px solid var(--line);padding:80px 0 30px;margin-top:0}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:44px}
.site-footer h4{font-family:var(--body);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber);margin-bottom:18px;font-weight:700}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li{margin-bottom:10px}
.site-footer a{color:#cfc9be;font-size:15px}
.site-footer a:hover{color:var(--amber)}
.site-footer p{color:var(--muted);font-size:15px}
.footer-bottom{margin-top:60px;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:13.5px;color:var(--muted)}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.footer-grid{grid-template-columns:1fr}.section{padding:80px 0}}

/* Header cart */
.nav-cta{display:flex;align-items:center;gap:14px}
.cart-link{position:relative;width:44px;height:44px;border:1px solid var(--line);border-radius:999px;display:grid;place-items:center;transition:border-color .2s}
.cart-link:hover{border-color:var(--amber)}
.cart-link svg{width:20px;height:20px;stroke:var(--cream)}
.cart-count{position:absolute;top:-4px;right:-4px;background:var(--amber);color:#16120a;font-size:11px;font-weight:800;min-width:19px;height:19px;border-radius:999px;display:grid;place-items:center;padding:0 4px}
@media(max-width:900px){.nav-cta{display:flex;margin-left:auto;margin-right:12px}.nav-cta .btn{display:none}}

/* Service card actions */
.svc-actions{display:flex;gap:10px;margin-top:auto}
.svc-actions .btn{flex:1;justify-content:center;padding:14px 18px}
.svc h3 a:hover{color:var(--amber)}
.services-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}

/* WooCommerce — dark theme */
.wc-wrap{padding:70px 0 110px}
.woocommerce-checkout .prose-wrap,.woocommerce-cart .prose-wrap,.woocommerce-account .prose-wrap{max-width:1180px}
.tcs .woocommerce div.product{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.tcs .woocommerce div.product div.images,.tcs .woocommerce div.product div.summary{width:100%!important;float:none!important;margin:0!important}
.tcs .woocommerce div.product div.images img{border-radius:var(--r)}
.tcs .woocommerce div.product .woocommerce-tabs,.tcs .woocommerce div.product .related,.tcs .woocommerce div.product .upsells{grid-column:1/-1}
.tcs .woocommerce div.product .product_title{font-size:clamp(34px,4vw,52px)}
.tcs .woocommerce div.product p.price,.tcs .woocommerce div.product span.price,.tcs .woocommerce ul.products li.product .price{color:var(--amber);font-family:var(--display);font-size:36px;font-weight:600}
.tcs .woocommerce-product-details__short-description p{color:#d3cdc2}
.tcs .woocommerce div.product form.cart{display:flex;gap:12px;align-items:center;margin:26px 0}
.tcs .woocommerce .quantity .qty{background:var(--ink);color:var(--cream);border:1px solid var(--line);border-radius:999px;height:52px;width:84px;text-align:center}
.tcs .woocommerce a.button,.tcs .woocommerce button.button,.tcs .woocommerce input.button,.tcs .woocommerce #respond input#submit,.tcs .wc-block-components-button:not(.is-link),.tcs .wp-element-button{background:var(--amber)!important;color:#16120a!important;border-radius:999px!important;padding:15px 28px!important;font-weight:700!important;font-family:var(--body)!important;border:0!important}
.tcs .woocommerce a.button:hover,.tcs .woocommerce button.button:hover,.tcs .wc-block-components-button:not(.is-link):hover{background:var(--amber-2)!important}
.tcs .woocommerce-tabs ul.tabs{padding:0!important;margin:30px 0 0!important;border-bottom:1px solid var(--line)}
.tcs .woocommerce-tabs ul.tabs::before,.tcs .woocommerce-tabs ul.tabs li::before,.tcs .woocommerce-tabs ul.tabs li::after{display:none!important}
.tcs .woocommerce-tabs ul.tabs li{background:transparent!important;border:0!important;margin:0!important;padding:0!important}
.tcs .woocommerce-tabs ul.tabs li a{color:var(--amber)!important;padding:14px 0!important}
.tcs .woocommerce-tabs .panel{padding-top:24px}
.tcs .woocommerce-tabs .panel h2{display:none}
.tcs .woocommerce-tabs .panel h3{font-size:24px;margin-top:22px}
.tcs .woocommerce-tabs .panel li,.tcs .woocommerce-tabs .panel p{color:#d3cdc2}
.tcs .product_meta{display:none}
.tcs .related.products>h2{font-size:30px;margin-top:40px}
.tcs .woocommerce ul.products li.product .woocommerce-loop-product__title{color:var(--cream);font-family:var(--display);font-size:20px}
.tcs .woocommerce ul.products li.product img{border-radius:var(--r)}
.tcs .woocommerce-message,.tcs .woocommerce-info,.tcs .woocommerce-error{background:var(--panel)!important;color:var(--cream)!important;border-top-color:var(--amber)!important}
.tcs .woocommerce-breadcrumb,.tcs .woocommerce-breadcrumb a{color:var(--muted)!important;font-size:13px}
/* Block cart / checkout */
.tcs .wc-block-components-text-input input,.tcs .wc-block-components-textarea,.tcs .wc-block-components-combobox .wc-block-components-combobox-control input,.tcs .wc-blocks-components-select__select,.tcs .wc-block-components-form .wc-block-components-text-input input,.tcs .woocommerce form .form-row .input-text,.tcs .woocommerce form .form-row select{background:var(--ink)!important;color:var(--cream)!important;border:1px solid var(--line)!important;border-radius:10px!important}
.tcs .wc-block-components-text-input label,.tcs .wc-blocks-components-select__label,.tcs .wc-block-components-checkbox__label,.tcs .wc-block-components-radio-control__label{color:var(--muted)!important}
.tcs .wc-block-components-sidebar,.tcs .wc-block-components-order-summary,.tcs .wp-block-woocommerce-checkout-order-summary-block{background:var(--panel);border-radius:var(--r)}
.tcs .wc-block-components-radio-control__option,.tcs .wc-block-components-radio-control-accordion-option{border-color:var(--line)!important}
.tcs .wc-block-checkout__actions .wc-block-components-checkout-return-to-cart-button{color:var(--muted)}
.tcs .wc-block-components-totals-item__value,.tcs .wc-block-components-product-price{color:var(--cream)}
.tcs .wc-block-components-title,.tcs .wc-block-components-checkout-step__title{font-family:var(--display)!important;color:var(--cream)}
.tcs .wc-block-cart-items th,.tcs .wc-block-components-product-metadata{color:var(--muted)}
@media(max-width:900px){.tcs .woocommerce div.product{grid-template-columns:1fr}}
