/*
Theme Name: Aligned Horizons
Theme URI: https://alignedhorizonsconsulting.com/
Author: Aligned Horizons LLC
Description: Custom WordPress theme for Aligned Horizons LLC. Warm, professional, family-centered design using deep teal, warm gold, sage, cream, generous white space, and horizon-inspired visual elements.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
Text Domain: aligned-horizons
*/

:root{
  --ah-teal:#183f42;
  --ah-teal-dark:#102f32;
  --ah-teal-soft:#31585a;
  --ah-gold:#d8952b;
  --ah-gold-light:#eab86a;
  --ah-sage:#a8b2a0;
  --ah-cream:#f7f4ec;
  --ah-white:#fffefa;
  --ah-text:#294143;
  --ah-muted:#687777;
  --ah-line:#d9d7cf;
  --ah-shadow:0 18px 50px rgba(24,63,66,.10);
  --ah-serif:Georgia,"Times New Roman",serif;
  --ah-sans:Arial,Helvetica,sans-serif;
  --ah-content:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ah-cream);color:var(--ah-text);font-family:var(--ah-sans);line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
a:hover{color:var(--ah-gold)}
h1,h2,h3,h4,h5,h6{font-family:var(--ah-serif);color:var(--ah-teal);font-weight:600}
::selection{background:var(--ah-gold);color:#fff}

.ah-wrap{max-width:var(--ah-content);margin:0 auto;padding:0 24px}
.ah-eyebrow{display:inline-block;color:var(--ah-gold);font-size:11px;font-weight:700;letter-spacing:.24em;text-transform:uppercase}
.ah-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border-radius:5px;background:var(--ah-teal);color:#fff!important;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:.2s}
.ah-button:hover{background:var(--ah-teal-dark);transform:translateY(-2px);box-shadow:var(--ah-shadow)}
.ah-button--gold{background:var(--ah-gold)}
.ah-button--gold:hover{background:#c6811e}
.ah-section-heading{text-align:center;max-width:780px;margin:0 auto 52px}
.ah-section-heading h2{margin:10px 0 12px;font-size:clamp(42px,5vw,66px);line-height:1}
.ah-section-heading p{margin:0 auto;color:var(--ah-muted);max-width:660px}

/* Header */
.site-header{position:absolute;z-index:20;top:0;left:0;right:0;padding:18px 4vw}
.site-header__inner{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:30px}
.site-branding img{display:block;max-width:220px;max-height:105px;width:auto}
.site-title{font-family:var(--ah-serif);font-size:27px;font-weight:700;color:var(--ah-teal)}
.main-navigation ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:26px}
.main-navigation a{font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ah-teal)}
.main-navigation a:hover,.main-navigation .current-menu-item>a{color:var(--ah-gold)}
.header-cta{padding:12px 19px;border-radius:5px;background:var(--ah-teal);color:#fff!important}
.menu-toggle{display:none;border:0;background:transparent;font-size:28px;color:var(--ah-teal)}

/* Hero */
.ah-hero{min-height:760px;padding:160px 5vw 90px;background:var(--ah-white);overflow:hidden}
.ah-hero__inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:.88fr 1.12fr;align-items:center;gap:45px}
.ah-hero h1{margin:12px 0 0;font-size:clamp(56px,6vw,92px);line-height:.92;letter-spacing:-.02em}
.ah-hero h1 em{font-weight:500}
.ah-gold-line{width:140px;height:2px;margin:26px 0 22px;background:var(--ah-gold)}
.ah-hero__lead{font-family:var(--ah-serif);font-size:clamp(22px,2.4vw,29px);line-height:1.2;color:var(--ah-teal);max-width:560px}
.ah-hero__copy{max-width:560px;color:var(--ah-muted);font-size:14px}
.ah-hero__actions{display:flex;align-items:center;gap:26px;margin-top:28px}
.ah-text-link{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ah-teal)}

