:root{color-scheme:dark;--bg:#081321;--panel:#112338;--line:#294157;--ink:#f2f8fc;--muted:#bdcddd;--cyan:#75e2f4;--gold:#ffdb88}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(ellipse at 78% 7%,#10344a,transparent 41rem),var(--bg);color:var(--ink);font:16px/1.6 system-ui,Arial,sans-serif}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{line-height:1.1;letter-spacing:-.04em}
h1{font-size:clamp(3.05rem,7vw,6.2rem);max-width:13ch;margin:12px 0 20px}
h2{font-size:clamp(1.8rem,4vw,2.8rem)}
h3{font-size:1.25rem}
a{color:var(--cyan);text-underline-offset:4px}
a:hover{text-decoration:underline}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.shell{width:min(1160px,calc(100% - 52px));margin:auto}
.top{background:#081321ed;border-bottom:1px solid var(--line);position:relative;z-index:4}
.bar,.footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 0}
.brand{display:inline-flex;align-items:center;flex-shrink:0}
.brand img{display:block;max-width:100%;height:auto;object-fit:contain;border-radius:6px}
@media(max-width:570px){.bar .brand img{width:150px}}
nav,.footer div{display:flex;align-items:center;gap:clamp(12px,3vw,30px);flex-wrap:wrap}
nav a,.footer a{color:var(--ink);text-decoration:none;font-weight:650}
.nav-group{position:relative;display:flex;align-items:center;gap:3px}
.nav-toggle{background:transparent;border:0;padding:5px 7px;color:var(--cyan)}
.menu{display:none;position:absolute;top:100%;left:0;min-width:245px;padding:10px;background:#122539;border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 30px #0006}
.nav-group.menu-open .menu{display:block}
@media(hover:hover) and (pointer:fine){.nav-group:hover .menu{display:block}.nav-group.menu-dismissed .menu{display:none}}
.menu a{display:block;padding:9px 11px;border-radius:7px}
.menu a:hover,.menu a:focus-visible{background:#203950}
.menu small{display:block;color:var(--muted);font-weight:400}
.nav-contact{border:1px solid var(--line);border-radius:8px;padding:7px 12px}
.hero{display:grid;grid-template-columns:1.12fr .88fr;align-items:center;gap:35px;padding:clamp(42px,8vw,106px) 0}
.label{font-size:.78rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase;color:var(--cyan)}
.lead,.card p,.section p,.prose li,.feature figcaption,.footer small{color:var(--muted)}
.lead{font-size:1.18rem;max-width:630px}
.cta{display:inline-flex;align-items:center;gap:12px;margin:20px 10px 0 0;padding:10px 16px;border:0;border-radius:8px;background:var(--cyan);color:#061923;font-weight:750;text-decoration:none}
.cta:hover{background:#b9f5ff}
.feature{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#0d1d2b}
.model-bar,.feature figcaption{padding:12px 16px;font-size:.8rem}
.model-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line);color:var(--cyan);font-weight:700}
.model-bar button,.chat-close,.suggestions button{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:5px 8px}
.scene{display:grid;place-items:center;height:300px;perspective:840px;background:radial-gradient(ellipse at 50% 52%,#22546b,#0a1927 72%);overflow:hidden}
.orbit,.building,.slab,.wall{transform-style:preserve-3d}
.orbit{animation:turn 18s linear infinite}
.orbit.paused{animation-play-state:paused}
.building{position:relative;width:185px;height:150px;transform:rotateX(-20deg)}
.slab,.wall{position:absolute;border:2px solid #8ee9fb;background:repeating-linear-gradient(0deg,#64dcf21c 0 1px,transparent 1px 16px),#297c9a40;box-shadow:0 0 14px #7de8fa3a}
.slab{inset:0;transform:rotateX(90deg)}
.floor{transform:translateY(65px) rotateX(90deg)}
.ceiling{transform:translateY(-65px) rotateX(90deg);opacity:.56}
.wall{width:185px;height:132px;top:9px}
.back{transform:translateZ(-75px)}
.front{transform:translateZ(75px);width:72px;left:113px}
.left{width:150px;left:17px;transform:translateX(-92px) rotateY(90deg)}
.partition{width:110px;left:38px;transform:translateX(15px) rotateY(90deg);border-color:var(--gold);background-color:#cda84c24}
@keyframes turn{from{transform:rotateY(-35deg) rotateX(7deg)}to{transform:rotateY(325deg) rotateX(7deg)}}
.section{border-top:1px solid var(--line);padding:38px 0 46px}
.section-head p,.section p,.prose ul{margin-top:10px}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}
.card{display:flex;align-items:flex-start;flex-direction:column;gap:10px;padding:23px;background:var(--panel);border:1px solid var(--line);border-radius:14px}
.card h3 a{color:var(--ink);text-decoration:none}
.card .arrow{margin-top:auto}
.icon,.status{display:inline-flex;align-items:center;border-radius:7px;font-size:.78rem;font-weight:750}
.icon{padding:6px 8px;color:var(--cyan);background:#22425b}
.status{padding:3px 8px;border:1px solid #78633d;color:var(--gold)}
.arrow{font-weight:700;text-decoration:none}
.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.page-intro{padding:54px 0 40px}
.split,.founder{display:grid;grid-template-columns:1fr 1.2fr;gap:25px;align-items:center}
.portrait{overflow:hidden;border-radius:16px;background:#132437;border:1px solid var(--line);box-shadow:0 14px 30px #0004;max-width:480px;aspect-ratio:5/4}
.portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 27%}
.prose{max-width:820px}
.founder .label{margin:0 0 8px}
.footer{border-top:1px solid var(--line);padding:22px 0 70px}
details{margin-top:12px;padding:12px 15px;background:var(--panel);border:1px solid var(--line);border-radius:8px}
summary{cursor:pointer;font-weight:650}
.feedback-form{display:grid;gap:9px;max-width:620px}
.feedback-form label{font-weight:700}
.feedback-form button{justify-self:start}
input,textarea,select{width:100%;background:#0a1a28;border:1px solid #46617a;border-radius:7px;padding:9px 11px}
.chat-toggle{position:fixed;right:16px;bottom:16px;z-index:5;background:var(--cyan);color:#061923;border:0;border-radius:100px;padding:10px 17px;font-weight:750}
.assistant{position:fixed;right:16px;bottom:68px;width:min(380px,calc(100% - 32px));max-height:calc(100dvh - 90px);overflow:auto;background:#102338;border:1px solid var(--line);border-radius:14px;padding:14px;box-shadow:0 14px 30px #0008;z-index:6}
.assistant header,.assistant form div{display:flex;align-items:center;justify-content:space-between;gap:9px}
.assistant h2{font-size:1.25rem}
.assistant p,.assistant form{margin-top:8px}
.suggestions{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0;font-size:.83rem}
.assistant form button{background:var(--cyan);color:#061923;border:0;border-radius:7px;padding:8px;font-weight:700}
.skip{position:absolute;top:8px;left:8px;z-index:8;transform:translateY(-150%);background:var(--bg);padding:6px 10px}
.skip:focus{transform:none}
@media(max-width:800px){.hero,.split{grid-template-columns:1fr}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:570px){.shell{width:calc(100% - 30px)}.bar,.footer{align-items:flex-start;flex-wrap:wrap}nav{gap:8px 14px;font-size:.9rem}.grid,.founder{grid-template-columns:1fr}.scene{height:245px}.menu{min-width:220px}.nav-group:nth-child(2) .menu{left:auto;right:-45px}}
@media(prefers-reduced-motion:reduce){.orbit{animation-play-state:paused}.orbit:not(.paused){animation-play-state:running}}
.founder{grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:clamp(20px,5vw,55px)}
.portrait{width:100%;max-width:300px;aspect-ratio:1/1}
.portrait img{object-position:50% 24%}
@media(max-width:570px){.founder{grid-template-columns:1fr}.portrait{max-width:260px}}

/* Soft depth for the model viewport and product cards. */
.model {
  position: relative;
  border-color: #41677a;
  box-shadow: 0 26px 48px #02081099, 0 8px 0 -3px #0a2332, inset 0 1px 0 #b6f3ff38;
}
.scene {
  position: relative;
  isolation: isolate;
}
.scene::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 140%;
  height: 115%;
  bottom: -40%;
  left: -20%;
  background: repeating-linear-gradient(0deg, #79d5e632 0 1px, transparent 1px 25px), repeating-linear-gradient(90deg, #79d5e632 0 1px, transparent 1px 25px);
  transform: rotateX(65deg);
  mask-image: radial-gradient(ellipse, black 5%, transparent 68%);
  pointer-events: none;
}
.scene::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 58%;
  height: 25%;
  bottom: 13%;
  background: radial-gradient(ellipse, #01060bd9, transparent 68%);
  pointer-events: none;
}
.card {
  background: linear-gradient(145deg, #183048, var(--panel) 66%);
  box-shadow: 0 5px 0 -2px #071420, 0 15px 25px #02081060, inset 0 1px 0 #dbf6ff1e;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.card:focus-within { border-color: #57849b; }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .card:hover {
    transform: perspective(750px) translateY(-4px) rotateX(2deg);
    border-color: #57849b;
    box-shadow: 0 8px 0 -3px #071420, 0 20px 35px #0208108c, inset 0 1px 0 #dbf6ff34;
  }
}
@media (prefers-reduced-motion: reduce) {
  .card { transition: none; }
}

[hidden]{display:none!important}
.utility-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:32px}
.utility-layout>aside{align-self:start}
.utility-panel{display:block;min-width:0}
.utility-form,.utility-form label{display:grid;gap:7px}
.utility-form{gap:14px}
.utility-form .cta{justify-self:start;margin:0}
.utility-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr));gap:12px}
.utility-check{display:flex!important;align-items:start}
.utility-check input{width:auto;margin-top:.35em}
.utility-status:empty{display:none}
.utility-status{overflow-wrap:anywhere}
.image-previews img{display:block;width:100%;max-height:260px;object-fit:contain;background:#081321;border-radius:8px}
.image-previews figcaption{font-size:.83rem;margin-top:5px}
#pdf-order{padding:0;margin:0;list-style:none}
#pdf-order li{display:flex;gap:6px;align-items:center;margin:5px 0}
#pdf-order span{flex:1;overflow-wrap:anywhere}
#pdf-order button{border:1px solid var(--line);border-radius:5px;background:var(--bg);padding:3px 9px}
#pdf-order button:disabled,.utility-form button:disabled{opacity:.5;cursor:default}
.tool-intro{max-width:780px}
.tool-intro h1{max-width:18ch}
@media(max-width:720px){.utility-layout{grid-template-columns:1fr}}

/* Light surfaces and larger controls keep the tools easy to scan. */
:root{color-scheme:light;--bg:#f7f9ff;--panel:#fff;--line:#d5dff2;--ink:#152344;--muted:#475875;--cyan:#294bc4;--gold:#895205}
body{background:radial-gradient(ellipse at 78% 8%,#e8efff,transparent 44rem),var(--bg);font-family:"Inter",system-ui,Arial,sans-serif}
.top{background:#fff;border-bottom:1px solid var(--line)}
nav a,.footer a{color:var(--ink)}
.nav-contact{background:#eef3ff}
.menu{background:#fff;box-shadow:0 12px 30px #243d6c25}
.menu a:hover,.menu a:focus-visible{background:#eef3ff}
.page-intro{padding:54px 0 34px}
.page-intro h1{font-size:clamp(2.55rem,6vw,4.7rem);max-width:19ch}
.tool-intro{max-width:860px}
.tool-intro h1{max-width:none}
.lead{font-size:clamp(1.04rem,2.4vw,1.22rem)}
.section{padding:30px 0 40px}
.cta,.chat-toggle,.assistant form button{min-height:44px;background:#294bc4;color:#fff}
.cta:hover,.chat-toggle:hover,.assistant form button:hover{background:#203ca3}
.cta:disabled{background:#5269ae;color:#fff}
.grid{gap:18px}
.card{background:#fff;border-color:var(--line);box-shadow:0 6px 18px #253f7210}
.card:hover{border-color:#8d9fe0;box-shadow:0 12px 25px #253f721b}
.card .icon{min-width:50px;min-height:46px;justify-content:center;background:#e8eeff;color:#2346b0;font-size:.83rem}
.tool-card:nth-child(2) .icon{background:#ffe9df;color:#963b24}
.tool-card:nth-child(3) .icon{background:#e0f4eb;color:#12583f}
.tool-card h3{font-size:clamp(1.3rem,3vw,1.55rem)}
.tool-card .cta{margin-top:auto;align-self:flex-start}
.tool-card p{margin:0 0 8px}
.status{background:#fff4da;border-color:#e3c783;color:#734609}
.portrait{background:#edf3ff;box-shadow:0 12px 24px #253f7220}
.utility-layout{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:26px}
.utility-panel{padding:clamp(16px,3vw,28px)}
.utility-form label{font-weight:650}
input,textarea,select{background:#fff;border:1px solid #a9b8d1;color:var(--ink);min-height:44px}
input[type=file]{background:#f3f6ff;max-width:100%}
input[type=file]::file-selector-button{min-height:36px;border:0;border-radius:6px;padding:5px 10px;background:#dfe8ff;color:#203c9c;font:inherit;font-weight:650;margin-right:8px;cursor:pointer}
.utility-check input{min-height:auto}
.utility-help{padding:18px;background:#edf2ff;border-radius:12px;border:1px solid var(--line)}
.utility-help h2{font-size:1.35rem}
.utility-help ol{padding-left:1.35rem;margin:10px 0 18px;color:var(--muted)}
.utility-help li+li{margin-top:5px}
.utility-status:not(:empty){padding:10px 12px;border-radius:8px;background:#edf2ff;color:var(--ink)}
#pdf-order button{background:#edf2ff;border-color:#a9b8d1}
.image-previews img{background:#edf2ff}
.assistant{background:#fff;box-shadow:0 14px 30px #243d6c30}
.model{color:#f2f8fc}
.model-bar{color:#91e8f5}
.model-bar button{background:#112338;border-color:#406173}
.model figcaption{color:#ccdeeb}
@media(max-width:720px){.utility-layout{grid-template-columns:1fr}.utility-help{order:-1}}
@media(max-width:570px){.page-intro{padding:35px 0 22px}.section{padding:22px 0 30px}.nav-contact{padding:6px 9px}.utility-form .cta{margin-bottom:4px}}

.visual-guide{scroll-margin-top:20px}
.guide-steps{list-style:none;margin:23px 0 0;padding:0;display:grid;gap:24px}
.guide-step{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.45fr);align-items:center;gap:24px;padding:clamp(14px,3vw,28px);border:1px solid var(--line);border-radius:16px;background:#fff}
.guide-instruction{display:flex;gap:12px;align-items:flex-start}
.guide-number{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:50%;background:#294bc4;color:#fff;font-weight:750}
.guide-instruction p{margin-top:6px}
.guide-screen{border:1px solid #b5c5e4;border-radius:12px;background:#f7f9ff;overflow:hidden;box-shadow:0 6px 0 -2px #c3d0ed,0 12px 24px #253f7221}
.guide-window{display:flex;align-items:center;gap:5px;padding:8px 11px;background:#e6edfc;border-bottom:1px solid #cbd7ef;font-size:.72rem}
.guide-window span{width:6px;height:6px;border-radius:50%;background:#637bad}
.guide-window b{margin-left:5px}
.guide-screen-body{padding:clamp(10px,2vw,18px)}
.guide-screen-title{display:block;margin-bottom:10px;font-size:clamp(1rem,2.5vw,1.3rem)}
.guide-screen-controls{display:grid;gap:8px}
.guide-field{display:grid;gap:3px;background:#fff;border:1px solid #c4d0e5;border-radius:7px;padding:6px 9px;font-size:.82rem}
.guide-field span{color:#475875}
.guide-action{justify-self:start;padding:5px 9px;border-radius:7px;background:#294bc4;color:white;font-size:.82rem;font-weight:700}
.guide-focus,.guide-step:last-child .guide-result{outline:2px solid #8e5407;outline-offset:2px}
.guide-result{background:#e0f4eb;color:#14523c;padding:6px 9px;border-radius:7px;font-size:.82rem;font-weight:650}
@media(max-width:700px){.guide-step{grid-template-columns:1fr;gap:14px}}

/* Homepage layout and decorative previews. */
.tools-home .home-intro{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(0,1fr);gap:26px;align-items:center;min-height:300px;padding:32px 0 24px}
.home-intro h1{margin:0 0 14px;max-width:none;font-size:clamp(2.65rem,6.1vw,5rem)}
.home-intro-copy .cta{margin-top:17px}
.home-art{position:relative;isolation:isolate;min-height:230px;overflow:hidden;border:1px solid #d5e0f7;border-radius:25px;background:radial-gradient(ellipse at 48% 78%,#c6d7fd 0%,transparent 68%),linear-gradient(135deg,#f3f6ff,#e4edff);perspective:780px}
.home-art::before{content:"";position:absolute;inset:48% -16% -80%;transform:rotateX(52deg);background:repeating-linear-gradient(0deg,#708dcb26 0 1px,transparent 1px 22px),repeating-linear-gradient(90deg,#708dcb26 0 1px,transparent 1px 22px);mask-image:radial-gradient(ellipse,#000,transparent 67%)}
.art-card{position:absolute;border-radius:13px;background:#fff;border:1px solid #c8d7ee;box-shadow:0 17px 25px #354e872d,0 4px 0 #aabfe7}
.art-photo{width:36%;height:58%;top:25%;left:14%;transform:rotate(-12deg) rotateY(-10deg);padding:9px;color:#2545a3}
.art-landscape{position:relative;overflow:hidden;height:75%;border-radius:7px;background:#b8d2ff}
.art-landscape::before,.art-landscape::after{content:"";position:absolute;bottom:-35%;width:80%;aspect-ratio:1;border-radius:12%;transform:rotate(45deg)}
.art-landscape::before{left:-10%;background:#6487dd}
.art-landscape::after{right:-10%;background:#395aba}
.art-landscape i{position:absolute;right:17%;top:15%;width:20%;aspect-ratio:1;border-radius:50%;background:#ffe6a1}
.art-photo strong{display:block;margin:4px 2px 0;font-size:clamp(.66rem,1.3vw,.9rem)}
.art-paper{width:25%;height:66%;top:19%;left:42%;z-index:2;transform:rotate(9deg) rotateY(-12deg);padding:12px;color:#91331f}
.art-paper span{position:absolute;right:0;top:0;width:26%;aspect-ratio:1;background:#ffddce;clip-path:polygon(0 0,100% 100%,0 100%);border-radius:0 0 0 4px}
.art-paper strong{display:block;font-size:clamp(.92rem,2.2vw,1.55rem);margin:15% 0 6px}
.art-paper i{display:block;width:90%;height:4px;margin:7px 0;border-radius:8px;background:#ead3cb}
.art-paper i:nth-of-type(2){width:65%}
.art-paper small{font-size:clamp(.56rem,1.15vw,.75rem);white-space:nowrap}
.art-calendar{width:27%;height:49%;top:24%;left:63%;transform:rotate(15deg) rotateY(-10deg);overflow:hidden}
.art-calendar-top{height:22%;background:#73bda0}
.art-calendar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:10%}
.art-calendar-grid i{aspect-ratio:1;border-radius:4px;background:#e0f4eb}
.art-calendar-grid i:nth-child(5){background:#479a78}
.home-tools{scroll-margin-top:18px}
.home-tools .grid{margin-top:18px}
.home-shortcuts{padding:20px 22px;border:1px solid var(--line);border-radius:15px;background:#edf3ff;margin-bottom:28px}
.home-shortcuts h2,.home-guides h2{font-size:clamp(1.4rem,3vw,1.85rem)}
.shortcut-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:13px}
.shortcut-links a{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:6px 12px;border:1px solid #b9c9e8;border-radius:8px;background:#fff;color:#203c9c;text-decoration:none;font-weight:650}
.shortcut-links a:hover{background:#f5f7ff;text-decoration:underline}
.home-guides{display:grid;grid-template-columns:1fr 1.25fr;gap:18px;align-items:start;padding-bottom:22px}
.home-guides ul{list-style:none;margin:0;padding:0}
.home-guides li+li{border-top:1px solid var(--line)}
.home-guides a{display:flex;justify-content:space-between;gap:8px;padding:9px 0;font-weight:650;text-decoration:none}
.home-guides a:hover{text-decoration:underline}
.home-privacy{color:var(--muted);padding:0 0 24px}
@media(max-width:680px){.tools-home .home-intro,.home-guides{grid-template-columns:1fr}.tools-home .home-intro{gap:18px;padding-top:28px}.home-art{min-height:175px}.home-shortcuts{padding:15px}.home-guides{gap:8px}}

/* Warm canvas, teal actions, and dimensional Zysnor branding. */
:root{--bg:#faf7ef;--panel:#fffefa;--line:#cbded5;--ink:#142d2b;--muted:#435b53;--cyan:#11624f;--gold:#835015}
body{background:radial-gradient(ellipse at 90% 5%,#e0f2e8 0%,transparent 39rem),var(--bg)}
.top{background:#fffefa}
.top .brand{position:relative;margin:3px 0 7px}
.top .brand img{border-radius:8px;box-shadow:0 4px 0 #146655,0 8px 15px #163a3440;outline:1px solid #a7d3c6;outline-offset:0}
.top .brand:focus-visible{outline:2px solid var(--gold);outline-offset:6px}
.nav-contact,.menu a:hover,.menu a:focus-visible{background:#eaf5ef}
.cta,.chat-toggle,.assistant form button{background:#11624f;color:#fff;box-shadow:0 2px 0 #084437}
.cta:hover,.chat-toggle:hover,.assistant form button:hover{background:#0a4b3d}
.cta:disabled{background:#647b71}
.tools-home .home-intro{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);min-height:340px}
.home-intro h1{letter-spacing:-.065em}
.home-art{min-height:290px;border-color:#bddbd0;background:radial-gradient(ellipse at 58% 65%,#c4e9dc,transparent 72%),linear-gradient(145deg,#f5faf3,#dceee6)}
.home-art::before{background:repeating-linear-gradient(0deg,#418c7a25 0 1px,transparent 1px 22px),repeating-linear-gradient(90deg,#418c7a25 0 1px,transparent 1px 22px)}
.brand-plaque{position:absolute;left:18%;top:18%;width:66%;z-index:3;transform:rotate(-7deg) rotateY(-12deg);border-radius:12px;box-shadow:0 6px 0 #267b69,0 12px 0 -1px #125547,0 25px 26px #12463755;isolation:isolate}
.brand-plaque img{display:block;width:100%;height:auto;border-radius:12px}
.brand-plaque::after{content:"";position:absolute;pointer-events:none;inset:0;border-radius:inherit;border:1px solid #8ed8c9;background:linear-gradient(148deg,#ffffff19,transparent 39%)}
.art-card{border-color:#b5d3c6;box-shadow:0 16px 25px #285c4a25,0 4px 0 #a3c9bc}
.art-photo{width:29%;height:39%;left:13%;top:52%;transform:rotate(-13deg) rotateY(-8deg);color:#135441}
.art-landscape{background:#b7e7d7}
.art-landscape::before{background:#65bba1}
.art-landscape::after{background:#398776}
.art-paper{width:21%;height:46%;left:43%;top:48%;transform:rotate(6deg) rotateY(-10deg);padding:9px}
.art-paper strong{margin:8% 0 4px}
.art-calendar{width:22%;height:36%;left:68%;top:53%;transform:rotate(16deg) rotateY(-10deg)}
.card{background:var(--panel);box-shadow:0 6px 20px #264b3b13}
.card:hover,.card:focus-within{border-color:#79ad9e;box-shadow:0 12px 26px #264b3b20}
.card .icon{background:#e1f3e8;color:#145a49}
.tool-card:nth-child(2) .icon{background:#fff0dd;color:#8b4524}
.tool-card:nth-child(3) .icon{background:#e7edfa;color:#354784}
.home-shortcuts,.utility-help,.utility-status:not(:empty){background:#e8f4ed}
.shortcut-links a{border-color:#a9c8bc;color:#155645}
.shortcut-links a:hover,#pdf-order button{background:#f1f8f3}
input,textarea,select,#pdf-order button{border-color:#97b5aa}
input[type=file]{background:#f0f7f1}
input[type=file]::file-selector-button{background:#d8efe1;color:#154f41}
.image-previews img{background:#ebf4ee}
.guide-number,.guide-action{background:#11624f}
.guide-screen{border-color:#b0cbbf;background:#f2f8f3;box-shadow:0 6px 0 -2px #bfd9ce,0 12px 24px #28564520}
.guide-window{background:#e0efe6;border-color:#c7dfd4}
.guide-window span{background:#4d8271}
.guide-field{border-color:#b9d0c5}
.guide-field span{color:var(--muted)}
@media(max-width:680px){.tools-home .home-intro{grid-template-columns:1fr;min-height:0}.home-art{min-height:clamp(200px,58vw,265px)}.brand-plaque{width:61%;left:20%}}

/* Language selection and right-to-left navigation. */
.language-picker{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:6px 9px;font-size:.82rem}
.language-picker label{font-weight:700;color:var(--muted)}
.language-picker select{width:auto;min-width:112px;max-width:165px;min-height:38px;padding:4px 7px;background:#fff}
.language-translate{font-weight:700;white-space:nowrap}
.language-status{max-width:175px;color:var(--muted);font-size:.73rem;line-height:1.3}
[dir=rtl] .menu{left:auto;right:0}
[dir=rtl] .guide-help ol,[dir=rtl] .utility-help ol{padding-left:0;padding-right:1.35rem}
[dir=rtl] input[type="file"],[dir=rtl] input[type="date"],[dir=rtl] input[type="number"]{direction:ltr}
@media(max-width:680px){.bar{flex-wrap:wrap}.language-picker{justify-content:flex-start}}

/* Batch image selection and study-tool results. */
.resize-drop{display:grid;gap:7px;border:2px dashed #9ebfb1;border-radius:12px;background:#edf7f1;padding:14px}
.resize-drop.is-dragging{border-color:#11624f;background:#d9efe2}
.resize-files-list,.resize-results{margin:0;padding:0;list-style:none}
.resize-files-list li,.resize-results li{overflow-wrap:anywhere}
.resize-results li{display:grid;grid-template-columns:70px 1fr;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
.resize-results img{width:70px;height:58px;object-fit:contain;background:#edf4ee;border-radius:6px}
.resize-results .cta{grid-column:2;justify-self:start;margin:0}
.study-output{white-space:pre-wrap;overflow-wrap:anywhere;padding:12px;background:#eaf5ef;border-radius:8px;margin-top:12px}
.study-output:empty,.study-output:empty+.study-copy{display:none}
.study-copy{margin-top:10px}

/* Section-specific footer and searchable tool catalog. */
.site-footer{background:#132d28;color:#edf7f2;margin-top:18px}
.site-footer .footer-columns{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:22px;padding:30px 0 22px}
.site-footer h2{font-size:1rem;margin-bottom:9px}
.site-footer a{color:#def3e8;text-decoration:none}
.site-footer a:hover{text-decoration:underline}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin:6px 0}
.site-footer .footer-bottom{padding:13px 0 18px;border-top:1px solid #416357;color:#c6ded3;font-size:.86rem}
.site-footer .brand img{display:block}
.catalog-search{display:block;max-width:460px;margin-top:12px}
.catalog-search input{margin-top:4px}
.catalog-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.catalog-links a{font-weight:700}
#pdf-edit-list{margin:0;padding-left:20px}
#pdf-edit-list li{margin-bottom:7px}
#pdf-edit-list button{margin-left:5px}
@media(max-width:660px){.site-footer .footer-columns{grid-template-columns:1fr 1fr}.site-footer .footer-brand{grid-column:1/-1}}

#signature-canvas{display:block;width:100%;height:auto;background:white;border:1px solid var(--line);border-radius:8px;touch-action:none}

/* Founder profile and professional background. */
.founder-feature{margin:10px 0 28px;padding:clamp(18px,4vw,42px);border:1px solid #b9d6ca;border-radius:22px;background:linear-gradient(135deg,#e4f2e9,#fffefa 72%);box-shadow:0 13px 30px #254d3b12;grid-template-columns:minmax(0,310px) minmax(0,1fr);gap:clamp(20px,5vw,62px)}
.founder-feature .founder-photo{width:100%;max-width:310px;border:5px solid #fffefa;border-radius:18px;box-shadow:0 7px 0 -3px #78ac9b,0 12px 24px #254d3b28}
.founder-feature .founder-photo img{object-position:center}
.founder-copy h2{font-size:clamp(2.05rem,4.4vw,3.5rem)}
.founder-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}
.founder-facts div{display:grid;gap:2px;padding:9px 12px;border-left:3px solid #2c7e67;background:#e8f4ed;border-radius:4px 8px 8px 4px}
.founder-facts strong{color:#145a49;font-size:1.18rem}
.founder-facts span{font-size:.85rem;color:var(--muted)}
.founder-background .card p{margin-top:0}
@media(max-width:720px){.founder-feature{grid-template-columns:1fr}.founder-feature .founder-photo{max-width:270px}}

/* Tool categories in the online tools navigation. */
.top .bar:has(.tool-header-nav){position:relative}
.tool-header-nav{gap:6px 12px}
.tool-header-nav>a,.tool-menu summary{display:inline-flex;align-items:center;min-height:42px;padding:5px 8px;font-size:.88rem;font-weight:700}
.tool-menu{margin:0;padding:0;border:0;background:transparent}
.tool-menu summary{cursor:pointer;list-style:none;gap:5px;border-radius:7px}
.tool-menu summary::-webkit-details-marker{display:none}
.tool-menu summary::after{content:"";width:6px;height:6px;border-inline-end:2px solid currentColor;border-block-end:2px solid currentColor;transform:rotate(45deg);margin-top:-3px}
.tool-menu[open] summary,.tool-menu summary:hover{background:#eaf5ef;color:#11624f}
.tool-menu[open] summary::after{transform:rotate(225deg);margin-top:3px}
.tool-menu-panel{position:absolute;z-index:7;inset-inline:0;top:100%;max-height:min(65vh,440px);overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:0 12px 26px #163b3029;padding:12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:6px}
.tool-menu-panel a{padding:8px 10px;border-radius:6px;line-height:1.35;color:var(--ink)}
.tool-menu-panel a:hover,.tool-menu-panel a:focus-visible{background:#eaf5ef;color:#11624f}
@media(max-width:1040px){.top .bar:has(.tool-header-nav){flex-wrap:wrap;gap:5px 14px}.tool-header-nav{order:3;width:100%}}
@media(max-width:570px){.tool-header-nav{gap:2px 5px}.tool-header-nav>a,.tool-menu summary{min-height:38px;padding:3px 6px;font-size:.82rem}.tool-menu-panel{padding:8px}}

/* Visual walkthroughs highlight the control or result once when a step enters view. */
.visual-guide .guide-return { display: inline-block; margin-top: 1rem; }
.tool-card .tool-guide-link { display: inline-block; margin-inline-start: 1rem; }
@media (prefers-reduced-motion: no-preference) {
  .guide-in-view .guide-focus,
  .guide-in-view .guide-result {
    animation: guide-highlight 850ms ease-out;
  }
  @keyframes guide-highlight {
    35% { transform: translateY(-3px); box-shadow: 0 0 0 4px rgba(17, 96, 78, 0.28); }
    100% { transform: translateY(0); }
  }
}

/* Feedback sits beside the tool workflow without taking space until opened. */
.tool-feedback { margin-block: 1.5rem; padding: 1rem 1.25rem; border: 1px solid currentColor; border-radius: 0.75rem; }
.tool-feedback summary { cursor: pointer; font-weight: 700; }
.tool-feedback summary:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.tool-feedback .feedback-form { margin-block-start: 1rem; }
.tool-feedback .feedback-form p { margin: 0; }

/* Match the workspace to the task while keeping controls in a predictable order. */
.tool-workspace .utility-panel { min-inline-size: 0; align-self: start; }
.workspace-heading { font-size: clamp(1.25rem, 2.1vw, 1.65rem); margin: 0 0 1rem; }
.tool-workspace .utility-help h2:first-child { font-size: 1.2rem; }
.workspace-example { border-inline-start: 3px solid currentColor; padding-inline-start: .7rem; overflow-wrap: anywhere; }
.workspace-example span { display: block; white-space: pre-line; }
.workspace-citation .utility-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.workspace-citation .utility-form > :is(div, label:has([name="title"]), label:has([name="url"])) { grid-column: 1 / -1; }
.workspace-number .utility-form[data-tool="final-grade-calculator"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.workspace-number .utility-form[data-tool="final-grade-calculator"] > div { grid-column: 1 / -1; }
.workspace-number .study-output, .workspace-timer .study-output { font-size: 1.3rem; font-weight: 700; }
.workspace-timer .study-output { font-size: clamp(2rem, 6vw, 4rem); font-variant-numeric: tabular-nums; text-align: center; }
.workspace-compare { grid-template-columns: minmax(0, 1fr); }
.workspace-compare .utility-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.workspace-compare .utility-form > div { grid-column: 1 / -1; }
.workspace-compare .study-output { font-family: ui-monospace, monospace; }
.workspace-file input[type="file"], .workspace-image input[type="file"] { border-style: dashed; padding: .85rem; }
.workspace-grammar .study-output { border-inline-start: 3px solid currentColor; }
.workspace-speech #media-text { min-block-size: 12rem; }
@media (max-width: 720px) {
  .tool-workspace .utility-help { order: 0; }
  .workspace-compare .utility-form, .workspace-citation .utility-form,
  .workspace-number .utility-form[data-tool="final-grade-calculator"] { grid-template-columns: minmax(0, 1fr); }
}

/* Extend the primary link to the whole card. Keep the guide separately clickable. */
.tool-card { position: relative; }
.tool-card-open::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
.tool-card-open:focus-visible::after { outline: 2px solid currentColor; outline-offset: 3px; }
.tool-card .tool-guide-link { position: relative; z-index: 2; }
@media (hover: hover) {
  .tool-card:has(.tool-card-open:hover) { border-color: currentColor; }
}

/* The layered example shows what goes into each tool and what comes out. */
.tool-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(18rem, 1fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: center;
}
.tool-intro-copy { min-inline-size: 0; }
@media (max-width: 780px) { .tool-intro { grid-template-columns: minmax(0, 1fr); } }

.feedback-inbox { padding-block-end: 3rem; }
.feedback-filters { grid-template-columns: repeat(2, minmax(0, 1fr)) auto; align-items: end; margin-block: 1.5rem; }
.feedback-filters .cta { margin: 0; }
.feedback-messages { display: grid; gap: 1rem; }
.feedback-messages .card :is(h2, p) { margin: 0; }
.feedback-message { white-space: pre-wrap; overflow-wrap: anywhere; }
.feedback-pagination { display: flex; gap: 1rem; margin-block-start: 1.5rem; }
@media (max-width: 640px) { .feedback-filters { grid-template-columns: minmax(0, 1fr); } }

/* Keep tool controls, results and messages readable as their content grows. */
.tool-workspace .utility-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
}
.tool-workspace .utility-panel > :is(.workspace-heading, .study-output, .utility-status, [role="status"]),
.tool-workspace .utility-form > .utility-status,
#number-words-result > :is(h3, .study-output) {
  margin: 0;
}
.tool-workspace :is(.utility-panel, .utility-help, .utility-form, .utility-fields, .utility-form label, .study-output) {
  min-inline-size: 0;
  overflow-wrap: anywhere;
}
.tool-workspace :is(.utility-form, .utility-fields) > * { min-inline-size: 0; }
.tool-workspace .utility-form :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
  min-inline-size: 0;
  max-inline-size: 100%;
}
.tool-workspace .utility-form > div:has(> button) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .65rem;
}
.tool-workspace :is(.utility-panel, .utility-form) > :is(.cta, .text-link),
#number-words-result > .text-link {
  justify-self: start;
}
.tool-workspace :is(.cta, .text-link) {
  max-inline-size: 100%;
  white-space: normal;
  text-align: start;
  line-height: 1.35;
}
.tool-workspace button.text-link {
  min-block-size: 2.75rem;
  padding: .45rem .8rem;
  border: 1px solid var(--line);
  border-radius: .5rem;
  background: var(--panel);
  font-weight: 650;
}
.tool-workspace button.text-link:hover { border-color: currentColor; }
.tool-workspace :is(.utility-form > .cta, .utility-form > div > .cta) { margin: 0; }
.tool-workspace .study-output {
  line-height: 1.55;
  word-break: normal;
  overflow-wrap: anywhere;
}
#number-words-result {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: .65rem;
  padding-block-start: 1rem;
  border-block-start: 1px solid var(--line);
}
.tool-workspace :is(.utility-panel, .utility-form) > [role="status"]:empty,
.tool-workspace :is(#pdf-render-results, #pdf-edit-list, #pdf-order):empty {
  display: none;
}
#pdf-render-results:not(:empty) {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
}
#pdf-render-results .cta { margin: 0; }
.resize-results li { grid-template-columns: minmax(0, 70px) minmax(0, 1fr); }
#pdf-order li, #pdf-edit-list li { overflow-wrap: anywhere; }
#pdf-order li { flex-wrap: wrap; }
#pdf-order span { flex: 1 1 8rem; min-inline-size: 0; }
.tool-workspace .image-previews :is(figure, img) { min-inline-size: 0; max-inline-size: 100%; }
.guide-field, .guide-window b, .scene-caption span { min-inline-size: 0; overflow-wrap: anywhere; }
@media (max-width: 420px) {
  .tool-workspace .utility-fields { grid-template-columns: minmax(0, 1fr); }
  .tool-workspace .utility-form > div:has(> button) { row-gap: .75rem; }
}
