:root{--blue:#1744e8;--ink:#101010;--paper:#f5f4f1;--line:rgba(17,17,17,.14);--font:"Montserrat",Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);overflow-x:hidden}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.announcement{height:32px;background:var(--ink);color:#fff;display:flex;justify-content:center;align-items:center;gap:13px;font-size:9px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.announcement b{color:var(--blue);font-size:12px}
.site-header{height:84px;padding:0 clamp(20px,5vw,76px);display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:relative;z-index:20;border-bottom:1px solid var(--line)}
.mini-logo{width:56px;height:56px;border-radius:50%;overflow:hidden;display:block;background:#fff}
.mini-logo img{width:100%;height:100%;object-fit:cover;object-position:center 50%}
.desktop-nav{display:flex;gap:clamp(16px,2.5vw,39px);margin-left:70px}
.desktop-nav a,.mobile-nav a{color:var(--ink);text-decoration:none;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.desktop-nav a:hover,.footer-info a:hover{color:var(--blue)}
.nav-cta,.button{border:0;background:var(--blue);color:#fff;padding:15px 18px;font-size:10px;font-weight:800;letter-spacing:.07em}
.nav-cta span,.button b{font-size:18px;line-height:8px;vertical-align:-2px;margin-left:15px}
.menu-toggle,.mobile-nav{display:none}
.section-pad{padding-left:clamp(24px,9vw,145px);padding-right:clamp(24px,9vw,145px)}
.presence-logo{border-radius:50%;overflow:hidden;background:#fff;box-shadow:7px 8px 0 var(--ink);isolation:isolate}
.presence-logo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 50%}
.hero{min-height:calc(100svh - 116px);background:var(--blue);color:#fff;position:relative;isolation:isolate;overflow:hidden;padding:clamp(54px,10vh,115px) clamp(24px,9vw,145px) 54px}
.hero-grid{position:absolute;inset:0;opacity:.14;background-image:linear-gradient(rgba(255,255,255,.85) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.85) 1px,transparent 1px);background-size:74px 74px;mask-image:linear-gradient(90deg,#000,transparent 85%)}
.hero-copy{position:relative;z-index:3;max-width:735px}
.kicker{margin:0 0 18px;font-size:10px;letter-spacing:.15em;font-weight:800;text-transform:uppercase}
.kicker i{display:inline-block;width:24px;border-top:1px solid currentColor;vertical-align:middle;margin:0 8px}
.light{color:#fff}
.hero-mantra{font-size:clamp(21px,3.1vw,45px);font-weight:800;letter-spacing:-.065em;line-height:.93;margin:0 0 28px}
.hero h1{font-size:clamp(100px,16vw,240px);letter-spacing:-.105em;line-height:.68;margin:0 0 48px;font-weight:900}
.hero h1 span{display:block}
.hero-actions{display:flex;align-items:center;gap:31px}
.button-light{background:#fff;color:var(--blue)}
.button-dark{background:var(--ink);color:#fff}
.text-link,.under-link{border:0;padding:0;background:transparent;font-size:10px;letter-spacing:.11em;font-weight:800;text-decoration:none}
.light-link{color:#fff}
.text-link b,.under-link b{font-size:16px;margin-left:6px}
.hero-mark{position:absolute;right:clamp(5px,10vw,165px);top:50%;z-index:2;width:min(37vw,510px);aspect-ratio:1;transform:translateY(-48%)}
.logo-coin{position:absolute;inset:4%;border-radius:50%;overflow:hidden;background:#fff;box-shadow:0 24px 60px rgba(0,0,0,.23)}
.logo-coin img{width:100%;height:100%;object-fit:cover;object-position:center 50%}
.orbit{position:absolute;border:1px solid rgba(255,255,255,.7);border-radius:50%;z-index:-1}
.orbit-one{inset:-10%;transform:rotate(-23deg) scaleY(.36)}
.orbit-two{inset:-23%;transform:rotate(51deg) scaleY(.28)}
.sticker{position:absolute;color:var(--ink);background:#fff;font-size:10px;line-height:1.05;font-weight:900;letter-spacing:.02em;text-align:center;padding:13px;border-radius:50%;display:grid;place-items:center;width:84px;height:84px}
.sticker-one{right:-25px;top:4%;transform:rotate(13deg)}
.sticker-two{left:-17px;bottom:3%;font-size:19px;background:var(--ink);color:#fff;transform:rotate(-13deg)}
.hero-bottom{position:absolute;z-index:3;bottom:24px;left:clamp(24px,9vw,145px);right:clamp(24px,9vw,145px);border-top:1px solid rgba(255,255,255,.45);padding-top:13px;display:flex;justify-content:space-between;color:#fff;font-size:8px;font-weight:700;letter-spacing:.12em}
.hero-bottom b{font-size:17px;margin-top:-7px}
.hero-dot{position:absolute;border-radius:50%;border:10px solid #fff;opacity:.85}
.dot-a{width:23px;height:23px;top:24%;right:13%}
.dot-b{width:14px;height:14px;bottom:15%;left:42%}
.intro{padding-top:140px;padding-bottom:140px;display:grid;grid-template-columns:minmax(260px,1fr) minmax(250px,.73fr);gap:5vw;align-items:end}
.section-top h2,.brands h2,.about h2{font-size:clamp(47px,6.4vw,94px);letter-spacing:-.085em;line-height:.85;margin:0;font-weight:900}
.section-top{position:relative}
.presence-logo-what{position:absolute;width:clamp(62px,7vw,96px);height:clamp(62px,7vw,96px);right:4%;bottom:-10px;transform:rotate(8deg)}
.intro-copy{max-width:390px}
.lead{font-size:22px;line-height:1.18;font-weight:700;letter-spacing:-.04em;margin:0 0 18px}
.intro-copy p:not(.lead),.brands-copy p:not(.lead),.about-copy p:not(.signature){font-size:14px;line-height:1.65;margin:0 0 22px}
.under-link{color:var(--blue);padding-bottom:7px;border-bottom:2px solid var(--blue)}
.product-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:78px}
.product-card{min-height:350px;padding:16px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}
.card-shirt{background:#e8e8e5}
.card-cup{background:var(--blue);color:#fff}
.card-gift{background:#191919;color:#fff}
.card-event{background:#fff;border:1px solid var(--line)}
.card-number{font-size:10px;letter-spacing:.1em;font-weight:700;opacity:.7}
.card-copy{position:relative;z-index:2}
.card-copy h3{margin:0 0 6px;font-size:13px;font-weight:800;letter-spacing:.05em}
.card-copy p{font-size:11px;line-height:1.38;margin:0;max-width:175px}
.card-copy button{position:absolute;right:0;bottom:0;border:0;background:transparent;color:inherit;font-size:25px}
.shirt-art{width:143px;height:155px;background:#fff;position:absolute;top:72px;left:50%;transform:translateX(-50%);clip-path:polygon(22% 0,37% 11%,63% 11%,78% 0,100% 16%,83% 35%,83% 100%,17% 100%,17% 35%,0 16%);display:grid;place-items:center;box-shadow:9px 13px 0 rgba(0,0,0,.08)}
.shirt-art span{color:var(--blue);font-size:22px;font-weight:900;line-height:.8;text-align:center;transform:rotate(-8deg)}
.cup-art{position:absolute;width:116px;height:186px;background:#fafafa;border-radius:12px 12px 28px 28px;top:70px;left:50%;transform:translateX(-50%) rotate(8deg);color:var(--blue);display:grid;place-items:center;box-shadow:11px 14px 0 rgba(0,0,0,.15)}
.cup-art:after{content:"";height:48px;width:18px;border:8px solid #fff;border-left:0;position:absolute;right:-19px;top:56px;border-radius:0 20px 20px 0}
.cup-lid{position:absolute;top:-9px;width:123px;height:18px;background:#d5d5d5;border-radius:50%}
.cup-art span{font-size:25px;font-weight:900;transform:rotate(-8deg)}
.gift-art{height:150px;width:150px;background:var(--blue);position:absolute;left:50%;top:70px;transform:translateX(-50%) rotate(-7deg);display:grid;place-items:center;box-shadow:10px 10px 0 #fff}
.gift-ribbon{position:absolute;inset:0;background:linear-gradient(90deg,transparent 43%,#fff 43% 57%,transparent 57%),linear-gradient(0deg,transparent 44%,#fff 44% 57%,transparent 57%)}
.gift-art b{font-size:25px;line-height:.78;text-align:center;position:relative;color:#fff}
.event-art{position:absolute;width:170px;height:170px;border:13px solid var(--blue);border-radius:50%;top:57px;left:50%;transform:translateX(-50%);display:grid;place-items:center}
.event-art span{font-size:19px;font-weight:900;line-height:.82;text-align:center;color:var(--blue)}
.ticker{overflow:hidden;background:var(--ink);color:#fff;white-space:nowrap;padding:18px 0}
.ticker div{display:inline-flex;gap:32px;align-items:center;animation:marquee 24s linear infinite}
.ticker span{font-size:18px;font-weight:800;letter-spacing:-.05em}
.ticker b{color:var(--blue);font-size:20px}
@keyframes marquee{to{transform:translateX(-35%)}
}
.process{background:var(--blue);color:#fff;padding:130px 0 38px}
.process-head{display:grid;grid-template-columns:1.15fr .65fr;gap:7vw;align-items:end;padding-bottom:8px;position:relative}
.process-head .kicker{grid-column:1/-1;margin:0}
.process-head h2{font-size:clamp(48px,6vw,92px);line-height:.85;letter-spacing:-.08em;margin:0;font-weight:900}
.process-head>p{font-size:14px;line-height:1.6;margin:0;max-width:330px}
.presence-logo-process{width:82px;height:82px;position:absolute;right:clamp(24px,9vw,145px);top:53px;transform:rotate(-8deg);box-shadow:6px 7px 0 var(--ink)}
.process-steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:76px;border-top:1px solid rgba(255,255,255,.55);border-bottom:1px solid rgba(255,255,255,.55);align-items:stretch}
.step{padding:23px clamp(18px,4vw,62px) 38px;border-right:1px solid rgba(255,255,255,.55);min-height:355px;display:flex;flex-direction:column}
.step:last-child{border:0}
.step>span{font-size:10px;font-weight:700;letter-spacing:.1em}
.step h3{font-size:16px;letter-spacing:.03em;margin:22px 0 9px}
.step p{font-size:12px;line-height:1.5;max-width:180px;margin:0}
.step-icon{height:125px;flex:0 0 125px;position:relative;margin-top:25px}
.icon-design{border:2px solid #fff;transform:rotate(-9deg);width:97px;height:117px;margin-left:14px}
.icon-design i{position:absolute;width:47px;border-top:3px solid #fff;left:18px}
.icon-design i:nth-child(1){top:33px}
.icon-design i:nth-child(2){top:54px;width:33px}
.icon-design i:nth-child(3){top:75px;width:42px}
.icon-print{width:120px;height:100px;border:3px solid #fff;margin-left:4px}
.icon-print:before{content:"";position:absolute;left:15px;right:15px;top:-23px;height:34px;border:3px solid #fff;background:var(--blue)}
.icon-print i{position:absolute;width:8px;height:8px;background:#fff;border-radius:50%;right:15px;top:22px}
.icon-print i:nth-child(2){right:30px}
.icon-print i:nth-child(3){left:15px;top:49px;width:85px;border-radius:0;height:3px}
.icon-heat{width:92px;height:60px;border:3px solid #fff;margin-left:10px;top:33px}
.icon-heat:before{content:"";position:absolute;left:10px;right:10px;top:-22px;border-top:3px solid #fff;transform:skewX(-22deg)}
.icon-heat i{position:absolute;bottom:-37px;left:15px;width:10px;height:27px;border:2px solid #fff;border-bottom:0;border-radius:50% 50% 0 0}
.icon-heat i:nth-child(2){left:41px;height:35px}
.icon-heat i:nth-child(3){left:67px;height:24px}
.icon-made{display:grid;place-items:center;width:105px;height:105px;border:3px solid #fff;border-radius:50%;margin-left:8px}
.icon-made i{font-size:59px;font-style:normal}
.process-note{font-size:10px;line-height:1.5;max-width:570px;opacity:.8;margin:22px auto 0;padding:0 24px;text-align:center}
.big-yes{height:785px;background:var(--paper);position:relative;overflow:hidden;display:flex;align-items:center;padding:0 clamp(24px,17vw,270px)}
.presence-logo-yes{position:absolute;width:clamp(76px,8vw,116px);height:clamp(76px,8vw,116px);right:21%;bottom:16%;transform:rotate(9deg)}
.big-yes-word{font-size:clamp(240px,45vw,700px);letter-spacing:-.13em;font-weight:900;color:rgba(23,68,232,.13);position:absolute;right:-.08em;top:15%;line-height:.7}
.big-yes-copy{position:relative;z-index:2}
.big-yes-copy h2{font-size:clamp(46px,5.7vw,86px);line-height:.85;letter-spacing:-.09em;margin:0 0 29px;font-weight:900}
.big-yes-copy h2 span{color:var(--blue)}
.brands{display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,11vw,180px);align-items:center;padding-top:120px;padding-bottom:120px;background:#fff}
.brands-art{height:490px;background:#e7e7e4;position:relative;overflow:hidden}
.brand-shirt{width:280px;height:310px;background:var(--blue);position:absolute;left:50%;top:70px;transform:translateX(-50%) rotate(-6deg);clip-path:polygon(22% 0,37% 10%,63% 10%,78% 0,100% 16%,83% 36%,83% 100%,17% 100%,17% 36%,0 16%);display:grid;place-items:center;box-shadow:15px 19px 0 #111}
.brand-shirt span{font-size:32px;line-height:.78;font-weight:900;color:#fff;text-align:center;transform:rotate(6deg)}
.brand-tag{position:absolute;right:6%;bottom:31px;background:#fff;padding:14px;font-size:9px;line-height:1.2;font-weight:800;letter-spacing:.04em;transform:rotate(8deg);box-shadow:5px 5px 0 #111}
.brands-copy{max-width:440px}
.brands-copy h2{margin-bottom:29px}
.occasion-section{background:var(--ink);color:#fff;min-height:600px;position:relative;overflow:hidden;display:flex;align-items:center}
.occasion-copy{position:relative;z-index:2;max-width:890px;padding-top:100px;padding-bottom:100px}
.occasion-copy h2{font-size:clamp(48px,7vw,106px);line-height:.84;letter-spacing:-.09em;margin:0 0 28px;font-weight:900}
.occasion-copy h2 span{color:var(--blue)}
.occasion-copy>p:not(.kicker){font-size:15px;line-height:1.65;max-width:390px;margin:0 0 30px}
.occasion-stickers{position:absolute;right:11%;top:19%;width:270px;height:340px}
.occasion-stickers span{width:184px;height:184px;background:var(--blue);border-radius:50%;display:grid;place-items:center;text-align:center;font-size:27px;line-height:.8;font-weight:900;transform:rotate(-8deg)}
.occasion-stickers b{position:absolute;right:0;bottom:6%;font-size:42px;transform:rotate(14deg)}
.presence-logo-occasion{position:absolute;width:76px;height:76px;right:7%;bottom:13%;transform:rotate(-8deg);box-shadow:5px 6px 0 var(--blue)}
.about{display:grid;grid-template-columns:1fr .7fr;gap:10vw;padding-top:135px;padding-bottom:135px}
.about h2{margin-bottom:33px}
.about h2 span{color:var(--blue)}
.about-copy{max-width:520px}
.signature{font-size:12px!important;font-weight:800;letter-spacing:.1em;margin-top:37px!important;color:var(--blue)}
.about-stat{align-self:center;border-left:1px solid var(--ink);padding:0 0 0 30px}
.about-stat span{font-size:10px;letter-spacing:.11em;font-weight:800}
.about-stat strong{font-size:clamp(70px,9vw,135px);line-height:.84;letter-spacing:-.1em;display:block;color:var(--blue)}
.about-stat i{font-size:39px;font-style:normal;display:block;margin:17px 0}
.about-stat p{font-size:14px;line-height:1.4;margin:0;font-weight:600}
.idea-section{background:var(--blue);color:#fff;min-height:600px;display:flex;align-items:center;justify-content:center;gap:clamp(45px,10vw,180px);position:relative;overflow:hidden;padding:80px 24px}
.idea-logo{width:clamp(200px,24vw,340px);height:clamp(200px,24vw,340px);background:#fff;border-radius:50%;overflow:hidden;box-shadow:16px 18px 0 var(--ink)}
.idea-logo img{height:100%;width:100%;object-fit:cover;object-position:center 50%}
.idea-copy{max-width:470px}
.idea-copy h2{font-size:clamp(52px,7vw,106px);line-height:.76;letter-spacing:-.1em;margin:0 0 30px;font-weight:900}
.idea-copy>p:not(.kicker){font-size:15px;line-height:1.65;max-width:380px;margin:0 0 30px}
footer{background:var(--ink);color:#fff;padding:70px clamp(24px,9vw,145px) 28px}
.footer-brand{display:flex;align-items:center;gap:clamp(16px,2.6vw,38px)}
.footer-logo{width:clamp(72px,9vw,132px);height:clamp(72px,9vw,132px);flex:0 0 auto;box-shadow:7px 8px 0 var(--blue)}
.footer-title{font-size:clamp(44px,7.7vw,114px);font-weight:900;letter-spacing:-.1em;line-height:.72}
.footer-title span{color:var(--blue)}
.footer-info{display:flex;gap:80px;margin:53px 0 70px;font-size:11px;line-height:1.65;font-weight:500}
.footer-info p{margin:0}
.footer-info a{color:#fff}
.footer-bottom{padding-top:18px;border-top:1px solid rgba(255,255,255,.3);display:flex;align-items:end;justify-content:space-between;font-size:8px;letter-spacing:.09em;font-weight:700}
.footer-bottom strong{font-size:11px;line-height:1.1}
.footer-bottom a{color:#fff;text-decoration:none}
.modal{position:fixed;z-index:50;inset:0;background:rgba(16,16,16,.74);display:none;align-items:center;justify-content:center;padding:20px}
.modal.show{display:flex}
.modal-panel{background:var(--paper);width:min(100%,600px);max-height:92vh;overflow:auto;padding:50px;position:relative}
.modal-close{position:absolute;right:20px;top:17px;border:0;background:transparent;font-size:32px;line-height:1;color:var(--ink)}
.modal-panel h2{font-size:clamp(47px,8vw,78px);line-height:.78;letter-spacing:-.1em;margin:0 0 22px}
.modal-panel h2 span{color:var(--blue)}
.modal-panel>p:not(.kicker){font-size:13px;line-height:1.6;max-width:400px;margin:0 0 26px}
form{display:grid;gap:14px}
label{font-size:9px;letter-spacing:.08em;font-weight:800;text-transform:uppercase}
input,select,textarea{display:block;width:100%;margin-top:6px;border:1px solid #aaa;background:#fff;padding:12px;font-size:13px;color:var(--ink);outline-color:var(--blue)}
textarea{height:86px;resize:vertical}
form .button{margin-top:7px;text-align:left}
.form-success{display:none;text-align:center;padding:40px 0 10px}
.form-success b{display:block;color:var(--blue);font-size:92px;font-weight:900;letter-spacing:-.12em;line-height:.7}
.form-success h3{font-size:35px;margin:26px 0 10px;letter-spacing:-.06em}
.form-success p{font-size:13px;line-height:1.5;margin:0 0 26px}
.modal.is-success form,.modal.is-success .modal-panel>p,.modal.is-success .modal-panel>.kicker,.modal.is-success .modal-panel>h2{display:none}
.modal.is-success .form-success{display:block}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s ease}
.reveal.visible{opacity:1;transform:translateY(0)}

@media(max-width:780px){.announcement{font-size:7px;gap:7px}
.site-header{height:69px;padding:0 20px}
.mini-logo{width:46px;height:46px}
.desktop-nav,.nav-cta{display:none}
.menu-toggle{display:grid;border:0;background:transparent;gap:6px;padding:8px}
.menu-toggle i{display:block;width:23px;border-top:2px solid var(--ink)}
.mobile-nav{position:absolute;z-index:19;top:101px;left:0;right:0;background:var(--paper);padding:20px;gap:19px;flex-direction:column;border-bottom:1px solid var(--line);transform:translateY(-140%);transition:transform .25s ease}
.mobile-nav.open{display:flex;transform:translateY(0)}
.mobile-nav button{border:0;background:var(--blue);color:#fff;padding:12px;text-align:left;font-size:10px;text-transform:uppercase;font-weight:800;letter-spacing:.08em}
.hero{min-height:680px;padding-top:56px}
.hero h1{font-size:25vw}
.hero h1 em{font-size:27px;margin-top:29px}
.hero-mark{width:245px;right:-46px;top:auto;bottom:56px;transform:none}
.sticker{transform:scale(.78)}
.hero-bottom{font-size:6px}
.hero-bottom span:first-child{max-width:145px}
.intro{padding-top:85px;padding-bottom:85px;display:block}
.presence-logo-what{width:56px;height:56px;right:0;bottom:-6px}
.intro-copy{margin:33px 0 0}
.product-grid{grid-template-columns:1fr 1fr;margin-top:53px;gap:8px}
.product-card{min-height:286px;padding:13px}
.shirt-art{transform:translateX(-50%) scale(.72);top:48px}
.cup-art{transform:translateX(-50%) rotate(8deg) scale(.72);top:42px}
.gift-art{transform:translateX(-50%) rotate(-7deg) scale(.72);top:48px}
.event-art{transform:translateX(-50%) scale(.72);top:48px}
.card-copy h3{font-size:11px}
.card-copy p{font-size:9px}
.ticker span{font-size:14px}
.process{padding-top:85px}
.process-head{display:block}
.process-head h2{margin:28px 0}
.presence-logo-process{position:relative;right:auto;top:auto;width:58px;height:58px;margin:27px 0 0 auto}
.process-steps{margin-top:59px;grid-template-columns:1fr 1fr}
.step{min-height:285px;padding:20px;border-bottom:1px solid rgba(255,255,255,.55)}
.step:nth-child(2){border-right:0}
.step-icon{transform:scale(.72);transform-origin:left top;height:92px;flex-basis:92px;margin-top:12px}
.step h3{margin-top:8px}
.big-yes{height:590px;padding-left:24px}
.big-yes-word{font-size:120vw;top:35%}
.presence-logo-yes{width:64px;height:64px;right:32px;bottom:41px}
.brands{display:flex;flex-direction:column-reverse;padding-top:85px;padding-bottom:85px}
.brands-art{height:340px;width:100%}
.brand-shirt{transform:translateX(-50%) rotate(-6deg) scale(.69);top:20px}
.occasion-section{min-height:600px}
.occasion-copy{padding-top:80px;padding-bottom:210px}
.occasion-stickers{right:-52px;bottom:-21px;top:auto;transform:scale(.72)}
.presence-logo-occasion{width:57px;height:57px;right:auto;left:25px;bottom:31px}
.about{display:block;padding-top:85px;padding-bottom:85px}
.about-stat{margin-top:63px}
.idea-section{display:block;padding:85px 24px}
.idea-logo{margin:0 auto 70px}
.footer-info{gap:40px;margin:45px 0}
.footer-brand{gap:14px}.footer-logo{width:66px;height:66px}
.footer-bottom{align-items:start;gap:18px;flex-wrap:wrap}
.footer-bottom a{margin-left:auto}
.modal-panel{padding:45px 24px 30px}
.parallax{transform:none!important}
}

@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}
html{scroll-behavior:auto}
}