.ah-hero-art{position:relative;min-height:560px;overflow:hidden;border-radius:300px 0 0 300px;background:linear-gradient(180deg,#dde3df 0%,#efe3c9 56%,#d9b572 100%);box-shadow:var(--ah-shadow)}
.ah-sun{position:absolute;width:230px;height:230px;top:80px;right:18%;border-radius:50%;background:radial-gradient(circle,#fff6ce 0 24%,#efc16c 48%,transparent 70%)}
.ah-hill{position:absolute;left:-5%;width:110%;border-radius:50% 50% 0 0}
.ah-hill--back{height:44%;bottom:13%;background:#9eab93;transform:rotate(2deg)}
.ah-hill--front{height:34%;bottom:0;background:#4f6658;transform:rotate(-2deg)}
.ah-family{position:absolute;z-index:3;bottom:14%;left:29%;width:43%;height:47%;display:flex;align-items:flex-end;justify-content:center;gap:7%}
.ah-family span{position:relative;display:block;width:15%;min-width:22px;background:var(--ah-teal-dark);border-radius:45% 45% 12% 12%}
.ah-family span:before{content:"";position:absolute;left:50%;top:-18%;width:60%;aspect-ratio:1;transform:translateX(-50%);border-radius:50%;background:var(--ah-teal-dark)}
.ah-family span:nth-child(1){height:76%}.ah-family span:nth-child(2){height:52%}.ah-family span:nth-child(3){height:45%}.ah-family span:nth-child(4){height:82%}

/* Purpose */
.ah-purpose{position:relative;padding:105px 8vw 90px;background:var(--ah-teal);color:#fff;text-align:center;overflow:hidden}
.ah-purpose:before{content:"";position:absolute;top:-70px;left:-5%;width:110%;height:110px;border-radius:50%;background:var(--ah-white)}
.ah-purpose__inner{position:relative;max-width:850px;margin:0 auto}
.ah-purpose .ah-eyebrow{color:var(--ah-gold-light)}
.ah-purpose h2{margin:12px 0 20px;color:#fff;font-size:clamp(40px,5vw,64px);line-height:1}
.ah-purpose p{margin:0 auto;font-family:var(--ah-serif);font-size:clamp(19px,2vw,23px);line-height:1.48}

/* Services */
.ah-services{padding:105px 5vw;background:var(--ah-white)}
.ah-service-grid{max-width:var(--ah-content);margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.ah-service-card{padding:32px 28px;border-top:2px solid var(--ah-gold);background:var(--ah-cream);transition:.2s}
.ah-service-card:hover{transform:translateY(-4px);box-shadow:var(--ah-shadow)}
.ah-service-card__icon{color:var(--ah-teal);font-family:var(--ah-serif);font-size:38px}
.ah-service-card h3{margin:10px 0 8px;font-size:25px;line-height:1.05}
.ah-service-card p{margin:0;color:var(--ah-muted);font-size:13px}

/* Founder */
.ah-founder{padding:110px 5vw;background:var(--ah-cream)}
.ah-founder__inner{max-width:var(--ah-content);margin:0 auto;display:grid;grid-template-columns:.88fr 1.12fr;gap:75px;align-items:center}
.ah-founder__image{min-height:520px;border-radius:12px;background:linear-gradient(145deg,rgba(24,63,66,.15),rgba(216,149,43,.08)),var(--ah-sage);display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:var(--ah-shadow)}
.ah-founder__image img{width:100%;height:100%;min-height:520px;object-fit:cover}
.ah-founder__placeholder{width:72%;height:390px;border:1px solid rgba(255,255,255,.7);display:flex;align-items:center;justify-content:center;text-align:center;color:rgba(255,255,255,.85);font-family:var(--ah-serif);font-size:23px;letter-spacing:.1em}
.ah-founder h2{margin:10px 0 24px;font-size:clamp(44px,5vw,65px);line-height:.98}
.ah-founder p{color:var(--ah-muted)}
.ah-founder blockquote{margin:30px 0;padding:22px 0 22px 24px;border-left:3px solid var(--ah-gold);color:var(--ah-teal);font-family:var(--ah-serif);font-size:23px;line-height:1.35}


.ah-founder__content{max-width:680px}
.ah-founder__title{margin-top:-10px!important;margin-bottom:22px!important;color:var(--ah-gold)!important;font-size:13px!important;font-weight:700;letter-spacing:.10em;text-transform:uppercase}
.ah-founder__content p{margin-bottom:16px}

/* Approach */
.ah-approach{padding:105px 5vw;background:var(--ah-white)}
.ah-approach-grid{max-width:1050px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.ah-approach-card{padding:34px 28px;background:var(--ah-cream);border-top:2px solid var(--ah-gold)}
.ah-approach-card small{color:var(--ah-gold);font-weight:700;letter-spacing:.18em}
.ah-approach-card h3{font-size:28px;margin:10px 0 8px}
.ah-approach-card p{margin:0;color:var(--ah-muted);font-size:13px}

/* CTA */
.ah-cta{padding:100px 5vw 110px;text-align:center;background:var(--ah-cream)}
.ah-cta h2{max-width:850px;margin:10px auto 14px;font-size:clamp(42px,5vw,66px);line-height:1}
.ah-cta h2 em{color:var(--ah-gold);font-weight:500}
.ah-cta p{color:var(--ah-muted);margin-bottom:28px}

/* General content */
.site-main:not(.home-main){padding:150px 24px 80px;max-width:900px;margin:0 auto}
.entry-title{font-size:clamp(42px,5vw,64px)}
.entry-content{font-size:16px}
.entry-content a{text-decoration:underline;text-decoration-color:var(--ah-gold);text-underline-offset:3px}

/* Footer */
.site-footer{padding:38px 6vw;background:var(--ah-teal-dark);color:#fff}
.site-footer__inner{max-width:var(--ah-content);margin:0 auto;display:flex;justify-content:space-between;gap:35px;font-size:12px}
.site-footer strong{display:block;letter-spacing:.12em}
.site-footer span{display:block;margin-top:5px;color:rgba(255,255,255,.68)}
.site-footer a{color:#fff}.site-footer a:hover{color:var(--ah-gold-light)}
.site-footer__right{text-align:right}

/* WordPress alignments */
.alignwide{max-width:var(--ah-content);margin-left:auto;margin-right:auto}
.alignfull{width:100vw;margin-left:calc(50% - 50vw)}
.wp-block-button__link{background:var(--ah-teal);color:#fff;border-radius:5px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.wp-block-button__link:hover{background:var(--ah-teal-dark);color:#fff}

/* Responsive */
@media(max-width:900px){
  .site-header{position:relative;background:var(--ah-white);padding:14px 20px}
  .main-navigation{display:none}
  .ah-hero{min-height:auto;padding:70px 24px 45px}
  .ah-hero__inner{grid-template-columns:1fr}
  .ah-hero-art{min-height:400px;border-radius:22px}
  .ah-service-grid{grid-template-columns:1fr 1fr}
  .ah-founder__inner{grid-template-columns:1fr;gap:40px}
  .ah-founder__image,.ah-founder__image img{min-height:400px}
  .ah-approach-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .site-branding img{max-width:180px;max-height:85px}
  .ah-hero h1{font-size:clamp(48px,15vw,65px)}
  .ah-hero__actions{flex-direction:column;align-items:flex-start}
  .ah-service-grid{grid-template-columns:1fr}
  .ah-purpose,.ah-services,.ah-founder,.ah-approach,.ah-cta{padding-left:24px;padding-right:24px}
  .site-footer__inner{flex-direction:column}
  .site-footer__right{text-align:left}
}
