@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--navy:#102b50;--deep:#091c35;--gold:#e8bc65;--ink:#172f4b;--muted:#5d6b7c;--line:#dce3ed;--paper:#f3f6fa}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;font:16px/1.65 'DM Sans',Arial,sans-serif;color:var(--ink)}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;height:auto}h1,h2{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;line-height:1.03;letter-spacing:-.025em}h1{font-size:clamp(3.5rem,6.5vw,6rem);margin:25px 0}h2{font-size:clamp(2.6rem,4.1vw,3.8rem);margin:16px 0 25px}em{font-weight:400;color:var(--gold)}h3{line-height:1.3}p{margin:0 0 20px}.skip{position:absolute;top:-80px;left:12px;z-index:100;background:var(--gold);padding:12px}.skip:focus{top:10px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.site-header{height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;background:var(--deep);color:white;border-bottom:1px solid #ffffff20;position:relative;z-index:3}.brand{display:flex;align-items:center;gap:12px;font-size:14px;line-height:1.3;letter-spacing:.12em}.brand b{font-size:18px;font-weight:600}.brand-mark{font-family:Georgia,serif;font-size:28px;letter-spacing:-.03em;color:var(--gold);border:1px solid #e8bc6566;display:grid;place-items:center;width:49px;height:49px}.site-header nav{display:flex;align-items:center;gap:30px;font-size:14px}.nav-cta{border:1px solid #ffffff55;padding:10px 17px}.site-header nav a:hover{color:var(--gold)}.menu-toggle{display:none}.eyebrow{font-size:12px;letter-spacing:.15em;font-weight:700;color:#896224}.hero{background:var(--deep);color:white;display:grid;grid-template-columns:1.13fr 1fr;align-items:stretch}.hero-copy{padding:65px 25px 60px max(6vw,24px)}.hero .eyebrow,.page-hero .eyebrow{color:var(--gold)}.hero h1{font-size:clamp(3.5rem,5.8vw,5.7rem)}.hero-copy>p{max-width:490px;color:#bfcde1;font-size:18px}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;font-size:15px;font-weight:700;min-height:48px;border:1px solid transparent;transition:background .2s,color .2s}.gold{background:var(--gold);color:var(--deep)}.gold:hover{background:#f0ca82}.text-link{font-size:14px;border-bottom:1px solid #e8bc6588;color:#e9edf3;padding-bottom:4px}.hero-signature{margin-top:40px;font-size:14px}.hero-signature span{display:block;font-size:12px;color:#a9bad0;margin-top:3px}.hero-photo{position:relative;min-height:600px;overflow:hidden}.hero-photo>img{height:100%;object-fit:cover;object-position:65% center}.hero-photo:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#091c35df);pointer-events:none}.photo-caption{position:absolute;bottom:40px;left:35px;z-index:1}.photo-caption>span{display:block;font-size:12px;letter-spacing:.12em;color:var(--gold)}.photo-caption strong{font-family:'Libre Caslon Display',Georgia,serif;font-size:35px;font-weight:400}.principles{background:var(--navy);color:#d2ddeb;display:flex;justify-content:space-between;gap:20px;padding:23px 8%;font-size:12px;letter-spacing:.12em}.section{padding:85px 8%}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:36px;margin-bottom:35px}.section-heading>p{color:var(--muted);max-width:300px;margin-bottom:25px}.collection{background:var(--paper)}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.project-panel{display:flex;flex-direction:column;padding:35px 40px;border:1px solid #c3ccda;background:var(--navy);color:white;transition:transform .2s}.project-panel:hover{transform:translateY(-3px)}.project-panel.master{background:var(--deep)}.project-number{font-size:12px;letter-spacing:.12em;color:#c4d1e2}.project-panel h3{font-family:'Libre Caslon Display',Georgia,serif;font-size:clamp(2.4rem,3.3vw,3.3rem);font-weight:400;margin:20px 0}.project-panel p{color:#c3d0e1;max-width:460px}.project-panel strong{font-size:14px;font-weight:500;margin-bottom:25px}.panel-link{font-size:14px;color:var(--gold);border-top:1px solid #ffffff30;padding-top:18px;margin-top:auto}.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.method-grid article{border-top:1px solid var(--line);padding-top:24px}.method-grid span{font-size:12px;letter-spacing:.1em;color:#876124}.method-grid h3{font-size:21px;margin-top:20px}.method-grid p{color:var(--muted)}.professor{display:grid;grid-template-columns:1fr 1.15fr;gap:60px;background:var(--navy);color:white;align-items:center}.professor-photo{height:430px;border-left:4px solid var(--gold)}.professor-photo img{height:100%;object-fit:cover;object-position:65% center}.professor-copy .eyebrow{color:var(--gold)}.professor-copy p{font-size:16px;color:#c5d2e3}.author-signature{border-top:1px solid #ffffff30;padding-top:22px;margin-top:30px;color:var(--gold);font-size:16px}.achievements{background:var(--paper)}.achievement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 32px;margin-top:36px}.achievement-grid article{border-top:1px solid #c8d2df;padding:25px 0;display:flex;gap:18px;align-items:start}.achievement-grid article>span{font-family:'Libre Caslon Display',Georgia,serif;font-size:49px;line-height:1;color:#88672c;min-width:66px}.achievement-grid small{display:block;font:12px 'DM Sans',sans-serif;color:var(--muted);margin-top:7px}.achievement-grid h3{font-size:17px;margin:0 0 7px}.achievement-grid p{font-size:14px;color:var(--muted);margin:0}.faq{max-width:1150px;margin:auto}.faq details{border-bottom:1px solid var(--line);padding:23px 0}.faq summary{font-weight:600;font-size:17px;cursor:pointer}.faq details p{color:var(--muted);max-width:800px;margin:18px 0 0}.closing{padding:70px 8%;background:var(--deep);color:white;text-align:center}.closing .eyebrow{color:var(--gold)}.closing h2{margin:22px 0 32px}.closing-actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.outline{border-color:#ffffff66;color:white}.outline:hover{background:#ffffff15}footer{background:#061528;color:#a9b9ce;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:35px 6%;font-size:12px}footer .brand{color:white}footer p{margin:0}footer>a:last-child{font-size:14px;border-bottom:1px solid #ffffff40;padding-bottom:4px}.page-hero{background:var(--deep);color:white;padding:38px 8% 70px;position:relative}.page-hero>p{max-width:630px;color:#bfd0e5;font-size:18px;margin-bottom:30px}.breadcrumb{display:flex;gap:15px;align-items:center;font-size:13px;color:#b1c3d9;margin-bottom:35px}.breadcrumb a:hover{color:white}.page-hero h1{max-width:900px}.catalog{background:var(--paper)}.course-grid{display:grid;gap:22px}.ufmt-grid{grid-template-columns:repeat(3,1fr)}.sema-grid{grid-template-columns:repeat(2,1fr)}.course-card{background:white;display:flex;flex-direction:column;border:1px solid var(--line);overflow:hidden}.course-visual{overflow:hidden}.course-visual img{width:100%;aspect-ratio:1;object-fit:cover}.course-body{padding:25px;flex:1;display:flex;flex-direction:column}.course-meta{font-size:12px;letter-spacing:.05em;color:#83632b}.course-body h3{font-size:23px;margin:18px 0}.course-body>p{color:var(--muted);font-size:15px;min-height:85px}.course-body ul{list-style:none;margin:0 0 25px;padding:0;font-size:14px}.course-body li{padding:7px 0;border-bottom:1px solid #edf0f5}.course-price{border-top:1px solid var(--line);padding-top:20px;margin-top:auto}.course-price>span{font-size:12px;color:var(--muted)}.course-price strong{display:block;font-size:34px;line-height:1.3;letter-spacing:-.035em;margin:5px 0 22px}.purchase{background:var(--navy);color:white;width:100%}.purchase:hover{background:var(--deep)}.payment-note{text-align:center;font-size:12px;color:var(--muted);margin-top:12px}.subject-head{background:var(--navy);color:white;padding:24px 27px;display:grid;grid-template-columns:1fr auto;min-height:145px;border-bottom:3px solid var(--gold)}.subject-head>span:first-child{font-size:12px;letter-spacing:.15em;align-self:center}.subject-head b{font-family:'Libre Caslon Display',Georgia,serif;font-size:38px;font-weight:400;grid-column:1}.subject-index{font-family:'Libre Caslon Display',Georgia,serif;font-size:64px;color:var(--gold);grid-column:2;grid-row:1/3;align-self:center}.sema:nth-child(2) .subject-head{background:#163956}.sema:nth-child(3) .subject-head{background:#09243e}.sema:nth-child(4) .subject-head{background:#1c3349}.reference-note{margin-top:35px;padding:22px 26px;border-left:3px solid #9c7737;background:white}.reference-note strong{font-size:14px}.reference-note p,.offer-note{font-size:14px;color:var(--muted);margin:9px 0 0}.offer-note{margin-top:25px}.compact{padding-top:55px;padding-bottom:55px}
@media(min-width:1500px){.hero-copy{padding-left:10vw}.hero-photo{min-height:650px}.section{padding-left:12%;padding-right:12%}}@media(max-width:1100px){.site-header nav{gap:18px}.hero-copy{padding-top:50px}.hero-photo{min-height:560px}.hero h1{font-size:4.2rem}.section{padding:65px 6%}.professor{gap:35px}.project-panel{padding:30px}.course-body{padding:22px}.course-body h3{font-size:21px}.achievement-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:780px){.site-header{height:76px}.brand-mark{width:41px;height:41px;font-size:25px}.brand{font-size:12px}.brand b{font-size:16px}.menu-toggle{display:block;background:none;color:white;border:1px solid #ffffff55;padding:8px 16px;font-size:14px;min-height:42px}.site-header nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--deep);padding:22px 6%;border-top:1px solid #ffffff22;gap:18px;flex-direction:column;align-items:stretch}.site-header nav.is-open{display:flex}.site-header nav a{padding:8px 0}.site-header nav .nav-cta{padding:12px}.hero{grid-template-columns:1fr}.hero-copy{padding:40px 6% 38px}.hero h1{font-size:clamp(3.2rem,9vw,4.8rem)}.hero-copy>p{font-size:17px}.hero-actions{gap:20px}.hero-signature{margin-top:28px}.hero-photo{min-height:0;height:410px}.hero-photo img{object-position:center 35%}.photo-caption{left:6%;bottom:25px}.photo-caption strong{font-size:31px}.principles{padding:20px 6%;flex-wrap:wrap;gap:12px;font-size:10px}.section{padding:55px 6%}.section-heading{display:block}.section-heading>p{max-width:500px;margin-bottom:0}.project-grid,.method-grid,.professor,.ufmt-grid{grid-template-columns:1fr}.sema-grid{grid-template-columns:1fr}.project-panel{padding:28px}.project-panel h3{font-size:43px}.method-grid{gap:24px}.professor{gap:35px}.professor-photo{height:340px;order:2}.professor-copy{order:1}.achievement-grid{gap:0 22px}.achievement-grid article{display:block}.achievement-grid article>span{display:block;margin-bottom:18px}.achievement-grid h3{font-size:16px}.course-body>p{min-height:0}.course-visual img{max-height:460px;object-fit:contain;background:var(--deep)}.course-body{padding:27px}.course-body h3{font-size:26px}.course-price strong{font-size:37px}.page-hero{padding:25px 6% 50px}.page-hero h1{font-size:clamp(3.1rem,9vw,4.6rem)}.page-hero>p{font-size:17px}.breadcrumb{font-size:12px;gap:12px}.closing{padding:55px 6%}footer{display:block;padding:32px 6%}footer>div{margin:25px 0}footer>a:last-child{display:inline-block}}@media(max-width:380px){.hero h1{font-size:3rem}.hero-actions{align-items:start;flex-direction:column}.achievement-grid{grid-template-columns:1fr}.achievement-grid article{display:flex}.photo-caption strong{font-size:27px}.page-hero h1{font-size:2.9rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
