@font-face { font-family:"NAT Display"; font-style:normal; font-weight:700; font-display:swap; src:url("/assets/fonts/nat-display-700.woff2") format("woff2"); }
@font-face { font-family:"NAT Display"; font-style:normal; font-weight:800; font-display:swap; src:url("/assets/fonts/nat-display-800.woff2") format("woff2"); }
@font-face { font-family:"NAT Display"; font-style:normal; font-weight:900; font-display:swap; src:url("/assets/fonts/nat-display-900.woff2") format("woff2"); }
@font-face { font-family:"NAT Body"; font-style:normal; font-weight:200 800; font-display:swap; src:url("/assets/fonts/nat-body.woff2") format("woff2"); }

:root { --font-display:"NAT Display"; --font-body:"NAT Body"; --ink:#27292a; --red:#ed2024; --blue:#496bb3; --paper:#f5f3ed; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); font-family:var(--font-body),sans-serif; }
.site-load-error { max-width:720px; margin:18vh auto; padding:32px; color:var(--ink); background:#fff; border-left:6px solid var(--red); font-size:18px; line-height:1.6; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
img { display:block; max-width:100%; }
.site {
  --bg:var(--paper); --fg:#202223; --surface:#fff; --accent:var(--red); --secondary:var(--blue); --muted:#5f6467; --line:rgba(39,41,42,.22);
  min-height:100vh; overflow:hidden; color:var(--fg); background:var(--bg);
  animation:concept-in .55s cubic-bezier(.16,1,.3,1) both;
}
.section-pad { padding:clamp(88px,10vw,156px) max(24px,4vw); }
.eyebrow { margin:0 0 20px; color:var(--secondary); font-size:12px; font-weight:800; letter-spacing:.16em; line-height:1.4; text-transform:uppercase; }
.section-heading { display:grid; grid-template-columns:minmax(210px,.65fr) minmax(480px,1.35fr); gap:clamp(36px,7vw,120px); align-items:start; max-width:1500px; margin:0 auto clamp(48px,6vw,88px); }
.section-heading h2,.about h2,.contact h2,.practical h2 {
  max-width:1000px; margin:0; font-family:var(--font-display),sans-serif; font-size:clamp(48px,6.3vw,104px); font-style:normal; font-weight:800; line-height:.94; letter-spacing:-.025em; text-wrap:balance; text-transform:uppercase;
}
[data-reveal] { opacity:0; transform:translateY(24px); transition:opacity .7s cubic-bezier(.16,1,.3,1) var(--delay,0ms),transform .7s cubic-bezier(.16,1,.3,1) var(--delay,0ms); }
[data-reveal].in-view { opacity:1; transform:none; }
@keyframes concept-in { from { opacity:.65; } }

/* Header */
.site-header { height:88px; display:grid; grid-template-columns:210px 1fr 210px; align-items:center; gap:28px; padding:0 max(24px,4vw); border-top:8px solid var(--red); border-bottom:1px solid var(--line); }
.brand-link { display:inline-flex; width:max-content; }
.site-header img { width:142px; }
.site-header nav { display:flex; justify-content:center; gap:32px; font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.site-header nav a { position:relative; padding:8px 0; }
.site-header nav a::after { content:""; position:absolute; right:0; bottom:2px; left:0; height:2px; background:var(--accent); transform:scaleX(0); transform-origin:right; transition:transform .3s cubic-bezier(.16,1,.3,1); }
.site-header nav a:hover::after { transform:scaleX(1); transform-origin:left; }
.header-cta { justify-self:end; padding:13px 17px; color:#fff; background:var(--ink); font-size:11px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; transition:background .2s,transform .2s; }
.header-cta:hover { background:var(--red); transform:translateY(-2px); }

/* Hero */
.hero { position:relative; min-height:calc(100vh - 88px); display:grid; grid-template-columns:58% 42%; border-bottom:1px solid var(--line); }
.hero-copy { z-index:2; align-self:center; padding:clamp(64px,8vw,130px) max(24px,4vw); }
.hero h1 { max-width:900px; margin:0; font-family:var(--font-display),sans-serif; font-size:clamp(62px,7.4vw,122px); font-style:normal; font-weight:900; line-height:.88; letter-spacing:-.025em; text-wrap:balance; text-transform:uppercase; }
.hero h1 span,.hero h1 em { display:block; }
.hero h1 em { margin-top:.08em; color:var(--accent); font-style:normal; }
.hero-body { max-width:610px; margin:34px 0 0; color:var(--muted); font-size:clamp(17px,1.25vw,20px); line-height:1.65; }
.actions { display:flex; align-items:center; gap:28px; margin-top:34px; }
.button { min-height:52px; display:inline-flex; align-items:center; justify-content:center; font-size:11px; font-weight:900; letter-spacing:.09em; text-transform:uppercase; transition:transform .25s,box-shadow .25s,background .25s; }
.button-primary { padding:0 26px; color:#fff; background:var(--accent); box-shadow:0 0 0 0 var(--accent); }
.button-primary:hover { transform:translateY(-3px); box-shadow:0 8px 0 color-mix(in srgb,var(--accent) 28%,transparent); }
.button-text { gap:14px; }
.button-text span { color:var(--accent); font-size:18px; transition:transform .25s; }
.button-text:hover span { transform:translate(4px,4px); }
.hero-art { position:relative; min-width:0; overflow:hidden; background:var(--blue); border-left:1px solid var(--line); }
.hero-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 1.2s cubic-bezier(.16,1,.3,1),filter .5s; }
.hero-photo-2,.hero-photo-3 { display:none; }
.hero-art::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(39,41,42,.02),rgba(39,41,42,.68)); }
.hero-index { position:absolute; z-index:2; top:34px; left:34px; padding:8px 10px; color:#fff; background:var(--blue); font-size:11px; font-weight:900; letter-spacing:.15em; }
.hero-rule { position:absolute; z-index:2; top:0; left:23%; width:2px; height:100%; background:rgba(255,255,255,.42); transform:skew(-8deg); }
.hero-art>p { position:absolute; z-index:3; right:36px; bottom:42px; margin:0; color:#fff; font-family:var(--font-display),sans-serif; font-size:clamp(23px,2.25vw,38px); font-weight:800; line-height:.95; letter-spacing:-.01em; text-align:right; text-transform:uppercase; }
.hero-art>p strong { display:block; margin-top:4px; color:var(--red); font-size:1.32em; }
.hero-art:hover .hero-photo { transform:scale(1.035); }
.hero-note { position:absolute; z-index:3; left:18px; bottom:22px; color:var(--muted); font-size:9px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; writing-mode:vertical-rl; transform:rotate(180deg); }

/* Principles */
.principles { background:var(--bg); }
.principle-grid { max-width:1500px; display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin:0 auto; background:var(--line); border:1px solid var(--line); }
.principle-card { position:relative; min-height:210px; display:grid; grid-template-columns:auto 1fr; grid-template-rows:auto auto 1fr; gap:0 22px; padding:28px; overflow:hidden; background:var(--surface); transition:background .3s,color .3s; }
.principle-card>span { color:var(--accent); font-family:var(--font-display),sans-serif; font-size:13px; font-weight:900; line-height:1.4; }
.principle-card h3 { margin:0; font-family:var(--font-display),sans-serif; font-size:clamp(25px,2vw,34px); font-style:normal; font-weight:800; line-height:1; letter-spacing:-.015em; text-transform:uppercase; }
.principle-card p { grid-column:2; align-self:start; max-width:390px; margin:24px 0 0; color:var(--muted); font-size:15px; line-height:1.65; }
.principle-card i { position:absolute; right:20px; bottom:17px; color:var(--accent); font-style:normal; opacity:0; transform:translate(-5px,5px); transition:opacity .25s,transform .25s; }
.principle-card:hover { color:#fff; background:var(--blue); }
.principle-card:hover p,.principle-card:hover>span { color:#fff; }
.principle-card:hover i { opacity:1; transform:none; }

/* Photos and brand statement */
.photo-rail { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; padding:10px; background:var(--ink); }
.photo-rail figure { position:relative; min-height:42vw; margin:0; overflow:hidden; }
.photo-rail img { width:100%; height:100%; object-fit:cover; filter:saturate(.8) contrast(1.03); transition:transform .7s cubic-bezier(.16,1,.3,1),filter .4s; }
.photo-rail figure:hover img { transform:scale(1.04); filter:none; }
.photo-rail figcaption { position:absolute; right:12px; bottom:12px; left:12px; padding:11px 12px; color:#fff; background:rgba(39,41,42,.78); font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; backdrop-filter:blur(8px); }
.statement { position:relative; display:grid; grid-template-columns:1fr auto; align-items:end; gap:20px; padding:clamp(58px,7vw,110px) max(24px,4vw); color:#fff; background:var(--blue); overflow:hidden; }
.statement p,.statement strong { margin:0; font-family:var(--font-display),sans-serif; font-style:normal; font-weight:900; line-height:.82; letter-spacing:-.025em; text-transform:uppercase; }
.statement p { grid-column:1/-1; font-size:clamp(54px,9vw,150px); }
.statement strong { color:var(--red); font-size:clamp(60px,11vw,185px); }
.statement span { align-self:end; padding-bottom:1vw; font-size:11px; font-weight:800; letter-spacing:.15em; white-space:nowrap; }

/* Pricing */
.pricing { color:var(--ink); background:var(--paper); }
.pricing-heading { grid-template-columns:1fr minmax(260px,420px); align-items:end; }
.pricing-heading>p { margin:0 0 8px; color:#5a5e60; font-size:17px; line-height:1.6; }
.pricing-grid { max-width:1500px; display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:0 auto; }
.price-card { min-height:510px; display:flex; flex-direction:column; padding:30px; background:#fff; border:1px solid #d6d3cc; transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s; }
.price-card:hover { transform:translateY(-6px); box-shadow:0 24px 58px rgba(39,41,42,.1); }
.price-topline { display:flex; justify-content:space-between; gap:16px; color:var(--blue); font-size:10px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.price-topline small { color:#8a8d8f; }
.price-meta { margin:42px 0 9px; color:#737779; font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.price-card h3 { margin:0; font-family:var(--font-display),sans-serif; font-size:clamp(34px,3vw,50px); font-style:normal; font-weight:800; line-height:.95; letter-spacing:-.02em; text-transform:uppercase; }
.price-value { margin:24px 0 18px; color:var(--red); font-size:21px; }
.price-description,.price-note { margin:0 0 14px; color:#4f5355; font-size:14px; line-height:1.65; }
.price-note { color:#6c7072; font-size:12px; }
.price-card ul { padding:0; margin:0 0 16px; list-style:none; color:#4f5355; font-size:13px; line-height:1.9; }
.price-card>a { display:flex; justify-content:space-between; margin-top:auto; padding-top:18px; border-top:1px solid #ddd; font-size:10px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.price-card>a span { color:var(--red); }
.price-2 { color:#fff; background:var(--blue); border-color:var(--blue); }
.price-2 .price-topline,.price-2 .price-value { color:#fff; }
.price-2 .price-meta,.price-2 .price-description,.price-2 .price-note,.price-2>a { color:rgba(255,255,255,.86); }
.price-2>a { border-color:rgba(255,255,255,.34); }

/* About */
.about { display:grid; grid-template-columns:minmax(380px,48%) minmax(480px,52%); padding-right:0; padding-left:0; color:#fff; background:var(--ink); }
.about-visual { position:relative; min-height:900px; overflow:hidden; background:var(--blue); }
.nikki-photo { width:100%; height:100%; object-fit:cover; object-position:center 26%; filter:saturate(.84) contrast(1.03); }
.about-visual::after { content:""; position:absolute; inset:45% 0 0; background:linear-gradient(transparent,rgba(39,41,42,.78)); }
.portrait-caption { position:absolute; z-index:2; right:28px; bottom:28px; left:28px; display:grid; gap:12px; padding:20px; color:#fff; background:rgba(39,41,42,.86); border-left:4px solid var(--red); backdrop-filter:blur(10px); }
.portrait-caption span { font-size:10px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.portrait-caption strong { max-width:520px; font-family:var(--font-display),sans-serif; font-size:clamp(27px,3vw,46px); font-weight:800; line-height:1; text-transform:uppercase; }
.about-copy { align-self:center; max-width:820px; padding:clamp(80px,9vw,145px) max(28px,7vw); }
.about-copy h2 { max-width:740px; color:#fff; }
.about-lead { margin:32px 0 26px !important; color:#fff !important; font-size:clamp(20px,1.65vw,27px) !important; font-weight:750; line-height:1.45 !important; }
.about-copy>p:not(.eyebrow):not(.about-lead) { max-width:720px; margin:0 0 21px; color:rgba(255,255,255,.78); font-size:16px; line-height:1.72; }
.about-copy .button { margin-top:20px; }

/* Add-ons, practical, contact */
.addons { color:var(--ink); background:#fff; }
.addons .section-heading>div>p { max-width:700px; margin:25px 0 0; color:#5f6467; font-size:17px; line-height:1.65; }
.addon-list { max-width:1500px; margin:0 auto; border-top:1px solid var(--ink); }
.addon-list article { display:grid; grid-template-columns:60px minmax(240px,.8fr) minmax(300px,1.2fr) auto; gap:28px; align-items:center; padding:28px 4px; border-bottom:1px solid #bfc2c4; transition:padding .25s,background .25s; }
.addon-list article:hover { padding-right:14px; padding-left:14px; background:#f3f5f9; }
.addon-list article>span { color:var(--red); font-family:var(--font-display),sans-serif; font-size:13px; font-weight:900; }
.addon-list h3 { margin:0; font-family:var(--font-display),sans-serif; font-size:26px; font-weight:800; line-height:1; text-transform:uppercase; }
.addon-list p { margin:0; color:#5f6467; font-size:14px; line-height:1.6; }
.addon-list small { padding:7px 10px; color:#fff; background:var(--blue); font-size:9px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.practical { display:grid; grid-template-columns:minmax(330px,.8fr) minmax(480px,1.2fr); gap:8vw; color:#fff; background:var(--blue); }
.practical .eyebrow { color:#fff; }
.practical ol { padding:0; margin:0; list-style:none; }
.practical li { display:grid; grid-template-columns:55px 1fr; gap:20px; padding:20px 0; border-bottom:1px solid rgba(255,255,255,.35); font-size:16px; line-height:1.5; }
.practical li span { color:#fff; font-family:var(--font-display),sans-serif; font-size:12px; font-weight:900; }
.contact { display:grid; grid-template-columns:minmax(480px,1.15fr) minmax(360px,.85fr); gap:8vw; color:#fff; background:var(--red); }
.contact .eyebrow { color:#fff; }
.contact-main>p:not(.eyebrow) { max-width:620px; margin:30px 0; color:rgba(255,255,255,.87); font-size:18px; line-height:1.65; }
.contact-links { display:grid; margin-top:40px; }
.contact-links a { padding:20px 0; border-top:1px solid rgba(255,255,255,.5); font-size:clamp(21px,2.5vw,38px); font-weight:750; }
.contact-links span { display:block; margin-bottom:7px; font-size:9px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.instagram-card { min-height:470px; display:flex; flex-direction:column; padding:34px; color:#fff; background:var(--blue); border:2px solid var(--ink); transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s; }
.instagram-card:hover { transform:rotate(-1deg) translateY(-5px); box-shadow:14px 14px 0 var(--ink); }
.instagram-card>span { font-family:var(--font-display),sans-serif; font-size:clamp(30px,4vw,62px); font-weight:900; line-height:.9; }
.instagram-card p { max-width:440px; margin:auto 0 30px; font-size:17px; line-height:1.6; }
.instagram-card strong { font-size:11px; letter-spacing:.1em; text-transform:uppercase; }
footer { min-height:110px; display:grid; grid-template-columns:1fr repeat(3,auto); align-items:center; gap:36px; padding:28px max(24px,4vw) 80px; color:var(--fg); background:var(--bg); border-top:1px solid var(--line); font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
footer img { width:130px; }

/* Shared hybrid: direction 04's hierarchy with direction 06's palette */
.concept-signal-editorial,
.concept-signal-cards,
.concept-signal-flow { --bg:#eef2f8; --fg:#202223; --surface:#fff; --muted:#50575c; --line:rgba(39,41,42,.2); }
.concept-signal-editorial .site-header,
.concept-signal-cards .site-header,
.concept-signal-flow .site-header { background:#fff; }
.concept-signal-editorial .about,
.concept-signal-cards .about,
.concept-signal-flow .about { color:var(--ink); background:#eef2f8; }
.concept-signal-editorial .about-copy h2,
.concept-signal-cards .about-copy h2,
.concept-signal-flow .about-copy h2,
.concept-signal-editorial .about-lead,
.concept-signal-cards .about-lead,
.concept-signal-flow .about-lead { color:var(--ink)!important; }
.concept-signal-editorial .about-copy>p:not(.eyebrow):not(.about-lead),
.concept-signal-cards .about-copy>p:not(.eyebrow):not(.about-lead),
.concept-signal-flow .about-copy>p:not(.eyebrow):not(.about-lead) { color:#4b5358; }
.concept-signal-editorial .pricing,
.concept-signal-cards .pricing,
.concept-signal-flow .pricing { background:#eef2f8; }

/* 07: Editorial — strongest reading rhythm and typographic restraint */
.concept-signal-editorial .hero { background:#fff; background-image:linear-gradient(#e0e5ed 1px,transparent 1px),linear-gradient(90deg,#e0e5ed 1px,transparent 1px); background-size:7.14vw 7.14vw; }
.concept-signal-editorial .hero-photo-1 { display:none; }
.concept-signal-editorial .hero-photo-2 { display:block; object-position:center 30%; }
.concept-signal-editorial .hero-art::after { background:linear-gradient(180deg,rgba(73,107,179,.03),rgba(39,41,42,.5)); }
.concept-signal-editorial .hero h1 { max-width:950px; letter-spacing:-.018em; }
.concept-signal-editorial .hero h1 em { color:var(--blue); }
.concept-signal-editorial .hero-rule { width:1px; background:rgba(255,255,255,.75); }
.concept-signal-editorial .principle-grid { background:#aeb8c8; }
.concept-signal-editorial .principle-card { transition:none; }
.concept-signal-editorial .principle-card:hover { color:var(--ink); background:var(--surface); }
.concept-signal-editorial .principle-card:hover p { color:var(--muted); }
.concept-signal-editorial .principle-card:hover>span { color:var(--accent); }
.concept-signal-editorial .principle-card i { display:none; }
.concept-signal-editorial .photo-rail figure { isolation:isolate; background:var(--blue); }
.concept-signal-editorial .photo-rail figure:nth-child(2) { background:#91acd2; }
.concept-signal-editorial .photo-rail figure:nth-child(3) { background:#d7d9da; }
.concept-signal-editorial .photo-rail figure:nth-child(4) { background:#6f94c6; }
.concept-signal-editorial .photo-rail img { filter:grayscale(1) contrast(1.08); mix-blend-mode:multiply; }
.concept-signal-editorial .photo-rail figcaption { transition:background .35s cubic-bezier(.16,1,.3,1),transform .35s cubic-bezier(.16,1,.3,1); }
.concept-signal-editorial .statement { color:var(--ink); background:#fff; border-block:1px solid var(--ink); }
.concept-signal-editorial .statement p { color:var(--blue); }
.concept-signal-editorial .statement strong { color:var(--red); }
.concept-signal-editorial .price-card { border-color:#aeb5bf; transition:color .35s cubic-bezier(.16,1,.3,1),background .35s cubic-bezier(.16,1,.3,1),border-color .35s cubic-bezier(.16,1,.3,1),transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s cubic-bezier(.16,1,.3,1); }
.concept-signal-editorial .price-card :is(.price-topline,.price-topline small,.price-meta,.price-value,.price-description,.price-note,ul,a,a span) { transition:color .35s cubic-bezier(.16,1,.3,1),border-color .35s cubic-bezier(.16,1,.3,1); }
.concept-signal-editorial [data-reveal] { transform:translateY(20px); }

@media (hover:hover) {
  .concept-signal-editorial .photo-rail figure:hover { background:transparent; }
  .concept-signal-editorial .photo-rail figure:hover img { filter:none; mix-blend-mode:normal; transform:scale(1.045); }
  .concept-signal-editorial .photo-rail figure:hover figcaption { background:var(--blue); transform:translateY(-4px); }
  .concept-signal-editorial .price-card:hover,
  .concept-signal-editorial .price-card:focus-within { color:#fff; background:var(--blue); border-color:var(--blue); box-shadow:0 26px 62px rgba(39,41,42,.18); transform:translateY(-7px); }
  .concept-signal-editorial .price-card:nth-child(even):hover,
  .concept-signal-editorial .price-card:nth-child(even):focus-within { background:var(--red); border-color:var(--red); }
  .concept-signal-editorial .price-card:hover :is(.price-topline,.price-topline small,.price-meta,.price-value,.price-description,.price-note,ul,a,a span),
  .concept-signal-editorial .price-card:focus-within :is(.price-topline,.price-topline small,.price-meta,.price-value,.price-description,.price-note,ul,a,a span) { color:#fff; }
  .concept-signal-editorial .price-card:hover>a,
  .concept-signal-editorial .price-card:focus-within>a { border-color:rgba(255,255,255,.5); }
}

/* 08: Cards — softer UI surfaces and a more conversational type scale */
.concept-signal-cards .hero { grid-template-columns:56% 44%; padding:18px; gap:18px; background:#eef2f8; border:0; }
.concept-signal-cards .hero-copy { padding-left:clamp(30px,5vw,88px); background:#fff; border-radius:28px 6px 28px 6px; }
.concept-signal-cards .hero h1 { font-size:clamp(58px,6.8vw,112px); font-weight:800; line-height:.92; text-transform:none; }
.concept-signal-cards .hero h1 em { color:var(--blue); }
.concept-signal-cards .hero-art { border:0; border-radius:6px 28px 6px 28px; }
.concept-signal-cards .hero-photo-1,.concept-signal-cards .hero-photo-2 { display:none; }
.concept-signal-cards .hero-photo-3 { display:block; object-position:center 24%; filter:grayscale(.25) saturate(.8); }
.concept-signal-cards .hero-art::after { background:linear-gradient(180deg,rgba(73,107,179,.1),rgba(39,41,42,.52)); }
.concept-signal-cards .hero-rule { left:58%; width:60px; background:rgba(73,107,179,.7); }
.concept-signal-cards .section-heading h2,
.concept-signal-cards .about h2,
.concept-signal-cards .contact h2,
.concept-signal-cards .practical h2 { font-weight:800; line-height:.98; text-transform:none; }
.concept-signal-cards .principle-grid { gap:16px; background:transparent; border:0; }
.concept-signal-cards .principle-card { min-height:220px; border:1px solid #b8c1cf; border-radius:24px 5px 24px 5px; box-shadow:0 12px 34px rgba(39,41,42,.06); }
.concept-signal-cards .principle-card h3,.concept-signal-cards .price-card h3,.concept-signal-cards .addon-list h3 { text-transform:none; }
.concept-signal-cards .principle-card:hover { color:var(--ink); background:#dfe7f6; transform:translateY(-4px); }
.concept-signal-cards .principle-card:hover p { color:#4f5559; }
.concept-signal-cards .principle-card:hover>span { color:var(--red); }
.concept-signal-cards .statement { border-radius:34px 7px 34px 7px; margin:18px; }
.concept-signal-cards .pricing-grid { gap:18px; }
.concept-signal-cards .price-card { border:0; border-radius:25px 5px 25px 5px; box-shadow:0 14px 40px rgba(39,41,42,.08); }
.concept-signal-cards .price-2 { background:var(--blue); }
.concept-signal-cards .about-visual { margin:18px 0 18px 18px; border-radius:6px 28px 6px 28px; }
.concept-signal-cards [data-reveal] { transform:translateY(18px) scale(.985); }

/* 09: Flow — graphic direction and responsive kinetic cues */
.concept-signal-flow .hero { background:#fff; }
.concept-signal-flow .hero h1 em { position:relative; width:max-content; max-width:100%; color:var(--blue); }
.concept-signal-flow .hero h1 em::after { content:""; position:absolute; right:0; bottom:-.06em; left:0; height:.08em; background:var(--red); transform:scaleX(0); transform-origin:left; animation:flow-line .8s cubic-bezier(.16,1,.3,1) .45s forwards; }
.concept-signal-flow .hero-photo-1 { display:block; object-position:center; filter:saturate(.78) contrast(1.04); }
.concept-signal-flow .hero-art::before { content:""; position:absolute; z-index:2; inset:0; background:linear-gradient(112deg,transparent 61%,rgba(73,107,179,.72) 61% 72%,rgba(237,32,36,.78) 72% 75%,transparent 75%); }
.concept-signal-flow .hero-rule { left:68%; width:2px; background:#fff; }
.concept-signal-flow .principle-grid { gap:12px; background:transparent; border:0; }
.concept-signal-flow .principle-card { border:1px solid var(--ink); box-shadow:5px 5px 0 rgba(73,107,179,.22); }
.concept-signal-flow .principle-card:nth-child(even) { transform:translateY(12px); }
.concept-signal-flow .principle-card:hover { color:#fff; background:var(--blue); box-shadow:8px 8px 0 rgba(237,32,36,.8); transform:translate(-3px,-3px); }
.concept-signal-flow .statement { background:var(--blue); }
.concept-signal-flow .price-card { border:1px solid var(--ink); box-shadow:6px 6px 0 rgba(73,107,179,.2); }
.concept-signal-flow .price-card:hover { box-shadow:10px 10px 0 rgba(237,32,36,.72); transform:translate(-3px,-3px); }
.concept-signal-flow .about-visual { clip-path:polygon(0 0,100% 4%,96% 100%,0 96%); }
.concept-signal-flow [data-reveal] { transform:translateX(-22px); }
@keyframes flow-line { to { transform:scaleX(1); } }
.concept-signal-editorial [data-reveal].in-view,
.concept-signal-cards [data-reveal].in-view,
.concept-signal-flow [data-reveal].in-view { transform:none; }

@media (max-width:980px) {
  .section-heading { grid-template-columns:1fr; gap:20px; }
  .site-header { grid-template-columns:170px 1fr 150px; }
  .site-header nav { gap:18px; }
  .hero,.concept-signal-cards .hero { grid-template-columns:56% 44%; }
  .hero h1,.concept-signal-cards .hero h1 { font-size:clamp(52px,8.3vw,82px); }
  .principle-grid { grid-template-columns:repeat(2,1fr); }
  .pricing-grid { grid-template-columns:repeat(2,1fr); }
  .about { grid-template-columns:1fr 1fr; }
  .about-visual { min-height:760px; }
  .addon-list article { grid-template-columns:50px .85fr 1.15fr; }
  .addon-list small { grid-column:2; width:max-content; }
}

@media (max-width:720px) {
  .section-pad { padding:78px 20px; }
  .site-header { height:76px; grid-template-columns:1fr auto; padding:0 20px; }
  .site-header img { width:112px; }
  .site-header nav { display:none; }
  .header-cta { font-size:9px; }
  .hero,.concept-signal-cards .hero { min-height:auto; grid-template-columns:1fr; margin:0; padding:0; gap:0; border-right:0; border-left:0; }
  .hero-copy { min-height:66vh; display:flex; flex-direction:column; justify-content:center; padding:62px 20px; }
  .hero h1,.concept-signal-cards .hero h1 { font-size:clamp(48px,14.5vw,70px); line-height:.91; }
  .hero-body { margin-top:26px; font-size:16px; }
  .actions { align-items:flex-start; flex-direction:column; gap:17px; }
  .hero-art,.concept-signal-cards .hero-art { min-height:62vh; margin:0; border:0; border-radius:0; border-top:1px solid var(--line); }
  .concept-signal-cards .hero-copy { border-radius:0; }
  .hero-art>p { right:20px; bottom:24px; }
  .hero-note { display:none; }
  .section-heading h2,.about h2,.contact h2,.practical h2 { font-size:clamp(43px,12vw,62px); }
  .principle-grid { grid-template-columns:1fr; }
  .principle-card { min-height:205px; padding:24px; }
  .concept-signal-flow .principle-card:nth-child(even) { transform:none; }
  .concept-signal-cards .statement { margin:10px; border-radius:20px 4px 20px 4px; }
  .photo-rail { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; }
  .photo-rail figure { flex:0 0 82vw; min-height:112vw; scroll-snap-align:center; }
  .statement { grid-template-columns:1fr; padding:58px 20px; }
  .statement p { font-size:17vw; }
  .statement strong { font-size:19vw; }
  .pricing-heading { grid-template-columns:1fr; }
  .pricing-grid { display:flex; margin-right:-20px; padding:4px 20px 24px 4px; overflow-x:auto; scroll-snap-type:x mandatory; }
  .price-card { flex:0 0 88vw; min-height:500px; scroll-snap-align:center; }
  .about { grid-template-columns:1fr; padding:0; }
  .about-visual { min-height:680px; }
  .about-copy { padding:78px 20px; }
  .concept-signal-cards .about-visual { margin:0; border-radius:0; }
  .about-copy>p:not(.eyebrow):not(.about-lead) { font-size:16px; line-height:1.72; }
  .addon-list article { grid-template-columns:38px 1fr; gap:14px; padding:24px 0; }
  .addon-list article p,.addon-list small { grid-column:2; }
  .practical,.contact { grid-template-columns:1fr; }
  .contact-links a { overflow-wrap:anywhere; }
  .instagram-card { min-height:410px; }
  footer { grid-template-columns:1fr 1fr; gap:22px; padding:34px 20px 92px; }
  footer img { grid-column:1/-1; }
  .concept-signal-editorial [data-reveal],
  .concept-signal-cards [data-reveal],
  .concept-signal-flow [data-reveal] { transform:translateY(18px); }
}

/* Content administration */
.admin-login-shell { min-height:100vh; display:grid; place-items:center; padding:28px; color:var(--ink); background:#eef2f8; background-image:linear-gradient(#dbe2ee 1px,transparent 1px),linear-gradient(90deg,#dbe2ee 1px,transparent 1px); background-size:72px 72px; }
.admin-login-card { width:min(100%,520px); padding:clamp(32px,6vw,58px); background:#fff; border-top:8px solid var(--red); box-shadow:14px 14px 0 var(--blue); }
.admin-login-card>img { width:140px; margin-bottom:50px; }
.admin-login-card h1 { margin:0; font-family:var(--font-display),sans-serif; font-size:clamp(58px,9vw,90px); font-weight:900; line-height:.88; text-transform:uppercase; }
.admin-login-card>p:not(.eyebrow) { margin:24px 0 30px; color:#535b60; font-size:16px; line-height:1.6; }
.admin-login-card form { display:grid; gap:18px; }
.admin-login-card button { min-height:52px; border:0; cursor:pointer; font:900 11px/1 var(--font-body),sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.admin-login-card button:disabled { cursor:wait; opacity:.6; }
.admin-login-message { min-height:22px; margin:0; color:var(--red); font-size:13px; font-weight:750; }
.admin-login-card>a { display:inline-block; margin-top:28px; font-size:11px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.admin-shell { min-height:100vh; color:var(--ink); background:#eef2f8; }
.admin-header { min-height:82px; display:flex; align-items:center; justify-content:space-between; gap:28px; padding:12px max(22px,4vw); background:#fff; border-top:8px solid var(--red); border-bottom:1px solid #c9d0dc; }
.admin-brand { display:flex; align-items:center; gap:18px; }
.admin-brand img { width:118px; }
.admin-brand span { padding-left:18px; border-left:1px solid #c4c9d0; color:var(--blue); font-size:11px; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.admin-user { display:grid; justify-items:end; gap:3px; font-size:12px; }
.admin-user span { color:#697075; font-size:9px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.admin-toolbar { display:grid; grid-template-columns:minmax(420px,1fr) auto; align-items:end; gap:48px; padding:clamp(56px,7vw,100px) max(22px,4vw) 42px; }
.admin-toolbar h1 { max-width:900px; margin:0; font-family:var(--font-display),sans-serif; font-size:clamp(54px,7vw,104px); font-weight:900; line-height:.88; letter-spacing:-.025em; text-transform:uppercase; }
.admin-toolbar>div>p:last-child { max-width:650px; margin:24px 0 0; color:#535b60; font-size:16px; line-height:1.65; }
.admin-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; }
.admin-actions button,.admin-actions a { min-height:48px; display:inline-flex; align-items:center; justify-content:center; padding:0 18px; border:1px solid var(--ink); cursor:pointer; font-size:10px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; transition:transform .2s,box-shadow .2s,background .2s; }
.admin-actions button:hover,.admin-actions a:hover { transform:translateY(-2px); }
.admin-actions button:disabled { cursor:wait; opacity:.55; transform:none; }
.admin-secondary { color:var(--ink); background:#fff; }
.admin-save { color:#fff; background:var(--red); border-color:var(--red)!important; }
.admin-save:hover { box-shadow:0 6px 0 rgba(237,32,36,.22); }
.admin-status { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:0 max(22px,4vw) 26px; padding:14px 18px; color:#fff; background:var(--blue); border-left:5px solid var(--red); }
.admin-status span { font-size:13px; font-weight:750; }
.admin-status small { font-size:9px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.admin-status[data-status="error"] { background:var(--red); }
.admin-status[data-status="saved"] { background:#2d7155; }
.admin-sections { display:grid; gap:12px; padding:0 max(22px,4vw) 100px; }
.admin-section { background:#fff; border:1px solid #abb4c2; box-shadow:4px 4px 0 rgba(73,107,179,.16); }
.admin-section summary { min-height:72px; display:grid; grid-template-columns:54px 1fr auto; align-items:center; gap:18px; padding:0 24px; cursor:pointer; list-style:none; }
.admin-section summary::-webkit-details-marker { display:none; }
.admin-section summary>span { color:var(--red); font-family:var(--font-display),sans-serif; font-size:14px; font-weight:900; }
.admin-section summary>strong { font-family:var(--font-display),sans-serif; font-size:28px; font-weight:850; text-transform:uppercase; }
.admin-section summary>small { color:#687078; font-size:9px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.admin-section[open] summary { color:#fff; background:var(--blue); }
.admin-section[open] summary>span,.admin-section[open] summary>small { color:#fff; }
.admin-section-body { padding:28px; border-top:1px solid #abb4c2; }
.admin-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.admin-field { display:grid; gap:8px; min-width:0; }
.admin-field>span { color:#5c646a; font-size:10px; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.admin-field input,.admin-field textarea { width:100%; padding:13px 14px; color:var(--ink); background:#f8fafc; border:1px solid #aeb7c4; border-radius:0; outline:none; font:500 14px/1.55 var(--font-body),sans-serif; resize:vertical; transition:border-color .2s,box-shadow .2s,background .2s; }
.admin-field input:focus,.admin-field textarea:focus { background:#fff; border-color:var(--blue); box-shadow:0 0 0 3px rgba(73,107,179,.16); }
.admin-array { grid-column:1/-1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.admin-array-item { min-width:0; padding:18px; background:#eef2f8; border:1px solid #c1c9d5; }
.admin-array-item>strong { display:block; margin-bottom:14px; color:var(--blue); font-size:10px; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.admin-array-item>.admin-fields,.admin-array-item>.admin-array { grid-template-columns:1fr; }

@media (max-width:820px) {
  .admin-header { align-items:flex-start; }
  .admin-user { max-width:160px; text-align:right; overflow-wrap:anywhere; }
  .admin-toolbar { grid-template-columns:1fr; gap:30px; }
  .admin-actions { justify-content:flex-start; }
  .admin-fields,.admin-array { grid-template-columns:1fr; }
}

@media (max-width:560px) {
  .admin-brand span { display:none; }
  .admin-toolbar { padding-top:48px; }
  .admin-toolbar h1 { font-size:52px; }
  .admin-actions { display:grid; grid-template-columns:1fr; }
  .admin-status { align-items:flex-start; flex-direction:column; }
  .admin-section summary { grid-template-columns:36px 1fr; padding:0 16px; }
  .admin-section summary>small { grid-column:2; margin-top:-22px; padding-bottom:12px; }
  .admin-section-body { padding:18px 14px; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  [data-reveal] { opacity:1; transform:none; transition:none; }
  .site { animation:none; }
  * { transition-duration:.01ms!important; animation-duration:.01ms!important; animation-iteration-count:1!important; }
}
