@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=Playfair+Display:ital,wght@0,600;1,600;1,700&display=swap');:root{--ink:#20251f;--cream:#faf6ee;--red:#d95336;--yellow:#f4c24d;--green:#4c704f;--paper:#fffdf9;--line:#e4dacb}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif}a{color:inherit;text-decoration:none}.nav{height:78px;display:flex;align-items:center;gap:28px;padding:0 5vw;border-bottom:1px solid var(--line);background:rgba(250,246,238,.96);position:sticky;top:0;z-index:5}.logo{font-weight:700;font-size:20px;letter-spacing:-.05em;margin-right:auto}.logo span{font:italic 25px "Playfair Display";color:var(--red)}.nav nav{display:flex;gap:25px;font-size:13px}.nav nav a{opacity:.72}.nav nav a:hover,.nav nav .active{opacity:1;color:var(--red)}.login{border:0;background:none;font:500 13px "DM Sans";cursor:pointer}.menu{display:none;border:0;background:none;font-size:23px}.hero{min-height:560px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:30px;padding:65px 7vw 70px;max-width:1450px;margin:auto}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.16em;color:var(--red);margin:0 0 16px}.hero h1,.page-title h1{font-size:clamp(44px,5.7vw,76px);line-height:.98;letter-spacing:-.055em;margin:0 0 24px}.hero h1 em,.page-title h1 em{font:italic 600 1em "Playfair Display"}.lead,.page-title>p:last-child{font-size:17px;line-height:1.65;color:#626961;max-width:600px}.actions{display:flex;gap:12px;margin:30px 0 18px}.btn{display:inline-block;border-radius:7px;padding:14px 21px;border:1px solid #d8cfc1;font:600 13px "DM Sans";cursor:pointer}.primary{background:var(--red);color:white;border-color:var(--red)}.ghost{background:transparent}.mini{font-size:12px;color:#6c756d}.hero-art{height:400px;position:relative;overflow:hidden;border-radius:4px;background:linear-gradient(180deg,#f8f0db 0 65%,#e8e2cd 65%)}.sun{width:75px;height:75px;border-radius:50%;background:var(--yellow);position:absolute;right:13%;top:12%}.village{position:absolute;left:10%;right:7%;bottom:24%;height:190px;background:#fffaf0;clip-path:polygon(0 90%,9% 58%,18% 73%,27% 34%,38% 65%,48% 22%,58% 57%,67% 40%,76% 68%,87% 28%,100% 60%,100% 100%,0 100%);border-top:8px solid #d77b51}.village i{position:absolute;width:45px;height:75px;background:#f7ead4;bottom:25px}.village i:nth-child(1){left:18%}.village i:nth-child(2){left:48%;height:100px}.village i:nth-child(3){right:12%;height:65px}.village b{position:absolute;right:9%;bottom:8px;color:var(--green);font:italic 27px "Playfair Display"}.benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-block:1px solid var(--line)}.benefits div{background:var(--paper);padding:25px 4vw;display:grid;grid-template-columns:40px 1fr;column-gap:12px}.benefits span{grid-row:1/3;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#f5eddc;color:var(--green)}.benefits b{font-size:13px}.benefits small{font-size:11px;color:#777}.section,.inner{max-width:1200px;margin:auto;padding:80px 6vw}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}.section h2{font-size:38px;letter-spacing:-.04em;margin:0}.section-head>p{max-width:430px;color:#687069;font-size:13px;line-height:1.6}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.card{background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:25px;min-height:245px;display:flex;flex-direction:column;transition:.2s}.card:hover{transform:translateY(-4px);box-shadow:0 12px 25px rgba(55,45,30,.08)}.card.featured{border:2px solid var(--red)}.lesson-num{font-size:9px;letter-spacing:.14em;color:#888;font-weight:700}.card h3{font-size:21px;margin:36px 0 10px}.card p{font-size:12px;line-height:1.5;color:#6a706b}.more{margin-top:auto;font-weight:700;font-size:12px;color:var(--red)}.quote{background:var(--red);color:white;padding:58px 8vw}.quote p{font:italic 30px "Playfair Display";margin:0 0 8px}.quote small{opacity:.8}.page-title{margin-bottom:55px}.course{background:var(--paper);border:1px solid var(--line);padding:38px}.course-top{display:flex;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line);padding-bottom:30px}.course h2{font-size:30px;margin:8px 0}.course p{color:#687069;font-size:13px}.progress{width:250px;display:flex;flex-direction:column;gap:8px}.progress span,.progress i,.lesson-progress i{height:6px;background:#e8e1d5;border-radius:10px;display:block}.progress i,.lesson-progress i{width:12%;background:var(--green)}.progress small{font-size:10px;color:#888}.lesson-list{display:flex;flex-direction:column}.lesson{display:grid;grid-template-columns:55px 1fr 80px;align-items:center;gap:20px;padding:23px 5px;border-bottom:1px solid var(--line)}.lesson strong{font-size:20px;color:#a3a097}.lesson b{display:block}.lesson small{font-size:11px;color:#777;display:block;margin-top:5px}.lesson>span{text-align:right;font-size:12px;color:#aaa}.open-lesson{color:var(--ink)}.open-lesson strong{color:var(--red)}.open-lesson>span{color:var(--red)}.lesson-page{max-width:900px}.lesson-head{margin-bottom:45px}.lesson-head h1{font-size:52px;margin:0 0 12px}.lesson-head>p{color:#667069}.lesson-progress{display:flex;align-items:center;gap:15px;margin-top:25px;font-size:11px;color:#777}.lesson-progress i{width:33%;flex:0 0 33%;background:var(--red)}.exercise{background:var(--paper);border:1px solid var(--line);padding:40px}.exercise h2{font-size:30px;margin:0 0 28px}.phrase-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:28px}.phrase-grid button{background:white;border:1px solid var(--line);padding:20px;text-align:left;border-radius:5px;cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:5px}.phrase-grid b{font-size:18px}.phrase-grid small{color:#777}.culture-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.culture-card{min-height:300px;padding:30px;display:flex;flex-direction:column;justify-content:end;color:white;position:relative;overflow:hidden}.culture-card:before{content:"";position:absolute;inset:0;background:linear-gradient(transparent 20%,rgba(0,0,0,.6))}.culture-card>*{position:relative}.culture-card h2{font:italic 600 43px "Playfair Display";margin:8px 0}.culture-card p{margin:0;line-height:1.5}.madrid{background:linear-gradient(135deg,#d99357,#8d4b3a)}.barcelona{background:linear-gradient(135deg,#557d87,#253e45)}.food{background:#dcae3c}.music{background:#c84b36}.diary-list{border-top:1px solid var(--line)}.diary-list article{display:grid;grid-template-columns:100px 1fr;gap:30px;padding:35px 0;border-bottom:1px solid var(--line)}.date{font-weight:700}.date small{font-size:9px;letter-spacing:.12em;color:#888}.diary-list h2{font-size:28px;margin:9px 0}.diary-list p{max-width:700px;line-height:1.65;color:#656d66}.tag{font-size:9px;letter-spacing:.15em;color:var(--red);font-weight:700}.warm{color:#a47b18}.about-points{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:35px}.about-points div{background:var(--paper);padding:28px;border:1px solid var(--line)}.about-points b{color:var(--red)}.about-points h2{font-size:25px;margin:30px 0 8px}.about-points p{font-size:13px;line-height:1.5;color:#687069}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:28px 7vw;font-size:10px;color:#7d827e}@media(max-width:850px){.nav{padding:0 5vw}.nav nav,.login{display:none}.menu{display:block}.open nav{display:flex;position:absolute;top:78px;left:0;right:0;padding:18px 5vw;background:var(--cream);flex-direction:column;border-bottom:1px solid var(--line)}.hero{grid-template-columns:1fr;padding:55px 7vw}.hero-art{height:280px}.benefits,.cards,.about-points{grid-template-columns:1fr 1fr}.section-head,.course-top{display:block}.progress{margin-top:25px}.cards{gap:10px}.culture-grid,.phrase-grid{grid-template-columns:1fr}.lesson{grid-template-columns:40px 1fr 45px}.inner{padding:55px 6vw}.lesson-head h1{font-size:42px}footer{padding:25px 6vw}}@media(max-width:520px){.benefits,.cards,.about-points{grid-template-columns:1fr}.hero h1{font-size:45px}.quote p{font-size:24px}}