@import 'tailwindcss';
:root{--paper:#f5f2ed;--paper-deep:#e9e2d8;--ink:#302b27;--taupe:#7c6d60;--sand:#b8ab97;--bronze:#8b5d42;--line:rgba(48,43,39,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}
.site-header{height:96px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(245,242,237,.92);backdrop-filter:blur(16px);position:relative;z-index:10}.brand{display:flex;align-items:center;gap:14px}.monogram{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--sand);font:500 13px/1 Arial;letter-spacing:-.08em;color:var(--taupe)}.brand-name{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:1.35rem;letter-spacing:-.02em}nav{display:flex;align-items:center;gap:clamp(24px,3vw,54px);font-size:.76rem;text-transform:uppercase;letter-spacing:.14em}nav>a:not(.nav-contact){padding:12px 0;border-bottom:1px solid transparent}nav>a:not(.nav-contact):hover{border-color:var(--bronze)}.nav-contact{display:inline-flex;align-items:center;gap:12px;border:1px solid var(--ink);padding:14px 20px;transition:.25s ease}.nav-contact:hover{background:var(--ink);color:var(--paper)}
.hero{min-height:calc(100vh - 96px);display:grid;grid-template-columns:48% 52%;border-bottom:1px solid var(--line)}.hero-copy{padding:10vh 7vw 8vh 8vw;display:flex;flex-direction:column;justify-content:center}.eyebrow,.section-kicker{margin:0 0 2rem;font-size:.7rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze)}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em;margin:0}h1{font-size:clamp(3.4rem,6.2vw,7.4rem);line-height:.94;max-width:780px}.hero-intro{margin:2.5rem 0 0;max-width:590px;color:#665e57;font:1.08rem/1.75 Arial,sans-serif}.hero-actions{display:flex;align-items:center;gap:34px;margin-top:2.8rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:17px 24px;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:transform .2s ease,background .2s ease}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--ink);color:white}.text-link{display:inline-flex;align-items:center;gap:9px;font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--ink);padding-bottom:6px}.hero-visual{position:relative;background:var(--paper-deep);overflow:hidden}.hero-image-frame{position:absolute;inset:4.5vh 4vw 4.5vh 0;overflow:hidden}.hero-image-frame:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 70%,rgba(39,30,25,.18))}.vertical-note{position:absolute;right:1.4vw;bottom:5vh;margin:0;writing-mode:vertical-rl;transform:rotate(180deg);font:.61rem/1 Arial;text-transform:uppercase;letter-spacing:.21em;color:var(--taupe)}.hero-seal{position:absolute;left:-44px;bottom:6vh;width:88px;height:88px;display:grid;place-items:center;background:var(--paper);border-radius:50%}.hero-seal span{width:58px;height:58px;border:1px solid var(--sand);border-radius:50%;display:grid;place-items:center;color:var(--taupe);font-family:Georgia,serif}
.statement{padding:clamp(90px,12vw,180px) 8vw;text-align:center;border-bottom:1px solid var(--line)}.statement p{margin:0 auto;max-width:1100px;font:400 clamp(2.2rem,4.5vw,5.4rem)/1.08 Georgia,serif;letter-spacing:-.04em}.statement span{display:block;margin-top:28px;color:var(--taupe);font:italic 1.05rem/1.5 Georgia,serif}
.about{display:grid;grid-template-columns:44% 56%;min-height:820px;border-bottom:1px solid var(--line)}.about-photo{position:relative;overflow:hidden}.about-photo img{object-position:center 32%}.photo-index{position:absolute;bottom:26px;left:28px;background:rgba(245,242,237,.94);padding:11px 14px;font-size:.65rem;letter-spacing:.16em}.about-copy{padding:10vw;display:flex;flex-direction:column;justify-content:center}.about-copy h2,.service h2{font-size:clamp(2.8rem,5vw,5.8rem);line-height:1.02}.about-copy .lead{margin:2.6rem 0 1rem;font:1.3rem/1.55 Georgia,serif;color:#4f4640}.about-copy>p:not(.section-kicker):not(.lead){color:#6d625a;line-height:1.85;max-width:640px}.signature{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:7px}.signature span{font:italic 1.8rem Georgia,serif}.signature small{text-transform:uppercase;letter-spacing:.15em;color:var(--taupe);font-size:.62rem}
.service{background:#ded4c7;display:grid;grid-template-columns:45% 55%;padding:clamp(90px,10vw,160px) 8vw;gap:8vw}.service-heading{position:sticky;top:140px;align-self:start}.service-list article{display:grid;grid-template-columns:60px 1fr;gap:24px;padding:36px 0;border-top:1px solid rgba(48,43,39,.24)}.service-list article:last-child{border-bottom:1px solid rgba(48,43,39,.24)}.service-list article>span{font-size:.68rem;letter-spacing:.15em;color:var(--bronze);padding-top:7px}.service-list h3{margin:0 0 12px;font:400 2rem Georgia,serif}.service-list p{margin:0;color:#655b54;line-height:1.7;max-width:520px}
.property-feature{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.65fr);gap:18px;padding:18px;min-height:760px;background:var(--ink)}.property-copy{color:white;padding:5vw 4vw;display:flex;flex-direction:column;justify-content:space-between}.property-copy .section-kicker{color:#cabbab}.property-copy>p:last-child{font:400 clamp(2rem,3vw,3.8rem)/1.12 Georgia,serif;margin:0;letter-spacing:-.035em}.property-image{position:relative;margin:0;min-height:724px;overflow:hidden}.property-image img{transition:transform .8s ease;object-position:center}.property-image:hover img{transform:scale(1.018)}.property-image figcaption{position:absolute;left:22px;bottom:22px;padding:11px 14px;background:rgba(36,30,26,.82);color:#eee5dc;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;backdrop-filter:blur(10px)}
.contact{background:#7a695b;color:white;padding:clamp(90px,12vw,170px) 8vw 70px}.section-kicker.light{color:#ded4c7}.contact h2{max-width:1040px;font-size:clamp(3rem,6vw,7rem);line-height:.98}.contact-intro{max-width:580px;margin:2.4rem 0;color:#eadfd5;line-height:1.75}.button-light{background:white;color:var(--ink)}.contact-details{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:110px;padding-top:28px;border-top:1px solid rgba(255,255,255,.28)}.contact-details a{overflow-wrap:anywhere;font:1rem/1.5 Georgia,serif}.contact-details span{display:block;margin-bottom:9px;color:#d6c9bd;font:.62rem/1 Arial,sans-serif;text-transform:uppercase;letter-spacing:.18em}
footer{min-height:120px;padding:30px 5vw;display:flex;align-items:center;justify-content:space-between;gap:30px}footer p{color:var(--taupe);font-size:.62rem;text-transform:uppercase;letter-spacing:.16em}.social-links{display:flex;gap:10px}.social-links a{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;transition:.2s ease}.social-links a:hover{background:var(--ink);color:white}
@media(max-width:900px){.site-header{height:78px}nav>a:not(.nav-contact){display:none}.hero{min-height:auto;grid-template-columns:1fr}.hero-copy{padding:90px 7vw 70px}.hero-visual{height:78vh;min-height:580px}.hero-image-frame{inset:0 8vw 0 0}.hero-seal{left:auto;right:calc(8vw - 40px)}.vertical-note{right:2.8vw}.about{grid-template-columns:1fr}.about-photo{height:78vh;min-height:600px}.about-copy{padding:90px 8vw}.service{grid-template-columns:1fr}.service-heading{position:static}.property-feature{grid-template-columns:1fr;min-height:auto}.property-copy{min-height:300px}.property-image{min-height:580px}.contact-details{grid-template-columns:1fr;margin-top:80px}}
@media(max-width:620px){.brand-name{font-size:1.05rem}.nav-contact{padding:12px 14px;font-size:.65rem}h1{font-size:clamp(3.1rem,15vw,5rem)}.hero-actions{align-items:flex-start;flex-direction:column}.hero-visual{height:70vh;min-height:520px}.statement{text-align:left}.about-photo{min-height:540px}.service-list article{grid-template-columns:38px 1fr;gap:10px}footer{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important}}

/* Official Giuliana Fenocchi brand artwork */
.site-header{height:112px}
.brand{display:block;width:clamp(260px,29vw,420px);height:82px;overflow:hidden}
.brand img{width:100%;height:100%;object-fit:contain;object-position:left center;mix-blend-mode:multiply}
.hero{min-height:calc(100vh - 112px)}
footer{min-height:140px;padding-top:26px;padding-bottom:26px}
footer .brand{width:clamp(240px,26vw,360px);height:80px}
@media(max-width:900px){.site-header{height:88px}.site-header .brand{width:250px;height:72px}}
@media(max-width:620px){.site-header{padding-left:4vw;padding-right:4vw}.site-header .brand{width:min(55vw,230px);height:64px}.nav-contact{padding:12px 11px;font-size:.6rem;letter-spacing:.09em}}

/* Mobile-first refinement */
.mobile-contact{display:none}
@media(max-width:620px){
  body{padding-bottom:66px}
  .site-header{height:auto;min-height:122px;padding:8px 20px 11px;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:0}
  .site-header .brand{flex:0 0 100%;width:min(78vw,300px);height:58px}
  .site-header nav{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;font-size:.63rem;letter-spacing:.1em}
  .site-header nav>a:not(.nav-contact){display:inline-flex;padding:10px 0}
  .site-header .nav-contact{min-height:38px;padding:9px 12px;background:var(--ink);color:white;border-color:var(--ink)}
  .hero{min-height:auto;display:flex;flex-direction:column}
  .hero-copy{padding:42px 22px 34px}
  .eyebrow,.section-kicker{font-size:.62rem;line-height:1.45;letter-spacing:.15em;margin-bottom:1.2rem}
  h1{font-size:clamp(2.75rem,12.2vw,3.45rem);line-height:.96}
  .hero-intro{font-size:.98rem;line-height:1.62;margin-top:1.55rem}
  .hero-actions{margin-top:1.65rem;gap:0;width:100%}
  .hero-actions .button{display:none}
  .text-link{font-size:.7rem}
  .hero-visual{height:64vh;min-height:440px}
  .hero-image-frame{inset:0}
  .hero-image-frame img{object-position:center 34%}
  .vertical-note{display:none}
  .statement{padding:76px 24px;text-align:left}
  .statement p{font-size:clamp(2.35rem,11vw,3.2rem);line-height:1.06}
  .statement span{font-size:1rem;line-height:1.55;margin-top:22px}
  .about-photo{height:68vh;min-height:500px}
  .about-photo img{object-position:center 24%}
  .photo-index{bottom:18px;left:18px}
  .about-copy{padding:72px 24px}
  .about-copy h2,.service h2{font-size:clamp(2.75rem,12vw,3.6rem);line-height:1.02}
  .about-copy .lead{font-size:1.2rem;margin-top:2rem}
  .about-copy>p:not(.section-kicker):not(.lead){line-height:1.7}
  .signature{margin-top:2.2rem;padding-top:1.6rem}
  .service{padding:76px 24px;gap:46px}
  .service-list article{padding:28px 0}
  .service-list h3{font-size:1.75rem}
  .service-list p{font-size:.96rem;line-height:1.6}
  .property-feature{grid-template-columns:1fr;padding:10px;gap:10px;min-height:auto}
  .property-copy{padding:42px 18px 30px;min-height:230px}
  .property-copy>p:last-child{font-size:clamp(2.1rem,10vw,2.7rem)}
  .property-image{height:52vh;min-height:380px}
  .property-image img{object-position:center}
  .property-image figcaption{left:12px;right:12px;bottom:12px;padding:10px 12px;font-size:.58rem;line-height:1.4}
  .contact{padding:78px 24px 54px}
  .contact h2{font-size:clamp(3rem,13vw,4rem);line-height:1}
  .contact-intro{margin:1.8rem 0 2rem;line-height:1.65}
  .contact .button{width:100%;min-height:56px}
  .contact-details{gap:28px;margin-top:64px;padding-top:24px}
  .contact-details a{font-size:1rem}
  footer{padding:38px 24px;gap:24px}
  footer .brand{width:min(86vw,340px);height:70px}
  footer p{line-height:1.6;margin:0}
  .mobile-contact{position:fixed;z-index:50;display:flex;align-items:center;justify-content:space-between;left:10px;right:10px;bottom:8px;min-height:52px;padding:0 20px;background:var(--ink);color:white;box-shadow:0 12px 36px rgba(20,16,13,.28);font-size:.69rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
}
