:root{
  --free-teal:#0C3F51;
  --free-sky:#BDD3E2;
  --free-paper:#F0F0F0;
  --free-white:rgba(255,255,255,.88);
  --free-border:rgba(12,63,81,.16);
  --free-shadow:0 24px 70px rgba(12,63,81,.13);
}

.free-page{color:var(--free-teal)}
.free-page main{position:relative;z-index:1;overflow:clip}
.free-page .nav{z-index:90}
.free-page .nav-links a[aria-current="page"]{background:rgba(189,211,226,.48);color:var(--free-teal)}

.free-hero{padding:clamp(96px,12vw,170px) 0 clamp(54px,8vw,104px);text-align:center}
.free-hero-inner{display:grid;justify-items:center;gap:22px}
.free-kicker{display:inline-flex;align-items:center;min-height:34px;padding:0 15px;border:1px solid var(--free-border);border-radius:999px;background:rgba(255,255,255,.42);backdrop-filter:blur(16px);font-size:14px;font-weight:700;letter-spacing:.02em}
.free-hero h1{max-width:920px;margin:0;font-size:clamp(43px,7.2vw,92px);line-height:.94;letter-spacing:-.055em;text-wrap:balance}
.free-hero p{max-width:690px;margin:0;font-size:clamp(19px,2.1vw,27px);line-height:1.48;color:rgba(12,63,81,.78);text-wrap:balance}
.free-hero-note{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:700;color:var(--free-teal)}
.free-hero-note::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--free-teal);box-shadow:0 0 0 6px rgba(12,63,81,.08)}

