/*
Theme Name: Wilson Events
Theme URI: https://example.com/
Description: A bespoke Twenty Twenty-Five child theme for Wilson Events, matching the supplied editorial photography portfolio design.
Author: Wilson Events
Template: twentytwentyfive
Version: 1.0.0
Text Domain: wilson-events
*/

:root{
  --we-ink:#151515;
  --we-paper:#f5f2ec;
  --we-paper-2:#ece8df;
  --we-line:#cfc9be;
  --we-taupe:#9a8971;
  --we-max:1280px;
}

html{scroll-behavior:smooth}
body{margin:0;background:var(--we-paper);color:var(--we-ink);font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.55}
body *{box-sizing:border-box}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:4px}
img{max-width:100%;height:auto;display:block}

.we-shell{width:min(calc(100% - 72px),var(--we-max));margin-inline:auto}
.we-wide{width:100%}
.we-serif{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.035em}
.we-eyebrow{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:#69645c}
.we-button{display:inline-flex;align-items:center;gap:10px;background:var(--we-taupe);color:#fff;padding:12px 17px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--we-taupe)}
.we-button:hover{background:#7f715e;text-decoration:none}
.we-button--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.75)}
.we-button--dark{background:var(--we-ink);border-color:var(--we-ink)}

.we-header{position:relative;z-index:10;background:#faf8f3;border-bottom:1px solid rgba(21,21,21,.05)}
.we-header__inner{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.we-brand{font-family:Georgia,'Times New Roman',serif;font-size:19px;letter-spacing:.08em;text-transform:uppercase}
.we-nav{display:flex;align-items:center;gap:30px;font-size:11px}
.we-nav a{text-decoration:none}
.we-nav a:hover{text-decoration:underline}
.we-nav__cta{background:var(--we-taupe);color:#fff;padding:11px 16px;letter-spacing:.11em;text-transform:uppercase}
.we-menu-toggle{display:none;border:0;background:none;font-size:12px;letter-spacing:.1em;text-transform:uppercase}

.we-hero{min-height:590px;background-image:linear-gradient(90deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.42) 40%,rgba(0,0,0,.05) 72%),url('../assets/images/hero.jpg');background-size:cover;background-position:center;display:flex;align-items:center;color:#fff}
.we-hero__content{padding:90px 0 84px;max-width:650px}
.we-hero h1{font-size:76px;line-height:.93;margin:15px 0 20px}
.we-hero p{max-width:450px;font-size:16px;line-height:1.55;margin:0 0 26px}
.we-hero__actions{display:flex;gap:12px;flex-wrap:wrap}
.we-hero__location{margin-top:38px;font-size:10px;letter-spacing:.25em;text-transform:uppercase}

.we-intro{padding:70px 0 72px}
.we-intro__grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.we-intro h2{font-size:55px;line-height:1.02;margin:12px 0 0;max-width:500px}
.we-intro__copy{max-width:500px;font-size:14px}
.we-intro__copy strong{display:block;margin:18px 0 7px}

.we-services{padding:0 0 78px}
.we-services__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.we-service img{aspect-ratio:1/1;object-fit:cover}
.we-service__meta{padding-top:12px}
.we-service__number{font-size:10px;color:#777;display:block;margin-bottom:3px}
.we-service h3{font-family:Georgia,'Times New Roman',serif;font-size:20px;line-height:1.05;margin:0 0 6px;font-weight:400;text-transform:uppercase}
.we-service p{font-size:12px;line-height:1.45;margin:0 0 12px;color:#4c4a46}
.we-service a{font-size:10px;letter-spacing:.13em;text-transform:uppercase}

.we-banner{height:370px;background-size:cover;background-position:center;display:flex;align-items:center}
.we-banner--salt{background-image:url('../assets/images/banner.jpg')}

.we-recent{padding:72px 0}
.we-recent__grid{display:grid;grid-template-columns:220px 1fr;gap:48px;align-items:start}
.we-recent h2{font-size:49px;line-height:.95;margin:8px 0 20px}
.we-recent__copy{font-size:13px;margin:0 0 24px}
.we-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.we-gallery img{width:100%;aspect-ratio:1.2/1;object-fit:cover}

.we-about{display:grid;grid-template-columns:40% 60%;background:#eeeae2}
.we-about__image{min-height:560px;background:url('../assets/images/about.jpg') center/cover no-repeat}
.we-about__content{padding:76px 9% 70px;display:flex;flex-direction:column;justify-content:center}
.we-about h2{font-size:54px;line-height:1;margin:10px 0 20px}
.we-about p{max-width:560px;font-size:13px}
.we-about__aside{border-left:1px solid var(--we-line);padding-left:28px;margin-top:32px;max-width:230px;font-size:12px}

.we-testimonials{padding:70px 0}
.we-testimonials__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}
.we-quote{font-family:Georgia,'Times New Roman',serif;font-size:18px;line-height:1.3;position:relative;padding-top:24px}
.we-quote:before{content:'“';font-size:46px;position:absolute;top:-12px;left:0}
.we-quote__cite{font-family:Arial,Helvetica,sans-serif;font-size:9px;line-height:1.4;letter-spacing:.1em;text-transform:uppercase;margin-top:18px;color:#5e5a54}

.we-cta{min-height:340px;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.18)),url('../assets/images/cta.jpg') center/cover;display:flex;align-items:center;color:#fff}
.we-cta h2{font-size:53px;line-height:1;margin:12px 0 16px}
.we-cta p{max-width:540px;font-size:13px;margin:0 0 24px}
.we-cta__tags{margin-top:26px;font-size:10px;letter-spacing:.25em;text-transform:uppercase}

.we-footer{background:#111;color:#fff;padding:38px 0 25px}
.we-footer__top{display:grid;grid-template-columns:1fr auto 1fr;gap:30px;align-items:center}
.we-footer__brand{font-family:Georgia,'Times New Roman',serif;font-size:20px;letter-spacing:.08em;text-transform:uppercase}
.we-footer__tag{font-size:10px;color:#aaa;margin-top:5px}
.we-footer__nav{display:flex;gap:25px;font-size:10px}
.we-footer__right{text-align:right;font-size:10px;color:#aaa}
.we-footer__bottom{border-top:1px solid #343434;margin-top:28px;padding-top:16px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:#999}

/* Inner pages */
.we-page-hero{padding:90px 0 75px;border-bottom:1px solid var(--we-line)}
.we-page-hero h1{font-size:72px;line-height:.94;margin:12px 0 0;max-width:850px}
.we-page-intro{padding:70px 0}
.we-two-col{display:grid;grid-template-columns:1fr 1fr;gap:70px}
.we-two-col h2{font-size:48px;line-height:1;margin:0 0 20px}
.we-two-col p{font-size:14px}
.we-list{display:grid;gap:0;border-top:1px solid var(--we-line)}
.we-list__item{display:grid;grid-template-columns:80px 1fr;gap:22px;padding:22px 0;border-bottom:1px solid var(--we-line)}
.we-list__num{font-size:10px;letter-spacing:.12em;color:#777}
.we-list__item h3{font-family:Georgia,'Times New Roman',serif;font-size:27px;font-weight:400;margin:0 0 6px}
.we-contact{padding:70px 0 90px}
.we-contact__grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}
.we-contact__details{font-size:14px}
.we-contact__details strong{display:block;font-size:10px;letter-spacing:.15em;text-transform:uppercase;margin:22px 0 5px}
.we-form{display:grid;gap:14px}
.we-form label{font-size:10px;letter-spacing:.13em;text-transform:uppercase}
.we-form input,.we-form textarea,.we-form select{width:100%;border:1px solid #c9c3b9;background:#faf8f3;padding:13px;font:inherit}
.we-form textarea{min-height:150px;resize:vertical}

@media(max-width:900px){
 .we-shell{width:min(calc(100% - 38px),var(--we-max))}
 .we-nav{gap:15px}
 .we-hero h1{font-size:60px}
 .we-intro__grid,.we-two-col,.we-contact__grid{grid-template-columns:1fr;gap:35px}
 .we-services__grid{grid-template-columns:repeat(2,1fr)}
 .we-recent__grid{grid-template-columns:1fr;gap:30px}
 .we-about{grid-template-columns:1fr}
 .we-about__image{min-height:420px}
 .we-testimonials__grid{grid-template-columns:1fr;gap:35px}
 .we-footer__top{grid-template-columns:1fr;text-align:left}
 .we-footer__right{text-align:left}
 .we-footer__bottom{gap:15px;flex-direction:column}
}
@media(max-width:620px){
 .we-header__inner{min-height:66px}
 .we-nav{display:none}
 .we-menu-toggle{display:block}
 .we-hero{min-height:650px}
 .we-hero h1{font-size:49px}
 .we-hero__content{padding:80px 0}
 .we-intro,.we-recent,.we-testimonials,.we-contact,.we-page-intro{padding:55px 0}
 .we-intro h2,.we-about h2,.we-cta h2,.we-two-col h2{font-size:41px}
 .we-services__grid{grid-template-columns:1fr 1fr;gap:14px}
 .we-gallery{grid-template-columns:repeat(2,1fr)}
 .we-banner{height:270px}
 .we-page-hero{padding:65px 0 55px}
 .we-page-hero h1{font-size:49px}
}
