/*
Theme Name: Twirl & Grace
Theme URI: https://example.com/
Author: Twirl & Grace
Description: Custom editorial boutique theme for Twirl & Grace sewing patterns.
Version: 0.2.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: twirl-grace
*/
:root{--cream:#fff9f5;--paper:#fffdfb;--blush:#f8dfd9;--rose:#be797c;--rose-dark:#9e6065;--ink:#332c2c;--line:#e9c6c1;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:16px}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}button,input{font:inherit}.announcement{background:#f7dcd6;text-align:center;letter-spacing:.3em;font-size:12px;padding:13px 20px;color:#874c51}.site-header{background:linear-gradient(115deg,#fff9f6,#fff3ee 60%,#fffaf6)}.header-main{max-width:1320px;margin:auto;min-height:154px;padding:20px 35px;display:grid;grid-template-columns:1fr minmax(240px,610px) 1fr;align-items:center}.brand{display:block;text-align:center}.brand img{width:min(100%,570px);display:block;margin:auto}.header-tools{display:flex;justify-content:flex-end;gap:19px;align-items:center}.header-tools a{font-size:13px;letter-spacing:.09em}.header-tools svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.4}.main-nav{border-bottom:1px solid var(--line);border-top:1px solid #f4dfdb}.main-nav ul{max-width:1140px;margin:0 auto;display:flex;gap:clamp(18px,3.1vw,55px);justify-content:center;list-style:none;padding:18px 18px}.main-nav a{text-transform:uppercase;font-size:12px;letter-spacing:.15em;white-space:nowrap}.main-nav a:hover,.tile:hover h2{color:var(--rose-dark)}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:56% 44%;min-height:clamp(440px,47vw,640px);background:#f5e7df}.hero-photo{background-size:cover;background-position:center 43%;min-height:430px}.hero-copy{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:50px 7%;background:radial-gradient(ellipse at 75% 30%,#fffaf3 0%,#f5e6e0 67%,#f2ddd7 100%)}.hero-eyebrow{font-size:clamp(15px,1.6vw,23px);letter-spacing:.18em;line-height:1.65;text-transform:uppercase;max-width:430px;margin:0}.hero-script{font-family:'Brush Script MT','Segoe Script',cursive;font-weight:400;color:var(--rose);font-size:clamp(92px,12vw,175px);line-height:1.15;margin:5px 0 4px;transform:rotate(-5deg)}.heart-rule{color:var(--rose);font-size:31px;letter-spacing:.2em;margin-bottom:26px}.btn{display:inline-block;background:var(--rose);color:white;text-transform:uppercase;letter-spacing:.14em;padding:16px 27px;font-size:12px;border:1px solid var(--rose);transition:.2s}.btn:hover{background:var(--rose-dark)}.feature-section{background:#fff9f6;padding:25px clamp(20px,3.2vw,55px) 35px}.features{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;max-width:1440px;margin:auto}.tile{border:1px solid #ebc9c3;background:#f9e0db;display:block;text-align:center;transition:transform .2s}.tile:hover{transform:translateY(-3px)}.tile img{width:100%;aspect-ratio:4/4.1;object-fit:cover;display:block}.tile-content{padding:20px 10px 18px;min-height:145px}.tile h2{font-weight:normal;text-transform:uppercase;font-size:16px;letter-spacing:.12em;margin:0 0 10px}.tile p{font-style:italic;line-height:1.5;font-size:15px;margin:0}.tile .arrow{font-size:27px;line-height:1.1;margin-top:6px}.newsletter{background:linear-gradient(125deg,#f8e2dc,#f8eae4 65%,#f5d5d0);padding:65px 30px;border-top:1px solid var(--line)}.newsletter-inner{max-width:1000px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.newsletter-copy{text-align:center;padding-right:40px;border-right:1px solid #c98f8c}.newsletter h2{font-family:'Brush Script MT','Segoe Script',cursive;font-weight:400;font-size:clamp(38px,4.4vw,65px);line-height:1.15;margin:0 0 10px}.newsletter p{font-size:17px;line-height:1.6;margin:0}.newsletter-form{display:grid;gap:12px}.newsletter-form input{width:100%;border:1px solid #e8c8c2;background:#fffaf6;padding:16px;font-size:15px}.newsletter-form .btn{width:100%;cursor:pointer}.newsletter-note{font-size:12px;color:#805e5e;line-height:1.5}.site-footer{background:#f6dcd7;text-align:center;padding:23px 15px 27px;color:#7f4c50;letter-spacing:.19em;text-transform:uppercase;font-size:11px}.site-footer small{display:block;letter-spacing:.08em;text-transform:none;margin-top:12px}.page-content{max-width:980px;min-height:40vh;margin:65px auto;padding:0 25px;line-height:1.7}.page-content h1{font-weight:normal;font-size:38px}.placeholder-message{background:#fff4f0;border:1px solid var(--line);padding:26px}.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px);overflow:hidden;height:1px;width:1px}.skip-link:focus{clip:auto;width:auto;height:auto;top:5px;left:5px;z-index:1000;background:white;padding:10px}@media(max-width:850px){.header-main{grid-template-columns:1fr auto;min-height:120px;padding:16px 22px}.brand{grid-column:1;grid-row:1}.header-tools{grid-column:2;grid-row:1}.main-nav ul{gap:18px;flex-wrap:wrap;padding:13px}.main-nav a{font-size:11px}.hero{grid-template-columns:1fr 1fr}.hero-photo{min-height:380px}.hero-copy{padding:35px 5%}.hero-script{font-size:clamp(75px,11vw,125px)}.features{gap:12px}.tile-content{padding:16px 7px}.tile h2{font-size:13px}.tile p{font-size:13px}}@media(max-width:620px){.announcement{font-size:10px}.header-main{min-height:90px;padding:13px 15px}.brand img{max-width:340px}.header-tools{gap:9px}.header-tools .header-tool-label{display:none}.menu-toggle{display:block;border:1px solid var(--line);background:transparent;padding:9px 12px;margin:0 auto 10px;letter-spacing:.15em;text-transform:uppercase;font-size:11px}.main-nav ul{display:none;flex-direction:column;align-items:center;gap:0;padding:0 0 12px}.main-nav.is-open ul{display:flex}.main-nav li{width:100%;text-align:center}.main-nav a{display:block;padding:12px}.hero{grid-template-columns:1fr}.hero-photo{min-height:370px;background-position:center 40%}.hero-copy{min-height:350px;padding:35px 20px}.hero-eyebrow{font-size:16px}.hero-script{font-size:100px}.features{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.tile img{aspect-ratio:1/1.1}.newsletter{padding:45px 22px}.newsletter-inner{grid-template-columns:1fr;gap:28px}.newsletter-copy{border:0;border-bottom:1px solid #c98f8c;padding:0 0 26px}.site-footer{line-height:1.9}}

/* v0.2: editorial imagery from the approved homepage concept */
.hero.hero-mockup{display:block;min-height:0;background:#f7e7e0}
.hero-mockup-desktop{position:relative;width:100%;line-height:0}
.hero-mockup-desktop>img{display:block;width:100%;height:auto;max-width:none}
.hero-mockup-cta{position:absolute;left:63.9%;top:71.5%;width:26.3%;height:9.6%;z-index:2;border-radius:2px}
.hero-mockup-cta:focus-visible{outline:3px solid #4b242a;outline-offset:3px}
.hero-mockup-mobile{display:none}
@media(max-width:620px){.hero-mockup-desktop{display:none}.hero-mockup-mobile{display:block}.hero.hero-mockup .hero-photo{min-height:390px;background-position:center 43%}.hero.hero-mockup .hero-copy{min-height:340px}}
