/* FIRSTWAY 5.31 / A recognizable path from a first thought to a shared possibility. */
:root { --sig-ink:#153b55; --sig-blue:#346a95; --sig-accent:#306e84; --sig-wash:#edf8fa; --sig-lilac:#eeeafa; --sig-line:#c6dce8; --sig-highlight:#a88444; }
html[data-fw-atmosphere=dawn] { --sig-accent:#8b6147; --sig-blue:#735d83; --sig-wash:#fcf4e9; --sig-lilac:#f6eeec; --sig-line:#dfcfbc; --sig-highlight:#997642; }
html[data-fw-atmosphere=clear] { --sig-accent:#416d89; --sig-blue:#3e6083; --sig-wash:#f4f7fa; --sig-lilac:#f1f4f8; --sig-line:#d0dce6; --sig-highlight:#57738a; }
body.app-body { background-image:radial-gradient(ellipse at 95% 3%,var(--sig-lilac),transparent 55%),linear-gradient(135deg,#fbfdff,var(--sig-wash)) !important; }
.app-body .sidebar { background:linear-gradient(165deg,#fff 15%,var(--sig-wash)) !important; }
.app-body .nav-link.active { background:linear-gradient(105deg,var(--sig-wash),var(--sig-lilac)) !important; box-shadow:inset 3px 0 0 var(--sig-accent),0 5px 18px #375c9710; }
.app-body .module-glyph { border-radius:18px 8px 18px 8px; background:linear-gradient(140deg,#fff,var(--sig-wash),var(--sig-lilac)) !important; }
.app-body .fw-navigator-link { background:linear-gradient(120deg,var(--sig-wash),var(--sig-lilac)); border-color:var(--sig-line); }
.app-body .button.primary { background:linear-gradient(115deg,var(--sig-accent),var(--sig-blue)) !important; border-color:var(--sig-blue); }
.app-body :is(.module-banner,.section-hero,.finance-hero,.mail-hero,.ai-hero,.org-command-hero) { background:radial-gradient(ellipse at 94% 15%,var(--sig-lilac),transparent 58%),linear-gradient(115deg,#fff,var(--sig-wash)) !important; }
.app-body .panel { border-top-color:var(--sig-line); }
.fw-site .fw-hero-copy h1 { letter-spacing:-.055em; }.fw-site .fw-hero-copy h1 strong { color:#31687e !important; }
.fw-site .fw-hero-stack span { border-radius:5px 12px 5px 12px; }.auth-body .auth-card { border-radius:30px 12px 30px 12px; }
/* The monogram is a native vector; the surrounding path is decorative and inert. */
.fw-signature-hero { position:relative; isolation:isolate; display:grid; grid-template-columns:minmax(0,1.12fr) minmax(285px,.88fr); align-items:center; gap:20px; overflow:hidden; min-height:390px; padding:clamp(28px,4vw,62px); margin:0 0 20px; border:1px solid var(--sig-line); border-radius:34px 12px 34px 12px; background:radial-gradient(ellipse at 83% 40%,var(--sig-lilac),transparent 48%),linear-gradient(120deg,#fff 20%,var(--sig-wash)); box-shadow:0 22px 60px #35597912,inset 0 1px 0 #fff; }
.fw-signature-hero::before { content:''; position:absolute; left:0; top:34px; bottom:34px; width:3px; background:linear-gradient(transparent,var(--sig-accent),var(--sig-highlight),transparent); opacity:.55; }
.fw-signature-hero::after { content:''; position:absolute; z-index:-1; right:-12%; top:-22%; width:75%; height:145%; border:1px solid #8dafc51f; border-radius:50%; rotate:-30deg; box-shadow:0 0 0 37px #8dafc505,0 0 0 75px #8dafc508; pointer-events:none; }
.fw-signature-copy { position:relative; z-index:1; min-width:0; }.fw-signature-copy h2 { margin:22px 0; font-size:clamp(32px,3.8vw,61px); font-weight:670; line-height:1.035; letter-spacing:-.055em; color:var(--sig-ink); }.fw-signature-copy h2 strong { color:var(--sig-accent); font-weight:730; }.fw-signature-copy>p { max-width:590px; color:#506c81; font-size:15px; line-height:1.85; margin:0 0 25px; }
.fw-signature-caption { display:flex; align-items:center; gap:9px; margin-top:28px; font:650 9px/1.5 system-ui,sans-serif; color:#627b8e; letter-spacing:.11em; }.fw-signature-caption>span { width:6px; height:6px; background:var(--sig-highlight); border-radius:50%; box-shadow:0 0 0 4px #bc9a6112; }
.fw-signature-art { position:relative; display:grid; place-items:center; height:330px; min-width:0; pointer-events:none; }.fw-signature-art>img { display:block; width:min(100%,440px); height:auto; max-height:350px; object-fit:contain; rotate:-7deg; animation:fw-signature-rise 8s ease-in-out infinite paused; position:relative; z-index:1; }
.fw-signature-halo { position:absolute; inset:10% 3%; background:radial-gradient(ellipse,#b9dceb57,#d5c8eb30 43%,transparent 69%); border-radius:50%; }
.fw-signature-track { position:absolute; width:86%; height:57%; border:1px solid #8baccc50; border-radius:50%; rotate:-28deg; box-shadow:0 0 0 15px #c3d5e409; }.fw-signature-track::before { content:''; position:absolute; left:13%; top:13%; width:6px; height:6px; border-radius:50%; background:#749dbd; box-shadow:0 0 0 4px #84adc619; }.fw-signature-track.track-two { width:76%; height:76%; rotate:35deg; border-style:dashed; border-color:#a69ac13a; }
.fw-signature-spark { width:9px; height:9px; position:absolute; top:20%; right:7%; border-radius:50%; background:var(--sig-highlight); box-shadow:0 0 0 6px #b9a56d13; }
.fw-art-note { position:absolute; z-index:2; font:600 8px/1.5 ui-monospace,monospace; letter-spacing:.17em; color:#5d7b94; }.fw-art-note.note-origin { top:18px; left:12%; }.fw-art-note.note-future { bottom:4px; left:0; right:0; text-align:center; }
html[data-fw-motion=on] .fw-signature-hero.fw-signature-visible .fw-signature-art>img { animation-play-state:running; }
html[data-fw-motion-visibility=paused] .fw-signature-art>img { animation-play-state:paused !important; }
.fw-wayline { margin:0 0 30px; }.fw-wayline ol { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; list-style:none; padding:0; margin:0; border:1px solid var(--sig-line); border-radius:18px; overflow:hidden; background:var(--sig-line); }.fw-wayline li { min-width:0; }.fw-wayline a { display:flex; gap:12px; align-items:center; padding:18px; min-height:82px; height:100%; background:#fafcff; color:#315972; text-decoration:none; }.fw-wayline a[aria-current=page] { background:linear-gradient(115deg,var(--sig-wash),var(--sig-lilac)); }.fw-way-number { display:grid; place-items:center; flex:0 0 30px; width:30px; height:30px; border:1px solid #c9dce9; border-radius:10px 4px 10px 4px; background:#fff; color:var(--sig-accent); font:750 10px/1 system-ui,sans-serif; }.fw-wayline strong { display:block; font-size:13px; margin-bottom:5px; }.fw-wayline small { display:block; color:#60798f; font-size:10px; line-height:1.5; }.fw-wayline b { margin-left:auto; font-weight:400; color:#6e8aa0; }
.fw-studio-layout { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr); align-items:start; gap:25px; margin:25px 0; }.fw-studio-editor { border:1px solid var(--sig-line); background:#fff; border-radius:25px; padding:30px; scroll-margin-top:25px; }.fw-studio-heading { display:flex; align-items:center; gap:18px; justify-content:space-between; margin-bottom:28px; }.fw-studio-heading h2 { color:#224c6a; font-size:28px; margin:8px 0 0; letter-spacing:-.035em; }.fw-studio-mark { font-size:35px; color:#8294b8; }
.fw-studio-editor label { color:#3e6079; font-size:13px; }.fw-studio-editor :is(input,textarea,select) { background:#fafcfe !important; }.fw-studio-editor textarea { resize:vertical; }.fw-studio-note { color:#62788c; font-size:12px; line-height:1.8; margin:10px 0 0; }
.fw-studio-progress { display:flex; flex-wrap:wrap; align-items:center; gap:12px; color:#486d86; font-size:11px; margin:3px 0 10px; }.fw-studio-progress progress { height:7px; flex:1; min-width:120px; accent-color:#43829e; border:0; border-radius:8px; background:#e6eef7; overflow:hidden; }.fw-studio-progress progress::-webkit-progress-bar { background:#e6eef7; }.fw-studio-progress progress::-webkit-progress-value { background:#43829e; }.fw-studio-progress progress::-moz-progress-bar { background:#43829e; }
.fw-studio-side { display:grid; gap:22px; min-width:0; scroll-margin-top:24px; }.fw-studio-inspiration { border:1px solid var(--sig-line); border-radius:25px 10px 25px 10px; padding:34px; background:radial-gradient(ellipse at 100% 0%,var(--sig-lilac),transparent 55%),linear-gradient(130deg,#fff,var(--sig-wash)); }.fw-studio-inspiration h2 { color:#284f6e; font-size:34px; letter-spacing:-.04em; margin:17px 0; }.fw-studio-inspiration p { color:#5a748a; font-size:14px; line-height:1.8; }.fw-studio-inspiration ol { counter-reset:studio; list-style:none; padding:0; margin:27px 0; }.fw-studio-inspiration li { padding:0 0 25px 34px; position:relative; }.fw-studio-inspiration li::before { counter-increment:studio; content:counter(studio,decimal-leading-zero); position:absolute; left:0; top:2px; font:700 10px/1.5 ui-monospace,monospace; color:#6587a1; }.fw-studio-inspiration strong { display:block; color:#2f536d; font-size:13px; margin-bottom:7px; }.fw-studio-inspiration li span { display:block; color:#60798e; font-size:12px; line-height:1.7; }.fw-studio-quote { border-top:1px solid var(--sig-line); padding-top:23px; color:#6c879b; font-size:28px; line-height:1.2; letter-spacing:-.035em; }.fw-studio-quote strong { font-size:28px; color:var(--sig-accent); font-weight:700; }
.fw-blueprint { min-width:0; padding:30px; background:linear-gradient(150deg,#fff,#f6faff); border:1px solid #bfd6e9; border-radius:25px; box-shadow:0 14px 38px #315d8b0e; }.fw-blueprint h2 { color:#244e6c; font-size:28px; line-height:1.2; letter-spacing:-.03em; overflow-wrap:anywhere; }.fw-blueprint-kind { width:max-content; max-width:100%; padding:5px 10px; border-radius:8px; font-size:11px; color:#5e4d8f; background:#eeebf8; }.fw-blueprint-text { margin:23px 0; padding:22px; white-space:pre-wrap; overflow-wrap:anywhere; word-break:break-word; background:#f2f7fc !important; color:#35566f !important; border:1px solid #d4e2ee; border-radius:15px; font:13px/1.9 system-ui,sans-serif; max-height:650px; overflow:auto; }.fw-blueprint-actions { display:grid; gap:10px; }.fw-blueprint-actions .button { width:100%; }.fw-blueprint-stale { padding:12px; background:#fbf5e9; color:#755a2d; border:1px solid #e5d6b9; border-radius:10px; font-size:12px; line-height:1.7; }
.fw-draft-tools { border-top:1px solid #dce6f1; padding-top:20px; margin-top:15px; }.fw-draft-tools>strong { color:#41677e; font-size:13px; }.fw-draft-tools p { font-size:12px; line-height:1.75; color:#62798d; }.fw-draft-tools>div { display:flex; gap:9px; flex-wrap:wrap; }.fw-draft-tools .button { font-size:11px; min-height:36px; padding:9px 12px; }
.fw-text-button { padding:10px 0; background:transparent; color:#3e6986; border:0; text-align:left; font:650 12px/1.6 system-ui,sans-serif; cursor:pointer; text-decoration:underline; text-underline-offset:4px; }.fw-text-button:disabled { opacity:.55; cursor:default; }
.fw-atmosphere { border:1px solid var(--sig-line); border-radius:20px; padding:24px; background:#ffffffdc; }.fw-atmosphere h3 { color:#365975; font-size:17px; margin:10px 0 17px; }.fw-atmosphere p { font-size:11px; line-height:1.7; color:#627b8d; }.fw-atmosphere-options { display:flex; flex-wrap:wrap; gap:9px; }.fw-atmosphere-options button { display:flex; gap:8px; align-items:center; padding:10px 12px; border:1px solid #ceddea; border-radius:12px; background:#fff; color:#41637c; font:650 12px/1.4 system-ui,sans-serif; cursor:pointer; }.fw-atmosphere-options button[aria-pressed=true] { border-color:var(--sig-accent); box-shadow:0 0 0 2px var(--sig-wash); }.fw-atmosphere-options i { width:18px; height:18px; border-radius:50%; border:1px solid #a4bdd0; }.tone-aurora { background:linear-gradient(120deg,#baece7,#ccc5ed); }.tone-dawn { background:linear-gradient(120deg,#f7e0b8,#e8cbdc); }.tone-clear { background:linear-gradient(120deg,#fafcff,#d3e2ed); }
[data-atmosphere-panel][hidden],[data-studio-progress-wrap][hidden],[data-studio-draft-tools][hidden],[data-studio-undo][hidden],[data-blueprint-download][hidden],[data-studio-stale][hidden] { display:none !important; }
.fw-studio-entry { display:grid; grid-template-columns:1.2fr .8fr; gap:25px; align-items:center; padding:30px; margin:28px 0; border:1px solid var(--sig-line); border-radius:24px 10px 24px 10px; background:linear-gradient(125deg,var(--sig-wash),#fff 52%,var(--sig-lilac)); }.fw-studio-entry h2 { font-size:28px; color:#31576f; margin:10px 0; line-height:1.15; letter-spacing:-.04em; }.fw-studio-entry p { color:#5d7589; font-size:13px; line-height:1.8; }.fw-studio-entry .fw-hero-links { justify-content:flex-end; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) { .fw-wayline a { transition:background .2s ease; }.fw-wayline a:hover { background:var(--sig-wash); }.fw-atmosphere-options button:hover { background:#f5f9fd; } }
html[data-fw-reading=on] .fw-signature-art { display:none; }html[data-fw-reading=on] .fw-signature-hero { grid-template-columns:1fr; background:#fff; }html[data-fw-reading=on] .fw-signature-hero::after { display:none; }html[data-fw-reading=on] .fw-blueprint-text { max-height:none; font-size:16px; }
@keyframes fw-signature-rise { 0%,100% { translate:0 0; }50% { translate:0 -9px; } }
@media(max-width:1150px) { .fw-signature-hero { grid-template-columns:minmax(0,1.25fr) minmax(220px,.75fr); padding:34px; }.fw-signature-art { height:290px; }.fw-wayline a { gap:9px; padding:15px 12px; }.fw-wayline small { font-size:9px; }.fw-wayline b { display:none; } }
@media(max-width:820px) { .fw-signature-hero { grid-template-columns:1fr; min-height:0; }.fw-signature-art { display:none; }.fw-studio-layout { grid-template-columns:1fr; }.fw-studio-entry { grid-template-columns:1fr; }.fw-studio-entry .fw-hero-links { justify-content:flex-start; }.fw-wayline ol { grid-template-columns:1fr 1fr; }.fw-wayline a { min-height:75px; padding:16px; }.fw-wayline small { font-size:10px; }.fw-blueprint-text { max-height:none; } }
@media(max-width:520px) { .fw-signature-hero { padding:28px 23px; border-radius:25px 10px 25px 10px; }.fw-signature-copy h2 { font-size:36px; }.fw-signature-copy>p { font-size:14px; }.fw-signature-caption { font-size:8px; letter-spacing:.06em; }.fw-studio-editor,.fw-blueprint,.fw-studio-inspiration { padding:23px; }.fw-wayline a { padding:13px 10px; }.fw-wayline strong { font-size:12px; }.fw-way-number { width:26px; height:26px; flex-basis:26px; }.fw-wayline small { font-size:9px; }.fw-blueprint-text { padding:17px; } }
@media(prefers-reduced-motion:reduce) { .fw-signature-art>img { animation:none !important; }.fw-wayline * { transition:none !important; } }
@media print { .fw-signature-art,.fw-wayline,.fw-atmosphere,.fw-draft-tools,.fw-blueprint-actions { display:none !important; }.fw-signature-hero,.fw-studio-layout { display:block; }.fw-blueprint-text { max-height:none; overflow:visible; }.fw-signature-art>img { animation:none !important; } }
