/*
Theme Name: ArchEx Studio
Theme URI: https://archexllc.com/
Author: ArchEx LLC
Description: Custom one-page architecture outsourcing theme for ArchEx LLC, inspired by refined editorial architecture-studio websites.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: archex-studio
*/

:root{
  --ax-ink:#121210;
  --ax-ink-soft:#252522;
  --ax-paper:#f5f2ec;
  --ax-paper-2:#ebe7de;
  --ax-white:#fff;
  --ax-muted:#77746d;
  --ax-line:rgba(18,18,16,.16);
  --ax-gold:#9b7b53;
  --ax-gold-dark:#70563a;
  --ax-max:1320px;
  --ax-serif:"Cormorant Garamond", Georgia, serif;
  --ax-sans:"Manrope", Arial, sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ax-paper);color:var(--ax-ink);font-family:var(--ax-sans);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,textarea,select{font:inherit}
.ax-wrap{width:min(calc(100% - 48px),var(--ax-max));margin-inline:auto}
.ax-section{padding:112px 0}
.ax-eyebrow{display:inline-block;margin-bottom:18px;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ax-gold)}
.ax-section-head{max-width:760px;margin-bottom:58px}
.ax-section-head h2,.ax-title{margin:0;font-family:var(--ax-serif);font-weight:500;letter-spacing:-.025em;line-height:.98;font-size:clamp(42px,5vw,72px)}
.ax-section-head p{max-width:680px;margin:22px 0 0;color:#5f5b54;font-size:17px}
.ax-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 23px;border:1px solid var(--ax-ink);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:.28s ease}
.ax-btn:hover{background:var(--ax-ink);color:var(--ax-white)}
.ax-btn-dark{background:var(--ax-ink);color:var(--ax-white)}
.ax-btn-dark:hover{background:transparent;color:var(--ax-ink)}
.ax-btn-light{border-color:rgba(255,255,255,.7);color:var(--ax-white)}
.ax-btn-light:hover{background:var(--ax-white);color:var(--ax-ink)}
.ax-btn-gold{background:var(--ax-gold);border-color:var(--ax-gold);color:var(--ax-white)}
.ax-btn-gold:hover{background:transparent;color:var(--ax-gold)}

