*{
 margin:0;
 padding:0;
 box-sizing:border-box;
}
body{
 font-family:'Josefin Sans', sans-serif;
 font-weight:400;
 font-size:16px;
 line-height:1.5;
 color:#0c3444;
 background-color:#d7f2d5;
}
.container{
 max-width:1280px;
 margin:0 auto;
 padding:0 1rem;
}
a{
 color:#0c3444;
 text-decoration:none;
 transition:all 0.3s ease-in-out;
}
a:hover{
 text-decoration:underline;
}
h1, h2, h3, h4, h5, h6{
 font-family:'Josefin Sans', sans-serif;
 font-weight:700;
 margin:0;
}
h1{
 font-size:48px;
 line-height:1.2;
 color:#0c3444;
}
h2{
 font-size:48px;
 line-height:1.2;
 color:#0c3444;
}
p{
 margin:0 0 1rem 0;
}
.site-header{
 background-color:#feb46b;
 padding:0 24px;
}
.site-header .logo{
 text-align:center;
 padding:0.5rem 0;
}
.site-header .logo img{
 width:169px;
 height:auto;
}
.hero{
 padding:48px 48px 24px;
 background-color:#d7f2d5;
}
.hero-content{
 display:flex;
 align-items:center;
 gap:3rem;
}
.hero-image{
 flex:1;
 text-align:center;
 display:flex;
 justify-content:center;
 align-items:center;
}
.hero-image img{
 max-width:500px;
 width:100%;
 height:auto;
 border-radius:24px;
 box-shadow:rgb(12, 52, 68) -24px -24px 0px 0px;
 object-fit:contain;
}
.hero-text{
 flex:1;
}
.hero-text h1{
 color:#0c3444;
 margin-bottom:1rem;
}
.hero-text p{
 margin-bottom:1rem;
}
.hero-text p:last-of-type{
 margin-bottom:1.5rem;
}
@media screen and (max-width:975px){
 .hero-text p:last-of-type{
 margin-bottom:1rem;
}
}
.btn{
 display:inline-block;
 padding:12px 40px;
 font-family:'Josefin Sans', sans-serif;
 font-weight:600;
 font-size:16px;
 text-align:center;
 text-decoration:none;
 border:none;
 border-radius:24px;
 cursor:pointer;
 transition:all 0.3s ease;
 width:200px;
}
.btn-primary{
 background-color:#feb46b;
 color:#0c3444;
}
.btn-primary:hover{
 background-color:#fda442;
 text-decoration:none;
 transform:translateY(-2px);
 box-shadow:0 4px 8px rgba(0,0,0,0.2);
}
.btn-submit{
 background-color:#feb46b;
 color:#0c3444;
 width:200px;
 font-weight:600;
}
.btn-submit:hover{
 background-color:#fda442;
 transform:translateY(-2px);
 box-shadow:0 4px 8px rgba(0,0,0,0.2);
}
.contact{
 background-color:#0c3444;
 padding:48px 24px;
}
.contact-content{
 display:flex;
 gap:3rem;
 align-items:stretch;
}
.contact-info{
 flex:1;
}
.contact-info h2{
 margin-bottom:1rem;
 color:#d7f2d5;
}
.contact-info p{
 color:#d7f2d5;
}
.contact-form{
 flex:1;
 padding:0;
 margin-top:0;
}
.form-group{
 margin-bottom:1rem;
}
.form-group input,
.form-group textarea{
 width:100%;
 padding:12px;
 font-family:'Josefin Sans', sans-serif;
 font-size:16px;
 background-color:#d7f2d5;
 border:1px solid #d7f2d5;
 border-radius:24px;
 transition:border-color 0.3s ease;
 box-sizing:border-box;
}
.form-group input:focus,
.form-group textarea:focus{
 outline:none;
 border-color:#feb46b;
}
.form-group textarea{
 resize:vertical;
}
.form-actions{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:1rem;
 margin-top:1rem;
}
.g-recaptcha{
 flex-shrink:0;
}
.recaptcha-wrapper{
 display:flex;
 justify-content:center;
 align-items:center;
}
@media screen and (max-width:575px){
 .form-actions{
 flex-direction:column;
 align-items:stretch;
 gap:0.75rem;
 width:100%;
 margin-top:0.5rem;
}
 .recaptcha-wrapper{
 width:100%;
}
 .btn-submit{
 width:100%;
}
 .form-group{
 margin-bottom:0.75rem;
}
 .hero-image{
 margin-bottom:0.75rem;
}
}
.form-message{
 margin-top:1rem;
 padding:1rem;
 border-radius:4px;
 display:none;
}
.form-message.success{
 background-color:#d4edda;
 color:#155724;
 border:1px solid #c3e6cb;
 display:block;
}
.form-message.error{
 background-color:#f8d7da;
 color:#721c24;
 border:1px solid #f5c6cb;
 display:block;
}
.site-footer{
 background-color:#feb46b;
 padding:0.5rem 0;
 text-align:center;
}
.footer-logo{
 margin-bottom:0.25rem;
}
.footer-logo img{
 width:200px;
 height:auto;
}
.site-footer p{
 color:#0c3444;
 margin:0;
}
@media screen and (max-width:975px){
 .hero{
 padding:40px 40px 40px;
}
 .hero-content{
 flex-direction:column;
}
 .hero-image{
 order:-1;
 margin-bottom:0.5rem;
}
 .hero-image img{
 width:70%;
 max-width:400px;
}
 .contact{
 padding:40px 40px;
}
 .contact-content{
 flex-direction:column;
}
 .contact-form{
 width:100%;
 margin-top:0;
}
 .contact-info p:last-child{
 margin-bottom:0;
}
}
@media screen and (max-width:575px){
 h1{
 font-size:40px;
}
 h2{
 font-size:40px;
}
 .site-header{
 padding:0;
}
 .site-header .logo img{
 width:169px;
}
 .hero{
 padding:48px 16px 32px;
}
 .hero-image{
 text-align:right;
}
 .hero-image img{
 width:92%;
 max-width:400px;
}
 .btn{
 width:100%;
 margin-bottom:2.5rem;
}
 .btn-submit{
 width:100%;
}
 .contact{
 padding:40px 16px;
}
 .contact-form{
 width:100%;
 margin-top:0;
}
 .contact-info p:last-child{
 margin-bottom:0;
}
 .recaptcha-wrapper{
 position:relative;
 left:50%;
 right:50%;
 margin-left:-50vw;
 margin-right:-50vw;
 width:100vw;
 display:flex;
 justify-content:center;
}
 .footer-logo img{
 width:150px;
 max-width:150px;
}
}