/*
Theme Name: Akosua Events
Theme URI: https://akosuaevents.com/
Author: Akosua Events
Description: Calm, editorial WordPress theme for Akosua Events.
Version: 1.0.2
Requires at least: 6.2
Requires PHP: 8.0
License: GPL-2.0-or-later
Text Domain: akosua-events
*/
:root{--ink:#171514;--ivory:#f7f2e8;--paper:#fffdf9;--gold:#c19a5b;--clay:#a45b45;--sage:#7b8472;--line:#ddd4c5;--muted:#655f58;--serif:Georgia,'Times New Roman',serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;--measure:72rem;--focus:#72501e}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans)}img{max-width:100%;height:auto}a{color:#68452d;text-underline-offset:.2em}a:hover{color:var(--clay)}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}button,input,select,textarea{font:inherit}button,.button,.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.75rem 1.2rem;border:1px solid var(--clay);background:var(--clay);color:#fff;text-decoration:none;font-weight:650;cursor:pointer}button:hover,.button:hover,.wp-block-button__link:hover{background:#814532;color:#fff}.button--quiet{background:transparent;color:var(--ink);border-color:var(--ink)}.button--quiet:hover{background:var(--ink);color:#fff}.skip-link{position:absolute;top:-100px;left:1rem;background:var(--ink);color:#fff;padding:.8rem;z-index:1000}.skip-link:focus{top:1rem}.site-header{position:relative;background:var(--paper);border-bottom:1px solid var(--line);z-index:10}.header-inner{max-width:var(--measure);margin:auto;padding:.8rem 1.25rem;display:flex;align-items:center;gap:2rem;justify-content:space-between}.brand{display:flex;align-items:center;gap:.65rem;color:var(--ink);text-decoration:none}.brand-mark{display:grid;place-items:center;width:2.5rem;height:2.5rem;border:1px solid var(--gold);font:700 1rem var(--serif);letter-spacing:.04em}.brand-logo{display:block;width:2.8rem;height:2.8rem;object-fit:contain;flex:0 0 auto}.brand-name{display:block;font:600 1.1rem var(--serif);letter-spacing:.025em}.brand-tag{display:block;color:var(--muted);font-size:.68rem;line-height:1.2}.primary-nav>ul{display:flex;align-items:center;gap:1.05rem;list-style:none;margin:0;padding:0}.primary-nav a{color:var(--ink);text-decoration:none;font-size:.88rem}.primary-nav details{position:relative}.primary-nav summary{list-style:none;cursor:pointer;font-size:.88rem}.primary-nav summary::-webkit-details-marker{display:none}.primary-nav summary:after{content:'⌄';margin-left:.25rem}.primary-nav .sub-menu{display:flex;flex-direction:column;gap:0;position:absolute;top:100%;left:-.5rem;min-width:14rem;padding:.5rem;background:var(--paper);border:1px solid var(--line);box-shadow:0 8px 20px rgba(23,21,20,.08)}.primary-nav .sub-menu a{display:block;padding:.55rem}.primary-nav a:hover{text-decoration:underline}.nav-cta{white-space:nowrap}.menu-toggle{display:none;background:transparent;color:var(--ink);border-color:var(--line);padding:.55rem .8rem}.wrap{max-width:var(--measure);margin:auto;padding:0 1.25rem}.narrow{max-width:50rem}.section{padding:clamp(3.2rem,7vw,6.4rem) 0}.section--ivory{background:var(--ivory)}.section--ink{background:var(--ink);color:var(--paper)}.eyebrow{margin:0 0 .8rem;color:#765a33;text-transform:uppercase;letter-spacing:.15em;font-size:.72rem;font-weight:700}.section--ink .eyebrow{color:#dfc38f}.hero{background:var(--ivory);padding:clamp(3.5rem,8vw,7rem) 0}.hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(16rem,.8fr);align-items:center;gap:clamp(2rem,6vw,5rem)}.hero h1,.page-heading h1{font:400 clamp(2.7rem,6vw,5.5rem)/1.04 var(--serif);letter-spacing:-.035em;max-width:13ch;margin:.1rem 0 1.4rem}.hero-copy{max-width:42rem;color:#403a33;font-size:1.08rem}.hero-art{min-height:24rem;background:linear-gradient(135deg,#e5d8c3,#f4ead9 55%,#c8b193);position:relative;display:grid;place-items:center;border:1px solid #d4c2a3;overflow:hidden}.hero-art:before,.hero-art:after{content:'';position:absolute;border:1px solid rgba(23,21,20,.25);border-radius:50%;width:72%;aspect-ratio:1}.hero-art:after{width:48%;border-color:rgba(164,91,69,.45)}.hero-art span{position:relative;z-index:1;max-width:12rem;text-align:center;font:italic 1.2rem/1.5 var(--serif);color:#4c4034}.trustline{font-size:.9rem;color:var(--muted);margin-top:1.5rem}.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.page-heading{padding:4rem 0 2.5rem;background:var(--ivory)}.page-heading h1{font-size:clamp(2.5rem,5vw,4.5rem)}.page-content{padding:2.5rem 0 5rem}.page-content h2,.section h2{font:400 clamp(1.8rem,3.2vw,2.8rem)/1.15 var(--serif);letter-spacing:-.02em;margin:0 0 1rem}.page-content h3,.section h3{font:500 1.3rem/1.3 var(--serif)}.lede{font-size:1.12rem;color:#403a33;max-width:54rem}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card{padding:1.5rem;border:1px solid var(--line);background:rgba(255,255,255,.7);height:100%}.card h3{margin:.2rem 0 .7rem}.card p{margin:.4rem 0}.card-link{display:inline-block;margin-top:.7rem;font-weight:700}.price{font-weight:700;color:#68452d}.note{font-size:.9rem;color:var(--muted)}.steps{counter-reset:step;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;list-style:none;padding:0}.steps li{counter-increment:step;border-top:2px solid var(--gold);padding:1rem .2rem}.steps li:before{content:'0' counter(step);display:block;color:#765a33;font:1.3rem var(--serif);margin-bottom:.5rem}.split{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}.check-list{padding-left:1.25rem}.check-list li{padding:.25rem 0}.check-list li::marker{color:var(--sage)}.callout{padding:1.5rem;background:var(--ivory);border-left:3px solid var(--gold)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:44rem}th,td{text-align:left;vertical-align:top;padding:.8rem;border-bottom:1px solid var(--line)}th{background:var(--ivory)}.faq-list details{border-bottom:1px solid var(--line);padding:1rem 0}.faq-list summary{font-weight:700;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.field{display:flex;flex-direction:column;gap:.35rem}.field--full{grid-column:1/-1}.field label{font-weight:650}.field input,.field select,.field textarea{width:100%;min-height:48px;padding:.65rem .75rem;border:1px solid #827b71;border-radius:0;background:#fff;color:var(--ink)}.field textarea{min-height:7rem}.field-help{font-size:.85rem;color:var(--muted)}.form-notice{padding:1rem;border:1px solid var(--sage);background:#f2f5ef}.error{color:#8f281e}.honeypot{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}.site-footer{background:var(--ink);color:#f8f3e9;padding:3rem 0 1.5rem}.site-footer a{color:#f2d9a8}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2rem}.footer-grid h2{font:1.15rem var(--serif);margin-top:0}.footer-links{list-style:none;padding:0;margin:0}.footer-links li{margin:.35rem 0}.copyright{margin-top:2rem;padding-top:1rem;border-top:1px solid #514c46;color:#d0c9bf;font-size:.85rem}.placeholder-note{padding:1.2rem;border:1px dashed var(--gold);background:var(--ivory);color:#4c4034}.meta{font-size:.86rem;color:var(--muted)}.mobile-actions{display:none}
@media(max-width:1000px){.primary-nav>ul{gap:.65rem}.primary-nav a,.primary-nav summary{font-size:.82rem}.nav-cta{display:none}.hero-grid{gap:2rem}.steps{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){body{font-size:16px}.header-inner{padding:.7rem 1rem}.menu-toggle{display:inline-flex}.primary-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:.5rem 1rem 1rem}.primary-nav.is-open{display:block}.primary-nav ul{display:flex;align-items:stretch;flex-direction:column;gap:0}.primary-nav .sub-menu{position:static;min-width:0;padding:0 .5rem;border:0;box-shadow:none;background:transparent}.primary-nav li a{display:block;padding:.75rem .4rem;font-size:1rem}.nav-cta{display:none}.hero-grid,.split{grid-template-columns:1fr}.hero-art{min-height:16rem;grid-row:1}.hero h1{font-size:clamp(2.65rem,12vw,4rem)}.grid,.service-grid{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.form-grid{grid-template-columns:1fr}.field--full{grid-column:auto}.section{padding:3.3rem 0}.page-heading{padding:3rem 0 2rem}.mobile-actions{display:flex;position:sticky;bottom:0;z-index:8;background:rgba(247,242,232,.97);padding:.55rem 1rem;justify-content:center;border-top:1px solid var(--line)}.mobile-actions .button{width:100%;max-width:28rem}}
@media(max-width:430px){.steps,.footer-grid{grid-template-columns:1fr}.brand-name{font-size:1rem}.brand-tag{font-size:.62rem}.hero-art{min-height:13rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.hero-art img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit}.hero-art--stock:before,.hero-art--stock:after{display:none}.hero-art figcaption{position:absolute;z-index:2;inset:auto 0 0;padding:.65rem .75rem;background:rgba(23,21,20,.82);color:#fff;font:500 .76rem/1.4 var(--sans)}.hero-art figcaption a{color:#f2d9a8}.project-featured-image{display:block;width:100%;height:auto;max-height:48rem;object-fit:cover;margin:0 0 2rem}.project-facts{display:grid;grid-template-columns:max-content 1fr;gap:.4rem 1rem}.project-facts dt{font-weight:700}.project-facts dd{margin:0}.portfolio-filter{display:flex;flex-wrap:wrap;align-items:end;gap:.8rem;margin:2rem 0}.portfolio-filter label{font-weight:650}.portfolio-filter select{min-height:48px;padding:.65rem}.approved-testimonial{border-left:3px solid var(--gold);padding-left:1.25rem;font:italic 1.2rem/1.6 var(--serif)}
@media print{.site-header,.site-footer,.mobile-actions,.actions,.menu-toggle{display:none!important}.section,.hero,.page-heading{background:#fff!important;color:#000!important;padding:1rem 0}.wrap{max-width:none;padding:0}}
