html, body {  max-width: 1400px; margin: 0 auto; font-family: "montserrat", sans-serif; font-size: clamp(0.875rem, 3.5vw, 1rem); color: #080808; background: #fffffe; }

header, .wrapper, .wrapperR, .wrapper2column, .wrapper4column { display: grid; place-items: center; }
header, .wrapper { grid-template-columns: 33% 67%; }
.wrapperR { grid-template-columns: 67% 33%; }
.wrapper2column{ grid-template-columns: 1fr 1fr; margin:20px; gap: 20px; }
.wrapper4column { grid-template-columns: 1fr 1fr 1fr 1fr; gap: 20px; margin-top: 20px; }
@media screen and (max-width: 1200px) { .wrapper4column { grid-template-columns: 1fr 1fr; } }
@media screen and (max-width: 700px) { header, .wrapper, .wrapperR, .wrapper2column, .wrapper4column { grid-template-columns: 100%; } }

@media screen and (max-width: 700px) { .medal { padding: 0px 20%; Margin: 60px 0px; } }
.overlay { margin-top: 9%; z-index: 1; }
@media screen and (max-width: 700px) { .overlay { margin-top: -20%; } }

@keyframes slide {from { transform: translateX(100%); } to { transform: translateX(0); } }
div.sticky { position: -webkit-sticky; position: sticky; bottom: 0; z-index: 4; animation: slide 0.9s ease-out; }

#fadeout { height: 100px; position: fixed; bottom: 0; width: 100%; background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 90%); z-index: 3; }

.pane { transform: translateY(100%); opacity: 0; transition: transform 1s ease-out, opacity 2s ease-out, filter 2s ease-out; color: #fffffe; }
.pane.visible { transform: translateY(0);  opacity: 1; }

details { background-color: rgba(23,67,88,0.9); color: #fffffe; padding: 6px 20px; z-index: 3; margin: 10px 0px; }
details > summary { font-weight: 900; text-decoration: underline; cursor: grab; padding: 8px 0px; margin: 4px 0px 4px 0px; }
details > summary:hover { text-decoration: none; }

.menu { background-color: rgba(23,67,88,0.9); color: #fff; margin: 0px; padding: 10px; z-index: 1; }
.menu nav a { font-family: "montserrat", sans-serif; display: block; font-size: clamp(0.9rem, 3.5vw, 1.1rem); color: #fffffe; padding: 10px; font-weight: 900; text-decoration: underline; border-radius: 6px; transition: all 0.2s ease; }
nav { margin: 2px 0; padding: 2px 2px; }
nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap;  gap: 10px; }
nav a { font-family: "Playfair Display", serif; display: block; font-size: clamp(0.9rem, 3.5vw, 1.1rem); color: #fffffe; padding: 10px; font-weight: 900; text-decoration: underline; border-radius: 6px; transition: all 0.2s ease; }
nav a:hover { color: #080808; background-color: #fffffe; }

main { margin: 0 auto; text-align: left; width: 90%; }
.page { margin: 0px 0px 20px; width: 100%; float: left; background: rgba(255, 266, 254, 0.9); z-index: 1; }

h2, h3, h4, h5, h6, .h4, .h5 { text-transform: capitalize; font-weight: 900; margin: 20px 0px; text-wrap: balance; }
h2 { font-size: clamp( 2rem, 3.5vw, 2.4rem); }
h3 { font-size: clamp( 1.8rem, 3.5vw, 2.2rem); color: #181818; }
h4, .h4 { font-size: clamp( 1.4rem, 3.5vw, 1.5rem); margin-top: 40px; color: #282828; }
h5, .h5 { font-size: clamp( 1.1rem, 3.5vw, 1.2rem); margin: 10px 0px 30px; color: #383838; }
h6 { font-size: clamp( 1rem, 3.5vw, 1.1rem); margin: 50px 0px 0px; color: #484848; }

.reduce { margin: -10px 0px 10px; }

img { max-width: 100%; height: auto; font-size: clamp( 1.4rem, 3.5vw, 1.6rem); font-weight: 900; text-align: center; line-height: 150%; }
.icon { width: 80px; height: 79px; }
.bolt { width: 50px; height: 49px; margin: 0px 0px 15px 12px; }
.highlighter { width: 50px; height: 47px; margin: 0px 0px 15px 100px; }
.signature { width: 110px; height: 55px; }
.jigsaw { width: 55px; height: 55px; margin: 0px 0px 0px 10px; float: right; }

.enlarge { width: auto; height: auto; transition: transform 0.6s ease; box-shadow: 0 4px 8px #2d424c, 0 8px 16px #2d424c; }
.enlarge:hover { transform: scale(1.6); z-index: 1; }
@media screen and (max-width: 1200px) { .enlarge:hover { transform: scale(1.2) } }
@media screen and (max-width: 700px) { .enlarge:hover { transform: none; } }

section { position: relative; display: flex; flex-direction: column; }
header { position: sticky; top: 0; }
.section-heading { position: sticky; top: 0; color: #fffffe; }
.section-heading h2 { font-family: "Playfair Display", serif; font-size: clamp( 1.4rem, 3.5vw, 2.4rem); margin: 4px 0px 22px; padding: 10px; background-color: #ef4123; }
section::before { content: ''; display: block; height: 70px;  margin-top: -70px; visibility: hidden; pointer-events: none; }

@keyframes Increase { from { font-size: 1rem; } to { font-size: clamp(1.4rem, 3.5vw, 2.6rem); } }
strong, h1 { font-weight: 900; margin: 20px 0px 10px; animation: Increase 1.8s ease-out forwards; }

@keyframes IncreaseRed  { from { font-size: 2rem; } to { font-size: clamp( 2.8rem, 3.5vw, 4rem); }}
.redHeading { animation: IncreaseRed 1.8s ease-out forwards; color: #ef4123; margin: 20px 10px; }

p { text-align:justify; line-height: 150%;}
b { font-family: "Playfair Display", serif; font-size: clamp( 1.2rem, 3.5vw, 1.4rem); font-weight: 900; }

.br { display: block; margin-top: 8px; }
.break { margin: 4px 40px; }
@media screen and (max-width: 900px) { .break { display: block; margin: 10px 20px 30px 10px; } }

@keyframes pulse { 0% { transform: scale(1); } 50% { transform: scale(1.1); } 100% { transform: scale(1); }}
.pulse { animation: pulse 0.9s infinite; z-index: -1; filter: drop-shadow(20px 20px 5px); color: #ccc; }
@media screen and (max-width: 700px) { .pulse { width: 80px; height: 80px; margin: 0px 25% 0px 0px; } }

mark { background-color: #d5d9db; text-transform: capitalize; font-weight: 600; }
.hidden-mark mark { font-weight: 400;  background-color: transparent; color: inherit; text-transform: none; }

fieldset { padding: 10px; margin: 40px 0px; text-align:justify; border: 4px solid; border-image-source: radial-gradient( circle at bottom right, #4f4f4e, #ccc, transparent 120%); border-image-slice: 1; line-height: 150%; }
legend {  font-size: clamp(1.1rem, 3.5vw, 1.6rem); font-weight: 900; text-wrap: balance; text-align: left; }
@media screen and (max-width: 700px) { fieldset { margin: 30px 0px; } }
@media screen and (max-width: 700px) { .margin { margin: 60px 0px 40px; } }

details > fieldset { padding: 10px; margin: 40px 0px; text-align:justify; border: 4px solid; border-image-source: radial-gradient( circle at bottom right, #fffffe, #ccc, transparent 120%); border-image-slice: 1; line-height: 150%; }
@media screen and (max-width: 700px) { details > fieldset { margin: 50px 0px; } }

small { font-family: "Playfair Display", serif; text-wrap: balance; font-size: smaller; font-weight: 900; }
.sans { font-family: "montserrat", sans-serif; font-weight: 400; }

a { font-size: clamp( 1.7rem, 3.5vw, 2.3rem); color: #ef4123; text-decoration: underline; font-weight: 900; text-wrap: balance; }
a:hover { text-decoration: none; color: #4d329a; }
a:visited { text-decoration: none; }

.blueGlass { background-color: rgba(23,67,88,0.9); color: #fff; margin: 10px 0px; padding: 10px 20px; z-index: 1; }
.blueGlass .redText  { color: #ef4123; }
.blueGlass a { font-size: clamp( 1rem, 3.5vw, 1.5rem); color: white; text-decoration: underline; font-weight: 900; }
.blueGlass a:hover { text-decoration: none; color: #32cd32; }
.blueGlass a:visited { text-decoration: none; }

.booklet { display: grid; grid-template-columns: 1fr 1fr; }
@media screen and (max-width: 1110px) { .booklet { grid-template-columns: 100%; }}

.dropBooklet { width: 194px; height: 288px; padding: 40px 20px; }
@media screen and (max-width: 700px) { .dropBooklet { width: 108px; height: 162px; margin: 20px 0px; float: left; padding: 20px; }}

footer { background-color: rgba(23,67,88,0.9); color: #fffffe; margin: 10px 0px; padding: 20px; text-align: right; font-size: clamp(0.2rem, 3.5vw, 0.8rem); font-weight: 600; }