:root{--cream:#fff8ed;--ink:#1d1b19;--pink:#df236e;--brown:#6d4233;--line:#d8cfc1}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,a{outline-offset:5px}::selection{background:#df236e;color:#fff}.skip{position:absolute;top:-60px;left:20px;background:#fff;padding:12px;z-index:20}.skip:focus{top:10px}.site-header{height:92px;padding:0 clamp(22px,5vw,80px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:5}.wordmark{font-weight:700;font-size:2.1rem;letter-spacing:-.12em;line-height:1}.mark-dot,.period{color:var(--pink)}nav{display:flex;gap:clamp(20px,3vw,52px);font-size:.87rem;font-weight:600}nav a,footer a{transition:color .2s}nav a:hover,footer a:hover{color:var(--pink)}.header-note{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}.hero{min-height:calc(100svh - 92px);display:grid;grid-template-columns:52% 48%;overflow:hidden}.hero-copy{padding:clamp(48px,6.5vw,100px) 3vw 28px clamp(22px,5vw,80px);display:flex;flex-direction:column;position:relative;z-index:2}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.19em;line-height:1.5;margin:0 0 30px;text-transform:uppercase}.asterisk{font-size:1.4rem;color:var(--pink);vertical-align:-.12em;margin-right:8px}.hero h1,.section-head h2,.about h2,.contact h2{font-size:clamp(5rem,9.4vw,10.5rem);line-height:.83;letter-spacing:-.095em;margin:0;font-weight:700}.hero h1 em,.section-head h2 em,.about h2 em,.contact h2 em{font-family:'Instrument Serif',Georgia,serif;font-weight:400;letter-spacing:-.06em;color:var(--pink)}.hero-intro{font-size:clamp(1.1rem,1.5vw,1.5rem);line-height:1.42;max-width:465px;margin:42px 0 30px;letter-spacing:-.03em}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.pill{border:1px solid var(--ink);padding:16px 24px;border-radius:100px;font-size:.84rem;text-transform:uppercase;font-weight:700;letter-spacing:.06em;display:inline-flex;justify-content:space-between;align-items:center;gap:32px;transition:transform .25s,background .25s,color .25s}.pill:hover{transform:translateY(-3px)}.pill.primary{background:var(--ink);color:white}.pill.primary:hover{background:var(--pink);border-color:var(--pink)}.pill.secondary:hover{background:var(--ink);color:white}.hero-foot{display:flex;justify-content:space-between;gap:10px;font-size:.66rem;font-weight:700;letter-spacing:.15em;margin-top:auto;padding-top:40px}.character-stage{position:relative;min-height:700px;background:#f1e4d2;overflow:hidden;isolation:isolate;perspective:1200px}.character-stage:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 52% 42%,#f9e7cb 0,transparent 52%),linear-gradient(145deg,#f6eddd,#e9d5bc);z-index:-2}.stage-ring{position:absolute;border:1px solid rgba(109,66,51,.27);border-radius:50%;width:74%;aspect-ratio:1;top:14%;left:13%;box-shadow:0 0 0 62px rgba(255,248,237,.12),0 0 0 124px rgba(255,248,237,.09)}.stage-sticker{position:absolute;right:6%;top:9%;width:115px;height:115px;background:var(--pink);border-radius:50%;color:#fff;display:grid;place-content:center;text-align:center;font-family:'Instrument Serif',Georgia,serif;font-size:1.5rem;line-height:.9;transform:rotate(14deg)}.stage-caption{position:absolute;bottom:25px;right:30px;letter-spacing:.17em;font-size:.64rem;font-weight:700}.marquee{background:var(--ink);color:var(--cream);overflow:hidden;white-space:nowrap;padding:19px 0;font-weight:700;font-size:.82rem;letter-spacing:.18em}.marquee div{width:max-content;animation:marquee 30s linear infinite}.marquee i{color:var(--pink);font-style:normal;padding:0 30px}@keyframes marquee{to{transform:translateX(-50%)}}.section-wrap{padding-left:clamp(22px,5vw,80px);padding-right:clamp(22px,5vw,80px)}.work{padding-top:120px;padding-bottom:130px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:65px}.section-head h2,.about h2,.contact h2{font-size:clamp(4.2rem,7vw,8.5rem)}.section-head>p{max-width:250px;font-size:1rem;line-height:1.5;margin:0 0 5px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px 24px}.project:first-child{grid-column:1/-1}.project-art{height:clamp(330px,40vw,600px);overflow:hidden;position:relative;display:flex;justify-content:center;align-items:center}.project:first-child .project-art{height:clamp(400px,52vw,720px)}.project-rolly .project-art{background:#fc442b;color:#fff}.project-rolly strong{position:relative;font-size:clamp(7rem,19vw,22rem);letter-spacing:-.12em;transform:rotate(-8deg);line-height:.8;z-index:1;font-weight:700}.project-rolly strong span{font-size:.11em;vertical-align:top;letter-spacing:0}.project-orbit{position:absolute;width:40%;aspect-ratio:1;border:2px solid rgba(255,255,255,.55);border-radius:50%;transform:rotate(-25deg) scaleX(2.5)}.orbit-two{transform:rotate(32deg) scaleX(2.2)}.project-art small{position:absolute;left:35px;bottom:28px;font-weight:700;letter-spacing:.16em;font-size:.7rem}.project-clara .project-art{background:#d9bca7;color:#4a332e}.clara-shape{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-size:clamp(17rem,42vw,40rem);line-height:1;opacity:.28;position:absolute;top:47%;left:50%;transform:translate(-50%,-50%)}.clara-script{font-family:'Instrument Serif',Georgia,serif;font-size:clamp(4rem,7vw,9rem);font-style:italic;position:relative;transform:rotate(-8deg)}.project-aloha .project-art{background:#232524;color:#f9ede0}.aloha-word{font-size:clamp(3rem,5.5vw,7rem);font-weight:700;line-height:.86;letter-spacing:-.09em;max-width:80%;display:flex;flex-direction:column}.aloha-word span:not(.aloha-star){color:var(--pink);font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-style:italic;padding-left:25%}.aloha-star{position:absolute;right:12%;top:14%;font-size:5rem;color:var(--pink)}.project-meta{padding:22px 3px 0;display:flex;justify-content:space-between;gap:20px}.project-meta span:not(.project-arrow){font-size:.7rem;letter-spacing:.16em;font-weight:700}.project-meta h3{font-size:clamp(1.8rem,3vw,3rem);letter-spacing:-.06em;margin:13px 0 5px}.project-meta p{font-size:.94rem;line-height:1.5;margin:0;max-width:500px;color:#60564e}.project-arrow{font-size:2rem;transition:transform .25s}.project:hover .project-arrow,.project:focus .project-arrow{transform:translate(5px,-5px)}.work-note{font-size:.85rem;color:#776d64;margin-top:55px}.about{background:#e9d9c8;padding:120px 0 130px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.about h2{max-width:740px}.about-body{padding-top:65px}.about-body p{font-size:1.05rem;line-height:1.65;max-width:580px}.about-body .about-lead{font-size:clamp(1.5rem,2.2vw,2.3rem);line-height:1.3;letter-spacing:-.05em;margin:0 0 30px}.skill-list{display:flex;flex-wrap:wrap;gap:9px;margin-top:35px}.skill-list span{border:1px solid #9c8675;border-radius:100px;padding:10px 16px;font-size:.8rem;font-weight:600}.contact{padding-top:140px;padding-bottom:150px}.contact h2{margin-bottom:35px}.contact>p:not(.eyebrow){font-size:1.12rem}.contact-link{display:inline-flex;align-items:center;gap:50px;border-bottom:2px solid var(--ink);padding:14px 2px;font-size:clamp(1.15rem,2.5vw,2.5rem);letter-spacing:-.04em;font-weight:600;margin-top:35px;transition:color .2s}.contact-link:hover{color:var(--pink)}footer{padding:30px clamp(22px,5vw,80px);border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:.68rem;font-weight:700;letter-spacing:.12em}@media(max-width:850px){.header-note{display:none}.hero{display:flex;flex-direction:column}.hero-copy{padding:55px 24px 40px}.hero h1{font-size:clamp(5rem,16vw,8rem)}.hero-intro{margin-top:30px}.hero-foot{margin-top:50px}.character-stage{min-height:650px}.section-head,.about-grid{display:block}.section-head>p{margin-top:35px}.about-body{padding-top:50px}}@media(max-width:600px){.site-header{height:70px;padding:0 20px}.wordmark{font-size:1.8rem}nav{gap:16px;font-size:.78rem}.hero-copy{padding:50px 22px 30px}.eyebrow{font-size:.66rem;letter-spacing:.15em;margin-bottom:24px}.hero h1{font-size:clamp(4.4rem,17vw,6.7rem)}.hero-intro{font-size:1.1rem}.hero-foot{font-size:.55rem}.character-stage{min-height:500px}.stage-sticker{width:82px;height:82px;font-size:1.1rem}.stage-caption{font-size:.55rem}.work,.about,.contact{padding-top:85px;padding-bottom:90px}.section-head h2,.about h2,.contact h2{font-size:clamp(3.7rem,13vw,5.8rem)}.project-grid{display:block}.project{margin-bottom:45px}.project-art,.project:first-child .project-art{height:360px}.project-rolly strong{font-size:23vw}.project-meta h3{font-size:2rem}.project-art small{left:20px;bottom:20px}.aloha-word{font-size:3.2rem}.contact-link{font-size:1.1rem;gap:14px;word-break:break-word}footer{flex-wrap:wrap;font-size:.6rem}footer span:last-child{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marquee div{animation:none}.pill,.project-arrow{transition:none}}
.brands{padding-top:105px;padding-bottom:115px;background:#f4e9df;border-top:1px solid var(--line)}
.brands-intro{display:grid;grid-template-columns:1.3fr .7fr;column-gap:8vw;align-items:end}
.brands-intro .eyebrow{grid-column:1/-1}
.brands h2{font-size:clamp(3.6rem,6.5vw,7rem);line-height:.9;letter-spacing:-.08em;margin:0}
.brands h2 em{font-family:'Instrument Serif',Georgia,serif;font-weight:400;color:var(--pink)}
.brands-intro>p:last-child{font-size:1.05rem;line-height:1.6;max-width:450px;margin:0 0 5px}
.brand-list{display:grid;grid-template-columns:repeat(4,1fr);margin-top:65px;border-top:1px solid #cdbdb0;border-left:1px solid #cdbdb0}
.brand-list span{min-height:125px;display:flex;align-items:center;justify-content:center;padding:20px;text-align:center;border-right:1px solid #cdbdb0;border-bottom:1px solid #cdbdb0;font-size:clamp(1.25rem,2vw,2rem);font-weight:700;letter-spacing:-.06em;transition:background .2s,color .2s}
.brand-list span:hover{background:var(--pink);color:white}
.brands-footnote{font-size:.8rem;color:#665a52;line-height:1.5;margin:24px 0 0}
@media(max-width:850px){.brands-intro{display:block}.brands-intro>p:last-child{margin-top:30px}.brand-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.brands{padding-top:85px;padding-bottom:90px}.brands h2{font-size:clamp(3.3rem,12vw,5.5rem)}.brand-list span{min-height:94px}}
@media(prefers-reduced-motion:reduce){}

@media(prefers-reduced-motion:reduce){}
.brands h2{letter-spacing:-.055em;word-spacing:.09em}
.expertise{display:grid;grid-template-columns:repeat(2,1fr);gap:0 7vw;margin-top:85px}
.expertise>div{padding:25px 0 34px;border-top:1px solid #b9a593}
.expertise span{color:var(--pink);font-size:clamp(1.35rem,2.4vw,2.3rem);font-weight:700;letter-spacing:-.055em}
.expertise p{font-size:1rem;line-height:1.55;max-width:430px;margin:18px 0 0}
.contact-options{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
@media(max-width:600px){.expertise{display:block;margin-top:58px}.expertise>div{padding:22px 0 28px}}
.brand-list .brand-tile{display:flex;flex-direction:column;gap:5px;position:relative}
.brand-tile img{display:block;max-width:72%;max-height:66px;width:auto;height:auto;object-fit:contain;mix-blend-mode:multiply}
.brand-tile b{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.brand-tile.logo-failed img{display:none}.brand-tile.logo-failed b{position:static;width:auto;height:auto;clip-path:none;white-space:normal}
.brand-list .brand-wordmark{font-size:clamp(1.35rem,2.3vw,2.3rem);letter-spacing:-.055em}
.marquee-track{display:flex;width:max-content;gap:0;animation:marquee 24s linear infinite}
.marquee-group{display:block;flex:none;white-space:nowrap}
.brand-tile img.local-logo{width:84px;height:84px;max-width:84px;max-height:84px;object-fit:contain;mix-blend-mode:normal}
@media(prefers-reduced-motion:reduce){.marquee-track{animation:none}}
.brand-list .brand-tile{gap:8px;padding:13px}
.brand-tile img.local-logo{width:86px;height:86px;max-width:86px;max-height:86px;flex:none}
.brand-tile small{font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:#5f554e}
.brand-tile.logo-failed small{display:none}
/* Final brand image treatment. */
.brand-tile img[src*="camila-brand-99"]{clip-path:inset(5% round 18%);transform:scale(1.09)}
.brand-tile img[src*="camila-brand-cattan"]{border-radius:50%}
.brand-tile img[src*="camila-brand-esposende"],.brand-tile img[src*="camila-brand-adaptogen"]{border-radius:14px}
.stage-ring{box-shadow:none}
.character-stage:before{background:linear-gradient(145deg,#f3e6d5,#e8d4bc)}
.stage-caption{color:#fff8ed;background:rgba(29,27,25,.82);padding:9px 12px;border-radius:5px;right:20px;bottom:20px}
@keyframes marquee{to{transform:translateX(calc(-1 * var(--loop-distance, 0px)))}}
.project-open{display:block}.project-open:focus-visible{outline:3px solid var(--pink);outline-offset:5px}.project-rolly .project-art{background:#0061ff;justify-content:flex-start}.rolly-slides{display:flex;width:200%;height:100%;flex:none;align-self:stretch;transform:translateX(0);transition:transform .65s cubic-bezier(.22,.61,.36,1)}.rolly-slides img{display:block;width:50%;height:100%;flex:none;object-fit:cover}.rolly-slides .rolly-logo{object-fit:contain;background:#0061ff}.project-open:hover .rolly-slides,.project-open:focus-visible .rolly-slides{transform:translateX(-50%)}@media(hover:none){.rolly-slides{animation:rolly-peek 8s ease-in-out infinite alternate}}@keyframes rolly-peek{0%,30%{transform:translateX(0)}65%,100%{transform:translateX(-50%)}}@media(prefers-reduced-motion:reduce){.rolly-slides{transition:none;animation:none}}
.project-clara .project-art{display:block;height:auto;min-height:0;aspect-ratio:auto;background:transparent}.project-clara .project-art img{display:block;width:100%;height:auto;object-fit:initial}
.project-meta .project-link-label{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;white-space:nowrap;text-transform:uppercase;font-size:.78rem;letter-spacing:.12em;font-weight:700}.project-link-label .project-arrow{line-height:1}

/* One proportional, stationary portrait at every screen size. */
.character-stage{min-height:0;perspective:none;display:flex;align-items:center;background:#202022}
.character-stage:before{display:none}
.character-portrait{display:block;width:100%;height:auto;flex:none;object-fit:contain;transform:none;animation:none;transition:none}
@media(min-width:851px){.character-stage{align-self:stretch}.character-portrait{align-self:center}}
@media(max-width:850px){.character-stage{width:min(100%,600px);align-self:center}.stage-sticker{top:5%}}

.brand-tile img.frosty-logo{object-fit:cover;object-position:center;border-radius:14px}