/* Header */
.ax-header{position:fixed;left:0;right:0;top:0;z-index:99;color:var(--ax-white);transition:background .3s ease,color .3s ease,border-color .3s ease}
.ax-header.scrolled{background:rgba(245,242,236,.96);color:var(--ax-ink);border-bottom:1px solid var(--ax-line);backdrop-filter:blur(12px)}
.ax-nav{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.ax-logo{font-family:var(--ax-serif);font-size:31px;font-weight:600;letter-spacing:-.03em}
.ax-logo span{color:var(--ax-gold)}
.ax-links{display:flex;align-items:center;gap:30px;font-size:12px;font-weight:700;letter-spacing:.075em;text-transform:uppercase}
.ax-nav-actions{display:flex;gap:10px}
.ax-header:not(.scrolled) .ax-nav-actions .ax-btn{border-color:rgba(255,255,255,.75);color:var(--ax-white)}
.ax-header:not(.scrolled) .ax-nav-actions .ax-btn-dark{background:var(--ax-white);border-color:var(--ax-white);color:var(--ax-ink)}
.ax-menu-toggle{display:none;background:none;border:0;color:inherit;font-size:25px}

/* Hero */
.ax-hero{position:relative;min-height:100vh;background:#151513;color:var(--ax-white);overflow:hidden;display:flex;align-items:flex-end}
.ax-hero-media{position:absolute;inset:0;background:
 linear-gradient(90deg,rgba(8,8,7,.8) 0%,rgba(8,8,7,.56) 42%,rgba(8,8,7,.1) 75%),
 radial-gradient(circle at 78% 30%,rgba(155,123,83,.28),transparent 28%),
 linear-gradient(135deg,#282723 0%,#151513 60%,#0e0e0d 100%);
 transform:scale(1.02)}
.ax-hero-media::before,.ax-hero-media::after{content:"";position:absolute;border:1px solid rgba(255,255,255,.12)}
.ax-hero-media::before{width:42vw;height:58vh;right:7vw;top:17vh;transform:rotate(-8deg)}
.ax-hero-media::after{width:30vw;height:43vh;right:13vw;top:24vh;transform:rotate(8deg);border-color:rgba(155,123,83,.35)}
.ax-hero .ax-wrap{position:relative;z-index:2;padding-top:160px;padding-bottom:78px}
.ax-hero-copy{max-width:850px}
.ax-hero .ax-eyebrow{color:#d4b38a}
.ax-hero h1{margin:0;max-width:920px;font-family:var(--ax-serif);font-weight:500;letter-spacing:-.035em;line-height:.9;font-size:clamp(62px,8vw,120px)}
.ax-hero-sub{max-width:760px;margin:30px 0 34px;color:rgba(255,255,255,.82);font-size:18px}
.ax-hero-ctas{display:flex;gap:12px;flex-wrap:wrap}
.ax-price-tag{margin-top:28px;font-size:12px;color:rgba(255,255,255,.68);letter-spacing:.02em}
.ax-price-tag b{color:var(--ax-white);font-size:14px}
.ax-hero-stat{position:absolute;right:0;bottom:10px;width:250px;padding:22px 0;border-top:1px solid rgba(255,255,255,.3)}
.ax-hero-stat strong{display:block;font-family:var(--ax-serif);font-size:56px;font-weight:500;line-height:1;color:#d4b38a}
.ax-hero-stat span{display:block;margin-top:8px;color:rgba(255,255,255,.68);font-size:12px;line-height:1.5}

/* Trust */
.ax-trust{background:var(--ax-ink);color:var(--ax-white);border-top:1px solid rgba(255,255,255,.08)}
.ax-trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.ax-trust-item{padding:30px 24px;border-right:1px solid rgba(255,255,255,.12);font-size:12px;color:rgba(255,255,255,.6)}
.ax-trust-item:first-child{padding-left:0}.ax-trust-item:last-child{border-right:0}
.ax-trust-item b{display:block;margin-bottom:5px;font-family:var(--ax-serif);font-size:27px;font-weight:500;color:var(--ax-white)}

/* Pain */
.ax-pain-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ax-line);border-left:1px solid var(--ax-line)}
.ax-pain-card{min-height:250px;padding:36px;border-right:1px solid var(--ax-line);border-bottom:1px solid var(--ax-line);transition:background .25s,color .25s}
.ax-pain-card:hover{background:var(--ax-ink);color:var(--ax-white)}
.ax-pain-card .num{display:block;margin-bottom:44px;font-family:var(--ax-serif);font-size:28px;color:var(--ax-gold)}
.ax-pain-card h3{margin:0 0 12px;font-family:var(--ax-serif);font-weight:600;font-size:27px;line-height:1.1}
.ax-pain-card p{margin:0;color:#69655f;font-size:14px}.ax-pain-card:hover p{color:rgba(255,255,255,.66)}

/* Who */
.ax-dark{background:var(--ax-ink);color:var(--ax-white)}
.ax-dark .ax-section-head p{color:rgba(255,255,255,.58)}
.ax-who-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.14)}
.ax-who-card{position:relative;min-height:250px;padding:32px;background:var(--ax-ink);overflow:hidden}
.ax-who-card::after{content:attr(data-index);position:absolute;right:20px;bottom:-40px;font-family:var(--ax-serif);font-size:140px;line-height:1;color:rgba(255,255,255,.035);transition:.35s ease}
.ax-who-card:hover::after{transform:translateY(-16px);color:rgba(155,123,83,.14)}
.ax-who-card h3{position:relative;z-index:2;margin:105px 0 12px;font-family:var(--ax-serif);font-size:30px;font-weight:500;line-height:1.05}
.ax-who-card p{position:relative;z-index:2;margin:0;color:rgba(255,255,255,.58);font-size:14px}

/* Inside studio */
.ax-studio{background:#0b0b0a;color:var(--ax-white);position:relative;overflow:hidden}
.ax-studio .ax-section-head p{color:rgba(255,255,255,.55)}
.ax-studio-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ax-studio-card{position:relative;min-height:430px;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:linear-gradient(160deg,#292826,#11110f)}
.ax-studio-card::before{content:"";position:absolute;inset:20px;border:1px solid rgba(255,255,255,.11);transform:rotate(var(--rot,0deg)) scale(.86);transition:transform .55s ease,border-color .55s ease}
.ax-studio-card::after{content:"";position:absolute;width:180px;height:260px;border:1px solid rgba(155,123,83,.45);right:-30px;top:55px;transform:rotate(28deg);transition:.55s ease}
.ax-studio-card:hover::before{transform:rotate(6deg) scale(.96);border-color:rgba(155,123,83,.4)}
.ax-studio-card:hover::after{transform:rotate(8deg) translate(-25px,15px)}
.ax-studio-card h3,.ax-studio-card p{position:relative;z-index:2}
.ax-studio-card h3{margin:0 0 10px;font-family:var(--ax-serif);font-size:27px;font-weight:500}
.ax-studio-card p{margin:0;color:rgba(255,255,255,.55);font-size:13px}

/* Services */
.ax-services{display:grid;grid-template-columns:1fr 1.7fr;border-top:1px solid var(--ax-line)}
.ax-service-card{display:grid;grid-template-columns:90px 1fr 34px;gap:22px;align-items:start;padding:30px 0;border-bottom:1px solid var(--ax-line)}
.ax-service-card .count{font-family:var(--ax-serif);font-size:22px;color:var(--ax-gold)}
.ax-service-card h3{margin:0 0 7px;font-family:var(--ax-serif);font-size:29px;font-weight:500;line-height:1.1}
.ax-service-card p{margin:0;max-width:720px;color:#69655f;font-size:14px}
.ax-service-card .arrow{font-size:23px;transition:transform .25s}.ax-service-card:hover .arrow{transform:translate(5px,-5px)}

/* Why */
.ax-why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--ax-line);border-left:1px solid var(--ax-line)}
.ax-why-item{padding:38px;border-right:1px solid var(--ax-line);border-bottom:1px solid var(--ax-line)}
.ax-why-item .num{font-family:var(--ax-serif);font-size:46px;color:var(--ax-gold)}
.ax-why-item h3{margin:22px 0 7px;font-family:var(--ax-serif);font-size:29px;font-weight:500}.ax-why-item p{margin:0;color:#69655f;font-size:14px}

/* Process */
.ax-process{background:var(--ax-paper-2)}
.ax-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}
.ax-process-card{position:relative;padding:26px 0 0;border-top:1px solid var(--ax-ink)}
.ax-process-card .step{font-family:var(--ax-serif);font-size:55px;color:var(--ax-gold)}
.ax-process-card h3{margin:42px 0 8px;font-family:var(--ax-serif);font-size:26px;font-weight:500}.ax-process-card p{margin:0;color:#67635d;font-size:14px}

/* Pricing */
.ax-price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.ax-price-card{position:relative;min-height:540px;padding:36px;background:var(--ax-white);border:1px solid var(--ax-line);display:flex;flex-direction:column}
.ax-price-card.featured{background:var(--ax-ink);color:var(--ax-white)}
.ax-ribbon{position:absolute;top:19px;right:18px;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ax-gold)}
.ax-price-card h3{margin:0;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ax-gold);font-family:var(--ax-sans)}
.ax-amount{margin:24px 0 8px;font-family:var(--ax-serif);font-size:50px;line-height:1}.ax-amount span{font-family:var(--ax-sans);font-size:12px;color:#77746d}
.ax-price-card.featured .ax-amount span{color:rgba(255,255,255,.55)}
.ax-price-card .desc{min-height:72px;color:#68645e;font-size:14px}.ax-price-card.featured .desc{color:rgba(255,255,255,.58)}
.ax-price-card ul{list-style:none;padding:0;margin:22px 0 32px}.ax-price-card li{padding:11px 0;border-top:1px solid var(--ax-line);font-size:13px}.ax-price-card.featured li{border-color:rgba(255,255,255,.14)}
.ax-price-card li::before{content:"—";margin-right:10px;color:var(--ax-gold)}
.ax-price-card .ax-btn{margin-top:auto}

/* About */
.ax-about-grid{display:grid;grid-template-columns:1fr 1fr;min-height:720px}
.ax-about-media{position:relative;overflow:hidden;background:linear-gradient(145deg,#292825,#10100f)}
.ax-about-media::before{content:"";position:absolute;width:62%;height:72%;left:18%;top:12%;border:1px solid rgba(255,255,255,.22);transform:rotate(-7deg)}
.ax-about-media::after{content:"ARCH EX";position:absolute;left:8%;bottom:7%;font-family:var(--ax-serif);font-size:clamp(70px,10vw,160px);line-height:.72;color:rgba(255,255,255,.05);white-space:nowrap}
.ax-about-copy{padding:80px clamp(34px,6vw,95px);display:flex;flex-direction:column;justify-content:center;background:var(--ax-white)}
.ax-about-copy h2{margin:0 0 26px;font-family:var(--ax-serif);font-size:clamp(38px,4.2vw,64px);font-weight:500;line-height:.98}
.ax-about-copy p{margin:0 0 16px;color:#5f5b54}
.ax-placeholder{margin-top:18px;padding:17px;border-left:2px solid var(--ax-gold);background:#f7f4ef;font-size:12px;color:#6b675f}

/* Testimonials */
.ax-testimonials{background:var(--ax-paper-2)}
.ax-testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--ax-line);border:1px solid var(--ax-line)}
.ax-testi-card{min-height:300px;padding:34px;background:var(--ax-paper-2);display:flex;flex-direction:column}
.ax-stars{color:var(--ax-gold);letter-spacing:.14em;font-size:12px}.ax-testi-card p{font-family:var(--ax-serif);font-size:26px;line-height:1.25}.ax-testi-card .who{margin-top:auto;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.ax-testi-card .who span{display:block;margin-top:3px;font-weight:400;text-transform:none;letter-spacing:0;color:#77746d}

/* FAQ */
.ax-faq-list{border-top:1px solid var(--ax-line)}
.ax-faq-q{width:100%;padding:26px 0;background:none;border:0;border-bottom:1px solid var(--ax-line);display:grid;grid-template-columns:1fr 36px;gap:24px;align-items:center;text-align:left;cursor:pointer;font-family:var(--ax-serif);font-size:27px;color:var(--ax-ink)}
.ax-faq-plus{position:relative;width:30px;height:30px}.ax-faq-plus::before,.ax-faq-plus::after{content:"";position:absolute;background:var(--ax-ink);left:7px;right:7px;top:14px;height:1px}.ax-faq-plus::after{transform:rotate(90deg);transition:.25s ease}.ax-faq-item.open .ax-faq-plus::after{transform:rotate(0)}
.ax-faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease}.ax-faq-a>div{overflow:hidden}.ax-faq-a p{max-width:770px;margin:0;padding:0 0 26px;color:#69655f}.ax-faq-item.open .ax-faq-a{grid-template-rows:1fr}

/* CTA & Footer */
.ax-final{padding:120px 0;background:var(--ax-ink);color:var(--ax-white);text-align:center}
.ax-final h2{max-width:950px;margin:0 auto 20px;font-family:var(--ax-serif);font-size:clamp(52px,7vw,96px);font-weight:500;line-height:.92;letter-spacing:-.035em}.ax-final p{margin:0 0 32px;color:rgba(255,255,255,.58);font-size:17px}.ax-final-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.ax-footer{padding:70px 0 28px;background:#090909;color:rgba(255,255,255,.58)}
.ax-footer-grid{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:44px}.ax-footer h4{margin:0 0 16px;color:var(--ax-white);font-size:11px;text-transform:uppercase;letter-spacing:.14em}.ax-footer a{display:block;margin:8px 0;font-size:13px}.ax-footer a:hover{color:var(--ax-white)}.ax-footer .ax-logo{color:var(--ax-white)}.ax-footer p{font-size:13px}.ax-footer-bottom{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:48px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);font-size:11px}

/* Motion */
.ax-reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1)}
.ax-reveal.visible{opacity:1;transform:none}

@media(max-width:1050px){
 .ax-links{display:none}.ax-menu-toggle{display:block}.ax-nav-actions{display:none}.ax-header.menu-open .ax-links{display:flex;position:absolute;left:24px;right:24px;top:86px;flex-direction:column;align-items:flex-start;padding:24px;background:var(--ax-paper);color:var(--ax-ink);border:1px solid var(--ax-line)}
 .ax-hero-stat{position:static;margin-top:50px}
 .ax-trust-grid{grid-template-columns:repeat(2,1fr)}.ax-trust-item:nth-child(2){border-right:0}.ax-trust-item:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.12)}
 .ax-who-grid{grid-template-columns:repeat(2,1fr)}.ax-studio-grid{grid-template-columns:repeat(2,1fr)}.ax-services{grid-template-columns:1fr}.ax-process-grid{grid-template-columns:repeat(2,1fr)}
 .ax-price-grid{grid-template-columns:1fr}.ax-price-card{min-height:auto}.ax-about-grid{grid-template-columns:1fr}.ax-about-media{min-height:560px}.ax-footer-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
 .ax-wrap{width:min(calc(100% - 32px),var(--ax-max))}.ax-section{padding:82px 0}.ax-nav{min-height:74px}.ax-header.menu-open .ax-links{top:74px}
 .ax-hero .ax-wrap{padding-top:130px;padding-bottom:60px}.ax-hero h1{font-size:clamp(54px,16vw,82px)}.ax-hero-sub{font-size:16px}.ax-price-tag{line-height:1.7}
 .ax-trust-grid,.ax-pain-grid,.ax-who-grid,.ax-studio-grid,.ax-why-grid,.ax-process-grid,.ax-testi-grid,.ax-footer-grid{grid-template-columns:1fr}.ax-trust-item{border-right:0;border-bottom:1px solid rgba(255,255,255,.12);padding-left:0}.ax-trust-item:last-child{border-bottom:0}
 .ax-pain-card{min-height:auto}.ax-who-card{min-height:220px}.ax-studio-card{min-height:330px}.ax-service-card{grid-template-columns:55px 1fr 20px}.ax-service-card h3{font-size:24px}
 .ax-about-media{min-height:420px}.ax-about-copy{padding:62px 24px}.ax-faq-q{font-size:23px}.ax-final{padding:90px 0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ax-reveal{opacity:1;transform:none;transition:none}}
