@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');

:root { --ink:#142d78; --deep:#102765; --paper:#fffaf1; --cream:#f6efe2; --coral:#ff6f4b; --sage:#dbe3d0; --line:rgba(20,45,120,.2); }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; background:var(--paper); color:var(--ink); font-family:"DM Sans",Arial,sans-serif; } a { color:inherit; text-decoration:none; } .wrap { width:min(1180px, calc(100% - 64px)); margin:auto; }
.hero { background:var(--deep); color:#fffaf1; min-height:780px; overflow:hidden; position:relative; } .nav { height:94px; display:flex; align-items:center; justify-content:space-between; position:relative; z-index:3; border-bottom:1px solid rgba(255,255,255,.17); } .brand { display:flex; gap:10px; align-items:center; font-size:14px; line-height:.88; letter-spacing:-.04em; } .ptp-logo { display:block; width:auto; height:64px; max-width:210px; object-fit:contain; object-position:left center; } .footer-brand .ptp-logo { height:48px; } .nav-links { display:flex; gap:30px; font-size:13px; } .nav-links a:hover,.text-link:hover,.arrow-link:hover { color:var(--coral); } .button { display:inline-flex; align-items:center; justify-content:center; gap:18px; background:#fffaf1; color:var(--ink); padding:16px 21px; font-size:13px; font-weight:700; transition:transform .2s,background .2s; } .button:hover { transform:translateY(-2px); } .button span { font-size:18px; line-height:0; } .button-small { padding:12px 16px; } .button-coral { background:var(--coral); color:#fffaf1; } .hero-grid { min-height:612px; display:grid; grid-template-columns:1.05fr .95fr; align-items:center; position:relative; } .eyebrow { margin:0 0 18px; font:500 11px "DM Mono",monospace; letter-spacing:.13em; text-transform:uppercase; } .light { color:#dce6ff; } h1,h2,h3,p { margin-top:0; } h1,h2 { letter-spacing:-.065em; line-height:.93; font-weight:600; } h1 { font-size:clamp(70px,9.7vw,143px); margin:0; } h1 em,h2 em { font-family:"Playfair Display",serif; font-weight:500; } .hero-lead { font-size:18px; line-height:1.45; margin:28px 0 35px; max-width:350px; } .hero-actions { display:flex; gap:25px; align-items:center; } .text-link,.arrow-link { border-bottom:1px solid currentColor; padding-bottom:5px; font-size:13px; font-weight:600; } .text-link span,.arrow-link span { font-size:18px; margin-left:8px; }
.hero-art { height:530px; position:relative; isolation:isolate; } .sun { position:absolute; width:290px; height:290px; border-radius:50%; right:4%; top:48px; background:#f6a178; } .orb { position:absolute; border-radius:50%; mix-blend-mode:screen; filter:blur(.3px); } .orb-one { width:175px;height:175px;background:#b8d6bc;right:33%;top:115px; } .orb-two { width:93px;height:93px;background:#f26862;right:9%;bottom:71px; } .portrait { position:absolute; bottom:37px; height:335px; width:160px; background:#e7e2ce; border-radius:90px 90px 12px 12px; overflow:hidden; } .portrait::before { content:""; position:absolute; width:109px; height:128px; border-radius:52% 48% 46% 54%; background:#183a83; top:42px; left:28px; } .portrait::after { content:""; position:absolute; width:166px; height:178px; border-radius:55% 55% 0 0; background:#193a80; bottom:-44px; left:-4px; } .portrait span { position:absolute; background:#f2a075; height:54px; width:23px; left:68px; top:145px; z-index:1; } .portrait-left { left:12%; transform:rotate(-7deg); } .portrait-right { right:7%; height:318px; width:152px; background:#f5a578; transform:rotate(7deg); } .portrait-right::before { background:#f8e8c8; width:105px; left:24px; } .portrait-right::after { background:#fff6e8; } .portrait-right span { background:#e98662; } .line { position:absolute; height:1px; background:#fffaf1; transform-origin:left; z-index:2; } .line-one { width:180px; top:194px; left:25%; transform:rotate(14deg); } .line-two { width:130px; bottom:132px; right:22%; transform:rotate(-32deg); } .art-caption { position:absolute; bottom:10px; left:7%; font:10px "DM Mono",monospace; letter-spacing:.1em; text-transform:uppercase; }.event-strip { position:absolute; bottom:0; left:0; right:0; border-top:1px solid rgba(255,255,255,.17); } .event-items { display:grid; grid-template-columns:1fr 1.55fr .35fr; min-height:74px; align-items:center; font-size:13px; } .event-items span { border-right:1px solid rgba(255,255,255,.17); height:100%; display:flex; align-items:center; padding:0 25px; } .event-items span:first-child { padding-left:0; } .event-items span:last-child { border:0; } .event-items b { font:500 27px "Playfair Display"; margin-right:8px; }
.section { padding:132px 0; } .intro { display:grid; grid-template-columns:1.1fr .9fr; gap:120px; } h2 { font-size:clamp(48px,5.5vw,76px); margin:0; } .intro-text { padding-top:34px; font-size:17px; line-height:1.55; } .intro-text p { margin-bottom:23px; } .arrow-link { display:inline-block; margin-top:16px; }.manifesto { background:var(--coral); color:var(--deep); padding:90px 0; }.manifesto-grid { display:grid; grid-template-columns:.7fr 1fr .3fr; gap:30px; align-items:start; }.manifesto h2 { font-size:clamp(48px,5.2vw,75px); }.manifesto h2 em { color:#fff6e8; }.manifesto p:not(.eyebrow) { font-size:17px; line-height:1.5; max-width:465px; margin:27px 0 0; }.quote-mark { justify-self:end; font:180px/.65 "Playfair Display"; color:#fff5e9; }.conference-story { background:var(--cream); }.story-grid { display:grid; grid-template-columns:.78fr 1fr; gap:120px; }.story-grid aside { position:sticky; top:35px; align-self:start; }.story-content { max-width:670px; font-size:17px; line-height:1.58; }.story-content p { margin:0 0 25px; }.story-content strong { color:var(--ink); }.story-content .arrow-link { margin-top:9px; }
.section-heading { display:grid; grid-template-columns:1fr .63fr; gap:55px; align-items:end; margin-bottom:55px; }.section-heading > p { font-size:16px; line-height:1.52; margin:0 0 7px; }.programme-list { border-top:1px solid var(--line); }.programme-item { border-bottom:1px solid var(--line); }.programme-item summary { display:grid; grid-template-columns:45px 95px 1fr 30px; gap:14px; padding:23px 0 26px; align-items:start; cursor:pointer; list-style:none; }.programme-item summary::-webkit-details-marker { display:none; }.programme-item summary:focus-visible { outline:2px solid var(--coral); outline-offset:-2px; }.programme-number,.programme-item time { font:11px "DM Mono",monospace; color:rgba(20,45,120,.7); padding-top:7px; }.programme-item h3 { margin:0 0 4px; font-size:22px; letter-spacing:-.04em; }.programme-item p { margin:0; max-width:690px; color:rgba(20,45,120,.8); font-size:14px; line-height:1.45; }.programme-arrow { font-size:25px; line-height:1; transition:transform .2s ease; }.programme-item[open] .programme-arrow { transform:rotate(90deg); color:var(--coral); }.programme-details { margin:0 44px 25px 154px; padding:18px 21px; background:var(--cream); border-left:3px solid var(--coral); }.programme-details > * + * { margin-top:12px; }.programme-details p { max-width:710px; }.programme-details ul { margin:0; padding-left:19px; max-width:750px; color:rgba(20,45,120,.88); font-size:14px; line-height:1.45; }.programme-details li + li { margin-top:4px; }.programme-details ul ul { margin:4px 0 0; padding-left:24px; list-style-type:circle; }.programme-details ul ul ul { list-style-type:square; }.programme-details strong { color:var(--ink); }.programme-note { margin-top:28px; display:grid; grid-template-columns:1fr 2fr 1fr; align-items:center; gap:20px; font-size:14px; }.programme-note > span { font:11px "DM Mono",monospace; text-transform:uppercase; letter-spacing:.1em; }.programme-note p { margin:0; line-height:1.5; }
.workshops-section { background:var(--deep); color:#fffaf1; padding:120px 0; }.inverse { margin-bottom:50px; }.inverse h2 { color:#fffaf1; }.inverse h2 em { color:#f7a57f; }.inverse > p { color:#dce6ff; }.workshop-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.24); }.workshop-card { padding:22px 22px 24px; min-height:330px; border-right:1px solid rgba(255,255,255,.24); border-bottom:1px solid rgba(255,255,255,.24); display:flex; flex-direction:column; }.workshop-card:nth-child(3n) { border-right:0; }.workshop-card:nth-last-child(-n+2) { border-bottom:0; }.workshop-card:last-child { border-right:0; }.workshop-card > div { display:flex; justify-content:space-between; font:11px "DM Mono",monospace; text-transform:uppercase; letter-spacing:.08em; color:#dce6ff; }.workshop-card > div p { margin:0; text-align:right; }.workshop-card h3 { font:500 32px/.97 "Playfair Display"; letter-spacing:-.04em; margin:42px 0 12px; }.workshop-card .person { font-size:13px; min-height:36px; color:#f7a57f; }.workshop-card .description { font-size:13px; line-height:1.45; color:#dce6ff; }.workshop-card a { margin-top:auto; font-size:13px; font-weight:600; }.workshop-card a span { font-size:19px; margin-left:7px; }
.speaker-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:33px 20px; }.speaker-card { min-width:0; }.speaker-card summary { list-style:none; cursor:pointer; }.speaker-card summary::-webkit-details-marker { display:none; }.speaker-card summary:focus-visible { outline:2px solid var(--coral); outline-offset:5px; }.speaker-portrait { height:250px; background:#d9e2cf; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; transition:transform .25s ease; }.speaker-card summary:hover .speaker-portrait { transform:translateY(-4px); }.speaker-portrait span { position:relative; z-index:2; font:500 38px "Playfair Display"; color:var(--deep); }.speaker-portrait i { position:absolute; width:190px;height:190px;border-radius:50%; background:#f4a279; transform:translate(52px,72px); }.p1 { background:#f2b192; }.p1 i { background:#dce6ff; transform:translate(-70px,-58px); }.p2 { background:#d6cbe8; }.p2 i { background:#ff764e; transform:translate(62px,-55px); }.p3 { background:#f2ead8; }.p3 i { background:#b7d0bd; transform:translate(-64px,76px); }.speaker-role { font:10px "DM Mono",monospace; text-transform:uppercase; letter-spacing:.08em; margin:14px 0 7px; }.speaker-card h3 { font-size:22px; letter-spacing:-.04em; margin:0 0 4px; }.speaker-area { margin:0; font-size:13px; color:rgba(20,45,120,.73); }.speaker-more { display:inline-flex; gap:8px; align-items:center; margin-top:14px; color:var(--coral); font-size:12px; font-weight:700; }.speaker-more b { font-size:17px; }.speaker-card[open] .speaker-more { display:none; }.speaker-bio { margin-top:15px; padding:18px; background:var(--cream); border-left:3px solid var(--coral); }.speaker-bio p { margin:0; font-size:13px; line-height:1.55; color:rgba(20,45,120,.88); }.speaker-bio span { display:block; margin-top:15px; font-size:11px; font-weight:700; color:var(--coral); }.audience { background:var(--sage); padding:105px 0; }.audience-grid { display:grid; grid-template-columns:1fr 1fr; gap:120px; }.audience h2 { font-size:clamp(46px,5.4vw,74px); }.audience-list { border-top:1px solid var(--line); }.audience-list p { padding:18px 0 20px 41px; margin:0; border-bottom:1px solid var(--line); position:relative; font-size:17px; line-height:1.4; }.audience-list p::before { content:"+"; position:absolute; left:2px; top:13px; font-size:27px; font-weight:300; }
.registration { padding:132px 0; display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:center; }.registration-copy > p:last-child { max-width:390px; margin:30px 0 0; font-size:16px; line-height:1.5; }.registration-card { background:var(--deep); color:#fffaf1; padding:43px; }.card-kicker { font:11px "DM Mono",monospace; text-transform:uppercase; letter-spacing:.08em; color:#dce6ff; }.registration-card h3 { font:500 43px/.96 "Playfair Display"; letter-spacing:-.04em; margin:55px 0 35px; }.registration-details { display:flex; gap:20px; flex-direction:column; border-top:1px solid rgba(255,255,255,.27); padding:16px 0 28px; font-size:13px; }.full { width:100%; }.fine-print { color:#dce6ff; margin:18px 0 0; font-size:11px; line-height:1.4; } footer { background:#0d2158; color:#fffaf1; padding:52px 0; } .footer-grid { display:grid; grid-template-columns:1fr 1.4fr 1fr; gap:30px; font-size:12px; line-height:1.45; }.footer-brand { align-self:start; }.footer-grid > p { max-width:370px; color:#dce6ff; margin:0; }.footer-grid > div:last-child { justify-self:end; text-align:right; }.footer-grid > div:last-child p { margin:18px 0 0; color:#dce6ff; }.made-by a { color:#f7a57f; font-weight:700; }.made-by a:hover { text-decoration:underline; }
@media (max-width:760px) { .wrap { width:min(100% - 40px, 560px); }.hero { min-height:760px; }.nav { height:76px; }.nav-links { display:none; }.button-small { display:none; }.hero-grid { min-height:610px; grid-template-columns:1fr; align-items:start; padding-top:63px; }.hero-copy { position:relative; z-index:2; }.hero-art { position:absolute; width:100%; height:370px; bottom:4px; left:0; opacity:.78; }.sun { width:180px; height:180px; right:3%; top:70px; }.portrait { transform:scale(.72) rotate(-7deg); transform-origin:bottom left; left:0; }.portrait-right { transform:scale(.72) rotate(7deg); transform-origin:bottom right; right:0; }.art-caption { left:0; bottom:0; }.event-items { grid-template-columns:1fr 1fr; min-height:76px; }.event-items span { padding:0 10px; font-size:11px; }.event-items span:first-child { padding-left:0; }.event-items span:nth-child(2) { display:none; }.event-items b { font-size:22px; }.section { padding:82px 0; }.intro,.section-heading,.audience-grid,.registration,.story-grid { grid-template-columns:1fr; gap:30px; }.intro-text { padding:0; }.manifesto { padding:70px 0; }.manifesto-grid { grid-template-columns:1fr; }.quote-mark { display:none; }.story-grid aside { position:static; }.story-content { font-size:16px; }.section-heading { margin-bottom:36px; }.programme-item summary { grid-template-columns:35px 55px 1fr; }.programme-details { margin:0 0 20px 90px; padding:15px; }.programme-item h3 { font-size:19px; }.programme-note { grid-template-columns:1fr; gap:12px; }.workshops-section { padding:80px 0; }.workshop-grid { grid-template-columns:1fr 1fr; }.workshop-card { min-height:300px; border-bottom:1px solid rgba(255,255,255,.24); }.workshop-card:nth-child(2n+1) { border-right:1px solid rgba(255,255,255,.24); }.workshop-card:nth-child(2n) { border-right:0; }.workshop-card:last-child { border-bottom:0; }.workshop-card h3 { font-size:25px; margin-top:27px; }.speaker-grid { grid-template-columns:1fr; gap:28px; }.speaker-portrait { height:180px; }.speaker-portrait i { transform:translate(42px,52px) scale(.8); }.p1 i { transform:translate(-52px,-47px) scale(.8); }.p2 i { transform:translate(42px,-45px) scale(.8); }.p3 i { transform:translate(-48px,50px) scale(.8); }.speaker-card h3 { font-size:18px; }.audience { padding:75px 0; }.registration { padding:82px 0; }.registration-card { padding:28px; }.registration-card h3 { margin:42px 0 27px; }.footer-grid { grid-template-columns:1fr; }.footer-grid > div:last-child { justify-self:start; text-align:left; }.hero-actions { gap:16px; }.button { padding:14px 16px; } }

@media (max-width:460px) { .workshop-grid { grid-template-columns:1fr; }.workshop-card,.workshop-card:nth-child(2n+1),.workshop-card:nth-child(2n) { border-right:0; }.workshop-card:nth-last-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.24); }.workshop-card:last-child { border-bottom:0; } }

.speaker-portrait img { width:100%; height:100%; object-fit:cover; object-position:center; }
.workshop-details { margin:8px 0 18px; }.workshop-details[open] { margin-bottom:30px; }.workshop-details summary { cursor:pointer; list-style:none; color:#f7a57f; font-size:12px; font-weight:700; }.workshop-details summary::-webkit-details-marker { display:none; }.workshop-details summary span { display:inline-block; margin-left:6px; font-size:16px; transition:transform .2s ease; }.workshop-details[open] summary span { transform:rotate(90deg); }.workshop-details summary:focus-visible { outline:2px solid #f7a57f; outline-offset:3px; }.workshop-details p { margin:10px 0 0; color:#dce6ff; font-size:12px; line-height:1.5; }.workshop-details ul { margin:10px 0 0; padding-left:18px; color:#dce6ff; font-size:12px; line-height:1.5; }.workshop-details li + li { margin-top:6px; }.workshop-card a { padding-top:18px; }
.tickets { background:var(--paper); }.ticket-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; max-width:780px; }.ticket-card { min-height:285px; padding:31px; border:1px solid var(--line); display:flex; flex-direction:column; }.ticket-card-featured { background:var(--deep); border-color:var(--deep); color:#fffaf1; }.ticket-kind { margin:0; font:500 11px "DM Mono",monospace; letter-spacing:.1em; text-transform:uppercase; }.ticket-price { margin:32px 0 14px; font:600 76px/.8 "Playfair Display",serif; letter-spacing:-.07em; }.ticket-price span { font:500 28px "DM Sans",sans-serif; letter-spacing:-.05em; }.ticket-card > p:not(.ticket-kind):not(.ticket-price) { margin:0; font-size:14px; line-height:1.45; }.ticket-card a { align-self:flex-start; margin-top:auto; }.ticket-card-featured .button { background:#fffaf1; color:var(--ink); }
@media (max-width:760px) { .ticket-grid { grid-template-columns:1fr; }.ticket-card { min-height:250px; }.ticket-price { font-size:66px; } }