.free-library{padding:0 0 clamp(88px,12vw,160px)}
.free-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.1vw,30px)}
.free-card{position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid var(--free-border);border-radius:clamp(24px,2.4vw,34px);background:rgba(255,255,255,.63);box-shadow:0 14px 48px rgba(12,63,81,.09);backdrop-filter:blur(22px);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.free-card:hover{transform:translateY(-7px);box-shadow:var(--free-shadow)}
.free-card-visual{position:relative;display:grid;place-items:center;aspect-ratio:4/3;padding:clamp(18px,2vw,28px);overflow:hidden;background:linear-gradient(145deg,rgba(255,255,255,.64),rgba(189,211,226,.42))}
.free-card-visual::after{content:"";position:absolute;inset:auto 10% 7%;height:20%;border-radius:50%;background:rgba(12,63,81,.15);filter:blur(24px)}
.free-card-visual img{position:relative;z-index:1;width:auto;height:100%;max-width:72%;object-fit:contain;border-radius:4px;filter:drop-shadow(0 22px 22px rgba(12,63,81,.19));transform:rotate(-2deg);transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.free-card:nth-child(even) .free-card-visual img{transform:rotate(2deg)}
.free-card:hover .free-card-visual img{transform:rotate(0) translateY(-4px) scale(1.015)}
.free-card-copy{display:flex;flex:1;flex-direction:column;padding:clamp(22px,2.4vw,32px)}
.free-card-meta{margin:0 0 12px;font-size:13px;font-weight:750;color:rgba(12,63,81,.62)}
.free-card h2{margin:0;font-size:clamp(24px,2vw,32px);line-height:1.13;letter-spacing:-.035em;text-wrap:balance}
.free-card-summary{margin:15px 0 24px;font-size:17px;line-height:1.55;color:rgba(12,63,81,.74)}
.free-card .btn{margin-top:auto;width:100%}

.free-detail-hero{padding:clamp(100px,12vw,160px) 0 clamp(58px,8vw,104px)}
.free-detail-grid{display:grid;grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);align-items:center;gap:clamp(36px,7vw,104px)}
.free-detail-cover{position:relative;display:grid;place-items:center;min-width:0;padding:clamp(28px,4vw,58px);border:1px solid var(--free-border);border-radius:clamp(28px,3.2vw,46px);background:linear-gradient(145deg,rgba(255,255,255,.66),rgba(189,211,226,.42));box-shadow:var(--free-shadow);overflow:hidden}
.free-detail-cover::after{content:"";position:absolute;inset:auto 12% 7%;height:19%;border-radius:50%;background:rgba(12,63,81,.18);filter:blur(32px)}
.free-detail-cover img{position:relative;z-index:1;width:min(100%,360px);height:auto;object-fit:contain;border-radius:5px;filter:drop-shadow(0 30px 28px rgba(12,63,81,.2));transform:rotate(-1.5deg)}
.free-detail-copy{display:grid;gap:22px}
.free-back{justify-self:start;font-size:15px;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.free-detail-copy h1{margin:0;font-size:clamp(40px,6vw,78px);line-height:.98;letter-spacing:-.055em;text-wrap:balance}
.free-detail-copy>.free-summary{margin:0;max-width:720px;font-size:clamp(20px,2.1vw,27px);line-height:1.48;color:rgba(12,63,81,.76)}
.free-benefits{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.free-benefits li{display:flex;align-items:flex-start;gap:12px;font-size:17px;line-height:1.5}
.free-benefits li::before{content:"✓";display:grid;place-items:center;flex:0 0 26px;width:26px;height:26px;border-radius:50%;background:var(--free-teal);color:white;font-size:14px;font-weight:800}

.free-form-section{padding:0 0 clamp(90px,12vw,160px)}
.free-form-shell{display:grid;grid-template-columns:minmax(0,.86fr) minmax(440px,1.14fr);gap:clamp(30px,5vw,76px);align-items:start;padding:clamp(26px,5vw,70px);border:1px solid var(--free-border);border-radius:clamp(28px,3.4vw,50px);background:rgba(255,255,255,.65);box-shadow:var(--free-shadow);backdrop-filter:blur(24px)}
.free-form-intro{position:sticky;top:120px;display:grid;gap:16px}
.free-form-intro h2{margin:0;font-size:clamp(34px,4.4vw,62px);line-height:1;letter-spacing:-.05em;text-wrap:balance}
.free-form-intro p{margin:0;font-size:18px;line-height:1.55;color:rgba(12,63,81,.74)}
.studio-free-form{display:grid;gap:16px}
.free-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.free-field{display:grid;gap:7px;min-width:0}
.free-field-wide{grid-column:1/-1}
.free-field label{font-size:14px;font-weight:750;color:var(--free-teal)}
.free-field input,.free-field select{width:100%;min-height:54px;border:1px solid rgba(12,63,81,.2);border-radius:16px;background:rgba(255,255,255,.87);padding:0 16px;font:inherit;color:var(--free-teal);outline:none;transition:border-color .2s,box-shadow .2s}
.free-field input:focus,.free-field select:focus{border-color:var(--free-teal);box-shadow:0 0 0 4px rgba(12,63,81,.1)}
.free-field input[aria-invalid="true"],.free-field select[aria-invalid="true"]{border-color:#9b2d2d}
.free-selected-guide{display:grid;gap:3px;padding:14px 16px;border:1px solid rgba(12,63,81,.14);border-radius:16px;background:rgba(189,211,226,.2)}
.free-selected-guide span{font-size:12px;font-weight:700;color:rgba(12,63,81,.58)}
.free-selected-guide strong{font-size:15px;line-height:1.35;color:var(--free-teal)}
.free-error{min-height:19px;margin:0;font-size:13px;color:#8b2525}
.free-consent{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start;font-size:14.5px;line-height:1.45;cursor:pointer}
.free-consent input{width:19px;height:19px;margin:1px 0 0;accent-color:var(--free-teal)}
.free-trust{margin:-6px 32px 0 0;font-size:13px;color:rgba(12,63,81,.66)}
.free-privacy{margin:0;padding-top:2px;font-size:12.5px;line-height:1.55;color:rgba(12,63,81,.64)}
.free-privacy p{margin:0}
.free-privacy a{text-decoration:underline;text-underline-offset:3px}
.free-privacy details{margin-top:6px}
.free-privacy summary{width:max-content;max-width:100%;cursor:pointer;font-weight:700;color:rgba(12,63,81,.76)}
.free-privacy details p{margin-top:8px;padding:10px 12px;border-radius:12px;background:rgba(189,211,226,.22)}
.free-submit{width:100%}
.free-submit[disabled]{opacity:.62;cursor:wait;transform:none}
.free-form-status{min-height:24px;margin:0;font-size:14px;font-weight:700}
.free-form-status[data-state="success"]{color:#14633f}
.free-form-status[data-state="error"]{color:#8b2525}

.free-success{display:grid;place-items:center;min-height:380px;text-align:center;padding:32px}
.free-success-mark{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:var(--free-teal);color:white;font-size:34px;margin-bottom:20px}
.free-success h2{margin:0 0 12px;font-size:clamp(34px,4.5vw,56px);line-height:1}
.free-success p{max-width:500px;margin:0;font-size:18px;line-height:1.55;color:rgba(12,63,81,.72)}
.free-success-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:24px}

.free-dialog{width:min(920px,calc(100% - 32px));max-height:min(860px,calc(100dvh - 32px));padding:0;border:0;border-radius:34px;background:transparent;overflow:auto;color:var(--free-teal)}
.free-dialog::backdrop{background:rgba(4,25,33,.56);backdrop-filter:blur(8px)}
.free-dialog-card{position:relative;padding:clamp(24px,4vw,48px);border:1px solid rgba(255,255,255,.64);border-radius:34px;background:rgba(240,240,240,.96);box-shadow:0 34px 100px rgba(4,25,33,.3)}
.free-dialog-close{position:absolute;top:18px;left:18px;z-index:3;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--free-border);border-radius:50%;background:white;color:var(--free-teal);font-size:25px;cursor:pointer}
.free-dialog-head{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:25px;margin-bottom:26px;padding-left:48px}
.free-dialog-cover{width:100%;max-height:190px;object-fit:contain;filter:drop-shadow(0 15px 15px rgba(12,63,81,.18));transform:rotate(-2deg)}
.free-dialog-head h2{margin:0;font-size:clamp(28px,3.2vw,42px);line-height:1.04;letter-spacing:-.04em;text-wrap:balance}
.free-dialog-head p{margin:10px 0 0;color:rgba(12,63,81,.68)}

.studio-free-popup{position:fixed;z-index:110;inset:0;display:grid;place-items:center;padding:clamp(16px,3vw,34px);
  overflow:auto;overscroll-behavior:contain;background:rgba(4,25,33,.54);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
  opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s ease,visibility 0s linear .3s}
.studio-free-popup.is-open{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}
body.studio-free-popup-open{overflow:hidden}
.studio-free-popup-card{position:relative;width:min(620px,100%);max-height:calc(100dvh - clamp(32px,6vw,68px));overflow:auto;
  overscroll-behavior:contain;padding:clamp(26px,4vw,42px);padding-block-start:clamp(72px,8vw,84px);
  border:1px solid rgba(255,255,255,.72);border-radius:34px;background:rgba(240,240,240,.97);
  box-shadow:0 34px 110px rgba(4,25,33,.38);transform:translateY(18px) scale(.982);
  transition:transform .42s cubic-bezier(.2,.8,.2,1)}
.studio-free-popup.is-open .studio-free-popup-card{transform:none}
.studio-free-popup-close{position:absolute;top:18px;left:18px;display:inline-flex;align-items:center;justify-content:center;gap:7px;
  min-width:92px;min-height:46px;padding-inline:14px;border:1px solid var(--free-border);border-radius:999px;background:white;
  color:var(--free-teal);font:inherit;font-size:14px;font-weight:750;cursor:pointer;transition:background-color .2s,transform .2s}
.studio-free-popup-close span[aria-hidden="true"]{font-size:25px;font-weight:400;line-height:.7}
.studio-free-popup-close:hover{background:rgba(189,211,226,.34);transform:translateY(-1px)}
.studio-free-popup-close:focus-visible{outline:3px solid rgba(12,63,81,.28);outline-offset:3px}
.studio-free-popup-kicker{margin:0 0 10px!important;color:rgba(12,63,81,.72)!important;font-size:13px!important;font-weight:800!important;letter-spacing:.02em}
.studio-free-popup h2{max-width:530px;margin:0 0 14px;padding:0;font-size:clamp(34px,5vw,52px);line-height:1;letter-spacing:-.05em;text-wrap:balance}
.studio-free-popup-description{max-width:500px;margin:0 0 24px!important;font-size:clamp(16px,1.8vw,19px)!important;line-height:1.5!important;color:rgba(12,63,81,.76)!important;text-wrap:balance}
.studio-free-popup-more{display:block;width:max-content;max-width:100%;margin:16px auto 0;color:var(--free-teal);font-size:14px;font-weight:750;text-decoration:underline;text-underline-offset:4px}
.studio-free-popup .free-fields{grid-template-columns:1fr}
.studio-free-popup .free-field-wide{grid-column:auto}
.studio-free-popup .free-privacy{padding-inline-end:0}
.studio-free-popup .free-success{min-height:0;padding:28px 0 6px}
.studio-free-popup .free-success-mark{width:58px;height:58px;margin-inline:auto;margin-bottom:16px;font-size:28px}
.studio-free-popup .free-success h2{padding:0;margin-inline:auto;font-size:31px}
.studio-free-popup .free-success p{font-size:15px}
.studio-free-popup .free-success-actions{display:grid}
.studio-free-popup .free-success-actions .btn{width:100%}

@media (max-width:1000px){
  .free-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .free-detail-grid{gap:38px}
  .free-form-shell{grid-template-columns:1fr}
  .free-form-intro{position:static}
}

@media (max-width:720px){
  .free-page .nav-links a{padding-inline:14px}
  .free-hero{padding-top:88px}
  .free-hero h1{font-size:clamp(42px,13vw,64px)}
  .free-grid{grid-template-columns:1fr}
  .free-card{border-radius:26px}
  .free-card-visual{aspect-ratio:16/11}
  .free-card-visual img{max-width:60%}
  .free-detail-grid{grid-template-columns:1fr}
  .free-detail-cover{order:2}
  .free-detail-copy{order:1}
  .free-form-shell{padding:24px;border-radius:28px}
  .free-fields{grid-template-columns:1fr}
  .free-field-wide{grid-column:auto}
  .free-dialog{width:calc(100% - 18px);max-height:calc(100dvh - 18px);border-radius:24px}
  .free-dialog-card{padding:72px 20px 24px;border-radius:24px}
  .free-dialog-head{grid-template-columns:92px 1fr;gap:16px;padding:0;margin-bottom:22px}
  .free-dialog-head h2{font-size:27px}
  .free-dialog-head p{display:none}
  .studio-free-popup{padding:10px;background:rgba(4,25,33,.58)}
  .studio-free-popup-card{width:100%;max-height:calc(100dvh - 20px);overflow:auto;padding:72px 18px 24px;border-radius:26px}
  .studio-free-popup-close{top:14px;left:14px;min-width:88px;min-height:44px}
  .studio-free-popup h2{max-width:430px;font-size:clamp(32px,10vw,42px)}
  .studio-free-popup-description{margin-block-end:18px!important;font-size:16px!important}
}

@media (prefers-reduced-motion:reduce){
  .free-card,.free-card-visual img,.studio-free-popup,.studio-free-popup-card{transition:none!important;transform:none!important}
}
