
/* Greg Freeman portfolio: real brands with distinct identities. */
:root{--portfolio-gold:#e8b94d}
.gf-badge{display:inline-block;padding:.35rem .64rem;border:1px solid currentColor;border-radius:2px;font:700 .68rem/1.2 var(--sans);text-transform:uppercase;letter-spacing:.13em}
.brand-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.brand-tile{min-height:390px;padding:clamp(1.35rem,2.7vw,2.7rem)}
.brand-tile h3{font-size:clamp(2rem,2.6vw,3.45rem)}
.brand-tile--growth{background:linear-gradient(145deg,#061a17,#133628 75%,#203723);color:#fff}
.brand-tile--loralis{background:#f4efe4;color:#173d32;border:1px solid #e1d8c7}
.brand-tile--loralis p{color:#3d5048}
.brand-tile--loralis .tagline{color:#a88755}
.brand-tile--loralis .tile-links a{color:#173d32;border-color:#638779}
.brand-tile--loralis .tile-links a:hover{color:#fff;background:#173d32}
.brand-tile--loralis .approved-logo{display:block;width:100%;max-width:340px;margin:1.15rem 0 1.35rem;object-fit:contain}
.brand-tile--loralis .brand-soon{display:inline-block;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.13em;border:1px solid #a88755;color:#173d32;padding:.45rem .65rem;margin-bottom:.65rem}
.brand-tile--wp h3{font-family:var(--serif)}
.home-editorial-intro{max-width:740px}
.gf-feature-row{display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;align-items:center}
.gf-feature-row img{width:100%;max-width:400px;object-fit:contain}
.gf-subnav{display:flex;gap:.6rem;flex-wrap:wrap;margin:1rem 0 2rem}
.gf-subnav a{font-size:.79rem;font-weight:750;letter-spacing:.025em;border:1px solid var(--line);padding:.65rem .88rem;border-radius:2px}
.gf-subnav a:hover{background:var(--forest-dd);color:#fff}
.gf-issue-tag{color:var(--brass);font:750 .71rem/1.4 var(--sans);letter-spacing:.11em;text-transform:uppercase}
.gf-note{font-size:.83rem;color:var(--mut);line-height:1.5}
.gf-issue-top{display:grid;grid-template-columns:1.3fr .7fr;gap:1.6rem;align-items:center}
.gf-issue-top h2{font-size:clamp(2rem,4vw,3.65rem);margin:.65rem 0}
.gf-issue-top p{max-width:60ch}
.gf-issue-top aside{background:var(--cream-2);padding:1.6rem;border-left:3px solid var(--brass)}
.gf-issue-top aside p{font-size:.91rem}
.gf-issue-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.5rem}
.gf-footer-links{display:flex;flex-wrap:wrap;gap:.6rem;font-size:.78rem}
.gf-footer-links a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.loralis-hero{background:#f4efe4;color:#173d32;padding:clamp(2.5rem,5vw,5rem) 0}
.loralis-hero .wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(250px,.9fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.loralis-hero .approved-logo{width:100%;max-width:570px;margin:0 0 2.2rem}
.loralis-hero h1{font-family:'Fraunces',var(--serif);font-size:clamp(2.3rem,4vw,4.1rem);line-height:1.08;max-width:19ch;color:#173d32}
.loralis-hero .lede{color:#34463f;margin:1.4rem 0;max-width:60ch}
.loralis-hero .brand-soon{display:inline-block;font:800 .73rem/1.3 'Inter',var(--sans);color:#173d32;letter-spacing:.17em;text-transform:uppercase;border:1px solid #a88755;padding:.6rem .85rem}
.loralis-visual{background:#173d32;min-height:350px;border-radius:3px;display:flex;align-items:center;justify-content:center;position:relative;padding:2.3rem;overflow:hidden}
.loralis-visual .symbol{width:100%;max-width:360px;filter:brightness(1.4)}
.loralis-visual .line{border:1px solid rgba(168,135,85,.24);border-radius:50%;position:absolute;width:400px;height:400px;inset:auto -115px -170px auto}
.loralis-visual p{color:#f4efe4;font-size:1.5rem;text-align:center;font-family:'Fraunces',var(--serif);z-index:1}
.loralis-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.loralis-feature{background:#faf8f2;border:1px solid #dfdace;padding:1.6rem;min-height:200px}
.loralis-feature h3{font-size:1.35rem;margin:.6rem 0;color:#173d32}
.loralis-feature p{color:#44564f;font-size:.92rem}
.growth-portrait{max-width:310px;aspect-ratio:4/5;object-fit:cover;object-position:top center;border:5px solid #d9ac49;border-radius:4px}
.growth-hero .wrap{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(220px,.65fr);gap:2.4rem;align-items:center}
.growth-logo{font-size:clamp(2.8rem,5.7vw,6rem)}
.gf-newsletter-format{display:flex;gap:1rem;flex-wrap:wrap;padding:1rem 0 0}
.gf-newsletter-format a{display:inline-block;border:1px solid var(--brass);padding:.65rem 1rem;font-size:.8rem;font-weight:800}
.gf-newsletter-format a:hover{background:var(--forest-dd);color:#fff}
@media(max-width:1100px){.brand-grid{grid-template-columns:1fr 1fr}.brand-tile--loralis{grid-column:span 2;min-height:260px}.brand-tile--loralis .approved-logo{max-width:270px}}
@media(max-width:850px){.gf-feature-row,.gf-issue-top,.loralis-hero .wrap,.growth-hero .wrap{grid-template-columns:1fr}.loralis-grid{grid-template-columns:1fr}.growth-portrait{max-width:280px}.loralis-visual{min-height:240px}.gf-issue-top aside{margin-top:1rem}}
@media(max-width:650px){.brand-grid{grid-template-columns:1fr}.brand-tile--loralis{grid-column:auto}.brand-tile{min-height:315px}.brand-tile h3{font-size:clamp(2.1rem,11vw,3.5rem)}.portfolio-lead{margin-bottom:1.5rem}.gf-issue-actions .btn{width:100%;text-align:center}.growth-hero .wrap{gap:1.2rem}}

/* Full editorial format for Without Prejudice Issue 12 */
.gf-article-hero{background:#f4efe5}
.gf-article-hero__inner{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,.7fr);align-items:center;gap:clamp(2rem,6vw,6rem);padding-top:clamp(2rem,4vw,4rem)}
.gf-article-hero h1{font-size:clamp(2.6rem,5vw,5.25rem);line-height:1.05;letter-spacing:-.035em;max-width:18ch;margin:1rem 0 1.5rem}
.gf-article-hero .lede{font-size:clamp(1rem,1.6vw,1.18rem);max-width:60ch;color:#4a564b}
.gf-article-byline{font-size:.78rem;letter-spacing:.045em;color:#6a6e60;margin:1.2rem 0}
.gf-article-byline a{text-decoration:underline;text-underline-offset:3px}
.gf-source-visual{padding:clamp(1.2rem,2.7vw,2.5rem);background:#153b31;color:#f7f3ea;box-shadow:0 20px 65px rgba(21,59,49,.15)}
.gf-source-visual__eyebrow{display:block;color:#d9b869;font:.7rem/1.4 var(--sans);font-weight:800;letter-spacing:.15em;text-transform:uppercase;margin:0 0 1.5rem}
.gf-source-visual>div{display:flex;align-items:center;gap:1.1rem;padding:1.25rem 0;border-top:1px solid rgba(255,255,255,.22)}
.gf-source-visual>div b{font-family:var(--sans);color:#d9b869;font-size:.85rem}
.gf-source-visual>div span{font-family:var(--serif);font-size:1.2rem}
.gf-source-visual p{font-size:.83rem;color:#e1e5dc;padding-top:1rem;border-top:1px solid rgba(255,255,255,.22)}
.gf-full-article{max-width:770px;margin:auto;color:#202820}
.gf-full-article h2{font-size:clamp(1.85rem,3vw,2.55rem);line-height:1.18;margin:3.1rem 0 1.15rem;letter-spacing:-.02em}
.gf-full-article p{font-size:clamp(1rem,1.22vw,1.075rem);line-height:1.87;margin:0 0 1.35rem}
.gf-full-article .gf-article-opening{font-size:clamp(1.28rem,2vw,1.58rem);font-family:var(--serif);font-weight:700;line-height:1.5;margin-bottom:.5rem}
.gf-full-article .gf-article-opening-sub{font-size:clamp(1.1rem,1.65vw,1.27rem);font-weight:700;color:#3a5c4a;margin-bottom:2.1rem}
.gf-transparency-note{display:flex;flex-direction:column;gap:.1rem;border-left:4px solid #a88755;background:#f4efe4;padding:1.2rem 1.5rem;margin:2.5rem 0}
.gf-transparency-note span{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:#506458}
.gf-transparency-note strong{font-family:var(--serif);font-size:2.3rem;color:#173d32}
.gf-article-end{margin-top:3rem;border-top:1px solid #d8dfd4;padding-top:1.6rem}
.gf-article-end .gf-article-signature{font-size:.91rem;line-height:1.6}
.gf-article-end a{text-decoration:underline;text-underline-offset:3px}
.gf-article-end .gf-note{font-size:.82rem;line-height:1.6;color:#687469}
.gf-article-follow{display:flex;justify-content:space-between;gap:2rem;align-items:center}
.gf-article-follow h2{margin:.3rem 0 1rem}
.gf-article-follow p{max-width:50ch;color:#4d5d50}
.gf-article-follow .gf-issue-actions{max-width:370px;margin:0}
@media(max-width:850px){.gf-article-hero__inner{grid-template-columns:1fr}.gf-source-visual{max-width:520px}.gf-article-follow{display:block}.gf-article-follow .gf-issue-actions{margin-top:1.5rem}}
