@font-face{font-family:OmayaConcept;src:url('assets/fraunces-concept-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:OmayaConcept;src:url('assets/fraunces-concept-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:OmayaConcept;src:url('assets/fraunces-concept-700.ttf') format('truetype');font-weight:700;font-display:swap}
.concept-section,.concept-page{font-family:OmayaConcept,Georgia,serif;color:#111;--concept-gold:#b49355;--concept-border:#d7c4a5}
.concept-section{--v:var(--u);width:calc(1536 * var(--v,1px));margin-inline:auto;padding:calc(56 * var(--v,1px)) calc(64 * var(--v,1px)) calc(48 * var(--v,1px))}.concept-section .button,.concept-page .button{background:#111;border-color:#111;border-radius:calc(20 * var(--v,1px));font-weight:600;font-size:calc(17 * var(--v,1px));line-height:calc(24 * var(--v,1px));min-height:calc(52 * var(--v,1px));height:calc(52 * var(--v,1px));padding:0 calc(20 * var(--v,1px))}.concept-section .button:hover,.concept-page .button:hover{background:#34412c}.concept-eyebrow{color:var(--concept-gold);font-size:calc(12 * var(--v,1px));line-height:calc(17 * var(--v,1px));letter-spacing:calc(2.5 * var(--v,1px));font-weight:400}
.subscription-layout{display:grid;grid-template-columns:calc(352 * var(--v,1px)) calc(1008 * var(--v,1px));gap:calc(48 * var(--v,1px));align-items:center}.subscription-intro{display:flex;flex-direction:column;gap:calc(14 * var(--v,1px))}.subscription-intro h2{font-size:calc(38 * var(--v,1px));line-height:calc(53 * var(--v,1px))}.subscription-intro>p{width:calc(320 * var(--v,1px));font-size:calc(18 * var(--v,1px));line-height:calc(25 * var(--v,1px))}.subscription-intro>small{font-size:calc(15 * var(--v,1px));line-height:calc(21 * var(--v,1px));color:var(--concept-gold)}.subscription-options{display:flex;flex-direction:column;gap:calc(20 * var(--v,1px))}.subscription-cards{display:grid;grid-template-columns:repeat(2,calc(488 * var(--v,1px)));gap:calc(32 * var(--v,1px))}.subscription-card{padding:calc(30 * var(--v,1px)) calc(27 * var(--v,1px)) calc(28 * var(--v,1px));border:calc(1 * var(--v,1px)) solid var(--concept-border);border-radius:calc(24 * var(--v,1px));background:#fff7ec;display:flex;flex-direction:column;gap:calc(14 * var(--v,1px));text-align:center}.subscription-card h3{font-size:calc(26 * var(--v,1px));line-height:calc(36 * var(--v,1px));font-weight:600}.subscription-card .cadence{font-size:calc(12 * var(--v,1px));line-height:calc(17 * var(--v,1px));letter-spacing:calc(1.3 * var(--v,1px));color:var(--concept-gold)}.subscription-cost{display:flex;align-items:baseline;justify-content:center;gap:calc(7 * var(--v,1px))}.subscription-cost strong{font-size:calc(52 * var(--v,1px));line-height:calc(73 * var(--v,1px));font-weight:600;width:calc(106 * var(--v,1px));text-align:left}.subscription-cost span{font-size:calc(17 * var(--v,1px));line-height:calc(24 * var(--v,1px));width:calc(88 * var(--v,1px));text-align:left}.subscription-card .delivery{font-size:calc(16 * var(--v,1px));line-height:calc(22 * var(--v,1px))}.subscription-card hr{border:0;background:var(--concept-border);height:calc(1 * var(--v,1px));width:100%;margin:0}.previous-letters{font-size:calc(17 * var(--v,1px));line-height:calc(24 * var(--v,1px));text-align:center;color:var(--concept-gold);text-decoration:underline;text-underline-offset:calc(3 * var(--v,1px))}
.custom-concept{padding-block:calc(32 * var(--v,1px));display:flex;flex-direction:column;gap:calc(26 * var(--v,1px))}.concept-ornament{display:flex;gap:calc(24 * var(--v,1px));align-items:center;height:calc(44 * var(--v,1px))}.concept-ornament::before,.concept-ornament::after{content:'';height:calc(1 * var(--v,1px));flex:1;background:var(--concept-border)}.concept-ornament span{position:relative;width:calc(44 * var(--v,1px));height:calc(44 * var(--v,1px));flex:none}.concept-ornament img{position:absolute;left:0;top:0;transform:scale(var(--ornament-scale,1));transform-origin:top left}.custom-concept>header{text-align:center;display:flex;flex-direction:column;align-items:center;gap:calc(10 * var(--v,1px))}.custom-concept>header h2{font-size:calc(36 * var(--v,1px));line-height:calc(50 * var(--v,1px))}.custom-concept>header p{width:calc(900 * var(--v,1px));font-size:calc(18 * var(--v,1px));line-height:calc(25 * var(--v,1px))}.custom-concept-grid{display:grid;grid-template-columns:calc(668 * var(--v,1px)) calc(676 * var(--v,1px));gap:calc(64 * var(--v,1px));align-items:center}.refined-invitation{width:calc(668 * var(--v,1px));height:calc(548 * var(--v,1px));padding:calc(8 * var(--v,1px)) calc(10 * var(--v,1px))}.refined-invitation img{width:calc(648 * var(--v,1px));height:calc(532 * var(--v,1px));object-fit:contain}.custom-concept-copy{display:flex;flex-direction:column;align-items:flex-start;gap:calc(20 * var(--v,1px))}.custom-concept-title{display:flex;flex-direction:column;gap:calc(6 * var(--v,1px))}.custom-concept-title h3{font-size:calc(30 * var(--v,1px));line-height:calc(42 * var(--v,1px));font-weight:700}.custom-concept-copy>p{font-size:calc(18 * var(--v,1px));line-height:calc(25 * var(--v,1px))}.custom-concept-copy .button{width:calc(350 * var(--v,1px))}
.concept-page{width:calc(1536 * var(--v,1px));min-height:100vh;background:#fffef5;display:flex;flex-direction:column}.concept-site-header{width:100%;position:sticky;top:0;z-index:50;background:#fffef5;padding:calc(18 * var(--v,1px)) calc(32 * var(--v,1px)) 0}.concept-header{height:calc(58.68 * var(--v,1px));border-bottom:calc(1 * var(--v,1px)) solid var(--concept-border);display:flex;align-items:flex-start;justify-content:space-between}.concept-logo{width:calc(210 * var(--v,1px));height:calc(43.68 * var(--v,1px));object-fit:contain}.concept-nav{display:flex;align-items:center;gap:calc(34 * var(--v,1px));width:calc(440 * var(--v,1px));min-height:calc(43.68 * var(--v,1px));font-size:calc(18 * var(--v,1px));line-height:calc(23 * var(--v,1px));white-space:nowrap}.concept-main{padding:0 calc(32 * var(--v,1px))}.concept-hero{padding:calc(24 * var(--v,1px)) 0;display:flex;flex-direction:column;gap:calc(10 * var(--v,1px));text-align:center}.concept-hero .concept-eyebrow{font-size:calc(14 * var(--v,1px));line-height:calc(18 * var(--v,1px));letter-spacing:calc(3 * var(--v,1px))}.concept-hero h1{font-size:calc(46 * var(--v,1px));line-height:calc(60 * var(--v,1px));font-weight:400}.concept-hero>p{font-size:calc(23 * var(--v,1px));line-height:calc(30 * var(--v,1px))}.concept-form-layout{display:grid;grid-template-columns:calc(860 * var(--v,1px)) calc(580 * var(--v,1px));gap:calc(32 * var(--v,1px));align-items:center}.concept-form{border:calc(1 * var(--v,1px)) solid var(--concept-border);border-radius:calc(16 * var(--v,1px));background:#fff7ec;padding:calc(26 * var(--v,1px)) calc(32 * var(--v,1px));display:flex;flex-direction:column;gap:calc(14 * var(--v,1px))}.concept-form-intro h2{font-size:calc(38 * var(--v,1px));line-height:calc(49 * var(--v,1px));font-weight:400}.concept-form-intro>p{font-size:calc(21 * var(--v,1px));line-height:calc(27 * var(--v,1px))}.concept-form-intro .subscription-guidance{font-size:calc(18 * var(--v,1px));line-height:calc(25 * var(--v,1px))}.concept-subscription .concept-form-intro{display:flex;flex-direction:column;gap:calc(6 * var(--v,1px))}.concept-field{display:flex;flex-direction:column;gap:calc(7 * var(--v,1px));font-size:calc(18 * var(--v,1px));line-height:calc(24 * var(--v,1px))}.concept-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(24 * var(--v,1px))}.concept-page input,.concept-page select,.concept-page textarea{font-family:inherit;font-size:calc(18 * var(--v,1px));line-height:calc(24 * var(--v,1px));font-weight:400;color:#111;width:100%;height:calc(40 * var(--v,1px));min-height:calc(40 * var(--v,1px));border:calc(1 * var(--v,1px)) solid var(--concept-border);border-radius:calc(10 * var(--v,1px));background:#fff;padding:calc(7 * var(--v,1px)) calc(16 * var(--v,1px))}.concept-page input::placeholder,.concept-page textarea::placeholder{color:#716c60;opacity:1}.concept-page textarea{height:calc(80 * var(--v,1px));min-height:calc(80 * var(--v,1px));resize:vertical}.concept-page select{cursor:pointer}.concept-page .concept-form>.button{width:100%;height:calc(54 * var(--v,1px));min-height:calc(54 * var(--v,1px));font-size:calc(23 * var(--v,1px));line-height:calc(30 * var(--v,1px));font-weight:400}.form-explanation{font-size:calc(15 * var(--v,1px));line-height:calc(20 * var(--v,1px));text-align:center}.concept-figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:calc(12 * var(--v,1px))}.concept-figure figcaption{font-size:calc(21 * var(--v,1px));line-height:calc(27 * var(--v,1px));text-align:center}.dragon-stage{position:relative;width:calc(580 * var(--v,1px));height:calc(588 * var(--v,1px))}.dragon-stage .dragon-ground{position:absolute;left:calc(20 * var(--v,1px));top:calc(472 * var(--v,1px));width:calc(540 * var(--v,1px));height:calc(88 * var(--v,1px))}.dragon-stage .spark{position:absolute;display:block}.dragon-stage .spark img,.dragon-ground img{transform:scale(var(--concept-scale,1));transform-origin:top left}.spark-a{left:calc(35 * var(--v,1px));top:calc(70 * var(--v,1px))}.spark-b{left:calc(530 * var(--v,1px));top:calc(105 * var(--v,1px))}.spark-c{left:calc(12 * var(--v,1px));top:calc(330 * var(--v,1px))}.spark-d{left:calc(530 * var(--v,1px));top:calc(360 * var(--v,1px))}.spark-e{left:calc(480 * var(--v,1px));top:calc(22 * var(--v,1px))}.phone-dragon{position:absolute;left:calc(33 * var(--v,1px));top:0;width:calc(514 * var(--v,1px));height:calc(584.36 * var(--v,1px));object-fit:cover}.letter-dragon-crop{position:absolute;left:calc(51 * var(--v,1px));top:0;width:calc(478 * var(--v,1px));height:calc(561.77 * var(--v,1px));overflow:hidden}.letter-dragon-crop img{position:absolute;width:121.51%;height:121.17%;left:-9.79%;top:-9.9%;max-width:none}.concept-footer{margin:calc(26 * var(--v,1px)) calc(32 * var(--v,1px)) calc(18 * var(--v,1px));padding-top:calc(14 * var(--v,1px));border-top:calc(1 * var(--v,1px)) solid var(--concept-border);display:flex;justify-content:center}.concept-footer nav{display:flex;align-items:center;gap:calc(18 * var(--v,1px));font-size:calc(16 * var(--v,1px));line-height:calc(21 * var(--v,1px))}.concept-footer img{width:calc(23 * var(--v,1px));height:calc(23 * var(--v,1px))}.concept-page .form-status{font-size:calc(16 * var(--v,1px));line-height:calc(22 * var(--v,1px))}.concept-page select:focus{outline:calc(2 * var(--v,1px)) solid #669a78;outline-offset:calc(2 * var(--v,1px))}

/* RESPONSIVE */
@media(max-width:1024px){
 .concept-section{--v:1px;width:calc(100% - 36px);max-width:720px;padding:30px 0}.subscription-layout{display:flex;flex-direction:column;gap:26px;align-items:stretch}.subscription-intro{gap:12px}.subscription-intro h2{font-size:30px;line-height:1.3}.subscription-intro>p{width:auto;font-size:18px;line-height:1.45}.subscription-intro>small{font-size:15px}.subscription-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.subscription-card{padding:26px 20px;gap:14px;border-radius:24px}.subscription-card h3{font-size:25px;line-height:1.4}.subscription-cost strong{font-size:44px;line-height:1.4;width:auto}.subscription-cost span{width:auto;font-size:16px}.subscription-cost{gap:8px}.subscription-card .button{font-size:16px;line-height:22px;height:auto;min-height:48px;padding:12px 14px}.previous-letters{font-size:16px;line-height:1.5}.subscription-card .delivery{min-height:44px;display:flex;align-items:center;justify-content:center}.custom-concept{gap:24px}.custom-concept>header h2{font-size:30px;line-height:1.3}.custom-concept>header p{width:auto;font-size:18px;line-height:1.45}.custom-concept-grid{grid-template-columns:minmax(0,1fr);gap:24px}.refined-invitation{width:100%;height:auto;padding:0;max-width:620px;margin:auto}.refined-invitation img{width:100%;height:auto}.custom-concept-copy{gap:20px}.custom-concept-title h3{font-size:27px;line-height:1.35}.custom-concept-copy>p{font-size:18px;line-height:1.45}.custom-concept-copy .button{width:auto;max-width:100%;padding:12px 20px;height:auto;min-height:48px;font-size:16px}.concept-ornament{gap:16px}
 .concept-page{width:100%}.concept-site-header{padding:0 18px}.concept-header{height:auto;min-height:78px;align-items:center;flex-wrap:wrap}.concept-logo{width:125px;height:26px}.concept-nav{display:none;width:100%;padding:12px 0 20px;flex-direction:column;gap:0;align-items:stretch;white-space:normal}.concept-nav.open{display:flex}.concept-nav a{padding:12px 5px;font-size:16px;line-height:22px}.concept-main{padding:0 18px;max-width:756px;width:100%;margin:auto}.concept-hero{padding:28px 0;gap:14px}.concept-hero h1{font-size:32px;line-height:1.25}.concept-hero .concept-eyebrow{font-size:11px;line-height:1.5;letter-spacing:2px}.concept-hero>p{font-size:18px;line-height:1.45}.concept-hero br{display:none}.concept-form-layout{display:flex;flex-direction:column;gap:24px;align-items:stretch}.concept-figure{order:-1;gap:12px}.dragon-stage{--art-scale:min(1,(100vw - 36px)/580);width:100%;max-width:420px;height:auto;aspect-ratio:580/588;margin:auto}.dragon-stage .phone-dragon{left:5.69%;width:88.62%;height:auto}.dragon-stage .letter-dragon-crop{left:8.79%;width:82.41%;height:95.54%}.dragon-stage .dragon-ground{left:3.448%;top:80.272%;width:93.1%;height:14.966%}.dragon-ground img{display:block;transform:scale(var(--stage-scale,1));transform-origin:top left}.dragon-stage .spark{display:none}.concept-figure figcaption{font-size:17px;line-height:1.4}.concept-form{padding:24px 20px;gap:18px;border-radius:16px}.concept-form-intro h2{font-size:28px;line-height:1.3}.concept-form-intro>p{font-size:18px;line-height:1.45}.concept-form-intro .subscription-guidance{font-size:16px;line-height:1.5}.concept-row{gap:18px}.concept-field{font-size:16px;line-height:22px;gap:8px}.concept-page input,.concept-page select,.concept-page textarea{font-size:16px;line-height:22px;height:46px;min-height:46px;padding:10px 12px}.concept-page textarea{height:120px;min-height:120px}.concept-page .concept-form>.button{height:auto;min-height:48px;padding:12px 16px;font-size:18px;line-height:24px}.form-explanation{font-size:13px;line-height:1.5}.concept-footer{margin:28px 18px 18px;padding-top:18px}.concept-footer nav{font-size:14px;gap:16px}.concept-footer img{width:23px;height:23px}
}
@media(max-width:600px){.subscription-cards{grid-template-columns:minmax(0,1fr)}.subscription-card .delivery{min-height:0}.concept-row{grid-template-columns:minmax(0,1fr)}}


.home-page .eyebrow,.home-page .concept-eyebrow,.home-page .subscription-card .cadence{color:#82642c}
@media(min-width:1025px){
 .home-page .world>.two-col{grid-template-columns:calc(664 * var(--u)) calc(697 * var(--u));gap:0}
 .home-page .world .map{order:2;margin-left:0;margin-top:0}
 .home-page .world>.two-col>div{order:1;padding-top:calc(43 * var(--u))}
 .home-page .world h2{margin-top:calc(8 * var(--u))}
 .home-page .letters{height:calc(521 * var(--u));grid-template-columns:calc(712 * var(--u)) calc(663 * var(--u));gap:0}
 .home-page .letters>img{order:-1;margin-left:calc(-23 * var(--u))}
 .home-page .letters>div{padding-top:calc(25 * var(--u));margin-left:calc(-8 * var(--u))}
 .home-page .subscription-intro{gap:calc(4 * var(--u))}
 .home-page .subscription-intro>small{display:none}
 .home-page .refined-subscriptions+.divider{height:calc(73 * var(--u))}
 .home-page .subscription-card{position:relative;height:calc(331 * var(--u));gap:0;padding:calc(30 * var(--u)) calc(27 * var(--u)) calc(28 * var(--u))}
 .home-page .subscription-card h3{margin-bottom:calc(14 * var(--u))}
 .home-page .subscription-card .cadence{margin-bottom:calc(7 * var(--u))}
 .home-page .subscription-card .delivery{position:absolute;left:calc(28 * var(--u));right:calc(28 * var(--u));top:calc(180 * var(--u))}
 .home-page .subscription-card hr{position:absolute;left:calc(28 * var(--u));top:calc(221 * var(--u));width:calc(432 * var(--u))}
 .home-page .subscription-card .button{position:absolute;left:calc(28 * var(--u));top:calc(249 * var(--u));width:calc(432 * var(--u))}
 .home-page .subscription-cost{gap:0}
 .home-page .subscription-cost span{margin-left:calc(-5 * var(--u))}
 .home-page .schools{padding-bottom:calc(26 * var(--u))}
 .home-page .school-detail{margin-top:calc(52 * var(--u));min-height:calc(440 * var(--u))}
 .home-page .school-detail .eyebrow{font-family:OmayaConcept,Georgia,serif;line-height:calc(17 * var(--u));letter-spacing:calc(2.5 * var(--u));margin-bottom:calc(6 * var(--u))}
 .home-page .school-detail .rich-copy{min-height:calc(250 * var(--u))}
 .home-page .school-detail .button{margin-top:calc(45 * var(--u))}
 .home-page .school-art .dragon{left:calc(55 * var(--u));top:calc(-52 * var(--u))}
 .home-page .school-vine{left:calc(344.638 * var(--u));top:calc(104.49 * var(--u))}
 .home-page .school-flower{left:calc(-31.0305 * var(--u));top:calc(129.1865 * var(--u))}
 .home-page .custom-concept{padding-top:0;padding-bottom:calc(8 * var(--u));gap:0}
 .home-page .custom-concept>header{margin-top:calc(29 * var(--u))}
 .home-page .custom-concept-grid{margin-top:calc(25 * var(--u));height:calc(465 * var(--u));align-items:start}
 .home-page .refined-invitation{transform:translateY(calc(-41.5 * var(--u)))}
 .home-page .custom-concept-copy{padding-top:calc(30 * var(--u))}
 .home-page .custom-concept>.concept-ornament:last-child{margin-top:calc(29 * var(--u))}
 .home-page .adventure{height:calc(591 * var(--u))}
 .home-page .adventure .two-col>div{padding-top:calc(130 * var(--u))}
 .home-page .adventure h2{margin-bottom:calc(23 * var(--u))}
 .home-page .adventure .button{margin-top:calc(25 * var(--u))}
 .home-page .adventure .two-col>img{top:calc(50 * var(--u));object-fit:contain}
 .home-page .edge.left{top:calc(66.934 * var(--u))}
 .home-page .edge.right{top:calc(67.742 * var(--u))}
}
@media(max-width:1024px){.home-page .world .map{order:-1}.home-page .subscription-intro>small{display:none}.home-page .custom-concept{padding-top:0}.home-page .adventure .two-col>img{object-fit:contain}}


.concept-hero h1{font-family:Omaya,Georgia,serif;font-size:calc(32 * var(--v,1px));font-weight:700}
.concept-hero>p{font-size:calc(20 * var(--v,1px))}
.concept-form-intro h2{font-family:Omaya,Georgia,serif;font-size:calc(26 * var(--v,1px));font-weight:700}
.concept-page input,.concept-page select,.concept-page textarea{border-radius:calc(20 * var(--v,1px))}
@media(min-width:1025px){
 .concept-contact .concept-hero{padding-top:calc(24 * var(--v,1px));padding-bottom:calc(21 * var(--v,1px));gap:0}
 .concept-contact .concept-hero h1{margin-top:calc(-6 * var(--v,1px));line-height:calc(60 * var(--v,1px))}
 .concept-contact .concept-hero>p{margin-top:calc(-6 * var(--v,1px));line-height:calc(30 * var(--v,1px))}
 .concept-contact .concept-form{padding-bottom:calc(32 * var(--v,1px))}
 .concept-contact .concept-form-intro{margin-bottom:calc(3.82 * var(--v,1px))}
 .concept-contact textarea{height:calc(109 * var(--v,1px));min-height:calc(109 * var(--v,1px))}
 .concept-contact .concept-form>.button{margin-top:calc(29 * var(--v,1px))}
 .concept-contact .concept-figure figcaption{margin-top:calc(-24 * var(--v,1px))}
 .concept-subscription .concept-hero{padding-top:calc(24 * var(--v,1px));padding-bottom:calc(5 * var(--v,1px));gap:0}
 .concept-subscription .concept-hero h1{line-height:calc(42 * var(--v,1px))}
 .concept-subscription .concept-hero>p{line-height:calc(28 * var(--v,1px))}
}
@media(max-width:1024px){
 .concept-hero h1{font-size:30px;line-height:1.3}
 .concept-hero>p{font-size:18px;line-height:1.45}
 .concept-form-intro h2{font-size:26px;line-height:1.3}
 .concept-contact .concept-form-intro{margin-bottom:4px}
 .concept-contact textarea{height:140px;min-height:140px}
}

