:root{--paper:#f2f0e9;--ink:#1a191b;--orange:#ff9e54;--violet:#af7edc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Golos Text',Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:6px}::selection{background:var(--orange);color:var(--ink)}.handwritten{font-family:'Marck Script',cursive;font-weight:400}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}header{position:absolute;z-index:10;top:0;left:0;width:100%;height:96px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;color:var(--paper);border-bottom:1px solid #ffffff26}.logo{font-size:32px;font-weight:800;letter-spacing:-3px;display:flex;gap:5px;align-items:center}.logo span{color:var(--orange);font-size:30px;letter-spacing:0}nav{display:flex;gap:38px;font-size:13px}nav a:hover{color:var(--orange)}.header-contact{font-size:13px;border-bottom:1px solid #ffffff88;padding:10px 0;display:flex;gap:35px}.header-contact span{color:var(--orange)}.hero{position:relative;height:min(950px, max(790px, 64vw));overflow:hidden;color:var(--paper);background:radial-gradient(ellipse at 55% 68%,#9626c45e,transparent 45%),radial-gradient(ellipse at 95% 20%,#610e8555,transparent 55%),radial-gradient(ellipse at 0% 85%,#b6633a55,transparent 55%),linear-gradient(120deg,#421c33,#321135 55%,#251027)}.hero:after{content:'';position:absolute;inset:0;pointer-events:none;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.7' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}.hero-top{position:absolute;top:126px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:2px;color:#e2cedf}.hero h1{position:absolute;z-index:1;top:155px;left:3.4%;width:93.2%;margin:0;font-size:25.3vw;letter-spacing:-.075em;line-height:.88;font-weight:900}.hero-person{position:absolute;z-index:2;height:80%;width:51%;bottom:0;left:27%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 15px 30px #170d2340)}.hero-copy{position:absolute;left:5%;top:54%;z-index:3;max-width:350px}.tiny{font-size:10px;letter-spacing:2px;color:#d0b7cf}.hero-copy h2{font-size:clamp(24px,2.6vw,38px);font-weight:500;line-height:1.2;letter-spacing:-1.4px;margin:22px 0}.hero-copy h2 span{color:var(--orange)}.hero-copy p{font-size:12px;line-height:1.7;color:#dac9d8;margin-bottom:25px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;font-size:12px;font-weight:600;padding:18px 23px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px);background:#ffb579}.orange{background:var(--orange);color:#271b23}.button span{font-size:22px;font-weight:400}.surname{position:absolute;right:6%;top:51%;z-index:4;font-size:clamp(60px,6.8vw,106px);line-height:1;transform:rotate(-9deg);color:var(--orange)}.surname svg{display:block;width:100%;height:35px;margin-top:-3px}.handwritten svg{fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.hero-note{position:absolute;right:5%;bottom:15%;z-index:3;font-size:26px;line-height:1.1;transform:rotate(5deg);color:#f0dbea}.hero-note svg{position:absolute;width:130px;top:45px;left:-95px;transform:rotate(8deg)}.hero-bottom{position:absolute;bottom:26px;left:5%;right:5%;z-index:4;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.3px;color:#e8d9e4}.ticker{display:flex;align-items:center;justify-content:space-around;gap:25px;padding:23px 4%;background:var(--orange);overflow:hidden;white-space:nowrap;font-size:14px;font-weight:700;letter-spacing:.5px}.ticker b{font-size:24px;font-weight:400}.section{padding:92px 7% 110px}.section-label{font-size:10px;letter-spacing:2px;font-weight:500;margin-bottom:48px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.about-photo{position:relative;margin:15px 0 25px;transform:rotate(-3deg)}.about-photo img{width:100%;height:480px;object-fit:cover;object-position:49%;filter:grayscale(1)}.photo-caption{position:absolute;bottom:-34px;left:4%;background:var(--orange);font-size:27px;padding:8px 16px;transform:rotate(2deg);white-space:nowrap}.section h2{font-size:clamp(42px,4.4vw,68px);letter-spacing:-3px;line-height:1.05;font-weight:600;margin:0 0 35px}.underlined{position:relative;z-index:0;white-space:nowrap}.underlined:after{content:'';position:absolute;left:-2%;right:-2%;height:11px;bottom:2px;background:var(--orange);z-index:-1;transform:rotate(-2deg)}.about-text p{font-size:15px;line-height:1.8;color:#625e62}.about-text .lead{font-size:19px;line-height:1.6;color:var(--ink)}.text-link{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #9d9898;padding:25px 0 15px;margin-top:20px;font-size:13px}.text-link span{font-size:25px}.services{background:#1b191c;color:var(--paper)}.section-heading{display:flex;align-items:center;justify-content:space-between}.outline{color:var(--orange)}.service-note{font-size:35px;transform:rotate(-7deg);margin-right:10%;color:var(--orange)}.service-list{margin-top:30px}.service-list details{border-top:1px solid #ffffff33;padding:26px 0}.service-list details:last-child{border-bottom:1px solid #ffffff33}summary{display:flex;align-items:center;gap:38px;cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.num{font-size:12px;color:#c1aebf}summary h3{font-size:clamp(23px,3vw,40px);font-weight:400;letter-spacing:-1.4px;margin:0}.plus{margin-left:auto;font-size:35px;font-weight:400;color:var(--orange);transition:transform .2s}details[open] .plus{transform:rotate(45deg)}.service-content{display:grid;grid-template-columns:1.3fr 1fr;gap:6%;margin-left:54px;padding:12px 0 7px}.service-content p{max-width:570px;font-size:14px;line-height:1.8;color:#bdb5be}.tags{display:flex;flex-wrap:wrap;align-content:center;gap:8px}.tags span{padding:8px 12px;border:1px solid #ffffff30;font-size:10px;border-radius:30px}.work-heading{display:flex;justify-content:space-between;align-items:center}.work-heading p{font-size:14px;line-height:1.8;color:#625e62}.work-placeholder{height:370px;position:relative;background:#e5e0e7;border:1px solid #cec5d0;margin-top:15px;padding:35px;overflow:hidden;background-image:linear-gradient(#c5baca33 1px,transparent 1px),linear-gradient(90deg,#c5baca33 1px,transparent 1px);background-size:40px 40px}.work-placeholder>.handwritten{font-size:30px;display:block;color:#77508b;transform:rotate(-4deg);transform-origin:left}.placeholder-center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column}.placeholder-center b{font-size:clamp(40px,5vw,70px);letter-spacing:-3px;font-weight:500;color:#6e5876}.placeholder-center p{font-size:13px;color:#6c5f72}.placeholder-footer{position:absolute;bottom:25px;left:35px;right:35px;display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:2px;color:#6c5f72}.placeholder-footer span:last-child{font-size:30px}.contact{position:relative;display:grid;grid-template-columns:43% 57%;background:#31152e;color:var(--paper);min-height:630px}.contact-photo{overflow:hidden}.contact-photo img{width:100%;height:100%;object-fit:cover;object-position:56% 50%;filter:grayscale(1)}.contact-content{padding:60px 10% 70px}.contact-content .section-label{margin-bottom:42px}.contact-content>.handwritten{display:block;color:var(--orange);font-size:33px;transform:rotate(-6deg);transform-origin:left;margin-bottom:25px}.contact h2{font-size:clamp(40px,4.1vw,66px);font-weight:500;line-height:1.08;letter-spacing:-2.5px;margin:20px 0}.contact h2 em{font-style:normal;color:var(--orange)}.contact-content p{font-size:13px;line-height:1.8;color:#d0bccb}.contact-pending{display:flex;align-items:center;gap:12px;font-size:12px;border-top:1px solid #ffffff30;padding-top:22px;margin-top:30px;color:#d0bccb}.status-dot{width:7px;height:7px;background:var(--orange);border-radius:50%}footer{padding:30px 5%;display:flex;align-items:center;justify-content:space-between;font-size:11px}footer .logo span{color:#a66bba}footer>span{color:#777078}
@media(min-width:1600px){.hero h1{font-size:405px;left:calc(50% - 745px);width:1490px}.hero-person{width:770px;left:calc(50% - 350px)}.hero-copy{left:calc(50% - 710px)}.surname{right:calc(50% - 710px)}}
@media(max-width:1000px){header{padding:0 5%}.hero{height:810px}.hero h1{top:180px}.hero-person{height:75%;width:61%;left:23%}.hero-copy{top:53%;max-width:250px}.hero-copy h2{font-size:29px}.surname{right:4%;top:48%;font-size:66px}.hero-note{font-size:23px;right:4%;bottom:18%}.about-grid{gap:6%}.about-photo img{height:410px}.photo-caption{font-size:21px}.section h2{font-size:46px}.service-content{grid-template-columns:1fr}.service-note{margin-right:0}.contact-content{padding:55px 8%}.contact h2{font-size:45px}}
@media(max-width:700px){header{height:76px}.logo{font-size:28px}nav{gap:16px;font-size:11px}nav a:first-child{display:none}.header-contact{font-size:11px;gap:10px}.hero{height:950px}.hero-top{top:103px;font-size:8px;letter-spacing:1.3px}.hero-top span:last-child{display:none}.hero h1{top:144px;font-size:25.3vw;left:3%;line-height:1}.hero-person{height:565px;width:100%;left:0;top:175px;bottom:auto}.surname{top:310px;right:5%;font-size:53px;transform:rotate(-11deg)}.surname svg{height:20px}.hero-copy{top:auto;bottom:72px;left:6%;right:6%;max-width:none;z-index:4;display:grid;grid-template-columns:1fr auto;align-items:end;column-gap:12px}.tiny{display:none}.hero-copy h2{font-size:27px;letter-spacing:-1px;grid-column:1/-1;margin:0 0 12px}.hero-copy h2 br:first-child{display:none}.hero-copy p{font-size:10px;margin:0;line-height:1.6;max-width:180px}.button{font-size:10px;padding:12px 14px;gap:10px;min-height:45px}.button span{font-size:18px}.hero-note{left:5%;right:auto;top:350px;bottom:auto;font-size:20px;transform:rotate(-7deg);width:100px}.hero-note svg{width:75px;left:30px;top:60px;transform:rotate(205deg)}.hero-bottom{font-size:7px;letter-spacing:.4px;bottom:24px}.ticker{justify-content:flex-start;font-size:11px;gap:22px;padding:18px 6%}.ticker b{font-size:18px}.section{padding:60px 6% 75px}.section-label{font-size:9px;margin-bottom:32px}.about-grid{grid-template-columns:1fr;gap:65px}.about-photo{width:86%;margin-left:5%}.about-photo img{height:360px}.photo-caption{font-size:22px;left:-4%;white-space:normal}.section h2{font-size:45px;letter-spacing:-2.3px}.about-text .lead{font-size:17px}.about-text p{font-size:14px}.service-note{font-size:24px;max-width:145px}.section-heading h2{font-size:44px}.service-list{margin-top:5px}summary{gap:20px}summary h3{font-size:25px;letter-spacing:-1px}.service-content{margin-left:35px}.service-content p{font-size:13px}.work-heading{align-items:flex-start;gap:20px}.work-heading h2{font-size:45px}.work-heading p{font-size:11px;max-width:140px}.work-placeholder{height:300px;padding:22px}.work-placeholder>.handwritten{font-size:24px;max-width:230px}.placeholder-footer{left:22px;right:22px;font-size:7px;letter-spacing:1px}.placeholder-center b{font-size:43px}.placeholder-center p{font-size:11px}.contact{grid-template-columns:1fr}.contact-photo{height:300px}.contact-photo img{object-position:50% 36%}.contact-content{padding:45px 6% 55px}.contact h2{font-size:48px}.contact-content .section-label{margin-bottom:35px}footer{padding:25px 6%;flex-wrap:wrap;gap:20px}footer>span{font-size:9px;max-width:145px}footer>a:last-child{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(max-width:700px){.hero{height:870px}.hero-person{top:110px;height:530px}.surname{top:320px}.hero-note{top:425px;font-size:18px;width:100px}.hero-copy h2{font-size:26px}.hero-copy h2 br:first-child{display:initial}}
@media(max-width:360px){.section h2{font-size:39px}.service-note{font-size:20px;max-width:110px}summary{gap:14px}summary h3{font-size:22px}.hero-copy{grid-template-columns:1fr;gap:12px}.hero-copy h2{font-size:24px;margin-bottom:0}.hero-copy p{max-width:none}.hero-copy .button{justify-self:start}.hero-copy{bottom:58px}.hero{height:920px}}
/* Revision 2: full-width name, standing portrait, clear button links. */
.hero h1{left:.5%;width:99%;font-size:initial;letter-spacing:0;height:25vw;max-height:none;line-height:1}
.hero h1 svg{display:block;width:100%;height:100%;overflow:visible}
.hero h1 text{font-family:'Golos Text',Arial,sans-serif;font-weight:900;font-size:300px;fill:var(--paper)}
.hero-person{width:48%;left:28%;height:84%;bottom:0}
nav{gap:10px}
nav a,.header-contact,.hero-bottom a,footer>a:last-child{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:11px 17px;border:1px solid #ffffff40;background:#ffffff0d;border-radius:5px;transition:background .2s,color .2s,border-color .2s}
nav a:hover,.hero-bottom a:hover{background:var(--paper);color:#35152e;border-color:var(--paper)}
.header-contact{background:var(--orange);color:#251521;border-color:var(--orange);font-weight:600;gap:0}
.header-contact:hover{background:#ffb579;border-color:#ffb579}
.button{border-radius:5px;min-height:48px;justify-content:center}
.text-link{display:inline-flex;justify-content:center;border:0;background:var(--ink);color:var(--paper);padding:17px 24px;border-radius:5px;font-weight:500}
.text-link:hover{background:#573460}
.hero-bottom{align-items:center}
footer>a:last-child{background:var(--ink);color:var(--paper);border-color:var(--ink)}
footer>a:last-child:hover{background:#573460}
.placeholder-footer span:last-child{font-size:inherit}
@media(min-width:1600px){.hero h1{left:.5%;width:99%;font-size:initial}.hero-person{width:700px;left:calc(50% - 330px)}}
@media(max-width:1000px){.hero-person{width:56%;left:25%;height:81%}}
@media(max-width:700px){header{padding:0 4%;gap:8px}nav{gap:5px}nav a,.header-contact{padding:9px 10px;min-height:36px;font-size:10px}.hero h1{left:.5%;width:99%;height:25vw;top:145px}.hero-person{left:18%;width:68%;height:535px;top:110px;bottom:auto}.hero-bottom a{font-size:8px;min-height:32px;padding:8px 10px}.hero-bottom>span{max-width:55%;line-height:1.6}.surname{right:4%;top:330px;font-size:51px}.hero-note{left:4%;top:425px;font-size:18px}.hero-note svg{width:60px;left:40px}.hero-copy .button{padding:13px 15px}}
@media(max-width:360px){nav a,.header-contact{padding:9px 7px;font-size:9px}.surname{font-size:44px}.hero-person{left:15%;width:75%}}
@media(min-width:1001px){.surname{top:55%}}
@media(max-width:700px){.hero-person{left:0;width:100%;height:535px}}
/* Revision 3: grouped, equally sized navigation and centered tagline. */
header{display:grid;grid-template-columns:1fr auto 1fr;gap:20px}
header .logo{justify-self:start}
header nav{display:grid;grid-template-columns:repeat(4,1fr);width:580px;gap:10px}
header nav a,header nav a:first-child{display:flex;width:100%;height:42px;min-height:42px;padding:8px 12px;font-size:13px;text-align:center}
header nav .header-contact{background:var(--orange);border-color:var(--orange);color:#251521}
header nav .header-contact:hover{background:#ffb579;border-color:#ffb579}
.hero-top{justify-content:center;text-align:center}
.hero-top span:first-child{display:block}
@media(max-width:1000px){header{grid-template-columns:auto minmax(0,1fr);gap:35px}header nav{width:min(580px,100%);justify-self:end}}
@media(max-width:700px){header{gap:12px;padding:0 4%;grid-template-columns:38px minmax(0,1fr)}header .logo{font-size:23px;gap:2px}header .logo span{font-size:22px}header nav{width:100%;gap:5px}header nav a,header nav a:first-child{font-size:9px;padding:5px 3px;height:38px;min-height:38px;line-height:1.25}.hero-top{font-size:8px;letter-spacing:1px}}
/* Revision 4: notes write themselves as they enter the viewport. */
.ink-line{display:inline-block;vertical-align:top;padding:.08em .12em;margin:-.08em -.12em}
.ink-ready .ink-line{clip-path:inset(-15% 115% -20% -15%)}
.ink-ready svg path{stroke-dasharray:1;stroke-dashoffset:1}
.ink-ready.is-written .ink-line{animation:write-ink var(--ink-duration,1s) cubic-bezier(.35,.05,.65,.95) var(--ink-delay,0s) both}
.ink-ready.is-written svg path{animation:draw-ink var(--stroke-duration,.6s) ease-out var(--ink-delay,0s) both}
@keyframes write-ink{from{clip-path:inset(-15% 115% -20% -15%)}to{clip-path:inset(-15% -15% -20% -15%)}}
@keyframes draw-ink{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.hero-bottom{justify-content:flex-end}
.hero-bottom .scroll-note{max-width:none;font-size:28px;letter-spacing:0;line-height:1.2;color:#f0dbea;transform:rotate(-7deg);padding:0;border:0;background:none}
@media(max-width:700px){.hero-bottom .scroll-note{font-size:22px}.hero-note .ink-line{white-space:normal}.hero-note{width:120px}}
@media(prefers-reduced-motion:reduce){.ink-ready .ink-line{clip-path:none!important;animation:none!important}.ink-ready svg path{stroke-dashoffset:0!important;animation:none!important}}
/* Keep the supporting copy below the full-width name at every desktop width. */
@media(min-width:701px){
  .hero{--name-top:155px;--name-height:25vw;height:max(810px,calc(var(--name-top) + var(--name-height) + 435px))}
  .hero h1{top:var(--name-top);height:var(--name-height)}
  .hero-copy{top:calc(var(--name-top) + var(--name-height) + 28px)}
  .surname{top:calc(var(--name-top) + var(--name-height) + 28px)}
}
/* The repeated band follows vertical scrolling, with a seamless horizontal wrap. */
.ticker{display:block;padding:23px 0}
.ticker-track{display:flex;width:max-content;will-change:transform}
.ticker-group{display:flex;align-items:center;justify-content:space-around;flex:none;min-width:100vw;gap:clamp(28px,4vw,90px);padding:0 clamp(24px,3vw,65px)}
@media(max-width:700px){.ticker{padding:18px 0}.ticker-group{gap:28px;padding:0 20px}}
@media(prefers-reduced-motion:reduce){.ticker-track{transform:none!important;will-change:auto}}

/* Consistent vector decorations and centered two-row navigation. */
.star-icon{display:block;width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2;flex:none}
.logo .star-icon{width:30px;height:30px}.ticker .star-icon{width:24px;height:24px}
.handwritten .note-arrow{display:inline-block;width:1em;height:1.2em;vertical-align:middle;stroke-width:2;overflow:visible}
header{height:146px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:15px 5%}
header .logo{justify-self:auto;line-height:1}
header nav{width:min(580px,100%);align-self:center}
.hero-top{top:176px}
@media(min-width:701px){.hero{--name-top:205px}}
@media(max-width:700px){
 header{height:126px;padding:12px 4%;gap:12px}
 header .logo{font-size:28px;gap:5px}header .logo .star-icon{width:26px;height:26px}
 header nav a,header nav a:first-child{font-size:10px}
 .hero{height:920px}.hero-top{top:153px}.hero h1{top:195px}
 .hero-person{top:160px}.surname{top:380px}.hero-note{top:475px}
 .section-heading{align-items:flex-start;gap:16px}.section-heading h2{flex:1;min-width:0}
 .service-note{flex:0 0 43%;max-width:160px;font-size:23px;margin-top:12px}
 .ticker .star-icon{width:18px;height:18px}
}
@media(max-width:360px){.hero{height:970px}.service-note{font-size:20px}}
/* Discourage the browser's image save/drag UI without blocking page scrolling. */
img{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none}
.about-photo,.contact-photo,.hero{-webkit-touch-callout:none}
@media(min-width:701px){.hero-person{height:calc(100% - 200px)}}
