.ct-page h1,.ct-page h2,.ct-page h3{font-family:"DM Serif Display",Georgia,serif;font-weight:400;margin:0}
.ct-page h1 em,.ct-page h2 em{color:var(--red);font-style:italic}
.ct-page p{margin:0}
.ct-page ul{margin:0;padding:0;list-style:none}
.ct-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:6vw;align-items:center;padding:12vh 8vw 18vh;background:linear-gradient(135deg,var(--cream),#ead8cf 72%)}
.ct-hero h1{font-size:clamp(56px,7vw,112px);line-height:.92;letter-spacing:-.04em;margin:0 0 28px}
.ct-lead{font-size:19px;line-height:1.75;max-width:560px;margin-bottom:30px!important}
.ct-hero-photo{display:grid;justify-items:center;gap:20px}
.ct-circle{position:relative;width:min(340px,70vw);aspect-ratio:1}
.ct-circle:before{content:"";position:absolute;inset:-14px;border:1px solid var(--gold);border-radius:50%;transform:translate(14px,10px)}
.ct-circle:after{content:"";position:absolute;inset:-30px;border-radius:50%;background:var(--nude);opacity:.6;z-index:0}
.ct-circle img{position:relative;z-index:1;width:100%;height:100%;border-radius:50%;object-fit:cover;box-shadow:0 26px 54px rgba(31,42,68,.22)}
.ct-photo-cap{text-align:center;font:400 22px/1.2 "DM Serif Display",Georgia,serif;margin-top:18px!important}
.ct-photo-cap span{display:block;font:400 13px Inter,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#5f6573;margin-top:6px}
.ct-ways{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding:0 8vw;margin-top:-11vh;position:relative;z-index:2}
.ct-way{display:grid;gap:8px;justify-items:start;padding:34px 32px;background:var(--white);box-shadow:0 24px 50px rgba(31,42,68,.12);text-decoration:none;color:var(--navy);border-top:3px solid var(--red);transition:transform .25s,box-shadow .25s}
.ct-way:hover{transform:translateY(-6px);box-shadow:0 32px 60px rgba(31,42,68,.18)}
.ct-way:nth-child(2){border-top-color:var(--gold)}
.ct-way:nth-child(3){border-top-color:var(--teal)}
.ct-ic{width:54px;height:54px;border-radius:50%;background:var(--nude);display:grid;place-items:center;color:var(--red)}
.ct-ic svg{width:26px;height:26px}
.ct-way small{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:#7b8190;margin-top:10px}
.ct-way b{font:400 clamp(22px,2vw,28px)/1.2 "DM Serif Display",Georgia,serif;overflow-wrap:anywhere}
.ct-go{font-size:13px;font-weight:600;color:var(--red);margin-top:6px}
.ct-go:after{content:" →"}
.ct-message{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:7vw;align-items:start;padding:120px 8vw}
.ct-message h2{font-size:clamp(40px,4.6vw,70px);line-height:1;margin:0 0 24px}
.ct-big{font-size:18px!important;line-height:1.75;color:#3a4358;margin-bottom:26px!important}
.ct-message ul{border-top:1px solid var(--nude)}
.ct-message li{padding:15px 0 15px 32px;border-bottom:1px solid var(--nude);position:relative;line-height:1.55}
.ct-message li:before{content:"✦";position:absolute;left:0;color:var(--red);font-size:13px;top:18px}
.ct-card{background:var(--white);padding:42px 44px;box-shadow:0 26px 54px rgba(31,42,68,.12);border-top:3px solid var(--red)}
.ct-card form{display:grid;gap:22px}
.ct-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.ct-page .f{display:grid;gap:8px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:600}
.ct-page input[type=text],.ct-page input[type=email],.ct-page textarea{width:100%;font:16px/1.5 Inter,Arial,sans-serif;color:var(--navy);background:var(--cream);border:1px solid var(--nude);padding:14px 16px;border-radius:0;text-transform:none;letter-spacing:0;font-weight:400;transition:border-color .15s,background .15s}
.ct-page textarea{min-height:150px;resize:vertical}
.ct-page input:focus,.ct-page textarea:focus{outline:none;border-color:var(--red);background:var(--white)}
.ct-count{justify-self:end;font-size:12px;color:#7b8190;text-transform:none;letter-spacing:0;font-weight:400;font-variant-numeric:tabular-nums}
.ct-check{display:flex;gap:12px;align-items:flex-start;font-size:13.5px;line-height:1.6;color:#5f6573}
.ct-check input{margin-top:3px;width:17px;height:17px;accent-color:var(--red);flex:none}
.ct-check a{color:var(--red)}
.ct-err{color:var(--red);font-weight:600;font-size:14px}
.ct-err[hidden],.ct-done[hidden],#ctForm[hidden]{display:none}
.ct-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.ct-done{display:grid;gap:14px;justify-items:start;padding:20px 0}
.ct-done h3{font-size:42px;line-height:1}
.ct-done p{line-height:1.75;color:#4a5163}
.ct-paths{padding:110px 8vw;background:var(--navy);color:#fff}
.ct-head{margin-bottom:44px}
.ct-head h2{font-size:clamp(38px,4.2vw,62px);line-height:1;color:#fff;margin-top:14px}
.ct-head h2 em{color:var(--gold)!important}
.ct-path-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.ct-path-grid a{display:flex;flex-direction:column;gap:12px;padding:28px;border:1px solid rgba(255,255,255,.25);color:#fff;text-decoration:none;transition:background .2s,border-color .2s;min-height:210px}
.ct-path-grid a:hover{background:rgba(255,255,255,.08);border-color:var(--gold)}
.ct-path-grid b{font:400 26px/1.15 "DM Serif Display",Georgia,serif}
.ct-path-grid span{font-size:14.5px;line-height:1.65;color:#d8d2cc}
.ct-path-grid i{margin-top:auto;font-style:normal;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--gold)}
.ct-path-grid i:after{content:" →"}
@media(max-width:1000px){
.ct-hero{grid-template-columns:1fr;padding:9vh 6vw 16vh}
.ct-hero-photo{order:-1;margin-bottom:10px}
.ct-ways{grid-template-columns:1fr;padding:0 6vw;margin-top:-9vh}
.ct-message{grid-template-columns:1fr;padding:80px 6vw;gap:40px}
.ct-paths{padding:80px 6vw}
.ct-path-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
.ct-row{grid-template-columns:1fr}
.ct-card{padding:28px 22px}
.ct-way{padding:26px 24px}
.ct-path-grid{grid-template-columns:1fr}
.ct-path-grid a{min-height:0}
}
@media(prefers-reduced-motion:reduce){.ct-page *{transition:none!important}}
#mail-text{font-size:clamp(18px,1.55vw,23px);overflow-wrap:normal;white-space:nowrap}
@media(max-width:1000px){#mail-text{font-size:clamp(20px,5vw,26px)}}
