:root{--cream:#FFF9F3;--mist:#EAF3F8;--powder:#C3DFEB;--deep:#1A4254;--ink:#1E4F64}*{box-sizing:border-box}body{margin:0;font-family:Nunito Sans,sans-serif;background:var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}.wrap{max-width:1200px;margin:0 auto;padding:0 24px}.masthead{background:var(--deep);color:var(--cream);padding:52px 0 76px;position:relative;overflow:hidden}.masthead:after{content:"";position:absolute;right:-180px;top:-200px;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(195,223,235,.18),transparent 68%);pointer-events:none}.masthead:before{content:"";position:absolute;left:-140px;bottom:-260px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(56,146,208,.16),transparent 70%);pointer-events:none}.masthead .wrap{position:relative;z-index:1}.logo{height:46px;width:auto;margin-bottom:44px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.masthead .eyebrow{color:var(--powder)}.masthead h1{font-family:Fraunces,serif;font-weight:300;font-size:clamp(34px,5.2vw,62px);line-height:1.03;letter-spacing:-.02em;margin:16px 0 20px;max-width:15ch}.masthead h1 em{font-style:italic;font-weight:400}.masthead p{font-size:18px;line-height:1.65;max-width:60ch;color:#fff9f3d1;margin:0 0 22px}.hint{display:inline-flex;align-items:center;gap:9px;font-size:13.5px;color:#fff9f3b8;background:#fff9f314;border:1px solid rgba(255,249,243,.16);padding:9px 15px;border-radius:999px}.hint svg{flex-shrink:0;color:var(--powder)}main{padding:60px 0 24px}.section-head{display:flex;align-items:center;gap:16px;margin:0 0 26px}.section-head .eyebrow{color:var(--deep);opacity:.55}.section-head .rule{flex:1;height:1px;background:#1a425424}section{margin-bottom:66px}.concepts{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}.concept{background:#fff;border:1px solid rgba(26,66,84,.1);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;transition:transform .32s cubic-bezier(.22,1,.36,1),box-shadow .32s}.concept:hover{transform:translateY(-6px);box-shadow:0 26px 50px #1a425426}.concept .cover{height:156px;display:flex;align-items:center;justify-content:center;position:relative}.concept .cover .sample{font-size:56px;line-height:1}.concept .cover .tag{position:absolute;left:16px;bottom:14px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.72}.concept .body{padding:22px 22px 24px;display:flex;flex-direction:column;gap:11px;flex:1}.concept .name{font-size:20px;font-weight:700;color:var(--deep)}.concept .desc{font-size:14px;line-height:1.55;color:#1e4f64b8;flex:1}.swatches{display:flex;gap:7px}.sw{width:16px;height:16px;border-radius:50%}.view{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--deep);margin-top:2px}.view svg{transition:transform .2s}.concept:hover .view svg{transform:translate(3px)}.flag{position:absolute;right:14px;top:14px;background:var(--deep);color:var(--cream);font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:5px 10px;border-radius:999px}.themes{display:grid;grid-template-columns:repeat(auto-fill,minmax(224px,1fr));gap:18px}.theme{background:#fff;border:1px solid rgba(26,66,84,.1);border-radius:16px;padding:22px;transition:transform .3s,box-shadow .3s}.theme:hover{transform:translateY(-4px);box-shadow:0 16px 34px #1a42541a}.badge{width:42px;height:42px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;margin-bottom:15px}.theme .name{font-weight:700;color:var(--deep);margin-bottom:5px}.theme .desc{font-size:13px;line-height:1.5;color:#1e4f64a6;margin-bottom:14px}footer{background:var(--deep);color:var(--cream);padding:46px 0}footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:28px;align-items:flex-end}footer .fname{font-family:Fraunces,serif;font-size:24px;font-weight:400;margin-bottom:6px}footer .meta{font-size:14px;color:#fff9f3b8;line-height:1.6}footer a.phone{color:var(--powder);font-weight:700}@media (max-width:600px){.masthead{padding:40px 0 60px}.logo{margin-bottom:32px}footer .wrap{align-items:flex-start}}
