/*
Theme Name: Ahnek
Theme URI: https://ahnek.com
Author: Ahnek
Author URI: https://ahnek.com
Description: A home interior and exterior design journal theme built for ahnek.com. Supports categories, featured images, and a swatch-board design system.
Version: 1.0
Requires PHP: 7.4
Text Domain: ahnek
*/

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,500;0,9..144,600;1,9..144,500&family=Inter:wght@400;500;600&family=Space+Mono:wght@400;700&display=swap');

:root{
  --plaster:#EDE7DD;
  --plaster-deep:#E2DACB;
  --ink:#262220;
  --sage:#4A5D4E;
  --sage-deep:#37473C;
  --brass:#B8935A;
  --clay:#B5654A;
  --stone:#D7D2C7;
  --paper:#F7F4EE;
  --radius:2px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--plaster);color:var(--ink);font-family:'Inter',sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;}
h1,h2,h3{font-family:'Fraunces',serif;font-weight:500;margin:0;letter-spacing:-0.01em;}
.mono{font-family:'Space Mono',monospace;text-transform:uppercase;letter-spacing:0.12em;font-size:11px;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.wrap{max-width:1160px;margin:0 auto;padding:0 32px;}
@media(max-width:640px){.wrap{padding:0 20px;}}

/* header */
header.site-header{position:sticky;top:0;z-index:50;background:rgba(237,231,221,0.92);backdrop-filter:blur(6px);border-bottom:1px solid var(--stone);}
.nav{display:flex;align-items:center;justify-content:space-between;padding:13px 0;position:relative;}
.logo{font-family:'Fraunces',serif;font-size:19px;font-weight:600;display:flex;align-items:center;gap:7px;}
.logo-mark{width:22px;height:22px;flex-shrink:0;}
.logo-text{display:flex;align-items:baseline;gap:5px;}
.logo em{font-style:italic;font-weight:300;color:var(--sage-deep);font-size:12.5px;}
.logo-footer{font-size:16px;}
.logo-footer .logo-mark{width:19px;height:19px;}
.nav-links{display:flex;gap:22px;flex-wrap:nowrap;white-space:nowrap;}
.nav-links a{font-family:'Space Mono',monospace;font-size:11.5px;text-transform:uppercase;letter-spacing:0.09em;position:relative;padding-bottom:4px;}
.nav-links a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--clay);transition:width .25s ease;}
.nav-links a:hover::after, .nav-links a.active::after{width:100%;}
.nav-links a.active{color:var(--clay);}
.nav-cta{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:0.08em;border:1px solid var(--ink);padding:9px 18px;border-radius:var(--radius);transition:background .2s ease,color .2s ease;white-space:nowrap;}
.nav-cta:hover{background:var(--ink);color:var(--paper);}

/* mobile menu */
.burger{display:none;background:none;border:0;cursor:pointer;width:32px;height:32px;position:relative;padding:0;z-index:60;flex-shrink:0;}
.burger span{display:block;position:absolute;left:4px;right:4px;height:2px;background:var(--ink);transition:transform .25s ease, opacity .2s ease;}
.burger span:nth-child(1){top:10px;}
.burger span:nth-child(2){top:15px;}
.burger span:nth-child(3){top:20px;}
.burger.open span:nth-child(1){transform:translateY(5px) rotate(45deg);}
.burger.open span:nth-child(2){opacity:0;}
.burger.open span:nth-child(3){transform:translateY(-5px) rotate(-45deg);}
.mobile-menu{display:none;position:absolute;top:100%;left:0;right:0;background:var(--plaster);border-bottom:1px solid var(--stone);flex-direction:column;padding:6px 20px 26px;z-index:55;box-shadow:0 12px 24px -12px rgba(38,34,32,0.18);}
.mobile-menu.open{display:flex;}
.mobile-menu a{font-family:'Space Mono',monospace;font-size:14px;text-transform:uppercase;letter-spacing:0.08em;padding:16px 2px;border-bottom:1px solid var(--stone);}
.mobile-menu a.active{color:var(--clay);}
.mobile-menu a.mm-cta{margin-top:18px;background:var(--ink);color:var(--paper);text-align:center;padding:15px;border-radius:var(--radius);border-bottom:none;letter-spacing:0.1em;}
body.menu-open{overflow:hidden;}
@media(max-width:1024px){.burger{display:block;} .nav-links,.nav-cta{display:none;}}

