
:root{
  --ink:#241c1c; --muted:#776869; --paper:#fffaf6; --cream:#f7eee7; --rose:#c97b75;
  --rose-dark:#9e514e; --sage:#788f76; --moss:#596b55; --clay:#b96f56; --stone:#847d76;
  --gold:#c7a35d; --line:rgba(36,28,28,.11); --glass:rgba(255,250,246,.74);
  --shadow:0 28px 90px rgba(69,38,32,.18); --soft:0 16px 46px rgba(82,55,49,.12);
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:"DM Sans",Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--ink);background:radial-gradient(circle at 12% 8%,#fff3e9 0 24%,transparent 34%),linear-gradient(180deg,#fffaf6 0%,#f4ebe4 52%,#fffaf6 100%);line-height:1.5;overflow-x:hidden} a{color:inherit}.site-shell{position:relative}.grain{position:fixed;inset:0;pointer-events:none;opacity:.35;background-image:radial-gradient(rgba(36,28,28,.08) .7px, transparent .7px);background-size:18px 18px;mix-blend-mode:multiply;z-index:0}.nav{position:fixed;top:16px;left:50%;transform:translateX(-50%);width:min(1120px,calc(100% - 28px));z-index:20;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 12px 10px 16px;border:1px solid rgba(255,255,255,.68);border-radius:999px;background:rgba(255,250,246,.75);backdrop-filter:blur(22px);box-shadow:0 16px 50px rgba(61,38,35,.13)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:900;letter-spacing:-.03em}.brand-mark{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:white;background:conic-gradient(from 210deg,var(--rose),#e5a996,var(--sage),var(--gold),var(--rose));box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)}.nav-links{display:flex;gap:2px;align-items:center}.nav-links a{padding:10px 13px;border-radius:999px;text-decoration:none;color:var(--muted);font-size:14px;font-weight:800}.nav-links a:hover{background:white;color:var(--ink)}.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:13px 20px;border-radius:999px;text-decoration:none;font-weight:900;border:1px solid transparent;background:linear-gradient(135deg,var(--rose),var(--rose-dark));color:white;box-shadow:0 15px 34px rgba(174,87,78,.28);transition:transform .2s ease, box-shadow .2s ease}.nav-cta:hover,.btn:hover{transform:translateY(-2px);box-shadow:0 22px 44px rgba(174,87,78,.34)}.btn.ghost{background:rgba(255,255,255,.72);color:var(--ink);border-color:rgba(36,28,28,.10);box-shadow:none}.hero{position:relative;min-height:100svh;display:grid;place-items:end start;padding:128px clamp(18px,5vw,74px) 68px;isolation:isolate}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,18,17,.66) 0%,rgba(25,18,17,.36) 42%,rgba(25,18,17,.10) 75%),linear-gradient(0deg,rgba(36,28,28,.34),transparent 38%),url('/assets/images/hero-planner-luxe.png') center/cover no-repeat;z-index:-2}.hero:after{content:"";position:absolute;inset:auto 0 0;height:190px;background:linear-gradient(0deg,var(--paper),transparent);z-index:-1}.hero-inner{width:min(1030px,100%);color:white}.kicker{display:inline-flex;gap:8px;align-items:center;padding:8px 13px;border:1px solid rgba(255,255,255,.32);border-radius:999px;background:rgba(255,255,255,.14);backdrop-filter:blur(16px);font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:900}.hero h1{margin:20px 0 16px;max-width:860px;font-size:clamp(48px,7.6vw,112px);line-height:.88;letter-spacing:-.075em}.hero p{max-width:640px;margin:0;color:rgba(255,255,255,.86);font-size:clamp(18px,2.1vw,24px)}.hero-actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:30px}.proof-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.proof{padding:12px 14px;border-radius:18px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(12px);font-weight:800}.section{position:relative;z-index:1;padding:clamp(62px,8vw,116px) clamp(18px,5vw,74px)}.section-head{display:grid;grid-template-columns:.72fr 1fr;gap:30px;align-items:end;margin:0 auto 34px;max-width:1160px}.eyebrow{color:var(--rose-dark);font-weight:950;text-transform:uppercase;letter-spacing:.17em;font-size:12px}.section h2{margin:0;font-size:clamp(36px,5vw,72px);line-height:.95;letter-spacing:-.06em}.section-head p:not(.eyebrow){max-width:590px;color:var(--muted);font-size:18px}.magazine-grid{max-width:1160px;margin:auto;display:grid;grid-template-columns:1.05fr .95fr;gap:20px}.feature-card{position:relative;min-height:510px;display:flex;align-items:flex-end;overflow:hidden;border-radius:38px;text-decoration:none;background:#ddd;box-shadow:var(--shadow);isolation:isolate}.feature-card.small{min-height:245px}.stack{display:grid;gap:20px}.feature-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .55s ease;z-index:-2}.feature-card:hover img{transform:scale(1.055)}.feature-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(27,20,19,.74),rgba(27,20,19,.16) 62%,rgba(27,20,19,.02));z-index:-1}.card-copy{padding:28px;color:white}.card-copy .label{display:inline-flex;margin-bottom:11px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.18);font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.13em}.card-copy h3{margin:0 0 8px;font-size:clamp(27px,3.2vw,46px);line-height:.96;letter-spacing:-.045em}.small .card-copy h3{font-size:26px}.card-copy p{max-width:520px;margin:0;color:rgba(255,255,255,.82)}.lux-strip{max-width:1160px;margin:26px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.lux-item{padding:22px;border-radius:28px;background:rgba(255,255,255,.68);border:1px solid var(--line);box-shadow:var(--soft)}.lux-item strong{display:block;font-size:24px;letter-spacing:-.04em}.lux-item span{color:var(--muted);font-weight:700}.showcase{max-width:1160px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.tile{position:relative;overflow:hidden;border-radius:32px;background:white;border:1px solid var(--line);box-shadow:var(--soft)}.tile img{width:100%;height:230px;object-fit:cover;display:block}.tile div{padding:22px}.tile h3{margin:0 0 7px;font-size:24px;letter-spacing:-.04em}.tile p{margin:0;color:var(--muted)}.conversion-panel{max-width:1160px;margin:auto;display:grid;grid-template-columns:1fr .78fr;gap:20px;align-items:stretch}.panel{padding:clamp(28px,5vw,58px);border-radius:42px;background:#201918;color:white;box-shadow:var(--shadow);position:relative;overflow:hidden}.panel:before{content:"";position:absolute;inset:-80px -80px auto auto;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(201,123,117,.55),transparent 68%)}.panel h2{position:relative;margin:0 0 14px;font-size:clamp(38px,5.4vw,76px);line-height:.94;letter-spacing:-.065em}.panel p{position:relative;max-width:690px;color:rgba(255,255,255,.78);font-size:18px}.panel .btn{position:relative;margin-top:16px}.mini-list{padding:30px;border-radius:42px;background:rgba(255,255,255,.72);border:1px solid var(--line);box-shadow:var(--soft)}.mini-list h3{font-size:30px;line-height:1;margin:0 0 18px;letter-spacing:-.04em}.mini-list ul{list-style:none;margin:0;padding:0;display:grid;gap:13px}.mini-list li{padding:15px 16px;border-radius:20px;background:white;border:1px solid var(--line);font-weight:850}.mini-list li a{display:block;color:inherit;text-decoration:none}.mini-list li a:hover{color:var(--rose-dark)}
.article-hero{min-height:78svh;padding:128px clamp(18px,5vw,74px) 42px;display:grid;grid-template-columns:1fr .85fr;gap:42px;align-items:end}.article-copy h1{font-size:clamp(44px,6.6vw,92px);line-height:.88;letter-spacing:-.07em;margin:16px 0}.article-copy p{max-width:660px;color:var(--muted);font-size:20px}.article-image{border-radius:42px;overflow:hidden;box-shadow:var(--shadow);background:white;padding:10px;transform:rotate(1deg)}.article-image img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:32px}.steps{max-width:1100px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.step{padding:25px;border-radius:30px;background:white;border:1px solid var(--line);box-shadow:var(--soft)}.step b{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--cream);color:var(--rose-dark);margin-bottom:14px}.step h3{font-size:24px;line-height:1;margin:0 0 8px;letter-spacing:-.04em}.step p{margin:0;color:var(--muted)}.footer{position:relative;z-index:1;padding:42px clamp(18px,5vw,74px);background:#191313;color:rgba(255,255,255,.74);display:grid;grid-template-columns:1fr 1fr;gap:28px}.footer strong{color:white}.footer a{color:white}.disclosure{font-size:14px}.mobile-cta{display:none}@media (max-width: 768px){.nav{top:10px;width:calc(100% - 20px);border-radius:24px}.nav-links{display:none}.nav-cta{padding:10px 13px;min-height:40px;font-size:13px}.hero{min-height:86svh;padding:108px 18px 48px}.hero h1{font-size:clamp(45px,14vw,72px)}.section{padding:58px 18px}.section-head,.magazine-grid,.conversion-panel,.article-hero,.footer{grid-template-columns:1fr}.feature-card,.feature-card.small{min-height:360px}.lux-strip,.showcase,.steps{grid-template-columns:1fr}.tile img{height:220px}.article-hero{padding-top:112px}.article-image{transform:none}.footer{gap:14px}.mobile-cta{display:inline-flex}}@media (max-width: 480px){.brand span{max-width:145px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hero-actions .btn{width:100%}.proof-row{display:none}.section h2{font-size:40px}.card-copy{padding:22px}.feature-card,.feature-card.small{border-radius:28px;min-height:318px}.lux-item,.tile,.panel,.mini-list,.step{border-radius:24px}.article-copy h1{font-size:44px}.steps{gap:12px}.footer{font-size:14px}.btn{width:100%;}.nav-cta{width:auto}}

.tile{text-decoration:none;color:inherit}.tile:hover h3{color:var(--rose-dark)}.tile:hover img{transform:scale(1.035)}.tile img{transition:transform .35s ease}

/* Full portfolio audit hardening 2026-07-14 */
html,body{max-width:100%;}img,svg,video,canvas{max-width:100%;height:auto}.hero,.grid,.section,.cards,.card,.panel,.wrap,.container,main,header,footer{max-width:100%;box-sizing:border-box}pre,code{white-space:pre-wrap;word-break:break-word}@media(max-width:900px){body{overflow-x:clip}.hero,.split,.feature,.grid,.cards,.columns{grid-template-columns:1fr!important}.section,main,header,footer{padding-left:min(6vw,22px)!important;padding-right:min(6vw,22px)!important}.card,.panel,.tile,.feature,.hero{min-width:0!important}h1,h2,h3,p,a,span{overflow-wrap:anywhere}.nav,.nav-inner{max-width:100%;flex-wrap:wrap!important}}