/* hero */
.hero{padding:88px 0 60px;}
.hero-grid{display:grid;grid-template-columns:1.15fr 0.85fr;gap:64px;align-items:end;}
.eyebrow{color:var(--sage-deep);margin-bottom:18px;display:flex;align-items:center;gap:10px;}
.eyebrow::before{content:"";width:22px;height:1px;background:var(--clay);display:inline-block;}
h1.headline{font-size:clamp(38px,5.4vw,68px);line-height:1.04;max-width:640px;}
h1.headline .accent{font-style:italic;font-weight:300;color:var(--sage-deep);}
.hero-sub{margin-top:26px;max-width:420px;color:#4C4640;font-size:16.5px;}
.hero-actions{display:flex;gap:16px;margin-top:34px;align-items:center;flex-wrap:wrap;}
.btn-primary{background:var(--ink);color:var(--paper);padding:14px 26px;border-radius:var(--radius);font-family:'Space Mono',monospace;font-size:12.5px;letter-spacing:0.08em;text-transform:uppercase;transition:background .2s ease;display:inline-block;border:none;cursor:pointer;}
.btn-primary:hover{background:var(--sage-deep);}
.btn-text{font-family:'Space Mono',monospace;font-size:12.5px;letter-spacing:0.06em;border-bottom:1px solid var(--ink);padding-bottom:2px;}

/* page hero (inner pages) */
.page-hero{padding:64px 0 48px;border-bottom:1px solid var(--stone);}
.page-hero .mono.eyebrow{margin-bottom:14px;}
.page-hero h1{font-size:clamp(32px,4.4vw,52px);max-width:680px;}
.page-hero p{margin-top:18px;max-width:520px;color:#4C4640;font-size:16px;}

/* swatch board */
.swatchboard{background:var(--paper);border:1px solid var(--stone);padding:22px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.swatch{padding:16px 14px 12px;border-radius:var(--radius);position:relative;min-height:88px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .25s ease;}
.swatch:hover{transform:translateY(-3px);}
.swatch .num{font-family:'Space Mono',monospace;font-size:10px;opacity:0.65;}
.swatch .name{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:0.02em;margin-top:10px;}
.s-sage{background:var(--sage);color:var(--paper);}
.s-plaster{background:var(--plaster-deep);color:var(--ink);border:1px solid var(--stone);}
.s-brass{background:var(--brass);color:var(--ink);}
.s-clay{background:var(--clay);color:var(--paper);}
.s-ink{background:var(--ink);color:var(--paper);}
.s-stone{background:var(--stone);color:var(--ink);}
.swatch-caption{grid-column:1/-1;margin-top:4px;color:#6b6459;font-size:12.5px;font-family:'Space Mono',monospace;letter-spacing:0.02em;}

/* sections */
section.block{padding:78px 0;border-top:1px solid var(--stone);}
.no-border{border-top:none;}
.block-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:44px;gap:20px;flex-wrap:wrap;}
.block-head h2{font-size:clamp(26px,3vw,36px);}
.block-head .see-all{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:0.08em;white-space:nowrap;border-bottom:1px solid var(--ink);padding-bottom:2px;}
.block-tag{color:var(--clay);margin-bottom:10px;display:block;}
.sketch{width:34px;height:34px;stroke:var(--sage-deep);fill:none;stroke-width:1.3;}
.sketch img, .sketch-photo{width:100%;height:170px;object-fit:cover;border-radius:var(--radius);}

.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
.card{background:var(--paper);border:1px solid var(--stone);padding:26px 24px 28px;display:flex;flex-direction:column;gap:14px;transition:border-color .25s ease, transform .25s ease;}
.card:hover{border-color:var(--brass);transform:translateY(-4px);}
.card .meta{display:flex;justify-content:space-between;align-items:center;}
.card .meta .cat{font-family:'Space Mono',monospace;font-size:10.5px;letter-spacing:0.08em;color:var(--sage-deep);}
.card .meta .time{font-family:'Space Mono',monospace;font-size:10.5px;color:#8b8478;}
.card h3{font-size:21px;line-height:1.25;}
.card h3 a{color:inherit;}
.card p{margin:0;color:#5b554c;font-size:14.5px;}
.card .read{margin-top:auto;font-family:'Space Mono',monospace;font-size:11.5px;letter-spacing:0.06em;color:var(--ink);display:flex;align-items:center;gap:6px;}
.card .read svg{width:12px;height:12px;transition:transform .2s ease;}
.card:hover .read svg{transform:translateX(3px);}

/* featured */
.featured{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--stone);background:var(--paper);}
.featured-art{background:var(--sage);position:relative;min-height:340px;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.featured-art img{width:100%;height:100%;object-fit:cover;}
.featured-copy{padding:44px;display:flex;flex-direction:column;justify-content:center;gap:16px;}
.featured-copy .cat{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:0.1em;color:var(--clay);}
.featured-copy h3{font-size:clamp(24px,2.6vw,32px);line-height:1.2;}
.featured-copy h3 a{color:inherit;}
.featured-copy p{color:#5b554c;margin:0;}

/* newsletter */
.news{background:var(--ink);color:var(--paper);padding:70px 0;}
.news-inner{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;}
.news h2{color:var(--paper);font-size:clamp(26px,3vw,34px);}
.news p{color:#C9C3B8;max-width:400px;margin-top:14px;}
.news-form{display:flex;gap:0;border:1px solid #4a453f;border-radius:var(--radius);overflow:hidden;}
.news-form input{flex:1;background:transparent;border:0;padding:16px 18px;color:var(--paper);font-family:'Inter',sans-serif;font-size:14px;}
.news-form input::placeholder{color:#8b857b;}
.news-form input:focus{outline:none;}
.news-form button{background:var(--clay);border:0;color:var(--paper);padding:0 24px;font-family:'Space Mono',monospace;font-size:12px;letter-spacing:0.08em;text-transform:uppercase;cursor:pointer;}
.news-note{margin-top:12px;font-size:12px;color:#8b857b;font-family:'Space Mono',monospace;}

/* about */
.about-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:60px;align-items:center;}
.about-art{background:var(--paper);border:1px solid var(--stone);min-height:320px;display:flex;align-items:center;justify-content:center;}
.value-list{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:10px;}
.value-item{border-top:2px solid var(--ink);padding-top:14px;}
.value-item .mono{color:var(--clay);}
.value-item h3{font-size:19px;margin-top:8px;}
.value-item p{color:#5b554c;font-size:14.5px;margin-top:8px;}

/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;}
.contact-info .item{border-top:1px solid var(--stone);padding:20px 0;}
.contact-info .item .mono{color:var(--sage-deep);margin-bottom:6px;display:block;}
.contact-info .item p, .contact-info .item a.email{font-size:16px;}
.contact-info .item a.email{border-bottom:1px solid var(--ink);}
.form-field{margin-bottom:20px;display:flex;flex-direction:column;gap:8px;}
.form-field label{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:#6b6459;}
.form-field input, .form-field textarea{background:var(--paper);border:1px solid var(--stone);padding:14px 16px;font-family:'Inter',sans-serif;font-size:15px;color:var(--ink);border-radius:var(--radius);resize:vertical;width:100%;}
.form-field input:focus, .form-field textarea:focus{outline:none;border-color:var(--brass);}
.form-note{margin-top:8px;font-size:12px;color:#8b8478;font-family:'Space Mono',monospace;}
.form-success{border:1px solid var(--sage);background:var(--paper);padding:24px;border-radius:var(--radius);}
.form-success p:first-child{font-family:'Fraunces',serif;font-size:22px;margin-bottom:8px;}

/* prose */
.prose{max-width:740px;}
.prose h2{font-size:22px;margin-top:40px;margin-bottom:14px;}
.prose h2:first-child{margin-top:0;}
.prose p{color:#4C4640;margin:0 0 14px;font-size:15.5px;}
.prose ul{color:#4C4640;font-size:15.5px;padding-left:20px;margin:0 0 14px;}
.prose li{margin-bottom:6px;}
.prose .updated{font-family:'Space Mono',monospace;font-size:11.5px;color:#8b8478;margin-bottom:34px;display:block;}
.prose img{margin:20px 0;border-radius:var(--radius);}
.prose a{color:var(--clay);text-decoration:underline;text-underline-offset:2px;}
.prose a:hover{color:var(--sage-deep);}

/* single post */
.post-header{padding:64px 0 40px;border-bottom:1px solid var(--stone);}
.post-header .mono.eyebrow{margin-bottom:14px;}
.post-header h1{font-size:clamp(30px,4.2vw,48px);max-width:780px;}
.post-header .post-meta{margin-top:18px;display:flex;gap:16px;font-family:'Space Mono',monospace;font-size:11.5px;color:#8b8478;}
.post-thumb{margin-top:36px;border:1px solid var(--stone);}
.post-thumb img{width:100%;max-height:480px;object-fit:cover;}

/* pagination */
.pagination{display:flex;gap:10px;justify-content:center;margin-top:20px;flex-wrap:wrap;}
.pagination .page-numbers{font-family:'Space Mono',monospace;font-size:12px;padding:10px 16px;border:1px solid var(--stone);border-radius:var(--radius);}
.pagination .page-numbers.current{background:var(--ink);color:var(--paper);border-color:var(--ink);}

/* footer */
footer.site-footer{padding:50px 0 40px;}
.foot-grid{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;}
.foot-links{display:flex;gap:22px;flex-wrap:wrap;}
.foot-links a{font-family:'Space Mono',monospace;font-size:11.5px;letter-spacing:0.06em;color:#6b6459;}
.foot-social{display:flex;gap:14px;align-items:center;}
.foot-social-link{width:34px;height:34px;border:1px solid var(--stone);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--ink);transition:background .2s ease,color .2s ease,border-color .2s ease;}
.foot-social-link svg{width:16px;height:16px;}
.foot-social-link:hover{background:var(--ink);color:var(--paper);border-color:var(--ink);}
.foot-copy{font-family:'Space Mono',monospace;font-size:11px;color:#8b8478;width:100%;text-align:center;order:99;margin-top:6px;}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease, transform .6s ease;}
.reveal.in{opacity:1;transform:translateY(0);}
@media (prefers-reduced-motion: reduce){.reveal{opacity:1;transform:none;transition:none;} .swatch:hover,.card:hover{transform:none;}}

@media(max-width:900px){
  .hero-grid{grid-template-columns:1fr;}
  .card-grid{grid-template-columns:1fr 1fr;}
  .featured{grid-template-columns:1fr;}
  .news-inner{grid-template-columns:1fr;}
  .about-grid{grid-template-columns:1fr;}
  .value-list{grid-template-columns:1fr 1fr;}
  .contact-grid{grid-template-columns:1fr;}
}
@media(max-width:640px){
  .card-grid{grid-template-columns:1fr;}
  .swatchboard{grid-template-columns:repeat(2,1fr);}
  .block-head{flex-direction:column;align-items:flex-start;}
  .value-list{grid-template-columns:1fr;}
}
